@pendle/core-v2 5.12.2-cross-chain-pt → 6.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.dbg.json +1 -1
  2. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgReceiveEndpointUpg.sol/PendleMsgReceiveEndpointUpg.json +2 -2
  3. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.dbg.json +1 -1
  4. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/PendleMsgSendEndpointUpg.sol/PendleMsgSendEndpointUpg.json +2 -2
  5. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.dbg.json +1 -1
  6. package/build/artifacts/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol/LayerZeroHelper.json +2 -2
  7. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PTExpiry.dbg.json +1 -1
  8. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.dbg.json +1 -1
  9. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol/PendleSparkLinearDiscountOracle.json +2 -2
  10. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.dbg.json +1 -1
  11. package/build/artifacts/contracts/oracles/internal/PendleSparkLinearDiscountOracleFactory.sol/PendleSparkLinearDiscountOracleFactory.json +2 -2
  12. package/contracts/LiquidityMining/CrossChainMsg/libraries/LayerZeroHelper.sol +4 -0
  13. package/contracts/oracles/internal/PendleSparkLinearDiscountOracle.sol +1 -3
  14. package/deployments/1-core.json +1 -2
  15. package/deployments/999-core.json +52 -0
  16. package/deployments/999-offchain-helper.json +7 -0
  17. package/package.json +6 -6
  18. package/typechain-types/factories/PendleMsgReceiveEndpointUpg__factory.ts +1 -1
  19. package/typechain-types/factories/PendleMsgSendEndpointUpg__factory.ts +1 -1
  20. package/typechain-types/factories/PendleSparkLinearDiscountOracleFactory__factory.ts +1 -1
  21. package/typechain-types/factories/PendleSparkLinearDiscountOracle__factory.ts +1 -1
  22. package/typechain-types/hardhat.d.ts +0 -108
  23. package/typechain-types/index.ts +0 -24
  24. package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.dbg.json +0 -4
  25. package/build/artifacts/contracts/cross-chain/FixedPricePTAMM.sol/FixedPricePTAMM.json +0 -466
  26. package/build/artifacts/contracts/cross-chain/factory/hub/PendlePTOFTAdapterFactory.sol/PendlePTOFTAdapterFactory.dbg.json +0 -4
  27. package/build/artifacts/contracts/cross-chain/factory/hub/PendlePTOFTAdapterFactory.sol/PendlePTOFTAdapterFactory.json +0 -191
  28. package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterImpl.sol/OFTAdapterImpl.dbg.json +0 -4
  29. package/build/artifacts/contracts/cross-chain/oftImpl/hub/OFTAdapterImpl.sol/OFTAdapterImpl.json +0 -1265
  30. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/BasePendleBridgedPrincipalToken.dbg.json +0 -4
  31. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/BasePendleBridgedPrincipalToken.json +0 -1527
  32. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken_18Decimals.dbg.json +0 -4
  33. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken_18Decimals.json +0 -1558
  34. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken_6Decimals.dbg.json +0 -4
  35. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken_6Decimals.json +0 -1558
  36. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken_8Decimals.dbg.json +0 -4
  37. package/build/artifacts/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol/PendleBridgedPrincipalToken_8Decimals.json +0 -1558
  38. package/build/artifacts/contracts/interfaces/IPBridgedPrincipalToken.sol/IPBridgedPrincipalToken.dbg.json +0 -4
  39. package/build/artifacts/contracts/interfaces/IPBridgedPrincipalToken.sol/IPBridgedPrincipalToken.json +0 -928
  40. package/build/artifacts/contracts/interfaces/IPChainlinkOracleEssential.sol/IPChainlinkOracleEssential.dbg.json +0 -4
  41. package/build/artifacts/contracts/interfaces/IPChainlinkOracleEssential.sol/IPChainlinkOracleEssential.json +0 -57
  42. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMM.dbg.json +0 -4
  43. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMM.json +0 -302
  44. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMMSwapCallback.dbg.json +0 -4
  45. package/build/artifacts/contracts/interfaces/IPFixedPricePTAMM.sol/IPFixedPricePTAMMSwapCallback.json +0 -34
  46. package/build/artifacts/contracts/interfaces/IPPTOFTAdapterFactory.sol/IPPTOFTAdapterFactory.dbg.json +0 -4
  47. package/build/artifacts/contracts/interfaces/IPPTOFTAdapterFactory.sol/IPPTOFTAdapterFactory.json +0 -81
  48. package/contracts/cross-chain/FixedPricePTAMM.sol +0 -121
  49. package/contracts/cross-chain/factory/hub/PendlePTOFTAdapterFactory.sol +0 -33
  50. package/contracts/cross-chain/oftImpl/hub/OFTAdapterImpl.sol +0 -12
  51. package/contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol +0 -61
  52. package/contracts/interfaces/IPBridgedPrincipalToken.sol +0 -11
  53. package/contracts/interfaces/IPChainlinkOracleEssential.sol +0 -11
  54. package/contracts/interfaces/IPFixedPricePTAMM.sol +0 -54
  55. package/contracts/interfaces/IPPTOFTAdapterFactory.sol +0 -12
@@ -1,1558 +0,0 @@
1
- {
2
- "_format": "hh-sol-artifact-1",
3
- "contractName": "PendleBridgedPrincipalToken_18Decimals",
4
- "sourceName": "contracts/cross-chain/oftImpl/spoke/PendleBridgedPrincipalToken.sol",
5
- "abi": [
6
- {
7
- "inputs": [
8
- {
9
- "internalType": "string",
10
- "name": "_name",
11
- "type": "string"
12
- },
13
- {
14
- "internalType": "string",
15
- "name": "_symbol",
16
- "type": "string"
17
- },
18
- {
19
- "internalType": "address",
20
- "name": "_lzEndpoint",
21
- "type": "address"
22
- },
23
- {
24
- "internalType": "address",
25
- "name": "_delegate",
26
- "type": "address"
27
- },
28
- {
29
- "internalType": "uint256",
30
- "name": "_expiry",
31
- "type": "uint256"
32
- }
33
- ],
34
- "stateMutability": "nonpayable",
35
- "type": "constructor"
36
- },
37
- {
38
- "inputs": [],
39
- "name": "InvalidDelegate",
40
- "type": "error"
41
- },
42
- {
43
- "inputs": [],
44
- "name": "InvalidEndpointCall",
45
- "type": "error"
46
- },
47
- {
48
- "inputs": [],
49
- "name": "InvalidLocalDecimals",
50
- "type": "error"
51
- },
52
- {
53
- "inputs": [
54
- {
55
- "internalType": "bytes",
56
- "name": "options",
57
- "type": "bytes"
58
- }
59
- ],
60
- "name": "InvalidOptions",
61
- "type": "error"
62
- },
63
- {
64
- "inputs": [],
65
- "name": "LzTokenUnavailable",
66
- "type": "error"
67
- },
68
- {
69
- "inputs": [
70
- {
71
- "internalType": "uint32",
72
- "name": "eid",
73
- "type": "uint32"
74
- }
75
- ],
76
- "name": "NoPeer",
77
- "type": "error"
78
- },
79
- {
80
- "inputs": [
81
- {
82
- "internalType": "uint256",
83
- "name": "msgValue",
84
- "type": "uint256"
85
- }
86
- ],
87
- "name": "NotEnoughNative",
88
- "type": "error"
89
- },
90
- {
91
- "inputs": [
92
- {
93
- "internalType": "address",
94
- "name": "addr",
95
- "type": "address"
96
- }
97
- ],
98
- "name": "OnlyEndpoint",
99
- "type": "error"
100
- },
101
- {
102
- "inputs": [
103
- {
104
- "internalType": "uint32",
105
- "name": "eid",
106
- "type": "uint32"
107
- },
108
- {
109
- "internalType": "bytes32",
110
- "name": "sender",
111
- "type": "bytes32"
112
- }
113
- ],
114
- "name": "OnlyPeer",
115
- "type": "error"
116
- },
117
- {
118
- "inputs": [],
119
- "name": "OnlySelf",
120
- "type": "error"
121
- },
122
- {
123
- "inputs": [
124
- {
125
- "internalType": "bytes",
126
- "name": "result",
127
- "type": "bytes"
128
- }
129
- ],
130
- "name": "SimulationResult",
131
- "type": "error"
132
- },
133
- {
134
- "inputs": [
135
- {
136
- "internalType": "uint256",
137
- "name": "amountLD",
138
- "type": "uint256"
139
- },
140
- {
141
- "internalType": "uint256",
142
- "name": "minAmountLD",
143
- "type": "uint256"
144
- }
145
- ],
146
- "name": "SlippageExceeded",
147
- "type": "error"
148
- },
149
- {
150
- "anonymous": false,
151
- "inputs": [
152
- {
153
- "indexed": true,
154
- "internalType": "address",
155
- "name": "owner",
156
- "type": "address"
157
- },
158
- {
159
- "indexed": true,
160
- "internalType": "address",
161
- "name": "spender",
162
- "type": "address"
163
- },
164
- {
165
- "indexed": false,
166
- "internalType": "uint256",
167
- "name": "value",
168
- "type": "uint256"
169
- }
170
- ],
171
- "name": "Approval",
172
- "type": "event"
173
- },
174
- {
175
- "anonymous": false,
176
- "inputs": [
177
- {
178
- "components": [
179
- {
180
- "internalType": "uint32",
181
- "name": "eid",
182
- "type": "uint32"
183
- },
184
- {
185
- "internalType": "uint16",
186
- "name": "msgType",
187
- "type": "uint16"
188
- },
189
- {
190
- "internalType": "bytes",
191
- "name": "options",
192
- "type": "bytes"
193
- }
194
- ],
195
- "indexed": false,
196
- "internalType": "struct EnforcedOptionParam[]",
197
- "name": "_enforcedOptions",
198
- "type": "tuple[]"
199
- }
200
- ],
201
- "name": "EnforcedOptionSet",
202
- "type": "event"
203
- },
204
- {
205
- "anonymous": false,
206
- "inputs": [
207
- {
208
- "indexed": false,
209
- "internalType": "address",
210
- "name": "inspector",
211
- "type": "address"
212
- }
213
- ],
214
- "name": "MsgInspectorSet",
215
- "type": "event"
216
- },
217
- {
218
- "anonymous": false,
219
- "inputs": [
220
- {
221
- "indexed": true,
222
- "internalType": "bytes32",
223
- "name": "guid",
224
- "type": "bytes32"
225
- },
226
- {
227
- "indexed": false,
228
- "internalType": "uint32",
229
- "name": "srcEid",
230
- "type": "uint32"
231
- },
232
- {
233
- "indexed": true,
234
- "internalType": "address",
235
- "name": "toAddress",
236
- "type": "address"
237
- },
238
- {
239
- "indexed": false,
240
- "internalType": "uint256",
241
- "name": "amountReceivedLD",
242
- "type": "uint256"
243
- }
244
- ],
245
- "name": "OFTReceived",
246
- "type": "event"
247
- },
248
- {
249
- "anonymous": false,
250
- "inputs": [
251
- {
252
- "indexed": true,
253
- "internalType": "bytes32",
254
- "name": "guid",
255
- "type": "bytes32"
256
- },
257
- {
258
- "indexed": false,
259
- "internalType": "uint32",
260
- "name": "dstEid",
261
- "type": "uint32"
262
- },
263
- {
264
- "indexed": true,
265
- "internalType": "address",
266
- "name": "fromAddress",
267
- "type": "address"
268
- },
269
- {
270
- "indexed": false,
271
- "internalType": "uint256",
272
- "name": "amountSentLD",
273
- "type": "uint256"
274
- },
275
- {
276
- "indexed": false,
277
- "internalType": "uint256",
278
- "name": "amountReceivedLD",
279
- "type": "uint256"
280
- }
281
- ],
282
- "name": "OFTSent",
283
- "type": "event"
284
- },
285
- {
286
- "anonymous": false,
287
- "inputs": [
288
- {
289
- "indexed": true,
290
- "internalType": "address",
291
- "name": "previousOwner",
292
- "type": "address"
293
- },
294
- {
295
- "indexed": true,
296
- "internalType": "address",
297
- "name": "newOwner",
298
- "type": "address"
299
- }
300
- ],
301
- "name": "OwnershipTransferred",
302
- "type": "event"
303
- },
304
- {
305
- "anonymous": false,
306
- "inputs": [
307
- {
308
- "indexed": false,
309
- "internalType": "uint32",
310
- "name": "eid",
311
- "type": "uint32"
312
- },
313
- {
314
- "indexed": false,
315
- "internalType": "bytes32",
316
- "name": "peer",
317
- "type": "bytes32"
318
- }
319
- ],
320
- "name": "PeerSet",
321
- "type": "event"
322
- },
323
- {
324
- "anonymous": false,
325
- "inputs": [
326
- {
327
- "indexed": false,
328
- "internalType": "address",
329
- "name": "preCrimeAddress",
330
- "type": "address"
331
- }
332
- ],
333
- "name": "PreCrimeSet",
334
- "type": "event"
335
- },
336
- {
337
- "anonymous": false,
338
- "inputs": [
339
- {
340
- "indexed": true,
341
- "internalType": "address",
342
- "name": "from",
343
- "type": "address"
344
- },
345
- {
346
- "indexed": true,
347
- "internalType": "address",
348
- "name": "to",
349
- "type": "address"
350
- },
351
- {
352
- "indexed": false,
353
- "internalType": "uint256",
354
- "name": "value",
355
- "type": "uint256"
356
- }
357
- ],
358
- "name": "Transfer",
359
- "type": "event"
360
- },
361
- {
362
- "inputs": [],
363
- "name": "SEND",
364
- "outputs": [
365
- {
366
- "internalType": "uint16",
367
- "name": "",
368
- "type": "uint16"
369
- }
370
- ],
371
- "stateMutability": "view",
372
- "type": "function"
373
- },
374
- {
375
- "inputs": [],
376
- "name": "SEND_AND_CALL",
377
- "outputs": [
378
- {
379
- "internalType": "uint16",
380
- "name": "",
381
- "type": "uint16"
382
- }
383
- ],
384
- "stateMutability": "view",
385
- "type": "function"
386
- },
387
- {
388
- "inputs": [
389
- {
390
- "components": [
391
- {
392
- "internalType": "uint32",
393
- "name": "srcEid",
394
- "type": "uint32"
395
- },
396
- {
397
- "internalType": "bytes32",
398
- "name": "sender",
399
- "type": "bytes32"
400
- },
401
- {
402
- "internalType": "uint64",
403
- "name": "nonce",
404
- "type": "uint64"
405
- }
406
- ],
407
- "internalType": "struct Origin",
408
- "name": "origin",
409
- "type": "tuple"
410
- }
411
- ],
412
- "name": "allowInitializePath",
413
- "outputs": [
414
- {
415
- "internalType": "bool",
416
- "name": "",
417
- "type": "bool"
418
- }
419
- ],
420
- "stateMutability": "view",
421
- "type": "function"
422
- },
423
- {
424
- "inputs": [
425
- {
426
- "internalType": "address",
427
- "name": "owner",
428
- "type": "address"
429
- },
430
- {
431
- "internalType": "address",
432
- "name": "spender",
433
- "type": "address"
434
- }
435
- ],
436
- "name": "allowance",
437
- "outputs": [
438
- {
439
- "internalType": "uint256",
440
- "name": "",
441
- "type": "uint256"
442
- }
443
- ],
444
- "stateMutability": "view",
445
- "type": "function"
446
- },
447
- {
448
- "inputs": [],
449
- "name": "approvalRequired",
450
- "outputs": [
451
- {
452
- "internalType": "bool",
453
- "name": "",
454
- "type": "bool"
455
- }
456
- ],
457
- "stateMutability": "pure",
458
- "type": "function"
459
- },
460
- {
461
- "inputs": [
462
- {
463
- "internalType": "address",
464
- "name": "spender",
465
- "type": "address"
466
- },
467
- {
468
- "internalType": "uint256",
469
- "name": "amount",
470
- "type": "uint256"
471
- }
472
- ],
473
- "name": "approve",
474
- "outputs": [
475
- {
476
- "internalType": "bool",
477
- "name": "",
478
- "type": "bool"
479
- }
480
- ],
481
- "stateMutability": "nonpayable",
482
- "type": "function"
483
- },
484
- {
485
- "inputs": [
486
- {
487
- "internalType": "address",
488
- "name": "account",
489
- "type": "address"
490
- }
491
- ],
492
- "name": "balanceOf",
493
- "outputs": [
494
- {
495
- "internalType": "uint256",
496
- "name": "",
497
- "type": "uint256"
498
- }
499
- ],
500
- "stateMutability": "view",
501
- "type": "function"
502
- },
503
- {
504
- "inputs": [
505
- {
506
- "internalType": "uint32",
507
- "name": "_eid",
508
- "type": "uint32"
509
- },
510
- {
511
- "internalType": "uint16",
512
- "name": "_msgType",
513
- "type": "uint16"
514
- },
515
- {
516
- "internalType": "bytes",
517
- "name": "_extraOptions",
518
- "type": "bytes"
519
- }
520
- ],
521
- "name": "combineOptions",
522
- "outputs": [
523
- {
524
- "internalType": "bytes",
525
- "name": "",
526
- "type": "bytes"
527
- }
528
- ],
529
- "stateMutability": "view",
530
- "type": "function"
531
- },
532
- {
533
- "inputs": [],
534
- "name": "decimalConversionRate",
535
- "outputs": [
536
- {
537
- "internalType": "uint256",
538
- "name": "",
539
- "type": "uint256"
540
- }
541
- ],
542
- "stateMutability": "view",
543
- "type": "function"
544
- },
545
- {
546
- "inputs": [],
547
- "name": "decimals",
548
- "outputs": [
549
- {
550
- "internalType": "uint8",
551
- "name": "",
552
- "type": "uint8"
553
- }
554
- ],
555
- "stateMutability": "pure",
556
- "type": "function"
557
- },
558
- {
559
- "inputs": [
560
- {
561
- "internalType": "address",
562
- "name": "spender",
563
- "type": "address"
564
- },
565
- {
566
- "internalType": "uint256",
567
- "name": "subtractedValue",
568
- "type": "uint256"
569
- }
570
- ],
571
- "name": "decreaseAllowance",
572
- "outputs": [
573
- {
574
- "internalType": "bool",
575
- "name": "",
576
- "type": "bool"
577
- }
578
- ],
579
- "stateMutability": "nonpayable",
580
- "type": "function"
581
- },
582
- {
583
- "inputs": [],
584
- "name": "endpoint",
585
- "outputs": [
586
- {
587
- "internalType": "contract ILayerZeroEndpointV2",
588
- "name": "",
589
- "type": "address"
590
- }
591
- ],
592
- "stateMutability": "view",
593
- "type": "function"
594
- },
595
- {
596
- "inputs": [
597
- {
598
- "internalType": "uint32",
599
- "name": "eid",
600
- "type": "uint32"
601
- },
602
- {
603
- "internalType": "uint16",
604
- "name": "msgType",
605
- "type": "uint16"
606
- }
607
- ],
608
- "name": "enforcedOptions",
609
- "outputs": [
610
- {
611
- "internalType": "bytes",
612
- "name": "enforcedOption",
613
- "type": "bytes"
614
- }
615
- ],
616
- "stateMutability": "view",
617
- "type": "function"
618
- },
619
- {
620
- "inputs": [],
621
- "name": "expiry",
622
- "outputs": [
623
- {
624
- "internalType": "uint256",
625
- "name": "",
626
- "type": "uint256"
627
- }
628
- ],
629
- "stateMutability": "view",
630
- "type": "function"
631
- },
632
- {
633
- "inputs": [
634
- {
635
- "internalType": "address",
636
- "name": "spender",
637
- "type": "address"
638
- },
639
- {
640
- "internalType": "uint256",
641
- "name": "addedValue",
642
- "type": "uint256"
643
- }
644
- ],
645
- "name": "increaseAllowance",
646
- "outputs": [
647
- {
648
- "internalType": "bool",
649
- "name": "",
650
- "type": "bool"
651
- }
652
- ],
653
- "stateMutability": "nonpayable",
654
- "type": "function"
655
- },
656
- {
657
- "inputs": [
658
- {
659
- "components": [
660
- {
661
- "internalType": "uint32",
662
- "name": "srcEid",
663
- "type": "uint32"
664
- },
665
- {
666
- "internalType": "bytes32",
667
- "name": "sender",
668
- "type": "bytes32"
669
- },
670
- {
671
- "internalType": "uint64",
672
- "name": "nonce",
673
- "type": "uint64"
674
- }
675
- ],
676
- "internalType": "struct Origin",
677
- "name": "",
678
- "type": "tuple"
679
- },
680
- {
681
- "internalType": "bytes",
682
- "name": "",
683
- "type": "bytes"
684
- },
685
- {
686
- "internalType": "address",
687
- "name": "_sender",
688
- "type": "address"
689
- }
690
- ],
691
- "name": "isComposeMsgSender",
692
- "outputs": [
693
- {
694
- "internalType": "bool",
695
- "name": "",
696
- "type": "bool"
697
- }
698
- ],
699
- "stateMutability": "view",
700
- "type": "function"
701
- },
702
- {
703
- "inputs": [
704
- {
705
- "internalType": "uint32",
706
- "name": "_eid",
707
- "type": "uint32"
708
- },
709
- {
710
- "internalType": "bytes32",
711
- "name": "_peer",
712
- "type": "bytes32"
713
- }
714
- ],
715
- "name": "isPeer",
716
- "outputs": [
717
- {
718
- "internalType": "bool",
719
- "name": "",
720
- "type": "bool"
721
- }
722
- ],
723
- "stateMutability": "view",
724
- "type": "function"
725
- },
726
- {
727
- "inputs": [
728
- {
729
- "components": [
730
- {
731
- "internalType": "uint32",
732
- "name": "srcEid",
733
- "type": "uint32"
734
- },
735
- {
736
- "internalType": "bytes32",
737
- "name": "sender",
738
- "type": "bytes32"
739
- },
740
- {
741
- "internalType": "uint64",
742
- "name": "nonce",
743
- "type": "uint64"
744
- }
745
- ],
746
- "internalType": "struct Origin",
747
- "name": "_origin",
748
- "type": "tuple"
749
- },
750
- {
751
- "internalType": "bytes32",
752
- "name": "_guid",
753
- "type": "bytes32"
754
- },
755
- {
756
- "internalType": "bytes",
757
- "name": "_message",
758
- "type": "bytes"
759
- },
760
- {
761
- "internalType": "address",
762
- "name": "_executor",
763
- "type": "address"
764
- },
765
- {
766
- "internalType": "bytes",
767
- "name": "_extraData",
768
- "type": "bytes"
769
- }
770
- ],
771
- "name": "lzReceive",
772
- "outputs": [],
773
- "stateMutability": "payable",
774
- "type": "function"
775
- },
776
- {
777
- "inputs": [
778
- {
779
- "components": [
780
- {
781
- "components": [
782
- {
783
- "internalType": "uint32",
784
- "name": "srcEid",
785
- "type": "uint32"
786
- },
787
- {
788
- "internalType": "bytes32",
789
- "name": "sender",
790
- "type": "bytes32"
791
- },
792
- {
793
- "internalType": "uint64",
794
- "name": "nonce",
795
- "type": "uint64"
796
- }
797
- ],
798
- "internalType": "struct Origin",
799
- "name": "origin",
800
- "type": "tuple"
801
- },
802
- {
803
- "internalType": "uint32",
804
- "name": "dstEid",
805
- "type": "uint32"
806
- },
807
- {
808
- "internalType": "address",
809
- "name": "receiver",
810
- "type": "address"
811
- },
812
- {
813
- "internalType": "bytes32",
814
- "name": "guid",
815
- "type": "bytes32"
816
- },
817
- {
818
- "internalType": "uint256",
819
- "name": "value",
820
- "type": "uint256"
821
- },
822
- {
823
- "internalType": "address",
824
- "name": "executor",
825
- "type": "address"
826
- },
827
- {
828
- "internalType": "bytes",
829
- "name": "message",
830
- "type": "bytes"
831
- },
832
- {
833
- "internalType": "bytes",
834
- "name": "extraData",
835
- "type": "bytes"
836
- }
837
- ],
838
- "internalType": "struct InboundPacket[]",
839
- "name": "_packets",
840
- "type": "tuple[]"
841
- }
842
- ],
843
- "name": "lzReceiveAndRevert",
844
- "outputs": [],
845
- "stateMutability": "payable",
846
- "type": "function"
847
- },
848
- {
849
- "inputs": [
850
- {
851
- "components": [
852
- {
853
- "internalType": "uint32",
854
- "name": "srcEid",
855
- "type": "uint32"
856
- },
857
- {
858
- "internalType": "bytes32",
859
- "name": "sender",
860
- "type": "bytes32"
861
- },
862
- {
863
- "internalType": "uint64",
864
- "name": "nonce",
865
- "type": "uint64"
866
- }
867
- ],
868
- "internalType": "struct Origin",
869
- "name": "_origin",
870
- "type": "tuple"
871
- },
872
- {
873
- "internalType": "bytes32",
874
- "name": "_guid",
875
- "type": "bytes32"
876
- },
877
- {
878
- "internalType": "bytes",
879
- "name": "_message",
880
- "type": "bytes"
881
- },
882
- {
883
- "internalType": "address",
884
- "name": "_executor",
885
- "type": "address"
886
- },
887
- {
888
- "internalType": "bytes",
889
- "name": "_extraData",
890
- "type": "bytes"
891
- }
892
- ],
893
- "name": "lzReceiveSimulate",
894
- "outputs": [],
895
- "stateMutability": "payable",
896
- "type": "function"
897
- },
898
- {
899
- "inputs": [],
900
- "name": "msgInspector",
901
- "outputs": [
902
- {
903
- "internalType": "address",
904
- "name": "",
905
- "type": "address"
906
- }
907
- ],
908
- "stateMutability": "view",
909
- "type": "function"
910
- },
911
- {
912
- "inputs": [],
913
- "name": "name",
914
- "outputs": [
915
- {
916
- "internalType": "string",
917
- "name": "",
918
- "type": "string"
919
- }
920
- ],
921
- "stateMutability": "view",
922
- "type": "function"
923
- },
924
- {
925
- "inputs": [
926
- {
927
- "internalType": "uint32",
928
- "name": "",
929
- "type": "uint32"
930
- },
931
- {
932
- "internalType": "bytes32",
933
- "name": "",
934
- "type": "bytes32"
935
- }
936
- ],
937
- "name": "nextNonce",
938
- "outputs": [
939
- {
940
- "internalType": "uint64",
941
- "name": "nonce",
942
- "type": "uint64"
943
- }
944
- ],
945
- "stateMutability": "view",
946
- "type": "function"
947
- },
948
- {
949
- "inputs": [],
950
- "name": "oApp",
951
- "outputs": [
952
- {
953
- "internalType": "address",
954
- "name": "",
955
- "type": "address"
956
- }
957
- ],
958
- "stateMutability": "view",
959
- "type": "function"
960
- },
961
- {
962
- "inputs": [],
963
- "name": "oAppVersion",
964
- "outputs": [
965
- {
966
- "internalType": "uint64",
967
- "name": "senderVersion",
968
- "type": "uint64"
969
- },
970
- {
971
- "internalType": "uint64",
972
- "name": "receiverVersion",
973
- "type": "uint64"
974
- }
975
- ],
976
- "stateMutability": "pure",
977
- "type": "function"
978
- },
979
- {
980
- "inputs": [],
981
- "name": "oftVersion",
982
- "outputs": [
983
- {
984
- "internalType": "bytes4",
985
- "name": "interfaceId",
986
- "type": "bytes4"
987
- },
988
- {
989
- "internalType": "uint64",
990
- "name": "version",
991
- "type": "uint64"
992
- }
993
- ],
994
- "stateMutability": "pure",
995
- "type": "function"
996
- },
997
- {
998
- "inputs": [],
999
- "name": "owner",
1000
- "outputs": [
1001
- {
1002
- "internalType": "address",
1003
- "name": "",
1004
- "type": "address"
1005
- }
1006
- ],
1007
- "stateMutability": "view",
1008
- "type": "function"
1009
- },
1010
- {
1011
- "inputs": [
1012
- {
1013
- "internalType": "uint32",
1014
- "name": "eid",
1015
- "type": "uint32"
1016
- }
1017
- ],
1018
- "name": "peers",
1019
- "outputs": [
1020
- {
1021
- "internalType": "bytes32",
1022
- "name": "peer",
1023
- "type": "bytes32"
1024
- }
1025
- ],
1026
- "stateMutability": "view",
1027
- "type": "function"
1028
- },
1029
- {
1030
- "inputs": [],
1031
- "name": "preCrime",
1032
- "outputs": [
1033
- {
1034
- "internalType": "address",
1035
- "name": "",
1036
- "type": "address"
1037
- }
1038
- ],
1039
- "stateMutability": "view",
1040
- "type": "function"
1041
- },
1042
- {
1043
- "inputs": [
1044
- {
1045
- "components": [
1046
- {
1047
- "internalType": "uint32",
1048
- "name": "dstEid",
1049
- "type": "uint32"
1050
- },
1051
- {
1052
- "internalType": "bytes32",
1053
- "name": "to",
1054
- "type": "bytes32"
1055
- },
1056
- {
1057
- "internalType": "uint256",
1058
- "name": "amountLD",
1059
- "type": "uint256"
1060
- },
1061
- {
1062
- "internalType": "uint256",
1063
- "name": "minAmountLD",
1064
- "type": "uint256"
1065
- },
1066
- {
1067
- "internalType": "bytes",
1068
- "name": "extraOptions",
1069
- "type": "bytes"
1070
- },
1071
- {
1072
- "internalType": "bytes",
1073
- "name": "composeMsg",
1074
- "type": "bytes"
1075
- },
1076
- {
1077
- "internalType": "bytes",
1078
- "name": "oftCmd",
1079
- "type": "bytes"
1080
- }
1081
- ],
1082
- "internalType": "struct SendParam",
1083
- "name": "_sendParam",
1084
- "type": "tuple"
1085
- }
1086
- ],
1087
- "name": "quoteOFT",
1088
- "outputs": [
1089
- {
1090
- "components": [
1091
- {
1092
- "internalType": "uint256",
1093
- "name": "minAmountLD",
1094
- "type": "uint256"
1095
- },
1096
- {
1097
- "internalType": "uint256",
1098
- "name": "maxAmountLD",
1099
- "type": "uint256"
1100
- }
1101
- ],
1102
- "internalType": "struct OFTLimit",
1103
- "name": "oftLimit",
1104
- "type": "tuple"
1105
- },
1106
- {
1107
- "components": [
1108
- {
1109
- "internalType": "int256",
1110
- "name": "feeAmountLD",
1111
- "type": "int256"
1112
- },
1113
- {
1114
- "internalType": "string",
1115
- "name": "description",
1116
- "type": "string"
1117
- }
1118
- ],
1119
- "internalType": "struct OFTFeeDetail[]",
1120
- "name": "oftFeeDetails",
1121
- "type": "tuple[]"
1122
- },
1123
- {
1124
- "components": [
1125
- {
1126
- "internalType": "uint256",
1127
- "name": "amountSentLD",
1128
- "type": "uint256"
1129
- },
1130
- {
1131
- "internalType": "uint256",
1132
- "name": "amountReceivedLD",
1133
- "type": "uint256"
1134
- }
1135
- ],
1136
- "internalType": "struct OFTReceipt",
1137
- "name": "oftReceipt",
1138
- "type": "tuple"
1139
- }
1140
- ],
1141
- "stateMutability": "view",
1142
- "type": "function"
1143
- },
1144
- {
1145
- "inputs": [
1146
- {
1147
- "components": [
1148
- {
1149
- "internalType": "uint32",
1150
- "name": "dstEid",
1151
- "type": "uint32"
1152
- },
1153
- {
1154
- "internalType": "bytes32",
1155
- "name": "to",
1156
- "type": "bytes32"
1157
- },
1158
- {
1159
- "internalType": "uint256",
1160
- "name": "amountLD",
1161
- "type": "uint256"
1162
- },
1163
- {
1164
- "internalType": "uint256",
1165
- "name": "minAmountLD",
1166
- "type": "uint256"
1167
- },
1168
- {
1169
- "internalType": "bytes",
1170
- "name": "extraOptions",
1171
- "type": "bytes"
1172
- },
1173
- {
1174
- "internalType": "bytes",
1175
- "name": "composeMsg",
1176
- "type": "bytes"
1177
- },
1178
- {
1179
- "internalType": "bytes",
1180
- "name": "oftCmd",
1181
- "type": "bytes"
1182
- }
1183
- ],
1184
- "internalType": "struct SendParam",
1185
- "name": "_sendParam",
1186
- "type": "tuple"
1187
- },
1188
- {
1189
- "internalType": "bool",
1190
- "name": "_payInLzToken",
1191
- "type": "bool"
1192
- }
1193
- ],
1194
- "name": "quoteSend",
1195
- "outputs": [
1196
- {
1197
- "components": [
1198
- {
1199
- "internalType": "uint256",
1200
- "name": "nativeFee",
1201
- "type": "uint256"
1202
- },
1203
- {
1204
- "internalType": "uint256",
1205
- "name": "lzTokenFee",
1206
- "type": "uint256"
1207
- }
1208
- ],
1209
- "internalType": "struct MessagingFee",
1210
- "name": "msgFee",
1211
- "type": "tuple"
1212
- }
1213
- ],
1214
- "stateMutability": "view",
1215
- "type": "function"
1216
- },
1217
- {
1218
- "inputs": [],
1219
- "name": "renounceOwnership",
1220
- "outputs": [],
1221
- "stateMutability": "nonpayable",
1222
- "type": "function"
1223
- },
1224
- {
1225
- "inputs": [
1226
- {
1227
- "components": [
1228
- {
1229
- "internalType": "uint32",
1230
- "name": "dstEid",
1231
- "type": "uint32"
1232
- },
1233
- {
1234
- "internalType": "bytes32",
1235
- "name": "to",
1236
- "type": "bytes32"
1237
- },
1238
- {
1239
- "internalType": "uint256",
1240
- "name": "amountLD",
1241
- "type": "uint256"
1242
- },
1243
- {
1244
- "internalType": "uint256",
1245
- "name": "minAmountLD",
1246
- "type": "uint256"
1247
- },
1248
- {
1249
- "internalType": "bytes",
1250
- "name": "extraOptions",
1251
- "type": "bytes"
1252
- },
1253
- {
1254
- "internalType": "bytes",
1255
- "name": "composeMsg",
1256
- "type": "bytes"
1257
- },
1258
- {
1259
- "internalType": "bytes",
1260
- "name": "oftCmd",
1261
- "type": "bytes"
1262
- }
1263
- ],
1264
- "internalType": "struct SendParam",
1265
- "name": "_sendParam",
1266
- "type": "tuple"
1267
- },
1268
- {
1269
- "components": [
1270
- {
1271
- "internalType": "uint256",
1272
- "name": "nativeFee",
1273
- "type": "uint256"
1274
- },
1275
- {
1276
- "internalType": "uint256",
1277
- "name": "lzTokenFee",
1278
- "type": "uint256"
1279
- }
1280
- ],
1281
- "internalType": "struct MessagingFee",
1282
- "name": "_fee",
1283
- "type": "tuple"
1284
- },
1285
- {
1286
- "internalType": "address",
1287
- "name": "_refundAddress",
1288
- "type": "address"
1289
- }
1290
- ],
1291
- "name": "send",
1292
- "outputs": [
1293
- {
1294
- "components": [
1295
- {
1296
- "internalType": "bytes32",
1297
- "name": "guid",
1298
- "type": "bytes32"
1299
- },
1300
- {
1301
- "internalType": "uint64",
1302
- "name": "nonce",
1303
- "type": "uint64"
1304
- },
1305
- {
1306
- "components": [
1307
- {
1308
- "internalType": "uint256",
1309
- "name": "nativeFee",
1310
- "type": "uint256"
1311
- },
1312
- {
1313
- "internalType": "uint256",
1314
- "name": "lzTokenFee",
1315
- "type": "uint256"
1316
- }
1317
- ],
1318
- "internalType": "struct MessagingFee",
1319
- "name": "fee",
1320
- "type": "tuple"
1321
- }
1322
- ],
1323
- "internalType": "struct MessagingReceipt",
1324
- "name": "msgReceipt",
1325
- "type": "tuple"
1326
- },
1327
- {
1328
- "components": [
1329
- {
1330
- "internalType": "uint256",
1331
- "name": "amountSentLD",
1332
- "type": "uint256"
1333
- },
1334
- {
1335
- "internalType": "uint256",
1336
- "name": "amountReceivedLD",
1337
- "type": "uint256"
1338
- }
1339
- ],
1340
- "internalType": "struct OFTReceipt",
1341
- "name": "oftReceipt",
1342
- "type": "tuple"
1343
- }
1344
- ],
1345
- "stateMutability": "payable",
1346
- "type": "function"
1347
- },
1348
- {
1349
- "inputs": [
1350
- {
1351
- "internalType": "address",
1352
- "name": "_delegate",
1353
- "type": "address"
1354
- }
1355
- ],
1356
- "name": "setDelegate",
1357
- "outputs": [],
1358
- "stateMutability": "nonpayable",
1359
- "type": "function"
1360
- },
1361
- {
1362
- "inputs": [
1363
- {
1364
- "components": [
1365
- {
1366
- "internalType": "uint32",
1367
- "name": "eid",
1368
- "type": "uint32"
1369
- },
1370
- {
1371
- "internalType": "uint16",
1372
- "name": "msgType",
1373
- "type": "uint16"
1374
- },
1375
- {
1376
- "internalType": "bytes",
1377
- "name": "options",
1378
- "type": "bytes"
1379
- }
1380
- ],
1381
- "internalType": "struct EnforcedOptionParam[]",
1382
- "name": "_enforcedOptions",
1383
- "type": "tuple[]"
1384
- }
1385
- ],
1386
- "name": "setEnforcedOptions",
1387
- "outputs": [],
1388
- "stateMutability": "nonpayable",
1389
- "type": "function"
1390
- },
1391
- {
1392
- "inputs": [
1393
- {
1394
- "internalType": "address",
1395
- "name": "_msgInspector",
1396
- "type": "address"
1397
- }
1398
- ],
1399
- "name": "setMsgInspector",
1400
- "outputs": [],
1401
- "stateMutability": "nonpayable",
1402
- "type": "function"
1403
- },
1404
- {
1405
- "inputs": [
1406
- {
1407
- "internalType": "uint32",
1408
- "name": "_eid",
1409
- "type": "uint32"
1410
- },
1411
- {
1412
- "internalType": "bytes32",
1413
- "name": "_peer",
1414
- "type": "bytes32"
1415
- }
1416
- ],
1417
- "name": "setPeer",
1418
- "outputs": [],
1419
- "stateMutability": "nonpayable",
1420
- "type": "function"
1421
- },
1422
- {
1423
- "inputs": [
1424
- {
1425
- "internalType": "address",
1426
- "name": "_preCrime",
1427
- "type": "address"
1428
- }
1429
- ],
1430
- "name": "setPreCrime",
1431
- "outputs": [],
1432
- "stateMutability": "nonpayable",
1433
- "type": "function"
1434
- },
1435
- {
1436
- "inputs": [],
1437
- "name": "sharedDecimals",
1438
- "outputs": [
1439
- {
1440
- "internalType": "uint8",
1441
- "name": "",
1442
- "type": "uint8"
1443
- }
1444
- ],
1445
- "stateMutability": "pure",
1446
- "type": "function"
1447
- },
1448
- {
1449
- "inputs": [],
1450
- "name": "symbol",
1451
- "outputs": [
1452
- {
1453
- "internalType": "string",
1454
- "name": "",
1455
- "type": "string"
1456
- }
1457
- ],
1458
- "stateMutability": "view",
1459
- "type": "function"
1460
- },
1461
- {
1462
- "inputs": [],
1463
- "name": "token",
1464
- "outputs": [
1465
- {
1466
- "internalType": "address",
1467
- "name": "",
1468
- "type": "address"
1469
- }
1470
- ],
1471
- "stateMutability": "view",
1472
- "type": "function"
1473
- },
1474
- {
1475
- "inputs": [],
1476
- "name": "totalSupply",
1477
- "outputs": [
1478
- {
1479
- "internalType": "uint256",
1480
- "name": "",
1481
- "type": "uint256"
1482
- }
1483
- ],
1484
- "stateMutability": "view",
1485
- "type": "function"
1486
- },
1487
- {
1488
- "inputs": [
1489
- {
1490
- "internalType": "address",
1491
- "name": "to",
1492
- "type": "address"
1493
- },
1494
- {
1495
- "internalType": "uint256",
1496
- "name": "amount",
1497
- "type": "uint256"
1498
- }
1499
- ],
1500
- "name": "transfer",
1501
- "outputs": [
1502
- {
1503
- "internalType": "bool",
1504
- "name": "",
1505
- "type": "bool"
1506
- }
1507
- ],
1508
- "stateMutability": "nonpayable",
1509
- "type": "function"
1510
- },
1511
- {
1512
- "inputs": [
1513
- {
1514
- "internalType": "address",
1515
- "name": "from",
1516
- "type": "address"
1517
- },
1518
- {
1519
- "internalType": "address",
1520
- "name": "to",
1521
- "type": "address"
1522
- },
1523
- {
1524
- "internalType": "uint256",
1525
- "name": "amount",
1526
- "type": "uint256"
1527
- }
1528
- ],
1529
- "name": "transferFrom",
1530
- "outputs": [
1531
- {
1532
- "internalType": "bool",
1533
- "name": "",
1534
- "type": "bool"
1535
- }
1536
- ],
1537
- "stateMutability": "nonpayable",
1538
- "type": "function"
1539
- },
1540
- {
1541
- "inputs": [
1542
- {
1543
- "internalType": "address",
1544
- "name": "newOwner",
1545
- "type": "address"
1546
- }
1547
- ],
1548
- "name": "transferOwnership",
1549
- "outputs": [],
1550
- "stateMutability": "nonpayable",
1551
- "type": "function"
1552
- }
1553
- ],
1554
- "bytecode": "0x60e06040523480156200001157600080fd5b5060405162003b5d38038062003b5d8339810160408190526200003491620002b2565b84848484848484848483836012848481818181620000523362000178565b6001600160a01b0380831660805281166200008057604051632d618d8160e21b815260040160405180910390fd5b60805160405163ca5eb5e160e01b81526001600160a01b0383811660048301529091169063ca5eb5e190602401600060405180830381600087803b158015620000c857600080fd5b505af1158015620000dd573d6000803e3d6000fd5b5050505050505050620000f5620001c860201b60201c565b60ff168360ff1610156200011c576040516301e9714b60e41b815260040160405180910390fd5b6200012960068462000361565b6200013690600a62000480565b60a05250600891506200014c9050838262000529565b5060096200015b828262000529565b50505060c09490945250620005f59b505050505050505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600690565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001f557600080fd5b81516001600160401b0380821115620002125762000212620001cd565b604051601f8301601f19908116603f011681019082821181831017156200023d576200023d620001cd565b81604052838152602092508660208588010111156200025b57600080fd5b600091505b838210156200027f578582018301518183018401529082019062000260565b6000602085830101528094505050505092915050565b80516001600160a01b0381168114620002ad57600080fd5b919050565b600080600080600060a08688031215620002cb57600080fd5b85516001600160401b0380821115620002e357600080fd5b620002f189838a01620001e3565b965060208801519150808211156200030857600080fd5b506200031788828901620001e3565b945050620003286040870162000295565b9250620003386060870162000295565b9150608086015190509295509295909350565b634e487b7160e01b600052601160045260246000fd5b60ff82811682821603908111156200037d576200037d6200034b565b92915050565b600181815b80851115620003c4578160001904821115620003a857620003a86200034b565b80851615620003b657918102915b93841c939080029062000388565b509250929050565b600082620003dd575060016200037d565b81620003ec575060006200037d565b8160018114620004055760028114620004105762000430565b60019150506200037d565b60ff8411156200042457620004246200034b565b50506001821b6200037d565b5060208310610133831016604e8410600b841016171562000455575081810a6200037d565b62000461838362000383565b80600019048211156200047857620004786200034b565b029392505050565b60006200049160ff841683620003cc565b9392505050565b600181811c90821680620004ad57607f821691505b602082108103620004ce57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111562000524576000816000526020600020601f850160051c81016020861015620004ff5750805b601f850160051c820191505b8181101562000520578281556001016200050b565b5050505b505050565b81516001600160401b03811115620005455762000545620001cd565b6200055d8162000556845462000498565b84620004d4565b602080601f8311600181146200059557600084156200057c5750858301515b600019600386901b1c1916600185901b17855562000520565b600085815260208120601f198616915b82811015620005c657888601518255948401946001909101908401620005a5565b5085821015620005e55787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60805160a05160c0516134f26200066b60003960006107800152600081816105c401528181611ce901528181611d5e0152611e3d01526000818161048c01528181610a0c015281816110f1015281816114e8015281816119a801528181611f350152818161220a01526122c101526134f26000f3fe6080604052600436106102025760003560e01c806306fdde0314610207578063095ea7b3146102325780630d35b41514610262578063111ecdad1461029157806313137d65146102be578063134d4f25146102d3578063156a0d0f146102fb57806317442b701461032257806318160ddd146103445780631f5e13341461036357806323b872dd14610378578063313ce567146103985780633400288b146103ba57806339509351146103da5780633b6f743b146103fa57806352ae2879146104275780635535d4611461043a5780635a0dfe4d1461045a5780635e280f111461047a5780636fc1b31e146104ae57806370a08231146104ce578063715018a6146105045780637d25a05e1461051957806382413eac14610554578063857749b0146105745780638da5cb5b1461058857806395d89b411461059d578063963efcaa146105b25780639f68b964146105e6578063a457c2d7146105fa578063a9059cbb1461061a578063b731ea0a1461063a578063b98bd0701461065a578063bb0b6a531461067a578063bc70b354146106a7578063bd815db0146106c7578063c7c7f5b3146106da578063ca5eb5e1146106fb578063d045a0dc1461071b578063d42438851461072e578063dd62ed3e1461074e578063e184c9be1461076e578063f2fde38b146107a2578063fc0c546a14610427578063ff7bd03d146107c2575b600080fd5b34801561021357600080fd5b5061021c6107e2565b6040516102299190612595565b60405180910390f35b34801561023e57600080fd5b5061025261024d3660046125bd565b610874565b6040519015158152602001610229565b34801561026e57600080fd5b5061028261027d366004612601565b61088e565b60405161022993929190612644565b34801561029d57600080fd5b506004546102b1906001600160a01b031681565b60405161022991906126d2565b6102d16102cc366004612740565b610a0a565b005b3480156102df57600080fd5b506102e8600281565b60405161ffff9091168152602001610229565b34801561030757600080fd5b506040805162b9270b60e21b81526001602082015201610229565b34801561032e57600080fd5b5060408051600181526002602082015201610229565b34801561035057600080fd5b506007545b604051908152602001610229565b34801561036f57600080fd5b506102e8600181565b34801561038457600080fd5b506102526103933660046127df565b610ac2565b3480156103a457600080fd5b5060125b60405160ff9091168152602001610229565b3480156103c657600080fd5b506102d16103d5366004612839565b610ae8565b3480156103e657600080fd5b506102526103f53660046125bd565b610afe565b34801561040657600080fd5b5061041a610415366004612863565b610b20565b60405161022991906128b4565b34801561043357600080fd5b50306102b1565b34801561044657600080fd5b5061021c6104553660046128d4565b610b7b565b34801561046657600080fd5b50610252610475366004612839565b610c20565b34801561048657600080fd5b506102b17f000000000000000000000000000000000000000000000000000000000000000081565b3480156104ba57600080fd5b506102d16104c9366004612907565b610c3c565b3480156104da57600080fd5b506103556104e9366004612907565b6001600160a01b031660009081526005602052604090205490565b34801561051057600080fd5b506102d1610c9a565b34801561052557600080fd5b5061053c610534366004612839565b600092915050565b6040516001600160401b039091168152602001610229565b34801561056057600080fd5b5061025261056f366004612924565b610cae565b34801561058057600080fd5b5060066103a8565b34801561059457600080fd5b506102b1610cc3565b3480156105a957600080fd5b5061021c610cd2565b3480156105be57600080fd5b506103557f000000000000000000000000000000000000000000000000000000000000000081565b3480156105f257600080fd5b506000610252565b34801561060657600080fd5b506102526106153660046125bd565b610ce1565b34801561062657600080fd5b506102526106353660046125bd565b610d67565b34801561064657600080fd5b506002546102b1906001600160a01b031681565b34801561066657600080fd5b506102d16106753660046129ce565b610d75565b34801561068657600080fd5b50610355610695366004612a0f565b60016020526000908152604090205481565b3480156106b357600080fd5b5061021c6106c2366004612a2a565b610d8f565b6102d16106d53660046129ce565b610f37565b6106ed6106e8366004612a8a565b6110aa565b604051610229929190612af7565b34801561070757600080fd5b506102d1610716366004612907565b6110d2565b6102d1610729366004612740565b61115b565b34801561073a57600080fd5b506102d1610749366004612907565b61118a565b34801561075a57600080fd5b50610355610769366004612b33565b6111dd565b34801561077a57600080fd5b506103557f000000000000000000000000000000000000000000000000000000000000000081565b3480156107ae57600080fd5b506102d16107bd366004612907565b611208565b3480156107ce57600080fd5b506102526107dd366004612b61565b611281565b6060600880546107f190612b7d565b80601f016020809104026020016040519081016040528092919081815260200182805461081d90612b7d565b801561086a5780601f1061083f5761010080835404028352916020019161086a565b820191906000526020600020905b81548152906001019060200180831161084d57829003601f168201915b5050505050905090565b6000336108828185856112b7565b60019150505b92915050565b604080518082019091526000808252602082015260606108ac612507565b600080306001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109119190612bb1565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561094e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109729190612bce565b604080518082018252848152602080820184905282516000808252918101909352909750919250906109c7565b60408051808201909152600081526060602082015281526020019060019003908161099f5790505b5093506000806109ec604089013560608a01356109e760208c018c612a0f565b6113db565b60408051808201909152918252602082015296989597505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610a5e57336040516391ac5e4f60e01b8152600401610a5591906126d2565b60405180910390fd5b60208701803590610a7890610a73908a612a0f565b611417565b14610aaa57610a8a6020880188612a0f565b876020013560405163309afaf360e21b8152600401610a55929190612bfd565b610ab987878787878787611453565b50505050505050565b600033610ad08582856115b3565b610adb85858561162d565b60019150505b9392505050565b610af06117c6565b610afa8282611825565b5050565b600033610882818585610b1183836111dd565b610b1b9190612c29565b6112b7565b610b28612507565b6000610b44604085013560608601356109e76020880188612a0f565b915050600080610b54868461187b565b9092509050610b71610b696020880188612a0f565b83838861199e565b9695505050505050565b600360209081526000928352604080842090915290825290208054610b9f90612b7d565b80601f0160208091040260200160405190810160405280929190818152602001828054610bcb90612b7d565b8015610c185780601f10610bed57610100808354040283529160200191610c18565b820191906000526020600020905b815481529060010190602001808311610bfb57829003601f168201915b505050505081565b63ffffffff919091166000908152600160205260409020541490565b610c446117c6565b600480546001600160a01b0319166001600160a01b0383161790556040517ff0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d441419790610c8f9083906126d2565b60405180910390a150565b610ca26117c6565b610cac6000611a73565b565b6001600160a01b03811630145b949350505050565b6000546001600160a01b031690565b6060600980546107f190612b7d565b60003381610cef82866111dd565b905083811015610d4f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610a55565b610d5c82868684036112b7565b506001949350505050565b60003361088281858561162d565b610d7d6117c6565b610afa610d8a8284612cdd565b611ac3565b63ffffffff8416600090815260036020908152604080832061ffff87168452909152812080546060929190610dc390612b7d565b80601f0160208091040260200160405190810160405280929190818152602001828054610def90612b7d565b8015610e3c5780601f10610e1157610100808354040283529160200191610e3c565b820191906000526020600020905b815481529060010190602001808311610e1f57829003601f168201915b505050505090508051600003610e8c5783838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929450610cbb9350505050565b6000839003610e9c579050610cbb565b60028310610f1a57610ee384848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611bca92505050565b80610ef18460028188612df2565b604051602001610f0393929190612e1c565b604051602081830303815290604052915050610cbb565b8383604051639a6d49cd60e01b8152600401610a55929190612e6d565b60005b818110156110295736838383818110610f5557610f55612e81565b9050602002810190610f679190612e97565b9050610f83610f796020830183612a0f565b6020830135610c20565b610f8d5750611021565b3063d045a0dc60c08301358360a0810135610fac610100830183612eb8565b610fbd610100890160e08a01612907565b610fcb6101208a018a612eb8565b6040518963ffffffff1660e01b8152600401610fed9796959493929190612f13565b6000604051808303818588803b15801561100657600080fd5b505af115801561101a573d6000803e3d6000fd5b5050505050505b600101610f3a565b50336001600160a01b0316638e9e70996040518163ffffffff1660e01b8152600401600060405180830381865afa158015611068573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110909190810190612f99565b604051638351eea760e01b8152600401610a559190612595565b6110b2612521565b6110ba612507565b6110c5858585611bf6565b915091505b935093915050565b6110da6117c6565b60405163ca5eb5e160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e1906111269084906004016126d2565b600060405180830381600087803b15801561114057600080fd5b505af1158015611154573d6000803e3d6000fd5b5050505050565b33301461117b5760405163029a949d60e31b815260040160405180910390fd5b610ab987878787878787610aaa565b6111926117c6565b600280546001600160a01b0319166001600160a01b0383161790556040517fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c242776090610c8f9083906126d2565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6112106117c6565b6001600160a01b0381166112755760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a55565b61127e81611a73565b50565b60006020820180359060019083906112999086612a0f565b63ffffffff1681526020810191909152604001600020541492915050565b6001600160a01b0383166113195760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a55565b6001600160a01b03821661137a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a55565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000806113e785611ce5565b9150819050838110156110ca576040516371c4efed60e01b81526004810182905260248101859052604401610a55565b63ffffffff8116600090815260016020526040812054806108885760405163f6ff4fb760e01b815263ffffffff84166004820152602401610a55565b60006114656114628787611d1c565b90565b905060006114918261147f61147a8a8a611d34565b611d57565b61148c60208d018d612a0f565b611d8c565b905060288611156115585760006114ce6114b160608c0160408d01613006565b6114be60208d018d612a0f565b846114c98c8c611db4565b611dff565b604051633e5ac80960e11b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690637cb59012906115249086908d906000908790600401613023565b600060405180830381600087803b15801561153e57600080fd5b505af1158015611552573d6000803e3d6000fd5b50505050505b6001600160a01b038216887fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c61159160208d018d612a0f565b846040516115a0929190612bfd565b60405180910390a3505050505050505050565b60006115bf84846111dd565b90506000198114611627578181101561161a5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610a55565b61162784848484036112b7565b50505050565b6001600160a01b0383166116915760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a55565b6001600160a01b0382166116f35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a55565b6001600160a01b0383166000908152600560205260409020548181101561176b5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610a55565b6001600160a01b03808516600081815260056020526040808220868603905592861680825290839020805486019055915160008051602061349d833981519152906117b99086815260200190565b60405180910390a3611627565b336117cf610cc3565b6001600160a01b031614610cac5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a55565b63ffffffff821660009081526001602052604090819020829055517f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b9061186f9084908490612bfd565b60405180910390a15050565b60608060006118d8856020013561189186611e36565b61189e60a0890189612eb8565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611e6292505050565b90935090506000816118eb5760016118ee565b60025b905061190e6119006020880188612a0f565b826106c260808a018a612eb8565b6004549093506001600160a01b031680156119945760405163043a78eb60e01b81526001600160a01b0382169063043a78eb906119519088908890600401613054565b602060405180830381865afa15801561196e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119929190613079565b505b5050509250929050565b6119a6612507565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ddc28c586040518060a001604052808863ffffffff1681526020016119f589611417565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b8152600401611a2a929190613096565b6040805180830381865afa158015611a46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6a919061313f565b95945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60005b8151811015611b9a57611af5828281518110611ae457611ae4612e81565b602002602001015160400151611bca565b818181518110611b0757611b07612e81565b60200260200101516040015160036000848481518110611b2957611b29612e81565b60200260200101516000015163ffffffff1663ffffffff1681526020019081526020016000206000848481518110611b6357611b63612e81565b60200260200101516020015161ffff1661ffff1681526020019081526020016000209081611b9191906131ab565b50600101611ac6565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b67481604051610c8f919061326a565b600281015161ffff8116600314610afa5781604051639a6d49cd60e01b8152600401610a559190612595565b611bfe612521565b611c06612507565b600080611c2933604089013560608a0135611c2460208c018c612a0f565b611edc565b91509150600080611c3a898461187b565b9092509050611c66611c4f60208b018b612a0f565b8383611c60368d90038d018d6132f5565b8b611f02565b60408051808201909152858152602080820186905282519298509096503391907f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a90611cb4908d018d612a0f565b6040805163ffffffff909216825260208201899052810187905260600160405180910390a350505050935093915050565b60007f0000000000000000000000000000000000000000000000000000000000000000611d128184613327565b6108889190613349565b6000611d2b6020828486612df2565b610ae191613360565b6000611d44602860208486612df2565b611d4d9161337e565b60c01c9392505050565b60006108887f00000000000000000000000000000000000000000000000000000000000000006001600160401b038416613349565b60006001600160a01b038416611da25761dead93505b611dac848461200d565b509092915050565b6060611dc38260288186612df2565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929695505050505050565b606084848484604051602001611e1894939291906133ae565b6040516020818303038152906040529050949350505050565b505050565b60006108887f000000000000000000000000000000000000000000000000000000000000000083613327565b8051606090151580611eab578484604051602001611e9792919091825260c01b6001600160c01b031916602082015260280190565b604051602081830303815290604052611ed2565b84843385604051602001611ec29493929190613400565b6040516020818303038152906040525b9150935093915050565b600080611eea8585856113db565b9092509050611ef986836120bc565b94509492505050565b611f0a612521565b6000611f1984600001516121de565b602085015190915015611f3357611f338460200151612206565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632637a450826040518060a001604052808b63ffffffff168152602001611f838c611417565b81526020018a815260200189815260200160008960200151111515815250866040518463ffffffff1660e01b8152600401611fbf929190613096565b60806040518083038185885af1158015611fdd573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906120029190613440565b979650505050505050565b6001600160a01b0382166120635760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610a55565b80600760008282546120759190612c29565b90915550506001600160a01b03821660008181526005602090815260408083208054860190555184815260008051602061349d833981519152910160405180910390a35050565b6001600160a01b03821661211c5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610a55565b6001600160a01b038216600090815260056020526040902054818110156121905760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610a55565b6001600160a01b038316600081815260056020908152604080832086860390556007805487900390555185815291929160008051602061349d833981519152910160405180910390a3505050565b6000813414612202576040516304fb820960e51b8152346004820152602401610a55565b5090565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa158015612266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061228a9190612bb1565b90506001600160a01b0381166122b3576040516329b99a9560e11b815260040160405180910390fd5b6040805133602482018190527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03818116604485015260648085018890528551808603909101815260849094018552602080850180516001600160e01b03166323b872dd60e01b17905285518087019096528086527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656490860152610afa9490861693879161162791869160009061237490849084906123f4565b90508051600014806123955750808060200190518101906123959190613079565b611e315760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610a55565b6060610cbb848460008585600080866001600160a01b0316858760405161241b919061348a565b60006040518083038185875af1925050503d8060008114612458576040519150601f19603f3d011682016040523d82523d6000602084013e61245d565b606091505b509150915061200287838387606083156124d85782516000036124d1576001600160a01b0385163b6124d15760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610a55565b5081610cbb565b610cbb83838151156124ed5781518083602001fd5b8060405162461bcd60e51b8152600401610a559190612595565b604051806040016040528060008152602001600081525090565b6040805160608101825260008082526020820152908101612540612507565b905290565b60005b83811015612560578181015183820152602001612548565b50506000910152565b60008151808452612581816020860160208601612545565b601f01601f19169290920160200192915050565b602081526000610ae16020830184612569565b6001600160a01b038116811461127e57600080fd5b600080604083850312156125d057600080fd5b82356125db816125a8565b946020939093013593505050565b600060e082840312156125fb57600080fd5b50919050565b60006020828403121561261357600080fd5b81356001600160401b0381111561262957600080fd5b610cbb848285016125e9565b80518252602090810151910152565b600060a082016126548387612635565b604060a0604085015281865180845260c08601915060c08160051b8701019350602080890160005b838110156126bb5788870360bf190185528151805188528301518388018790526126a887890182612569565b975050938201939082019060010161267c565b50505050505080915050610cbb6060830184612635565b6001600160a01b0391909116815260200190565b6000606082840312156125fb57600080fd5b60008083601f84011261270a57600080fd5b5081356001600160401b0381111561272157600080fd5b60208301915083602082850101111561273957600080fd5b9250929050565b600080600080600080600060e0888a03121561275b57600080fd5b61276589896126e6565b96506060880135955060808801356001600160401b038082111561278857600080fd5b6127948b838c016126f8565b909750955060a08a013591506127a9826125a8565b90935060c089013590808211156127bf57600080fd5b506127cc8a828b016126f8565b989b979a50959850939692959293505050565b6000806000606084860312156127f457600080fd5b83356127ff816125a8565b9250602084013561280f816125a8565b929592945050506040919091013590565b803563ffffffff8116811461283457600080fd5b919050565b6000806040838503121561284c57600080fd5b6125db83612820565b801515811461127e57600080fd5b6000806040838503121561287657600080fd5b82356001600160401b0381111561288c57600080fd5b612898858286016125e9565b92505060208301356128a981612855565b809150509250929050565b604081016108888284612635565b803561ffff8116811461283457600080fd5b600080604083850312156128e757600080fd5b6128f083612820565b91506128fe602084016128c2565b90509250929050565b60006020828403121561291957600080fd5b8135610ae1816125a8565b60008060008060a0858703121561293a57600080fd5b61294486866126e6565b935060608501356001600160401b0381111561295f57600080fd5b61296b878288016126f8565b909450925050608085013561297f816125a8565b939692955090935050565b60008083601f84011261299c57600080fd5b5081356001600160401b038111156129b357600080fd5b6020830191508360208260051b850101111561273957600080fd5b600080602083850312156129e157600080fd5b82356001600160401b038111156129f757600080fd5b612a038582860161298a565b90969095509350505050565b600060208284031215612a2157600080fd5b610ae182612820565b60008060008060608587031215612a4057600080fd5b612a4985612820565b9350612a57602086016128c2565b925060408501356001600160401b03811115612a7257600080fd5b612a7e878288016126f8565b95989497509550505050565b60008060008385036080811215612aa057600080fd5b84356001600160401b03811115612ab657600080fd5b612ac2878288016125e9565b9450506040601f1982011215612ad757600080fd5b506020840191506060840135612aec816125a8565b809150509250925092565b825181526020808401516001600160401b03169082015260408084015160c0830191612b2590840182612635565b50610ae16080830184612635565b60008060408385031215612b4657600080fd5b8235612b51816125a8565b915060208301356128a9816125a8565b600060608284031215612b7357600080fd5b610ae183836126e6565b600181811c90821680612b9157607f821691505b6020821081036125fb57634e487b7160e01b600052602260045260246000fd5b600060208284031215612bc357600080fd5b8151610ae1816125a8565b600060208284031215612be057600080fd5b5051919050565b634e487b7160e01b600052604160045260246000fd5b63ffffffff929092168252602082015260400190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561088857610888612c13565b604051606081016001600160401b0381118282101715612c5e57612c5e612be7565b60405290565b604080519081016001600160401b0381118282101715612c5e57612c5e612be7565b604051601f8201601f191681016001600160401b0381118282101715612cae57612cae612be7565b604052919050565b60006001600160401b03821115612ccf57612ccf612be7565b50601f01601f191660200190565b60006001600160401b0380841115612cf757612cf7612be7565b8360051b6020612d08818301612c86565b868152918501918181019036841115612d2057600080fd5b865b84811015612de657803586811115612d3a5760008081fd5b88016060368290031215612d4e5760008081fd5b612d56612c3c565b612d5f82612820565b8152612d6c8683016128c2565b8682015260408083013589811115612d845760008081fd5b929092019136601f840112612d995760008081fd5b8235612dac612da782612cb6565b612c86565b8181523689838701011115612dc15760008081fd5b818986018a830137600091810189019190915290820152845250918301918301612d22565b50979650505050505050565b60008085851115612e0257600080fd5b83861115612e0f57600080fd5b5050820193919092039150565b60008451612e2e818460208901612545565b8201838582376000930192835250909392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b602081526000610cbb602083018486612e44565b634e487b7160e01b600052603260045260246000fd5b6000823561013e19833603018112612eae57600080fd5b9190910192915050565b6000808335601e19843603018112612ecf57600080fd5b8301803591506001600160401b03821115612ee957600080fd5b60200191503681900382131561273957600080fd5b6001600160401b038116811461127e57600080fd5b63ffffffff612f2189612820565b1681526020880135602082015260006040890135612f3e81612efe565b6001600160401b031660408301526060820188905260e060808301819052612f699083018789612e44565b6001600160a01b03861660a084015282810360c0840152612f8b818587612e44565b9a9950505050505050505050565b600060208284031215612fab57600080fd5b81516001600160401b03811115612fc157600080fd5b8201601f81018413612fd257600080fd5b8051612fe0612da782612cb6565b818152856020838501011115612ff557600080fd5b611a6a826020830160208601612545565b60006020828403121561301857600080fd5b8135610ae181612efe565b60018060a01b038516815283602082015261ffff83166040820152608060608201526000610b716080830184612569565b6040815260006130676040830185612569565b8281036020840152611a6a8185612569565b60006020828403121561308b57600080fd5b8151610ae181612855565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a060808401526130cc60e0840182612569565b90506060850151603f198483030160a08501526130e98282612569565b60809690960151151560c08501525050506001600160a01b039190911660209091015290565b60006040828403121561312157600080fd5b613129612c64565b9050815181526020820151602082015292915050565b60006040828403121561315157600080fd5b610ae1838361310f565b601f821115611e31576000816000526020600020601f850160051c810160208610156131845750805b601f850160051c820191505b818110156131a357828155600101613190565b505050505050565b81516001600160401b038111156131c4576131c4612be7565b6131d8816131d28454612b7d565b8461315b565b602080601f83116001811461320d57600084156131f55750858301515b600019600386901b1c1916600185901b1785556131a3565b600085815260208120601f198616915b8281101561323c5788860151825594840194600190910190840161321d565b508582101561325a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b838110156132e757888303603f190185528151805163ffffffff1684528781015161ffff168885015286015160608785018190526132d381860183612569565b968901969450505090860190600101613293565b509098975050505050505050565b60006040828403121561330757600080fd5b61330f612c64565b82358152602083013560208201528091505092915050565b60008261334457634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761088857610888612c13565b8035602083101561088857600019602084900360031b1b1692915050565b6001600160c01b031981358181169160088510156133a65780818660080360031b1b83161692505b505092915050565b60c085901b6001600160c01b031916815260e084901b6001600160e01b0319166008820152600c810183905281516000906133f081602c850160208701612545565b91909101602c0195945050505050565b84815260018060c01b03198460c01b16602082015282602882015260008251613430816048850160208701612545565b9190910160480195945050505050565b60006080828403121561345257600080fd5b61345a612c3c565b82518152602083015161346c81612efe565b602082015261347e846040850161310f565b60408201529392505050565b60008251612eae81846020870161254556feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212206693e0e2341b59d40aa3a5dd805c78e692ea787a30ad85bbcb71726526307ff764736f6c63430008170033",
1555
- "deployedBytecode": "0x6080604052600436106102025760003560e01c806306fdde0314610207578063095ea7b3146102325780630d35b41514610262578063111ecdad1461029157806313137d65146102be578063134d4f25146102d3578063156a0d0f146102fb57806317442b701461032257806318160ddd146103445780631f5e13341461036357806323b872dd14610378578063313ce567146103985780633400288b146103ba57806339509351146103da5780633b6f743b146103fa57806352ae2879146104275780635535d4611461043a5780635a0dfe4d1461045a5780635e280f111461047a5780636fc1b31e146104ae57806370a08231146104ce578063715018a6146105045780637d25a05e1461051957806382413eac14610554578063857749b0146105745780638da5cb5b1461058857806395d89b411461059d578063963efcaa146105b25780639f68b964146105e6578063a457c2d7146105fa578063a9059cbb1461061a578063b731ea0a1461063a578063b98bd0701461065a578063bb0b6a531461067a578063bc70b354146106a7578063bd815db0146106c7578063c7c7f5b3146106da578063ca5eb5e1146106fb578063d045a0dc1461071b578063d42438851461072e578063dd62ed3e1461074e578063e184c9be1461076e578063f2fde38b146107a2578063fc0c546a14610427578063ff7bd03d146107c2575b600080fd5b34801561021357600080fd5b5061021c6107e2565b6040516102299190612595565b60405180910390f35b34801561023e57600080fd5b5061025261024d3660046125bd565b610874565b6040519015158152602001610229565b34801561026e57600080fd5b5061028261027d366004612601565b61088e565b60405161022993929190612644565b34801561029d57600080fd5b506004546102b1906001600160a01b031681565b60405161022991906126d2565b6102d16102cc366004612740565b610a0a565b005b3480156102df57600080fd5b506102e8600281565b60405161ffff9091168152602001610229565b34801561030757600080fd5b506040805162b9270b60e21b81526001602082015201610229565b34801561032e57600080fd5b5060408051600181526002602082015201610229565b34801561035057600080fd5b506007545b604051908152602001610229565b34801561036f57600080fd5b506102e8600181565b34801561038457600080fd5b506102526103933660046127df565b610ac2565b3480156103a457600080fd5b5060125b60405160ff9091168152602001610229565b3480156103c657600080fd5b506102d16103d5366004612839565b610ae8565b3480156103e657600080fd5b506102526103f53660046125bd565b610afe565b34801561040657600080fd5b5061041a610415366004612863565b610b20565b60405161022991906128b4565b34801561043357600080fd5b50306102b1565b34801561044657600080fd5b5061021c6104553660046128d4565b610b7b565b34801561046657600080fd5b50610252610475366004612839565b610c20565b34801561048657600080fd5b506102b17f000000000000000000000000000000000000000000000000000000000000000081565b3480156104ba57600080fd5b506102d16104c9366004612907565b610c3c565b3480156104da57600080fd5b506103556104e9366004612907565b6001600160a01b031660009081526005602052604090205490565b34801561051057600080fd5b506102d1610c9a565b34801561052557600080fd5b5061053c610534366004612839565b600092915050565b6040516001600160401b039091168152602001610229565b34801561056057600080fd5b5061025261056f366004612924565b610cae565b34801561058057600080fd5b5060066103a8565b34801561059457600080fd5b506102b1610cc3565b3480156105a957600080fd5b5061021c610cd2565b3480156105be57600080fd5b506103557f000000000000000000000000000000000000000000000000000000000000000081565b3480156105f257600080fd5b506000610252565b34801561060657600080fd5b506102526106153660046125bd565b610ce1565b34801561062657600080fd5b506102526106353660046125bd565b610d67565b34801561064657600080fd5b506002546102b1906001600160a01b031681565b34801561066657600080fd5b506102d16106753660046129ce565b610d75565b34801561068657600080fd5b50610355610695366004612a0f565b60016020526000908152604090205481565b3480156106b357600080fd5b5061021c6106c2366004612a2a565b610d8f565b6102d16106d53660046129ce565b610f37565b6106ed6106e8366004612a8a565b6110aa565b604051610229929190612af7565b34801561070757600080fd5b506102d1610716366004612907565b6110d2565b6102d1610729366004612740565b61115b565b34801561073a57600080fd5b506102d1610749366004612907565b61118a565b34801561075a57600080fd5b50610355610769366004612b33565b6111dd565b34801561077a57600080fd5b506103557f000000000000000000000000000000000000000000000000000000000000000081565b3480156107ae57600080fd5b506102d16107bd366004612907565b611208565b3480156107ce57600080fd5b506102526107dd366004612b61565b611281565b6060600880546107f190612b7d565b80601f016020809104026020016040519081016040528092919081815260200182805461081d90612b7d565b801561086a5780601f1061083f5761010080835404028352916020019161086a565b820191906000526020600020905b81548152906001019060200180831161084d57829003601f168201915b5050505050905090565b6000336108828185856112b7565b60019150505b92915050565b604080518082019091526000808252602082015260606108ac612507565b600080306001600160a01b031663fc0c546a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109119190612bb1565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561094e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109729190612bce565b604080518082018252848152602080820184905282516000808252918101909352909750919250906109c7565b60408051808201909152600081526060602082015281526020019060019003908161099f5790505b5093506000806109ec604089013560608a01356109e760208c018c612a0f565b6113db565b60408051808201909152918252602082015296989597505050505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163314610a5e57336040516391ac5e4f60e01b8152600401610a5591906126d2565b60405180910390fd5b60208701803590610a7890610a73908a612a0f565b611417565b14610aaa57610a8a6020880188612a0f565b876020013560405163309afaf360e21b8152600401610a55929190612bfd565b610ab987878787878787611453565b50505050505050565b600033610ad08582856115b3565b610adb85858561162d565b60019150505b9392505050565b610af06117c6565b610afa8282611825565b5050565b600033610882818585610b1183836111dd565b610b1b9190612c29565b6112b7565b610b28612507565b6000610b44604085013560608601356109e76020880188612a0f565b915050600080610b54868461187b565b9092509050610b71610b696020880188612a0f565b83838861199e565b9695505050505050565b600360209081526000928352604080842090915290825290208054610b9f90612b7d565b80601f0160208091040260200160405190810160405280929190818152602001828054610bcb90612b7d565b8015610c185780601f10610bed57610100808354040283529160200191610c18565b820191906000526020600020905b815481529060010190602001808311610bfb57829003601f168201915b505050505081565b63ffffffff919091166000908152600160205260409020541490565b610c446117c6565b600480546001600160a01b0319166001600160a01b0383161790556040517ff0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d441419790610c8f9083906126d2565b60405180910390a150565b610ca26117c6565b610cac6000611a73565b565b6001600160a01b03811630145b949350505050565b6000546001600160a01b031690565b6060600980546107f190612b7d565b60003381610cef82866111dd565b905083811015610d4f5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610a55565b610d5c82868684036112b7565b506001949350505050565b60003361088281858561162d565b610d7d6117c6565b610afa610d8a8284612cdd565b611ac3565b63ffffffff8416600090815260036020908152604080832061ffff87168452909152812080546060929190610dc390612b7d565b80601f0160208091040260200160405190810160405280929190818152602001828054610def90612b7d565b8015610e3c5780601f10610e1157610100808354040283529160200191610e3c565b820191906000526020600020905b815481529060010190602001808311610e1f57829003601f168201915b505050505090508051600003610e8c5783838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929450610cbb9350505050565b6000839003610e9c579050610cbb565b60028310610f1a57610ee384848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611bca92505050565b80610ef18460028188612df2565b604051602001610f0393929190612e1c565b604051602081830303815290604052915050610cbb565b8383604051639a6d49cd60e01b8152600401610a55929190612e6d565b60005b818110156110295736838383818110610f5557610f55612e81565b9050602002810190610f679190612e97565b9050610f83610f796020830183612a0f565b6020830135610c20565b610f8d5750611021565b3063d045a0dc60c08301358360a0810135610fac610100830183612eb8565b610fbd610100890160e08a01612907565b610fcb6101208a018a612eb8565b6040518963ffffffff1660e01b8152600401610fed9796959493929190612f13565b6000604051808303818588803b15801561100657600080fd5b505af115801561101a573d6000803e3d6000fd5b5050505050505b600101610f3a565b50336001600160a01b0316638e9e70996040518163ffffffff1660e01b8152600401600060405180830381865afa158015611068573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110909190810190612f99565b604051638351eea760e01b8152600401610a559190612595565b6110b2612521565b6110ba612507565b6110c5858585611bf6565b915091505b935093915050565b6110da6117c6565b60405163ca5eb5e160e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063ca5eb5e1906111269084906004016126d2565b600060405180830381600087803b15801561114057600080fd5b505af1158015611154573d6000803e3d6000fd5b5050505050565b33301461117b5760405163029a949d60e31b815260040160405180910390fd5b610ab987878787878787610aaa565b6111926117c6565b600280546001600160a01b0319166001600160a01b0383161790556040517fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c242776090610c8f9083906126d2565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b6112106117c6565b6001600160a01b0381166112755760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610a55565b61127e81611a73565b50565b60006020820180359060019083906112999086612a0f565b63ffffffff1681526020810191909152604001600020541492915050565b6001600160a01b0383166113195760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610a55565b6001600160a01b03821661137a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610a55565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000806113e785611ce5565b9150819050838110156110ca576040516371c4efed60e01b81526004810182905260248101859052604401610a55565b63ffffffff8116600090815260016020526040812054806108885760405163f6ff4fb760e01b815263ffffffff84166004820152602401610a55565b60006114656114628787611d1c565b90565b905060006114918261147f61147a8a8a611d34565b611d57565b61148c60208d018d612a0f565b611d8c565b905060288611156115585760006114ce6114b160608c0160408d01613006565b6114be60208d018d612a0f565b846114c98c8c611db4565b611dff565b604051633e5ac80960e11b81529091506001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690637cb59012906115249086908d906000908790600401613023565b600060405180830381600087803b15801561153e57600080fd5b505af1158015611552573d6000803e3d6000fd5b50505050505b6001600160a01b038216887fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c61159160208d018d612a0f565b846040516115a0929190612bfd565b60405180910390a3505050505050505050565b60006115bf84846111dd565b90506000198114611627578181101561161a5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610a55565b61162784848484036112b7565b50505050565b6001600160a01b0383166116915760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610a55565b6001600160a01b0382166116f35760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610a55565b6001600160a01b0383166000908152600560205260409020548181101561176b5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610a55565b6001600160a01b03808516600081815260056020526040808220868603905592861680825290839020805486019055915160008051602061349d833981519152906117b99086815260200190565b60405180910390a3611627565b336117cf610cc3565b6001600160a01b031614610cac5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610a55565b63ffffffff821660009081526001602052604090819020829055517f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b9061186f9084908490612bfd565b60405180910390a15050565b60608060006118d8856020013561189186611e36565b61189e60a0890189612eb8565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611e6292505050565b90935090506000816118eb5760016118ee565b60025b905061190e6119006020880188612a0f565b826106c260808a018a612eb8565b6004549093506001600160a01b031680156119945760405163043a78eb60e01b81526001600160a01b0382169063043a78eb906119519088908890600401613054565b602060405180830381865afa15801561196e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119929190613079565b505b5050509250929050565b6119a6612507565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ddc28c586040518060a001604052808863ffffffff1681526020016119f589611417565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b8152600401611a2a929190613096565b6040805180830381865afa158015611a46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6a919061313f565b95945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60005b8151811015611b9a57611af5828281518110611ae457611ae4612e81565b602002602001015160400151611bca565b818181518110611b0757611b07612e81565b60200260200101516040015160036000848481518110611b2957611b29612e81565b60200260200101516000015163ffffffff1663ffffffff1681526020019081526020016000206000848481518110611b6357611b63612e81565b60200260200101516020015161ffff1661ffff1681526020019081526020016000209081611b9191906131ab565b50600101611ac6565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b67481604051610c8f919061326a565b600281015161ffff8116600314610afa5781604051639a6d49cd60e01b8152600401610a559190612595565b611bfe612521565b611c06612507565b600080611c2933604089013560608a0135611c2460208c018c612a0f565b611edc565b91509150600080611c3a898461187b565b9092509050611c66611c4f60208b018b612a0f565b8383611c60368d90038d018d6132f5565b8b611f02565b60408051808201909152858152602080820186905282519298509096503391907f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a90611cb4908d018d612a0f565b6040805163ffffffff909216825260208201899052810187905260600160405180910390a350505050935093915050565b60007f0000000000000000000000000000000000000000000000000000000000000000611d128184613327565b6108889190613349565b6000611d2b6020828486612df2565b610ae191613360565b6000611d44602860208486612df2565b611d4d9161337e565b60c01c9392505050565b60006108887f00000000000000000000000000000000000000000000000000000000000000006001600160401b038416613349565b60006001600160a01b038416611da25761dead93505b611dac848461200d565b509092915050565b6060611dc38260288186612df2565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929695505050505050565b606084848484604051602001611e1894939291906133ae565b6040516020818303038152906040529050949350505050565b505050565b60006108887f000000000000000000000000000000000000000000000000000000000000000083613327565b8051606090151580611eab578484604051602001611e9792919091825260c01b6001600160c01b031916602082015260280190565b604051602081830303815290604052611ed2565b84843385604051602001611ec29493929190613400565b6040516020818303038152906040525b9150935093915050565b600080611eea8585856113db565b9092509050611ef986836120bc565b94509492505050565b611f0a612521565b6000611f1984600001516121de565b602085015190915015611f3357611f338460200151612206565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316632637a450826040518060a001604052808b63ffffffff168152602001611f838c611417565b81526020018a815260200189815260200160008960200151111515815250866040518463ffffffff1660e01b8152600401611fbf929190613096565b60806040518083038185885af1158015611fdd573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906120029190613440565b979650505050505050565b6001600160a01b0382166120635760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610a55565b80600760008282546120759190612c29565b90915550506001600160a01b03821660008181526005602090815260408083208054860190555184815260008051602061349d833981519152910160405180910390a35050565b6001600160a01b03821661211c5760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610a55565b6001600160a01b038216600090815260056020526040902054818110156121905760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610a55565b6001600160a01b038316600081815260056020908152604080832086860390556007805487900390555185815291929160008051602061349d833981519152910160405180910390a3505050565b6000813414612202576040516304fb820960e51b8152346004820152602401610a55565b5090565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa158015612266573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061228a9190612bb1565b90506001600160a01b0381166122b3576040516329b99a9560e11b815260040160405180910390fd5b6040805133602482018190527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03818116604485015260648085018890528551808603909101815260849094018552602080850180516001600160e01b03166323b872dd60e01b17905285518087019096528086527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656490860152610afa9490861693879161162791869160009061237490849084906123f4565b90508051600014806123955750808060200190518101906123959190613079565b611e315760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610a55565b6060610cbb848460008585600080866001600160a01b0316858760405161241b919061348a565b60006040518083038185875af1925050503d8060008114612458576040519150601f19603f3d011682016040523d82523d6000602084013e61245d565b606091505b509150915061200287838387606083156124d85782516000036124d1576001600160a01b0385163b6124d15760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610a55565b5081610cbb565b610cbb83838151156124ed5781518083602001fd5b8060405162461bcd60e51b8152600401610a559190612595565b604051806040016040528060008152602001600081525090565b6040805160608101825260008082526020820152908101612540612507565b905290565b60005b83811015612560578181015183820152602001612548565b50506000910152565b60008151808452612581816020860160208601612545565b601f01601f19169290920160200192915050565b602081526000610ae16020830184612569565b6001600160a01b038116811461127e57600080fd5b600080604083850312156125d057600080fd5b82356125db816125a8565b946020939093013593505050565b600060e082840312156125fb57600080fd5b50919050565b60006020828403121561261357600080fd5b81356001600160401b0381111561262957600080fd5b610cbb848285016125e9565b80518252602090810151910152565b600060a082016126548387612635565b604060a0604085015281865180845260c08601915060c08160051b8701019350602080890160005b838110156126bb5788870360bf190185528151805188528301518388018790526126a887890182612569565b975050938201939082019060010161267c565b50505050505080915050610cbb6060830184612635565b6001600160a01b0391909116815260200190565b6000606082840312156125fb57600080fd5b60008083601f84011261270a57600080fd5b5081356001600160401b0381111561272157600080fd5b60208301915083602082850101111561273957600080fd5b9250929050565b600080600080600080600060e0888a03121561275b57600080fd5b61276589896126e6565b96506060880135955060808801356001600160401b038082111561278857600080fd5b6127948b838c016126f8565b909750955060a08a013591506127a9826125a8565b90935060c089013590808211156127bf57600080fd5b506127cc8a828b016126f8565b989b979a50959850939692959293505050565b6000806000606084860312156127f457600080fd5b83356127ff816125a8565b9250602084013561280f816125a8565b929592945050506040919091013590565b803563ffffffff8116811461283457600080fd5b919050565b6000806040838503121561284c57600080fd5b6125db83612820565b801515811461127e57600080fd5b6000806040838503121561287657600080fd5b82356001600160401b0381111561288c57600080fd5b612898858286016125e9565b92505060208301356128a981612855565b809150509250929050565b604081016108888284612635565b803561ffff8116811461283457600080fd5b600080604083850312156128e757600080fd5b6128f083612820565b91506128fe602084016128c2565b90509250929050565b60006020828403121561291957600080fd5b8135610ae1816125a8565b60008060008060a0858703121561293a57600080fd5b61294486866126e6565b935060608501356001600160401b0381111561295f57600080fd5b61296b878288016126f8565b909450925050608085013561297f816125a8565b939692955090935050565b60008083601f84011261299c57600080fd5b5081356001600160401b038111156129b357600080fd5b6020830191508360208260051b850101111561273957600080fd5b600080602083850312156129e157600080fd5b82356001600160401b038111156129f757600080fd5b612a038582860161298a565b90969095509350505050565b600060208284031215612a2157600080fd5b610ae182612820565b60008060008060608587031215612a4057600080fd5b612a4985612820565b9350612a57602086016128c2565b925060408501356001600160401b03811115612a7257600080fd5b612a7e878288016126f8565b95989497509550505050565b60008060008385036080811215612aa057600080fd5b84356001600160401b03811115612ab657600080fd5b612ac2878288016125e9565b9450506040601f1982011215612ad757600080fd5b506020840191506060840135612aec816125a8565b809150509250925092565b825181526020808401516001600160401b03169082015260408084015160c0830191612b2590840182612635565b50610ae16080830184612635565b60008060408385031215612b4657600080fd5b8235612b51816125a8565b915060208301356128a9816125a8565b600060608284031215612b7357600080fd5b610ae183836126e6565b600181811c90821680612b9157607f821691505b6020821081036125fb57634e487b7160e01b600052602260045260246000fd5b600060208284031215612bc357600080fd5b8151610ae1816125a8565b600060208284031215612be057600080fd5b5051919050565b634e487b7160e01b600052604160045260246000fd5b63ffffffff929092168252602082015260400190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561088857610888612c13565b604051606081016001600160401b0381118282101715612c5e57612c5e612be7565b60405290565b604080519081016001600160401b0381118282101715612c5e57612c5e612be7565b604051601f8201601f191681016001600160401b0381118282101715612cae57612cae612be7565b604052919050565b60006001600160401b03821115612ccf57612ccf612be7565b50601f01601f191660200190565b60006001600160401b0380841115612cf757612cf7612be7565b8360051b6020612d08818301612c86565b868152918501918181019036841115612d2057600080fd5b865b84811015612de657803586811115612d3a5760008081fd5b88016060368290031215612d4e5760008081fd5b612d56612c3c565b612d5f82612820565b8152612d6c8683016128c2565b8682015260408083013589811115612d845760008081fd5b929092019136601f840112612d995760008081fd5b8235612dac612da782612cb6565b612c86565b8181523689838701011115612dc15760008081fd5b818986018a830137600091810189019190915290820152845250918301918301612d22565b50979650505050505050565b60008085851115612e0257600080fd5b83861115612e0f57600080fd5b5050820193919092039150565b60008451612e2e818460208901612545565b8201838582376000930192835250909392505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b602081526000610cbb602083018486612e44565b634e487b7160e01b600052603260045260246000fd5b6000823561013e19833603018112612eae57600080fd5b9190910192915050565b6000808335601e19843603018112612ecf57600080fd5b8301803591506001600160401b03821115612ee957600080fd5b60200191503681900382131561273957600080fd5b6001600160401b038116811461127e57600080fd5b63ffffffff612f2189612820565b1681526020880135602082015260006040890135612f3e81612efe565b6001600160401b031660408301526060820188905260e060808301819052612f699083018789612e44565b6001600160a01b03861660a084015282810360c0840152612f8b818587612e44565b9a9950505050505050505050565b600060208284031215612fab57600080fd5b81516001600160401b03811115612fc157600080fd5b8201601f81018413612fd257600080fd5b8051612fe0612da782612cb6565b818152856020838501011115612ff557600080fd5b611a6a826020830160208601612545565b60006020828403121561301857600080fd5b8135610ae181612efe565b60018060a01b038516815283602082015261ffff83166040820152608060608201526000610b716080830184612569565b6040815260006130676040830185612569565b8281036020840152611a6a8185612569565b60006020828403121561308b57600080fd5b8151610ae181612855565b6040815263ffffffff8351166040820152602083015160608201526000604084015160a060808401526130cc60e0840182612569565b90506060850151603f198483030160a08501526130e98282612569565b60809690960151151560c08501525050506001600160a01b039190911660209091015290565b60006040828403121561312157600080fd5b613129612c64565b9050815181526020820151602082015292915050565b60006040828403121561315157600080fd5b610ae1838361310f565b601f821115611e31576000816000526020600020601f850160051c810160208610156131845750805b601f850160051c820191505b818110156131a357828155600101613190565b505050505050565b81516001600160401b038111156131c4576131c4612be7565b6131d8816131d28454612b7d565b8461315b565b602080601f83116001811461320d57600084156131f55750858301515b600019600386901b1c1916600185901b1785556131a3565b600085815260208120601f198616915b8281101561323c5788860151825594840194600190910190840161321d565b508582101561325a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b838110156132e757888303603f190185528151805163ffffffff1684528781015161ffff168885015286015160608785018190526132d381860183612569565b968901969450505090860190600101613293565b509098975050505050505050565b60006040828403121561330757600080fd5b61330f612c64565b82358152602083013560208201528091505092915050565b60008261334457634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761088857610888612c13565b8035602083101561088857600019602084900360031b1b1692915050565b6001600160c01b031981358181169160088510156133a65780818660080360031b1b83161692505b505092915050565b60c085901b6001600160c01b031916815260e084901b6001600160e01b0319166008820152600c810183905281516000906133f081602c850160208701612545565b91909101602c0195945050505050565b84815260018060c01b03198460c01b16602082015282602882015260008251613430816048850160208701612545565b9190910160480195945050505050565b60006080828403121561345257600080fd5b61345a612c3c565b82518152602083015161346c81612efe565b602082015261347e846040850161310f565b60408201529392505050565b60008251612eae81846020870161254556feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212206693e0e2341b59d40aa3a5dd805c78e692ea787a30ad85bbcb71726526307ff764736f6c63430008170033",
1556
- "linkReferences": {},
1557
- "deployedLinkReferences": {}
1558
- }