@layerzerolabs/lz-evm-messagelib-v2 2.0.13 → 2.0.15
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.
- package/artifacts/contracts/Executor.sol/Executor.json +20 -20
- package/artifacts/contracts/ExecutorFeeLib.sol/ExecutorFeeLib.json +19 -19
- package/artifacts/contracts/MessageLibBase.sol/MessageLibBase.json +1 -1
- package/artifacts/contracts/PriceFeed.sol/PriceFeed.json +15 -15
- package/artifacts/contracts/ReceiveLibBaseE2.sol/ReceiveLibBaseE2.json +1 -1
- package/artifacts/contracts/SendLibBase.sol/SendLibBase.json +6 -6
- package/artifacts/contracts/SendLibBaseE2.sol/SendLibBaseE2.json +10 -10
- package/artifacts/contracts/Treasury.sol/Treasury.json +9 -9
- package/artifacts/contracts/Worker.sol/Worker.json +18 -18
- package/artifacts/contracts/interfaces/IExecutor.sol/IExecutor.json +3 -3
- package/artifacts/contracts/interfaces/IExecutorFeeLib.sol/IExecutorFeeLib.json +4 -4
- package/artifacts/contracts/interfaces/ILayerZeroPriceFeed.sol/ILayerZeroPriceFeed.json +3 -3
- package/artifacts/contracts/interfaces/IWorker.sol/IWorker.json +3 -3
- package/artifacts/contracts/uln/LzExecutor.sol/IReceiveUlnView.json +35 -0
- package/artifacts/contracts/uln/LzExecutor.sol/LzExecutor.json +279 -20
- package/artifacts/contracts/uln/ReceiveUlnBase.sol/ReceiveUlnBase.json +90 -11
- package/artifacts/contracts/uln/SendUlnBase.sol/SendUlnBase.json +7 -7
- package/artifacts/contracts/uln/UlnBase.sol/UlnBase.json +7 -7
- package/artifacts/contracts/uln/dvn/DVN.sol/DVN.json +31 -31
- package/artifacts/contracts/uln/dvn/DVNFeeLib.sol/DVNFeeLib.json +14 -14
- package/artifacts/contracts/uln/dvn/MultiSig.sol/MultiSig.json +5 -5
- package/artifacts/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapter.sol/CCIPDVNAdapter.json +488 -169
- package/artifacts/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapterFeeLib.sol/CCIPDVNAdapterFeeLib.json +372 -16
- package/artifacts/contracts/uln/dvn/adapters/DVNAdapterBase.sol/DVNAdapterBase.json +419 -93
- package/artifacts/contracts/uln/dvn/adapters/DVNAdapterBase.sol/IReceiveUln.json +34 -0
- package/artifacts/contracts/uln/dvn/adapters/DVNAdapterBase.sol/ISendLibBase.json +30 -0
- package/artifacts/contracts/uln/dvn/adapters/arbitrum/ArbitrumDVNAdapterL1.sol/ArbitrumDVNAdapterL1.json +936 -0
- package/artifacts/contracts/uln/dvn/adapters/arbitrum/ArbitrumDVNAdapterL2.sol/ArbitrumDVNAdapterL2.json +868 -0
- package/artifacts/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapter.sol/AxelarDVNAdapter.json +611 -249
- package/artifacts/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapter.sol/ISendLibBase.json +30 -0
- package/artifacts/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapterFeeLib.sol/AxelarDVNAdapterFeeLib.json +526 -13
- package/artifacts/contracts/uln/dvn/adapters/libs/DVNAdapterMessageCodec.sol/DVNAdapterMessageCodec.json +16 -0
- package/artifacts/contracts/uln/dvn/adapters/optimism/OptimismDVNAdapterL1.sol/OptimismDVNAdapterL1.json +924 -0
- package/artifacts/contracts/uln/dvn/adapters/optimism/OptimismDVNAdapterL2.sol/OptimismDVNAdapterL2.json +891 -0
- package/artifacts/contracts/uln/interfaces/IDVN.sol/IDVN.json +3 -3
- package/artifacts/contracts/uln/interfaces/IDVNFeeLib.sol/IDVNFeeLib.json +1 -1
- package/artifacts/contracts/uln/interfaces/IReceiveUlnE2.sol/IReceiveUlnE2.json +0 -24
- package/artifacts/contracts/uln/interfaces/adapters/IAxelarDVNAdapter.sol/IAxelarDVNAdapter.json +160 -0
- package/artifacts/contracts/uln/interfaces/adapters/IAxelarDVNAdapterFeeLib.sol/IAxelarDVNAdapterFeeLib.json +282 -0
- package/artifacts/contracts/uln/interfaces/adapters/ICCIPDVNAdapter.sol/ICCIPDVNAdapter.json +91 -0
- package/artifacts/contracts/uln/interfaces/adapters/ICCIPDVNAdapterFeeLib.sol/ICCIPDVNAdapterFeeLib.json +290 -0
- package/artifacts/contracts/uln/libs/DVNOptions.sol/DVNOptions.json +4 -4
- package/artifacts/contracts/uln/libs/UlnOptions.sol/UlnOptions.json +7 -7
- package/artifacts/contracts/uln/uln301/AddressSizeConfig.sol/AddressSizeConfig.json +2 -2
- package/artifacts/contracts/uln/uln301/ReceiveLibBaseE1.sol/ReceiveLibBaseE1.json +5 -5
- package/artifacts/contracts/uln/uln301/ReceiveUln301.sol/ReceiveUln301.json +88 -57
- package/artifacts/contracts/uln/uln301/ReceiveUln301View.sol/IReceiveUln301.json +178 -0
- package/artifacts/contracts/uln/uln301/ReceiveUln301View.sol/ReceiveUln301View.json +126 -0
- package/artifacts/contracts/uln/uln301/SendLibBaseE1.sol/SendLibBaseE1.json +15 -15
- package/artifacts/contracts/uln/uln301/SendUln301.sol/SendUln301.json +76 -76
- package/artifacts/contracts/uln/uln301/TreasuryFeeHandler.sol/TreasuryFeeHandler.json +5 -5
- package/artifacts/contracts/uln/uln301/interfaces/IMessageLibE1.sol/IMessageLibE1.json +4 -4
- package/artifacts/contracts/uln/uln302/ReceiveUln302.sol/ReceiveUln302.json +79 -24
- package/artifacts/contracts/uln/uln302/ReceiveUln302View.sol/IReceiveUln302.json +146 -0
- package/artifacts/contracts/uln/uln302/ReceiveUln302View.sol/ReceiveUln302View.json +251 -0
- package/artifacts/contracts/uln/uln302/SendUln302.sol/SendUln302.json +75 -75
- package/artifacts/contracts/upgradeable/WorkerUpgradeable.sol/WorkerUpgradeable.json +18 -18
- package/contracts/ExecutorFeeLib.sol +6 -6
- package/contracts/MessageLibBase.sol +2 -2
- package/contracts/PriceFeed.sol +3 -3
- package/contracts/ReceiveLibBaseE2.sol +0 -26
- package/contracts/SendLibBase.sol +10 -10
- package/contracts/SendLibBaseE2.sol +4 -4
- package/contracts/Treasury.sol +2 -2
- package/contracts/Worker.sol +3 -3
- package/contracts/interfaces/IExecutorFeeLib.sol +4 -4
- package/contracts/interfaces/ILayerZeroPriceFeed.sol +3 -3
- package/contracts/interfaces/IWorker.sol +3 -3
- package/contracts/uln/LzExecutor.sol +51 -19
- package/contracts/uln/ReceiveUlnBase.sol +21 -14
- package/contracts/uln/UlnBase.sol +19 -19
- package/contracts/uln/dvn/DVN.sol +16 -16
- package/contracts/uln/dvn/DVNFeeLib.sol +2 -2
- package/contracts/uln/dvn/MultiSig.sol +13 -13
- package/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapter.sol +95 -97
- package/contracts/uln/dvn/adapters/CCIP/CCIPDVNAdapterFeeLib.sol +64 -2
- package/contracts/uln/dvn/adapters/DVNAdapterBase.sol +74 -124
- package/contracts/uln/dvn/adapters/arbitrum/ArbitrumDVNAdapterL1.sol +126 -0
- package/contracts/uln/dvn/adapters/arbitrum/ArbitrumDVNAdapterL2.sol +50 -0
- package/contracts/uln/dvn/adapters/avalanche/NOTES.md +4 -0
- package/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapter.sol +85 -100
- package/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapterFeeLib.sol +121 -2
- package/contracts/uln/dvn/adapters/libs/DVNAdapterMessageCodec.sol +36 -0
- package/contracts/uln/dvn/adapters/optimism/OptimismDVNAdapterL1.sol +86 -0
- package/contracts/uln/dvn/adapters/optimism/OptimismDVNAdapterL2.sol +58 -0
- package/contracts/uln/interfaces/IDVNFeeLib.sol +1 -1
- package/contracts/uln/interfaces/IReceiveUlnE2.sol +0 -5
- package/contracts/uln/interfaces/adapters/IAxelarDVNAdapter.sol +45 -0
- package/contracts/uln/interfaces/adapters/IAxelarDVNAdapterFeeLib.sol +48 -0
- package/contracts/uln/interfaces/adapters/ICCIPDVNAdapter.sol +30 -0
- package/contracts/uln/interfaces/adapters/ICCIPDVNAdapterFeeLib.sol +45 -0
- package/contracts/uln/libs/DVNOptions.sol +6 -6
- package/contracts/uln/libs/UlnOptions.sol +13 -13
- package/contracts/uln/uln301/AddressSizeConfig.sol +4 -4
- package/contracts/uln/uln301/ReceiveLibBaseE1.sol +4 -4
- package/contracts/uln/uln301/ReceiveUln301.sol +4 -41
- package/contracts/uln/uln301/ReceiveUln301View.sol +89 -0
- package/contracts/uln/uln301/SendLibBaseE1.sol +5 -5
- package/contracts/uln/uln301/SendUln301.sol +3 -3
- package/contracts/uln/uln301/TreasuryFeeHandler.sol +6 -6
- package/contracts/uln/uln301/interfaces/IMessageLibE1.sol +4 -4
- package/contracts/uln/uln302/ReceiveUln302.sol +4 -27
- package/contracts/uln/uln302/ReceiveUln302View.sol +89 -0
- package/contracts/uln/uln302/SendUln302.sol +3 -3
- package/contracts/upgradeable/WorkerUpgradeable.sol +3 -3
- package/package.json +7 -5
- package/artifacts/contracts/uln/dvn/adapters/DVNAdapterFeeLibBase.sol/DVNAdapterFeeLibBase.json +0 -50
- package/artifacts/contracts/uln/interfaces/IDVNAdapterFeeLib.sol/IDVNAdapterFeeLib.json +0 -50
- package/contracts/uln/dvn/adapters/DVNAdapterFeeLibBase.sol +0 -20
- package/contracts/uln/interfaces/IDVNAdapterFeeLib.sol +0 -13
package/artifacts/contracts/uln/dvn/adapters/axelar/AxelarDVNAdapter.sol/AxelarDVNAdapter.json
CHANGED
|
@@ -5,16 +5,6 @@
|
|
|
5
5
|
"abi": [
|
|
6
6
|
{
|
|
7
7
|
"inputs": [
|
|
8
|
-
{
|
|
9
|
-
"internalType": "address",
|
|
10
|
-
"name": "_sendLib",
|
|
11
|
-
"type": "address"
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"internalType": "address",
|
|
15
|
-
"name": "_receiveLib",
|
|
16
|
-
"type": "address"
|
|
17
|
-
},
|
|
18
8
|
{
|
|
19
9
|
"internalType": "address[]",
|
|
20
10
|
"name": "_admins",
|
|
@@ -24,11 +14,6 @@
|
|
|
24
14
|
"internalType": "address",
|
|
25
15
|
"name": "_gateway",
|
|
26
16
|
"type": "address"
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
"internalType": "address",
|
|
30
|
-
"name": "_gasReceiver",
|
|
31
|
-
"type": "address"
|
|
32
17
|
}
|
|
33
18
|
],
|
|
34
19
|
"stateMutability": "nonpayable",
|
|
@@ -36,27 +21,75 @@
|
|
|
36
21
|
},
|
|
37
22
|
{
|
|
38
23
|
"inputs": [],
|
|
39
|
-
"name": "
|
|
24
|
+
"name": "AxelarDVNAdapter_OnlyWorkerFeeLib",
|
|
25
|
+
"type": "error"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"inputs": [
|
|
29
|
+
{
|
|
30
|
+
"internalType": "string",
|
|
31
|
+
"name": "chainName",
|
|
32
|
+
"type": "string"
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
"internalType": "string",
|
|
36
|
+
"name": "peer",
|
|
37
|
+
"type": "string"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"name": "AxelarDVNAdapter_UntrustedPeer",
|
|
41
|
+
"type": "error"
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"inputs": [
|
|
45
|
+
{
|
|
46
|
+
"internalType": "uint256",
|
|
47
|
+
"name": "actual",
|
|
48
|
+
"type": "uint256"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"internalType": "uint256",
|
|
52
|
+
"name": "requested",
|
|
53
|
+
"type": "uint256"
|
|
54
|
+
}
|
|
55
|
+
],
|
|
56
|
+
"name": "DVNAdapter_InsufficientBalance",
|
|
40
57
|
"type": "error"
|
|
41
58
|
},
|
|
42
59
|
{
|
|
43
60
|
"inputs": [],
|
|
44
|
-
"name": "
|
|
61
|
+
"name": "DVNAdapter_InvalidMessageSize",
|
|
62
|
+
"type": "error"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"inputs": [
|
|
66
|
+
{
|
|
67
|
+
"internalType": "address",
|
|
68
|
+
"name": "sendLib",
|
|
69
|
+
"type": "address"
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
"internalType": "uint32",
|
|
73
|
+
"name": "dstEid",
|
|
74
|
+
"type": "uint32"
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
"name": "DVNAdapter_MissingRecieveLib",
|
|
45
78
|
"type": "error"
|
|
46
79
|
},
|
|
47
80
|
{
|
|
48
81
|
"inputs": [],
|
|
49
|
-
"name": "
|
|
82
|
+
"name": "DVNAdapter_NotImplemented",
|
|
50
83
|
"type": "error"
|
|
51
84
|
},
|
|
52
85
|
{
|
|
53
86
|
"inputs": [],
|
|
54
|
-
"name": "
|
|
87
|
+
"name": "InvalidAddress",
|
|
55
88
|
"type": "error"
|
|
56
89
|
},
|
|
57
90
|
{
|
|
58
91
|
"inputs": [],
|
|
59
|
-
"name": "
|
|
92
|
+
"name": "NotApprovedByGateway",
|
|
60
93
|
"type": "error"
|
|
61
94
|
},
|
|
62
95
|
{
|
|
@@ -72,49 +105,92 @@
|
|
|
72
105
|
"type": "uint256"
|
|
73
106
|
}
|
|
74
107
|
],
|
|
75
|
-
"name": "
|
|
108
|
+
"name": "Transfer_NativeFailed",
|
|
109
|
+
"type": "error"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"inputs": [],
|
|
113
|
+
"name": "Transfer_ToAddressIsZero",
|
|
76
114
|
"type": "error"
|
|
77
115
|
},
|
|
78
116
|
{
|
|
79
117
|
"inputs": [],
|
|
80
|
-
"name": "
|
|
118
|
+
"name": "Worker_NotAllowed",
|
|
81
119
|
"type": "error"
|
|
82
120
|
},
|
|
83
121
|
{
|
|
84
122
|
"inputs": [],
|
|
85
|
-
"name": "
|
|
123
|
+
"name": "Worker_OnlyMessageLib",
|
|
124
|
+
"type": "error"
|
|
125
|
+
},
|
|
126
|
+
{
|
|
127
|
+
"inputs": [],
|
|
128
|
+
"name": "Worker_RoleRenouncingDisabled",
|
|
86
129
|
"type": "error"
|
|
87
130
|
},
|
|
88
131
|
{
|
|
89
132
|
"anonymous": false,
|
|
90
133
|
"inputs": [
|
|
91
134
|
{
|
|
92
|
-
"
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
135
|
+
"components": [
|
|
136
|
+
{
|
|
137
|
+
"internalType": "uint32",
|
|
138
|
+
"name": "dstEid",
|
|
139
|
+
"type": "uint32"
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"internalType": "string",
|
|
143
|
+
"name": "chainName",
|
|
144
|
+
"type": "string"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"internalType": "string",
|
|
148
|
+
"name": "peer",
|
|
149
|
+
"type": "string"
|
|
150
|
+
},
|
|
151
|
+
{
|
|
152
|
+
"internalType": "uint16",
|
|
153
|
+
"name": "multiplierBps",
|
|
154
|
+
"type": "uint16"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"internalType": "uint256",
|
|
158
|
+
"name": "nativeGasFee",
|
|
159
|
+
"type": "uint256"
|
|
160
|
+
}
|
|
161
|
+
],
|
|
98
162
|
"indexed": false,
|
|
99
|
-
"internalType": "
|
|
100
|
-
"name": "
|
|
101
|
-
"type": "
|
|
163
|
+
"internalType": "struct IAxelarDVNAdapter.DstConfigParam[]",
|
|
164
|
+
"name": "params",
|
|
165
|
+
"type": "tuple[]"
|
|
102
166
|
}
|
|
103
167
|
],
|
|
104
|
-
"name": "
|
|
168
|
+
"name": "DstConfigSet",
|
|
105
169
|
"type": "event"
|
|
106
170
|
},
|
|
107
171
|
{
|
|
108
172
|
"anonymous": false,
|
|
109
173
|
"inputs": [
|
|
110
174
|
{
|
|
175
|
+
"components": [
|
|
176
|
+
{
|
|
177
|
+
"internalType": "uint32",
|
|
178
|
+
"name": "dstEid",
|
|
179
|
+
"type": "uint32"
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"internalType": "uint128",
|
|
183
|
+
"name": "floorMarginUSD",
|
|
184
|
+
"type": "uint128"
|
|
185
|
+
}
|
|
186
|
+
],
|
|
111
187
|
"indexed": false,
|
|
112
|
-
"internalType": "
|
|
113
|
-
"name": "
|
|
114
|
-
"type": "
|
|
188
|
+
"internalType": "struct IAxelarDVNAdapter.FloorMarginUSDParam[]",
|
|
189
|
+
"name": "params",
|
|
190
|
+
"type": "tuple[]"
|
|
115
191
|
}
|
|
116
192
|
],
|
|
117
|
-
"name": "
|
|
193
|
+
"name": "FloorMarginUSDSet",
|
|
118
194
|
"type": "event"
|
|
119
195
|
},
|
|
120
196
|
{
|
|
@@ -131,30 +207,15 @@
|
|
|
131
207
|
"internalType": "uint16",
|
|
132
208
|
"name": "multiplierBps",
|
|
133
209
|
"type": "uint16"
|
|
134
|
-
},
|
|
135
|
-
{
|
|
136
|
-
"internalType": "uint256",
|
|
137
|
-
"name": "nativeGasFee",
|
|
138
|
-
"type": "uint256"
|
|
139
|
-
},
|
|
140
|
-
{
|
|
141
|
-
"internalType": "string",
|
|
142
|
-
"name": "peer",
|
|
143
|
-
"type": "string"
|
|
144
|
-
},
|
|
145
|
-
{
|
|
146
|
-
"internalType": "string",
|
|
147
|
-
"name": "chainName",
|
|
148
|
-
"type": "string"
|
|
149
210
|
}
|
|
150
211
|
],
|
|
151
212
|
"indexed": false,
|
|
152
|
-
"internalType": "struct
|
|
213
|
+
"internalType": "struct IAxelarDVNAdapter.MultiplierParam[]",
|
|
153
214
|
"name": "params",
|
|
154
215
|
"type": "tuple[]"
|
|
155
216
|
}
|
|
156
217
|
],
|
|
157
|
-
"name": "
|
|
218
|
+
"name": "MultiplierSet",
|
|
158
219
|
"type": "event"
|
|
159
220
|
},
|
|
160
221
|
{
|
|
@@ -174,12 +235,25 @@
|
|
|
174
235
|
}
|
|
175
236
|
],
|
|
176
237
|
"indexed": false,
|
|
177
|
-
"internalType": "struct
|
|
238
|
+
"internalType": "struct IAxelarDVNAdapter.NativeGasFeeParam[]",
|
|
178
239
|
"name": "params",
|
|
179
240
|
"type": "tuple[]"
|
|
180
241
|
}
|
|
181
242
|
],
|
|
182
|
-
"name": "
|
|
243
|
+
"name": "NativeGasFeeSet",
|
|
244
|
+
"type": "event"
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"anonymous": false,
|
|
248
|
+
"inputs": [
|
|
249
|
+
{
|
|
250
|
+
"indexed": false,
|
|
251
|
+
"internalType": "address",
|
|
252
|
+
"name": "account",
|
|
253
|
+
"type": "address"
|
|
254
|
+
}
|
|
255
|
+
],
|
|
256
|
+
"name": "Paused",
|
|
183
257
|
"type": "event"
|
|
184
258
|
},
|
|
185
259
|
{
|
|
@@ -187,90 +261,190 @@
|
|
|
187
261
|
"inputs": [
|
|
188
262
|
{
|
|
189
263
|
"components": [
|
|
264
|
+
{
|
|
265
|
+
"internalType": "address",
|
|
266
|
+
"name": "sendLib",
|
|
267
|
+
"type": "address"
|
|
268
|
+
},
|
|
190
269
|
{
|
|
191
270
|
"internalType": "uint32",
|
|
192
271
|
"name": "dstEid",
|
|
193
272
|
"type": "uint32"
|
|
194
273
|
},
|
|
195
274
|
{
|
|
196
|
-
"internalType": "
|
|
197
|
-
"name": "
|
|
198
|
-
"type": "
|
|
275
|
+
"internalType": "bytes32",
|
|
276
|
+
"name": "receiveLib",
|
|
277
|
+
"type": "bytes32"
|
|
199
278
|
}
|
|
200
279
|
],
|
|
201
280
|
"indexed": false,
|
|
202
|
-
"internalType": "struct
|
|
281
|
+
"internalType": "struct ReceiveLibParam[]",
|
|
203
282
|
"name": "params",
|
|
204
283
|
"type": "tuple[]"
|
|
205
284
|
}
|
|
206
285
|
],
|
|
207
|
-
"name": "
|
|
286
|
+
"name": "ReceiveLibsSet",
|
|
287
|
+
"type": "event"
|
|
288
|
+
},
|
|
289
|
+
{
|
|
290
|
+
"anonymous": false,
|
|
291
|
+
"inputs": [
|
|
292
|
+
{
|
|
293
|
+
"indexed": true,
|
|
294
|
+
"internalType": "bytes32",
|
|
295
|
+
"name": "role",
|
|
296
|
+
"type": "bytes32"
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
"indexed": true,
|
|
300
|
+
"internalType": "bytes32",
|
|
301
|
+
"name": "previousAdminRole",
|
|
302
|
+
"type": "bytes32"
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
"indexed": true,
|
|
306
|
+
"internalType": "bytes32",
|
|
307
|
+
"name": "newAdminRole",
|
|
308
|
+
"type": "bytes32"
|
|
309
|
+
}
|
|
310
|
+
],
|
|
311
|
+
"name": "RoleAdminChanged",
|
|
208
312
|
"type": "event"
|
|
209
313
|
},
|
|
210
314
|
{
|
|
211
315
|
"anonymous": false,
|
|
212
316
|
"inputs": [
|
|
317
|
+
{
|
|
318
|
+
"indexed": true,
|
|
319
|
+
"internalType": "bytes32",
|
|
320
|
+
"name": "role",
|
|
321
|
+
"type": "bytes32"
|
|
322
|
+
},
|
|
213
323
|
{
|
|
214
324
|
"indexed": true,
|
|
215
325
|
"internalType": "address",
|
|
216
|
-
"name": "
|
|
326
|
+
"name": "account",
|
|
327
|
+
"type": "address"
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
"indexed": true,
|
|
331
|
+
"internalType": "address",
|
|
332
|
+
"name": "sender",
|
|
217
333
|
"type": "address"
|
|
218
334
|
}
|
|
219
335
|
],
|
|
220
|
-
"name": "
|
|
336
|
+
"name": "RoleGranted",
|
|
221
337
|
"type": "event"
|
|
222
338
|
},
|
|
223
339
|
{
|
|
224
340
|
"anonymous": false,
|
|
225
341
|
"inputs": [
|
|
342
|
+
{
|
|
343
|
+
"indexed": true,
|
|
344
|
+
"internalType": "bytes32",
|
|
345
|
+
"name": "role",
|
|
346
|
+
"type": "bytes32"
|
|
347
|
+
},
|
|
226
348
|
{
|
|
227
349
|
"indexed": true,
|
|
228
350
|
"internalType": "address",
|
|
229
|
-
"name": "
|
|
351
|
+
"name": "account",
|
|
230
352
|
"type": "address"
|
|
231
353
|
},
|
|
354
|
+
{
|
|
355
|
+
"indexed": true,
|
|
356
|
+
"internalType": "address",
|
|
357
|
+
"name": "sender",
|
|
358
|
+
"type": "address"
|
|
359
|
+
}
|
|
360
|
+
],
|
|
361
|
+
"name": "RoleRevoked",
|
|
362
|
+
"type": "event"
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
"anonymous": false,
|
|
366
|
+
"inputs": [
|
|
232
367
|
{
|
|
233
368
|
"indexed": false,
|
|
234
|
-
"internalType": "
|
|
235
|
-
"name": "
|
|
236
|
-
"type": "
|
|
369
|
+
"internalType": "uint16",
|
|
370
|
+
"name": "multiplierBps",
|
|
371
|
+
"type": "uint16"
|
|
237
372
|
}
|
|
238
373
|
],
|
|
239
|
-
"name": "
|
|
374
|
+
"name": "SetDefaultMultiplierBps",
|
|
240
375
|
"type": "event"
|
|
241
376
|
},
|
|
242
377
|
{
|
|
243
378
|
"anonymous": false,
|
|
244
379
|
"inputs": [
|
|
245
380
|
{
|
|
246
|
-
"indexed":
|
|
381
|
+
"indexed": false,
|
|
247
382
|
"internalType": "address",
|
|
248
|
-
"name": "
|
|
383
|
+
"name": "priceFeed",
|
|
249
384
|
"type": "address"
|
|
385
|
+
}
|
|
386
|
+
],
|
|
387
|
+
"name": "SetPriceFeed",
|
|
388
|
+
"type": "event"
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
"anonymous": false,
|
|
392
|
+
"inputs": [
|
|
393
|
+
{
|
|
394
|
+
"indexed": false,
|
|
395
|
+
"internalType": "uint32",
|
|
396
|
+
"name": "dstEid",
|
|
397
|
+
"type": "uint32"
|
|
250
398
|
},
|
|
251
399
|
{
|
|
252
|
-
"indexed":
|
|
400
|
+
"indexed": false,
|
|
401
|
+
"internalType": "uint8[]",
|
|
402
|
+
"name": "optionTypes",
|
|
403
|
+
"type": "uint8[]"
|
|
404
|
+
}
|
|
405
|
+
],
|
|
406
|
+
"name": "SetSupportedOptionTypes",
|
|
407
|
+
"type": "event"
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
"anonymous": false,
|
|
411
|
+
"inputs": [
|
|
412
|
+
{
|
|
413
|
+
"indexed": false,
|
|
253
414
|
"internalType": "address",
|
|
254
|
-
"name": "
|
|
415
|
+
"name": "workerLib",
|
|
255
416
|
"type": "address"
|
|
256
417
|
}
|
|
257
418
|
],
|
|
258
|
-
"name": "
|
|
419
|
+
"name": "SetWorkerLib",
|
|
259
420
|
"type": "event"
|
|
260
421
|
},
|
|
261
422
|
{
|
|
262
423
|
"anonymous": false,
|
|
263
424
|
"inputs": [
|
|
264
425
|
{
|
|
265
|
-
"indexed":
|
|
426
|
+
"indexed": false,
|
|
266
427
|
"internalType": "address",
|
|
267
|
-
"name": "
|
|
428
|
+
"name": "account",
|
|
429
|
+
"type": "address"
|
|
430
|
+
}
|
|
431
|
+
],
|
|
432
|
+
"name": "Unpaused",
|
|
433
|
+
"type": "event"
|
|
434
|
+
},
|
|
435
|
+
{
|
|
436
|
+
"anonymous": false,
|
|
437
|
+
"inputs": [
|
|
438
|
+
{
|
|
439
|
+
"indexed": false,
|
|
440
|
+
"internalType": "address",
|
|
441
|
+
"name": "lib",
|
|
268
442
|
"type": "address"
|
|
269
443
|
},
|
|
270
444
|
{
|
|
271
445
|
"indexed": false,
|
|
272
446
|
"internalType": "address",
|
|
273
|
-
"name": "
|
|
447
|
+
"name": "to",
|
|
274
448
|
"type": "address"
|
|
275
449
|
},
|
|
276
450
|
{
|
|
@@ -280,23 +454,30 @@
|
|
|
280
454
|
"type": "uint256"
|
|
281
455
|
}
|
|
282
456
|
],
|
|
283
|
-
"name": "
|
|
457
|
+
"name": "Withdraw",
|
|
284
458
|
"type": "event"
|
|
285
459
|
},
|
|
286
460
|
{
|
|
287
|
-
"inputs": [
|
|
461
|
+
"inputs": [],
|
|
462
|
+
"name": "DEFAULT_ADMIN_ROLE",
|
|
463
|
+
"outputs": [
|
|
288
464
|
{
|
|
289
|
-
"internalType": "
|
|
290
|
-
"name": "
|
|
291
|
-
"type": "
|
|
465
|
+
"internalType": "bytes32",
|
|
466
|
+
"name": "",
|
|
467
|
+
"type": "bytes32"
|
|
292
468
|
}
|
|
293
469
|
],
|
|
294
|
-
"
|
|
470
|
+
"stateMutability": "view",
|
|
471
|
+
"type": "function"
|
|
472
|
+
},
|
|
473
|
+
{
|
|
474
|
+
"inputs": [],
|
|
475
|
+
"name": "allowlistSize",
|
|
295
476
|
"outputs": [
|
|
296
477
|
{
|
|
297
|
-
"internalType": "
|
|
478
|
+
"internalType": "uint64",
|
|
298
479
|
"name": "",
|
|
299
|
-
"type": "
|
|
480
|
+
"type": "uint64"
|
|
300
481
|
}
|
|
301
482
|
],
|
|
302
483
|
"stateMutability": "view",
|
|
@@ -338,7 +519,7 @@
|
|
|
338
519
|
},
|
|
339
520
|
{
|
|
340
521
|
"internalType": "bytes",
|
|
341
|
-
"name": "",
|
|
522
|
+
"name": "_options",
|
|
342
523
|
"type": "bytes"
|
|
343
524
|
}
|
|
344
525
|
],
|
|
@@ -346,7 +527,7 @@
|
|
|
346
527
|
"outputs": [
|
|
347
528
|
{
|
|
348
529
|
"internalType": "uint256",
|
|
349
|
-
"name": "
|
|
530
|
+
"name": "totalFee",
|
|
350
531
|
"type": "uint256"
|
|
351
532
|
}
|
|
352
533
|
],
|
|
@@ -354,32 +535,126 @@
|
|
|
354
535
|
"type": "function"
|
|
355
536
|
},
|
|
356
537
|
{
|
|
357
|
-
"inputs": [
|
|
538
|
+
"inputs": [],
|
|
539
|
+
"name": "defaultMultiplierBps",
|
|
540
|
+
"outputs": [
|
|
358
541
|
{
|
|
359
|
-
"internalType": "
|
|
360
|
-
"name": "
|
|
361
|
-
"type": "
|
|
542
|
+
"internalType": "uint16",
|
|
543
|
+
"name": "",
|
|
544
|
+
"type": "uint16"
|
|
362
545
|
}
|
|
363
546
|
],
|
|
364
|
-
"
|
|
365
|
-
"
|
|
547
|
+
"stateMutability": "view",
|
|
548
|
+
"type": "function"
|
|
549
|
+
},
|
|
550
|
+
{
|
|
551
|
+
"inputs": [
|
|
366
552
|
{
|
|
367
553
|
"internalType": "uint32",
|
|
368
|
-
"name": "
|
|
554
|
+
"name": "dstEid",
|
|
369
555
|
"type": "uint32"
|
|
370
556
|
}
|
|
371
557
|
],
|
|
558
|
+
"name": "dstConfig",
|
|
559
|
+
"outputs": [
|
|
560
|
+
{
|
|
561
|
+
"internalType": "string",
|
|
562
|
+
"name": "chainName",
|
|
563
|
+
"type": "string"
|
|
564
|
+
},
|
|
565
|
+
{
|
|
566
|
+
"internalType": "string",
|
|
567
|
+
"name": "peer",
|
|
568
|
+
"type": "string"
|
|
569
|
+
},
|
|
570
|
+
{
|
|
571
|
+
"internalType": "uint16",
|
|
572
|
+
"name": "multiplierBps",
|
|
573
|
+
"type": "uint16"
|
|
574
|
+
},
|
|
575
|
+
{
|
|
576
|
+
"internalType": "uint256",
|
|
577
|
+
"name": "nativeGasFee",
|
|
578
|
+
"type": "uint256"
|
|
579
|
+
}
|
|
580
|
+
],
|
|
372
581
|
"stateMutability": "view",
|
|
373
582
|
"type": "function"
|
|
374
583
|
},
|
|
584
|
+
{
|
|
585
|
+
"inputs": [
|
|
586
|
+
{
|
|
587
|
+
"internalType": "bytes32",
|
|
588
|
+
"name": "commandId",
|
|
589
|
+
"type": "bytes32"
|
|
590
|
+
},
|
|
591
|
+
{
|
|
592
|
+
"internalType": "string",
|
|
593
|
+
"name": "sourceChain",
|
|
594
|
+
"type": "string"
|
|
595
|
+
},
|
|
596
|
+
{
|
|
597
|
+
"internalType": "string",
|
|
598
|
+
"name": "sourceAddress",
|
|
599
|
+
"type": "string"
|
|
600
|
+
},
|
|
601
|
+
{
|
|
602
|
+
"internalType": "bytes",
|
|
603
|
+
"name": "payload",
|
|
604
|
+
"type": "bytes"
|
|
605
|
+
}
|
|
606
|
+
],
|
|
607
|
+
"name": "execute",
|
|
608
|
+
"outputs": [],
|
|
609
|
+
"stateMutability": "nonpayable",
|
|
610
|
+
"type": "function"
|
|
611
|
+
},
|
|
612
|
+
{
|
|
613
|
+
"inputs": [
|
|
614
|
+
{
|
|
615
|
+
"internalType": "bytes32",
|
|
616
|
+
"name": "commandId",
|
|
617
|
+
"type": "bytes32"
|
|
618
|
+
},
|
|
619
|
+
{
|
|
620
|
+
"internalType": "string",
|
|
621
|
+
"name": "sourceChain",
|
|
622
|
+
"type": "string"
|
|
623
|
+
},
|
|
624
|
+
{
|
|
625
|
+
"internalType": "string",
|
|
626
|
+
"name": "sourceAddress",
|
|
627
|
+
"type": "string"
|
|
628
|
+
},
|
|
629
|
+
{
|
|
630
|
+
"internalType": "bytes",
|
|
631
|
+
"name": "payload",
|
|
632
|
+
"type": "bytes"
|
|
633
|
+
},
|
|
634
|
+
{
|
|
635
|
+
"internalType": "string",
|
|
636
|
+
"name": "tokenSymbol",
|
|
637
|
+
"type": "string"
|
|
638
|
+
},
|
|
639
|
+
{
|
|
640
|
+
"internalType": "uint256",
|
|
641
|
+
"name": "amount",
|
|
642
|
+
"type": "uint256"
|
|
643
|
+
}
|
|
644
|
+
],
|
|
645
|
+
"name": "executeWithToken",
|
|
646
|
+
"outputs": [],
|
|
647
|
+
"stateMutability": "nonpayable",
|
|
648
|
+
"type": "function"
|
|
649
|
+
},
|
|
375
650
|
{
|
|
376
651
|
"inputs": [],
|
|
377
|
-
"name": "
|
|
652
|
+
"name": "gateway",
|
|
378
653
|
"outputs": [
|
|
379
654
|
{
|
|
380
|
-
"internalType": "
|
|
655
|
+
"internalType": "contract IAxelarGateway",
|
|
381
656
|
"name": "",
|
|
382
|
-
"type": "
|
|
657
|
+
"type": "address"
|
|
383
658
|
}
|
|
384
659
|
],
|
|
385
660
|
"stateMutability": "view",
|
|
@@ -389,31 +664,69 @@
|
|
|
389
664
|
"inputs": [
|
|
390
665
|
{
|
|
391
666
|
"internalType": "uint32",
|
|
392
|
-
"name": "
|
|
667
|
+
"name": "_dstEid",
|
|
393
668
|
"type": "uint32"
|
|
669
|
+
},
|
|
670
|
+
{
|
|
671
|
+
"internalType": "uint64",
|
|
672
|
+
"name": "_confirmations",
|
|
673
|
+
"type": "uint64"
|
|
674
|
+
},
|
|
675
|
+
{
|
|
676
|
+
"internalType": "address",
|
|
677
|
+
"name": "_sender",
|
|
678
|
+
"type": "address"
|
|
679
|
+
},
|
|
680
|
+
{
|
|
681
|
+
"internalType": "bytes",
|
|
682
|
+
"name": "_options",
|
|
683
|
+
"type": "bytes"
|
|
394
684
|
}
|
|
395
685
|
],
|
|
396
|
-
"name": "
|
|
686
|
+
"name": "getFee",
|
|
397
687
|
"outputs": [
|
|
398
688
|
{
|
|
399
689
|
"internalType": "uint256",
|
|
400
|
-
"name": "
|
|
690
|
+
"name": "totalFee",
|
|
401
691
|
"type": "uint256"
|
|
402
|
-
}
|
|
692
|
+
}
|
|
693
|
+
],
|
|
694
|
+
"stateMutability": "view",
|
|
695
|
+
"type": "function"
|
|
696
|
+
},
|
|
697
|
+
{
|
|
698
|
+
"inputs": [
|
|
403
699
|
{
|
|
404
|
-
"internalType": "
|
|
405
|
-
"name": "
|
|
406
|
-
"type": "
|
|
407
|
-
}
|
|
700
|
+
"internalType": "bytes32",
|
|
701
|
+
"name": "role",
|
|
702
|
+
"type": "bytes32"
|
|
703
|
+
}
|
|
704
|
+
],
|
|
705
|
+
"name": "getRoleAdmin",
|
|
706
|
+
"outputs": [
|
|
408
707
|
{
|
|
409
|
-
"internalType": "
|
|
410
|
-
"name": "
|
|
411
|
-
"type": "
|
|
412
|
-
}
|
|
708
|
+
"internalType": "bytes32",
|
|
709
|
+
"name": "",
|
|
710
|
+
"type": "bytes32"
|
|
711
|
+
}
|
|
712
|
+
],
|
|
713
|
+
"stateMutability": "view",
|
|
714
|
+
"type": "function"
|
|
715
|
+
},
|
|
716
|
+
{
|
|
717
|
+
"inputs": [
|
|
718
|
+
{
|
|
719
|
+
"internalType": "uint32",
|
|
720
|
+
"name": "_eid",
|
|
721
|
+
"type": "uint32"
|
|
722
|
+
}
|
|
723
|
+
],
|
|
724
|
+
"name": "getSupportedOptionTypes",
|
|
725
|
+
"outputs": [
|
|
413
726
|
{
|
|
414
|
-
"internalType": "
|
|
415
|
-
"name": "
|
|
416
|
-
"type": "
|
|
727
|
+
"internalType": "uint8[]",
|
|
728
|
+
"name": "",
|
|
729
|
+
"type": "uint8[]"
|
|
417
730
|
}
|
|
418
731
|
],
|
|
419
732
|
"stateMutability": "view",
|
|
@@ -423,26 +736,16 @@
|
|
|
423
736
|
"inputs": [
|
|
424
737
|
{
|
|
425
738
|
"internalType": "bytes32",
|
|
426
|
-
"name": "
|
|
739
|
+
"name": "role",
|
|
427
740
|
"type": "bytes32"
|
|
428
741
|
},
|
|
429
742
|
{
|
|
430
|
-
"internalType": "
|
|
431
|
-
"name": "
|
|
432
|
-
"type": "
|
|
433
|
-
},
|
|
434
|
-
{
|
|
435
|
-
"internalType": "string",
|
|
436
|
-
"name": "sourceAddress",
|
|
437
|
-
"type": "string"
|
|
438
|
-
},
|
|
439
|
-
{
|
|
440
|
-
"internalType": "bytes",
|
|
441
|
-
"name": "payload",
|
|
442
|
-
"type": "bytes"
|
|
743
|
+
"internalType": "address",
|
|
744
|
+
"name": "account",
|
|
745
|
+
"type": "address"
|
|
443
746
|
}
|
|
444
747
|
],
|
|
445
|
-
"name": "
|
|
748
|
+
"name": "grantRole",
|
|
446
749
|
"outputs": [],
|
|
447
750
|
"stateMutability": "nonpayable",
|
|
448
751
|
"type": "function"
|
|
@@ -450,62 +753,41 @@
|
|
|
450
753
|
{
|
|
451
754
|
"inputs": [
|
|
452
755
|
{
|
|
453
|
-
"internalType": "
|
|
454
|
-
"name": "
|
|
455
|
-
"type": "
|
|
456
|
-
},
|
|
457
|
-
{
|
|
458
|
-
"internalType": "string",
|
|
459
|
-
"name": "sourceChain",
|
|
460
|
-
"type": "string"
|
|
461
|
-
},
|
|
462
|
-
{
|
|
463
|
-
"internalType": "string",
|
|
464
|
-
"name": "sourceAddress",
|
|
465
|
-
"type": "string"
|
|
466
|
-
},
|
|
467
|
-
{
|
|
468
|
-
"internalType": "bytes",
|
|
469
|
-
"name": "payload",
|
|
470
|
-
"type": "bytes"
|
|
471
|
-
},
|
|
472
|
-
{
|
|
473
|
-
"internalType": "string",
|
|
474
|
-
"name": "tokenSymbol",
|
|
475
|
-
"type": "string"
|
|
476
|
-
},
|
|
477
|
-
{
|
|
478
|
-
"internalType": "uint256",
|
|
479
|
-
"name": "amount",
|
|
480
|
-
"type": "uint256"
|
|
756
|
+
"internalType": "address",
|
|
757
|
+
"name": "_sender",
|
|
758
|
+
"type": "address"
|
|
481
759
|
}
|
|
482
760
|
],
|
|
483
|
-
"name": "
|
|
484
|
-
"outputs": [],
|
|
485
|
-
"stateMutability": "nonpayable",
|
|
486
|
-
"type": "function"
|
|
487
|
-
},
|
|
488
|
-
{
|
|
489
|
-
"inputs": [],
|
|
490
|
-
"name": "feeLib",
|
|
761
|
+
"name": "hasAcl",
|
|
491
762
|
"outputs": [
|
|
492
763
|
{
|
|
493
|
-
"internalType": "
|
|
764
|
+
"internalType": "bool",
|
|
494
765
|
"name": "",
|
|
495
|
-
"type": "
|
|
766
|
+
"type": "bool"
|
|
496
767
|
}
|
|
497
768
|
],
|
|
498
769
|
"stateMutability": "view",
|
|
499
770
|
"type": "function"
|
|
500
771
|
},
|
|
501
772
|
{
|
|
502
|
-
"inputs": [
|
|
503
|
-
|
|
773
|
+
"inputs": [
|
|
774
|
+
{
|
|
775
|
+
"internalType": "bytes32",
|
|
776
|
+
"name": "role",
|
|
777
|
+
"type": "bytes32"
|
|
778
|
+
},
|
|
779
|
+
{
|
|
780
|
+
"internalType": "address",
|
|
781
|
+
"name": "account",
|
|
782
|
+
"type": "address"
|
|
783
|
+
}
|
|
784
|
+
],
|
|
785
|
+
"name": "hasRole",
|
|
504
786
|
"outputs": [
|
|
505
787
|
{
|
|
506
|
-
"internalType": "
|
|
788
|
+
"internalType": "bool",
|
|
507
789
|
"name": "",
|
|
508
|
-
"type": "
|
|
790
|
+
"type": "bool"
|
|
509
791
|
}
|
|
510
792
|
],
|
|
511
793
|
"stateMutability": "view",
|
|
@@ -513,12 +795,12 @@
|
|
|
513
795
|
},
|
|
514
796
|
{
|
|
515
797
|
"inputs": [],
|
|
516
|
-
"name": "
|
|
798
|
+
"name": "paused",
|
|
517
799
|
"outputs": [
|
|
518
800
|
{
|
|
519
|
-
"internalType": "
|
|
801
|
+
"internalType": "bool",
|
|
520
802
|
"name": "",
|
|
521
|
-
"type": "
|
|
803
|
+
"type": "bool"
|
|
522
804
|
}
|
|
523
805
|
],
|
|
524
806
|
"stateMutability": "view",
|
|
@@ -527,32 +809,17 @@
|
|
|
527
809
|
{
|
|
528
810
|
"inputs": [
|
|
529
811
|
{
|
|
530
|
-
"internalType": "
|
|
531
|
-
"name": "
|
|
532
|
-
"type": "
|
|
533
|
-
},
|
|
534
|
-
{
|
|
535
|
-
"internalType": "uint64",
|
|
536
|
-
"name": "",
|
|
537
|
-
"type": "uint64"
|
|
538
|
-
},
|
|
539
|
-
{
|
|
540
|
-
"internalType": "address",
|
|
541
|
-
"name": "_sender",
|
|
542
|
-
"type": "address"
|
|
543
|
-
},
|
|
544
|
-
{
|
|
545
|
-
"internalType": "bytes",
|
|
546
|
-
"name": "",
|
|
547
|
-
"type": "bytes"
|
|
812
|
+
"internalType": "string",
|
|
813
|
+
"name": "axelarChain",
|
|
814
|
+
"type": "string"
|
|
548
815
|
}
|
|
549
816
|
],
|
|
550
|
-
"name": "
|
|
817
|
+
"name": "peers",
|
|
551
818
|
"outputs": [
|
|
552
819
|
{
|
|
553
|
-
"internalType": "
|
|
554
|
-
"name": "
|
|
555
|
-
"type": "
|
|
820
|
+
"internalType": "string",
|
|
821
|
+
"name": "peer",
|
|
822
|
+
"type": "string"
|
|
556
823
|
}
|
|
557
824
|
],
|
|
558
825
|
"stateMutability": "view",
|
|
@@ -560,7 +827,7 @@
|
|
|
560
827
|
},
|
|
561
828
|
{
|
|
562
829
|
"inputs": [],
|
|
563
|
-
"name": "
|
|
830
|
+
"name": "priceFeed",
|
|
564
831
|
"outputs": [
|
|
565
832
|
{
|
|
566
833
|
"internalType": "address",
|
|
@@ -572,52 +839,61 @@
|
|
|
572
839
|
"type": "function"
|
|
573
840
|
},
|
|
574
841
|
{
|
|
575
|
-
"inputs": [
|
|
576
|
-
"name": "receiveLib",
|
|
577
|
-
"outputs": [
|
|
842
|
+
"inputs": [
|
|
578
843
|
{
|
|
579
|
-
"internalType": "
|
|
580
|
-
"name": "",
|
|
844
|
+
"internalType": "address",
|
|
845
|
+
"name": "sendLib",
|
|
581
846
|
"type": "address"
|
|
847
|
+
},
|
|
848
|
+
{
|
|
849
|
+
"internalType": "uint32",
|
|
850
|
+
"name": "dstEid",
|
|
851
|
+
"type": "uint32"
|
|
852
|
+
}
|
|
853
|
+
],
|
|
854
|
+
"name": "receiveLibs",
|
|
855
|
+
"outputs": [
|
|
856
|
+
{
|
|
857
|
+
"internalType": "bytes32",
|
|
858
|
+
"name": "receiveLib",
|
|
859
|
+
"type": "bytes32"
|
|
582
860
|
}
|
|
583
861
|
],
|
|
584
862
|
"stateMutability": "view",
|
|
585
863
|
"type": "function"
|
|
586
864
|
},
|
|
587
865
|
{
|
|
588
|
-
"inputs": [
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
{
|
|
595
|
-
"inputs": [],
|
|
596
|
-
"name": "sendLib",
|
|
597
|
-
"outputs": [
|
|
866
|
+
"inputs": [
|
|
867
|
+
{
|
|
868
|
+
"internalType": "bytes32",
|
|
869
|
+
"name": "",
|
|
870
|
+
"type": "bytes32"
|
|
871
|
+
},
|
|
598
872
|
{
|
|
599
|
-
"internalType": "
|
|
873
|
+
"internalType": "address",
|
|
600
874
|
"name": "",
|
|
601
875
|
"type": "address"
|
|
602
876
|
}
|
|
603
877
|
],
|
|
604
|
-
"
|
|
878
|
+
"name": "renounceRole",
|
|
879
|
+
"outputs": [],
|
|
880
|
+
"stateMutability": "pure",
|
|
605
881
|
"type": "function"
|
|
606
882
|
},
|
|
607
883
|
{
|
|
608
884
|
"inputs": [
|
|
609
885
|
{
|
|
610
|
-
"internalType": "
|
|
611
|
-
"name": "
|
|
612
|
-
"type": "
|
|
886
|
+
"internalType": "bytes32",
|
|
887
|
+
"name": "role",
|
|
888
|
+
"type": "bytes32"
|
|
613
889
|
},
|
|
614
890
|
{
|
|
615
|
-
"internalType": "
|
|
616
|
-
"name": "
|
|
617
|
-
"type": "
|
|
891
|
+
"internalType": "address",
|
|
892
|
+
"name": "account",
|
|
893
|
+
"type": "address"
|
|
618
894
|
}
|
|
619
895
|
],
|
|
620
|
-
"name": "
|
|
896
|
+
"name": "revokeRole",
|
|
621
897
|
"outputs": [],
|
|
622
898
|
"stateMutability": "nonpayable",
|
|
623
899
|
"type": "function"
|
|
@@ -626,11 +902,11 @@
|
|
|
626
902
|
"inputs": [
|
|
627
903
|
{
|
|
628
904
|
"internalType": "uint16",
|
|
629
|
-
"name": "
|
|
905
|
+
"name": "_multiplierBps",
|
|
630
906
|
"type": "uint16"
|
|
631
907
|
}
|
|
632
908
|
],
|
|
633
|
-
"name": "
|
|
909
|
+
"name": "setDefaultMultiplierBps",
|
|
634
910
|
"outputs": [],
|
|
635
911
|
"stateMutability": "nonpayable",
|
|
636
912
|
"type": "function"
|
|
@@ -644,6 +920,16 @@
|
|
|
644
920
|
"name": "dstEid",
|
|
645
921
|
"type": "uint32"
|
|
646
922
|
},
|
|
923
|
+
{
|
|
924
|
+
"internalType": "string",
|
|
925
|
+
"name": "chainName",
|
|
926
|
+
"type": "string"
|
|
927
|
+
},
|
|
928
|
+
{
|
|
929
|
+
"internalType": "string",
|
|
930
|
+
"name": "peer",
|
|
931
|
+
"type": "string"
|
|
932
|
+
},
|
|
647
933
|
{
|
|
648
934
|
"internalType": "uint16",
|
|
649
935
|
"name": "multiplierBps",
|
|
@@ -653,19 +939,9 @@
|
|
|
653
939
|
"internalType": "uint256",
|
|
654
940
|
"name": "nativeGasFee",
|
|
655
941
|
"type": "uint256"
|
|
656
|
-
},
|
|
657
|
-
{
|
|
658
|
-
"internalType": "string",
|
|
659
|
-
"name": "peer",
|
|
660
|
-
"type": "string"
|
|
661
|
-
},
|
|
662
|
-
{
|
|
663
|
-
"internalType": "string",
|
|
664
|
-
"name": "chainName",
|
|
665
|
-
"type": "string"
|
|
666
942
|
}
|
|
667
943
|
],
|
|
668
|
-
"internalType": "struct
|
|
944
|
+
"internalType": "struct IAxelarDVNAdapter.DstConfigParam[]",
|
|
669
945
|
"name": "_params",
|
|
670
946
|
"type": "tuple[]"
|
|
671
947
|
}
|
|
@@ -685,17 +961,43 @@
|
|
|
685
961
|
"type": "uint32"
|
|
686
962
|
},
|
|
687
963
|
{
|
|
688
|
-
"internalType": "
|
|
689
|
-
"name": "
|
|
690
|
-
"type": "
|
|
964
|
+
"internalType": "uint256",
|
|
965
|
+
"name": "nativeGasFee",
|
|
966
|
+
"type": "uint256"
|
|
691
967
|
}
|
|
692
968
|
],
|
|
693
|
-
"internalType": "struct
|
|
969
|
+
"internalType": "struct IAxelarDVNAdapter.NativeGasFeeParam[]",
|
|
694
970
|
"name": "_params",
|
|
695
971
|
"type": "tuple[]"
|
|
696
972
|
}
|
|
697
973
|
],
|
|
698
|
-
"name": "
|
|
974
|
+
"name": "setNativeGasFee",
|
|
975
|
+
"outputs": [],
|
|
976
|
+
"stateMutability": "nonpayable",
|
|
977
|
+
"type": "function"
|
|
978
|
+
},
|
|
979
|
+
{
|
|
980
|
+
"inputs": [
|
|
981
|
+
{
|
|
982
|
+
"internalType": "bool",
|
|
983
|
+
"name": "_paused",
|
|
984
|
+
"type": "bool"
|
|
985
|
+
}
|
|
986
|
+
],
|
|
987
|
+
"name": "setPaused",
|
|
988
|
+
"outputs": [],
|
|
989
|
+
"stateMutability": "nonpayable",
|
|
990
|
+
"type": "function"
|
|
991
|
+
},
|
|
992
|
+
{
|
|
993
|
+
"inputs": [
|
|
994
|
+
{
|
|
995
|
+
"internalType": "address",
|
|
996
|
+
"name": "_priceFeed",
|
|
997
|
+
"type": "address"
|
|
998
|
+
}
|
|
999
|
+
],
|
|
1000
|
+
"name": "setPriceFeed",
|
|
699
1001
|
"outputs": [],
|
|
700
1002
|
"stateMutability": "nonpayable",
|
|
701
1003
|
"type": "function"
|
|
@@ -704,23 +1006,28 @@
|
|
|
704
1006
|
"inputs": [
|
|
705
1007
|
{
|
|
706
1008
|
"components": [
|
|
1009
|
+
{
|
|
1010
|
+
"internalType": "address",
|
|
1011
|
+
"name": "sendLib",
|
|
1012
|
+
"type": "address"
|
|
1013
|
+
},
|
|
707
1014
|
{
|
|
708
1015
|
"internalType": "uint32",
|
|
709
1016
|
"name": "dstEid",
|
|
710
1017
|
"type": "uint32"
|
|
711
1018
|
},
|
|
712
1019
|
{
|
|
713
|
-
"internalType": "
|
|
714
|
-
"name": "
|
|
715
|
-
"type": "
|
|
1020
|
+
"internalType": "bytes32",
|
|
1021
|
+
"name": "receiveLib",
|
|
1022
|
+
"type": "bytes32"
|
|
716
1023
|
}
|
|
717
1024
|
],
|
|
718
|
-
"internalType": "struct
|
|
1025
|
+
"internalType": "struct ReceiveLibParam[]",
|
|
719
1026
|
"name": "_params",
|
|
720
1027
|
"type": "tuple[]"
|
|
721
1028
|
}
|
|
722
1029
|
],
|
|
723
|
-
"name": "
|
|
1030
|
+
"name": "setReceiveLibs",
|
|
724
1031
|
"outputs": [],
|
|
725
1032
|
"stateMutability": "nonpayable",
|
|
726
1033
|
"type": "function"
|
|
@@ -728,12 +1035,17 @@
|
|
|
728
1035
|
{
|
|
729
1036
|
"inputs": [
|
|
730
1037
|
{
|
|
731
|
-
"internalType": "
|
|
732
|
-
"name": "
|
|
733
|
-
"type": "
|
|
1038
|
+
"internalType": "uint32",
|
|
1039
|
+
"name": "_eid",
|
|
1040
|
+
"type": "uint32"
|
|
1041
|
+
},
|
|
1042
|
+
{
|
|
1043
|
+
"internalType": "uint8[]",
|
|
1044
|
+
"name": "_optionTypes",
|
|
1045
|
+
"type": "uint8[]"
|
|
734
1046
|
}
|
|
735
1047
|
],
|
|
736
|
-
"name": "
|
|
1048
|
+
"name": "setSupportedOptionTypes",
|
|
737
1049
|
"outputs": [],
|
|
738
1050
|
"stateMutability": "nonpayable",
|
|
739
1051
|
"type": "function"
|
|
@@ -742,17 +1054,41 @@
|
|
|
742
1054
|
"inputs": [
|
|
743
1055
|
{
|
|
744
1056
|
"internalType": "address",
|
|
745
|
-
"name": "
|
|
1057
|
+
"name": "_workerFeeLib",
|
|
746
1058
|
"type": "address"
|
|
747
1059
|
}
|
|
748
1060
|
],
|
|
749
|
-
"name": "
|
|
1061
|
+
"name": "setWorkerFeeLib",
|
|
750
1062
|
"outputs": [],
|
|
751
1063
|
"stateMutability": "nonpayable",
|
|
752
1064
|
"type": "function"
|
|
753
1065
|
},
|
|
754
1066
|
{
|
|
755
1067
|
"inputs": [
|
|
1068
|
+
{
|
|
1069
|
+
"internalType": "bytes4",
|
|
1070
|
+
"name": "interfaceId",
|
|
1071
|
+
"type": "bytes4"
|
|
1072
|
+
}
|
|
1073
|
+
],
|
|
1074
|
+
"name": "supportsInterface",
|
|
1075
|
+
"outputs": [
|
|
1076
|
+
{
|
|
1077
|
+
"internalType": "bool",
|
|
1078
|
+
"name": "",
|
|
1079
|
+
"type": "bool"
|
|
1080
|
+
}
|
|
1081
|
+
],
|
|
1082
|
+
"stateMutability": "view",
|
|
1083
|
+
"type": "function"
|
|
1084
|
+
},
|
|
1085
|
+
{
|
|
1086
|
+
"inputs": [
|
|
1087
|
+
{
|
|
1088
|
+
"internalType": "address",
|
|
1089
|
+
"name": "_lib",
|
|
1090
|
+
"type": "address"
|
|
1091
|
+
},
|
|
756
1092
|
{
|
|
757
1093
|
"internalType": "address",
|
|
758
1094
|
"name": "_to",
|
|
@@ -769,6 +1105,19 @@
|
|
|
769
1105
|
"stateMutability": "nonpayable",
|
|
770
1106
|
"type": "function"
|
|
771
1107
|
},
|
|
1108
|
+
{
|
|
1109
|
+
"inputs": [
|
|
1110
|
+
{
|
|
1111
|
+
"internalType": "address",
|
|
1112
|
+
"name": "_sendLib",
|
|
1113
|
+
"type": "address"
|
|
1114
|
+
}
|
|
1115
|
+
],
|
|
1116
|
+
"name": "withdrawToFeeLib",
|
|
1117
|
+
"outputs": [],
|
|
1118
|
+
"stateMutability": "nonpayable",
|
|
1119
|
+
"type": "function"
|
|
1120
|
+
},
|
|
772
1121
|
{
|
|
773
1122
|
"inputs": [
|
|
774
1123
|
{
|
|
@@ -792,13 +1141,26 @@
|
|
|
792
1141
|
"stateMutability": "nonpayable",
|
|
793
1142
|
"type": "function"
|
|
794
1143
|
},
|
|
1144
|
+
{
|
|
1145
|
+
"inputs": [],
|
|
1146
|
+
"name": "workerFeeLib",
|
|
1147
|
+
"outputs": [
|
|
1148
|
+
{
|
|
1149
|
+
"internalType": "address",
|
|
1150
|
+
"name": "",
|
|
1151
|
+
"type": "address"
|
|
1152
|
+
}
|
|
1153
|
+
],
|
|
1154
|
+
"stateMutability": "view",
|
|
1155
|
+
"type": "function"
|
|
1156
|
+
},
|
|
795
1157
|
{
|
|
796
1158
|
"stateMutability": "payable",
|
|
797
1159
|
"type": "receive"
|
|
798
1160
|
}
|
|
799
1161
|
],
|
|
800
|
-
"bytecode": "0x6101006040526001805461ffff60a01b191661027160a41b1790553480156200002757600080fd5b506040516200381f3803806200381f8339810160408190526200004a9162000352565b848484846001600160a01b038116620000765760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b03166080526200008d33620002cf565b6000806000856001600160a01b03166354fd4d506040518163ffffffff1660e01b8152600401606060405180830381865afa158015620000d1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000f7919062000484565b9250925092506000806000876001600160a01b03166354fd4d506040518163ffffffff1660e01b8152600401606060405180830381865afa15801562000141573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000167919062000484565b925092509250826001600160401b0316866001600160401b03161415806200019557508160ff168560ff1614155b80620001a757508060ff168460ff1614155b15620001c65760405163714f551360e01b815260040160405180910390fd5b6001600160a01b03808a1660a052881660c05260005b8751811015620002ac576001600260008a8481518110620002015762000201620004db565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550878181518110620002555762000255620004db565b60200260200101516001600160a01b03167fe68d2c359a771606c400cf8b87000cf5864010363d6a736e98f5047b7bbe18e960016040516200029b911515815260200190565b60405180910390a2600101620001dc565b5050506001600160a01b0390971660e05250620004f19950505050505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200033757600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600080600080600060a086880312156200036b57600080fd5b62000376866200031f565b94506020620003878188016200031f565b60408801519095506001600160401b0380821115620003a557600080fd5b818901915089601f830112620003ba57600080fd5b815181811115620003cf57620003cf6200033c565b8060051b604051601f19603f83011681018181108582111715620003f757620003f76200033c565b60405291825284820192508381018501918c8311156200041657600080fd5b938501935b828510156200043f576200042f856200031f565b845293850193928501926200041b565b80985050505050505062000456606087016200031f565b915062000466608087016200031f565b90509295509295909350565b805160ff811681146200033757600080fd5b6000806000606084860312156200049a57600080fd5b83516001600160401b0381168114620004b257600080fd5b9250620004c26020850162000472565b9150620004d26040850162000472565b90509250925092565b634e487b7160e01b600052603260045260246000fd5b60805160a05160c05160e0516132c36200055c600039600081816103f3015261125c01526000818161052b0152611d610152600081816104ca0152818161101301526119d901526000818161021901528181610a7101528181610d65015261130701526132c36000f3fe60806040526004361061018e5760003560e01c80636a22d8cc116100d6578063a0706d901161007f578063ed94602411610059578063ed9460241461054d578063f2fde38b1461056d578063fd9be5221461058d57600080fd5b8063a0706d90146104b8578063bb37d00c146104ec578063bd3ed5ff1461051957600080fd5b80638da5cb5b116100b05780638da5cb5b1461044a57806395d376d7146104755780639e9449651461048857600080fd5b80636a22d8cc146103e1578063715018a61461041557806381d981af1461042a57600080fd5b806320ac2ece11610138578063429b62e511610112578063429b62e51461036157806349160658146103a15780634b0bddd2146103c157600080fd5b806320ac2ece146102c05780632eb17a9a146102e057806330bb3aac1461033357600080fd5b806311ab10991161016957806311ab1099146102605780631a058efe146102805780631a98b2e0146102a057600080fd5b8062bf2e801461019a57806301e33667146101e5578063116191b61461020757600080fd5b3661019557005b600080fd5b3480156101a657600080fd5b506001546101cd9074010000000000000000000000000000000000000000900461ffff1681565b60405161ffff90911681526020015b60405180910390f35b3480156101f157600080fd5b5061020561020036600461241f565b6105ad565b005b34801561021357600080fd5b5061023b7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101dc565b34801561026c57600080fd5b5061020561027b3660046124a7565b610659565b34801561028c57600080fd5b5061020561029b3660046124e9565b61073f565b3480156102ac57600080fd5b506102056102bb3660046125a0565b610a1a565b3480156102cc57600080fd5b506102056102db36600461267a565b610b3c565b3480156102ec57600080fd5b5061031e6102fb3660046126cb565b805160208183018101805160048252928201919093012091525463ffffffff1681565b60405163ffffffff90911681526020016101dc565b34801561033f57600080fd5b5061035361034e3660046127ae565b610bf4565b6040519081526020016101dc565b34801561036d57600080fd5b5061039161037c36600461267a565b60026020526000908152604090205460ff1681565b60405190151581526020016101dc565b3480156103ad57600080fd5b506102056103bc366004612830565b610d0e565b3480156103cd57600080fd5b506102056103dc3660046128e2565b610e35565b3480156103ed57600080fd5b5061023b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561042157600080fd5b50610205610ec8565b34801561043657600080fd5b506102056104453660046124a7565b610edc565b34801561045657600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff1661023b565b610353610483366004612919565b610ff9565b34801561049457600080fd5b506104a86104a336600461298a565b6114b0565b6040516101dc9493929190612a13565b3480156104c457600080fd5b5061023b7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f857600080fd5b5060015461023b9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561052557600080fd5b5061023b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561055957600080fd5b50610205610568366004612a5a565b6115ee565b34801561057957600080fd5b5061020561058836600461267a565b6116b8565b34801561059957600080fd5b506102056105a8366004612a75565b611774565b3360009081526002602052604090205460ff166105f6576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106018383836117cb565b6040805173ffffffffffffffffffffffffffffffffffffffff8581168252602082018490528416917f8210728e7c071f615b840ee026032693858fbcd5e5359e67e438c890f59e5620910160405180910390a2505050565b3360009081526002602052604090205460ff166106a2576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8181101561070157368383838181106106c0576106c0612a9f565b60400291909101915050602081018035906003906000906106e1908561298a565b63ffffffff168152602081019190915260400160002055506001016106a5565b507fb57a660331a8e55de5763e1af768e8d5a46feeabc201394c94ac4cde36319f1a8282604051610733929190612ace565b60405180910390a15050565b3360009081526002602052604090205460ff16610788576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b818110156109e857368383838181106107a6576107a6612a9f565b90506020028101906107b89190612b22565b90506004600360006107cd602085018561298a565b63ffffffff1663ffffffff1681526020019081526020016000206003016040516107f79190612bb3565b9081526040516020918190038201902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001690556108399082018261298a565b60046108486080840184612c47565b604051610856929190612cac565b908152604080516020928190038301812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff9590951694909417909355608083018152830180358352818301916108b791908501612a5a565b61ffff1681526020016108cd6060840184612c47565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050908252506020016109146080840184612c47565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093909452506003925061095c9050602085018561298a565b63ffffffff168152602080820192909252604090810160002083518155918301516001830180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff90921691909117905582015160028201906109c39082612d04565b50606082015160038201906109d89082612d04565b50506001909201915061078b9050565b507f950ccced17e999da9a8f2583cd16235977dbb7ee83fd38b2967cb8585fa6d1928282604051610733929190612ecb565b60008585604051610a2c929190612cac565b6040519081900381207f1876eed9000000000000000000000000000000000000000000000000000000008252915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690631876eed990610ab6908e908e908e908e908e9089908d908d908d90600401612fe7565b6020604051808303816000875af1158015610ad5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af99190613046565b610b2f576040517f500c44b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050505050505050565b3360009081526002602052604090205460ff16610b85576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f47f3fc2afa14fc8d55a57ed53e2a26b8e63d5f95adb4869b2da2bffdd38c63d290600090a250565b63ffffffff85166000908152600360205260409020805460015490919073ffffffffffffffffffffffffffffffffffffffff1615610d045760018054908201546040517f212cf54f00000000000000000000000000000000000000000000000000000000815263ffffffff8a16600482015273ffffffffffffffffffffffffffffffffffffffff888116602483015261ffff7401000000000000000000000000000000000000000085048116604484015290921660648201526084810185905291169063212cf54f9060a401602060405180830381865afa158015610cdd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d019190613063565b91505b5095945050505050565b60008282604051610d20929190612cac565b6040519081900381207f5f6970c3000000000000000000000000000000000000000000000000000000008252915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690635f6970c390610da4908b908b908b908b908b90899060040161307c565b6020604051808303816000875af1158015610dc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de79190613046565b610e1d576040517f500c44b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e2b878787878787611800565b5050505050505050565b610e3d611853565b73ffffffffffffffffffffffffffffffffffffffff821660008181526002602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151590811790915591519182527fe68d2c359a771606c400cf8b87000cf5864010363d6a736e98f5047b7bbe18e991015b60405180910390a25050565b610ed0611853565b610eda60006118d4565b565b3360009081526002602052604090205460ff16610f25576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610fc75736838383818110610f4357610f43612a9f565b9050604002019050806020016020810190610f5e9190612a5a565b60036000610f6f602085018561298a565b63ffffffff1681526020810191909152604001600020600190810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff9390931692909217909155919091019050610f28565b507f69abe4111cf43d39e68d4c540ca52a855f900939e08d7f27a07a068ea5c0605582826040516107339291906130bd565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461106a576040517f3885d60300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060038161107c602088018861298a565b63ffffffff1663ffffffff16815260200190815260200160002090508060000154915060008160030180546110b090612b60565b80601f01602080910402602001604051908101604052809291908181526020018280546110dc90612b60565b80156111295780601f106110fe57610100808354040283529160200191611129565b820191906000526020600020905b81548152906001019060200180831161110c57829003601f168201915b50505050509050600082600201805461114190612b60565b80601f016020809104026020016040519081016040528092919081815260200182805461116d90612b60565b80156111ba5780601f1061118f576101008083540402835291602001916111ba565b820191906000526020600020905b81548152906001019060200180831161119d57829003601f168201915b5050505050905060006112148880602001906111d69190612c47565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060408a0135611949565b905061121f85611976565b6040517f0c93e3bb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690630c93e3bb90879061129b903090889088908890849060040161310f565b6000604051808303818588803b1580156112b457600080fd5b505af11580156112c8573d6000803e3d6000fd5b50506040517f1c92115f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169350631c92115f9250611343915086908690869060040161317b565b600060405180830381600087803b15801561135d57600080fd5b505af1158015611371573d6000803e3d6000fd5b505060015473ffffffffffffffffffffffffffffffffffffffff161591506114a590505760015473ffffffffffffffffffffffffffffffffffffffff1663212cf54f6113c060208b018b61298a565b6113d060a08c0160808d0161267a565b600180549089015460405160e086901b7fffffffff0000000000000000000000000000000000000000000000000000000016815263ffffffff909416600485015273ffffffffffffffffffffffffffffffffffffffff909216602484015274010000000000000000000000000000000000000000900461ffff90811660448401521660648201526084810188905260a401602060405180830381865afa15801561147e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a29190613063565b94505b505050509392505050565b600360205260009081526040902080546001820154600283018054929361ffff909216926114dd90612b60565b80601f016020809104026020016040519081016040528092919081815260200182805461150990612b60565b80156115565780601f1061152b57610100808354040283529160200191611556565b820191906000526020600020905b81548152906001019060200180831161153957829003601f168201915b50505050509080600301805461156b90612b60565b80601f016020809104026020016040519081016040528092919081815260200182805461159790612b60565b80156115e45780601f106115b9576101008083540402835291602001916115e4565b820191906000526020600020905b8154815290600101906020018083116115c757829003601f168201915b5050505050905084565b3360009081526002602052604090205460ff16611637576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000061ffff8416908102919091179091556040519081527f5cd03093b446ef387fae919d09687fb7200930dc43240f391a08f7f3a8243e619060200160405180910390a150565b6116c0611853565b73ffffffffffffffffffffffffffffffffffffffff8116611768576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b611771816118d4565b50565b3360009081526002602052604090205460ff166117bd576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117c7828261198d565b5050565b73ffffffffffffffffffffffffffffffffffffffff83166117f5576117f08282611a7d565b505050565b6117f0838383611b83565b61180c86868686611bf1565b61184b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d1392505050565b505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610eda576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161175f565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6060828260405160200161195e9291906131be565b60405160208183030381529060405290505b92915050565b47818110156117c7576117c73061198d838561320f565b6040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063fd9be52290604401600060405180830381600087803b158015611a1d57600080fd5b505af1158015611a31573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff167f78473f3f373f7673597f4f0fa5873cb4d375fea6d4339ad6b56dbd411513cb3f82604051610ebc91815260200190565b73ffffffffffffffffffffffffffffffffffffffff8216611aca576040517f32fa6a1d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611b24576040519150601f19603f3d011682016040523d82523d6000602084013e611b29565b606091505b50509050806117f0576040517f2c024f9200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201526024810183905260440161175f565b73ffffffffffffffffffffffffffffffffffffffff8216611bd0576040517f32fa6a1d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117f073ffffffffffffffffffffffffffffffffffffffff84168383611dd9565b600060048585604051611c05929190612cac565b90815260408051602092819003830190205463ffffffff1660008181526003909352908220600201805491935090611c3c90612b60565b80601f0160208091040260200160405190810160405280929190818152602001828054611c6890612b60565b8015611cb55780601f10611c8a57610100808354040283529160200191611cb5565b820191906000526020600020905b815481529060010190602001808311611c9857829003601f168201915b5050505050905080805190602001208484604051611cd4929190612cac565b60405180910390201461184b576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080611d1f83611e66565b6040517f0223536e000000000000000000000000000000000000000000000000000000008152919350915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690630223536e90611da2908590859067ffffffffffffffff90600401613222565b600060405180830381600087803b158015611dbc57600080fd5b505af1158015611dd0573d6000803e3d6000fd5b50505050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526117f0908490611ede565b60606000611e7660206051613255565b835114611eaf576040517ffbdf795400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611ebd84826051611fed565b9250611eca605182613255565b9050611ed68482612167565b915050915091565b6000611f40826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166121e79092919063ffffffff16565b9050805160001480611f61575080806020019051810190611f619190613046565b6117f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161175f565b606081611ffb81601f613255565b1015612063576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015260640161175f565b61206d8284613255565b845110156120d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e6473000000000000000000000000000000604482015260640161175f565b6060821580156120f6576040519150600082526020820160405261215e565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561212f578051835260209283019201612117565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b6000612174826020613255565b835110156121de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f427974657333325f6f75744f66426f756e64730000000000000000000000604482015260640161175f565b50016020015190565b60606121f684846000856121fe565b949350505050565b606082471015612290576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161175f565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516122b99190613268565b60006040518083038185875af1925050503d80600081146122f6576040519150601f19603f3d011682016040523d82523d6000602084013e6122fb565b606091505b509150915061230c87838387612317565b979650505050505050565b606083156123ad5782516000036123a65773ffffffffffffffffffffffffffffffffffffffff85163b6123a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161175f565b50816121f6565b6121f683838151156123c25781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175f919061327a565b803573ffffffffffffffffffffffffffffffffffffffff8116811461241a57600080fd5b919050565b60008060006060848603121561243457600080fd5b61243d846123f6565b925061244b602085016123f6565b9150604084013590509250925092565b60008083601f84011261246d57600080fd5b50813567ffffffffffffffff81111561248557600080fd5b6020830191508360208260061b85010111156124a057600080fd5b9250929050565b600080602083850312156124ba57600080fd5b823567ffffffffffffffff8111156124d157600080fd5b6124dd8582860161245b565b90969095509350505050565b600080602083850312156124fc57600080fd5b823567ffffffffffffffff8082111561251457600080fd5b818501915085601f83011261252857600080fd5b81358181111561253757600080fd5b8660208260051b850101111561254c57600080fd5b60209290920196919550909350505050565b60008083601f84011261257057600080fd5b50813567ffffffffffffffff81111561258857600080fd5b6020830191508360208285010111156124a057600080fd5b60008060008060008060008060008060c08b8d0312156125bf57600080fd5b8a35995060208b013567ffffffffffffffff808211156125de57600080fd5b6125ea8e838f0161255e565b909b50995060408d013591508082111561260357600080fd5b61260f8e838f0161255e565b909950975060608d013591508082111561262857600080fd5b6126348e838f0161255e565b909750955060808d013591508082111561264d57600080fd5b5061265a8d828e0161255e565b9150809450508092505060a08b013590509295989b9194979a5092959850565b60006020828403121561268c57600080fd5b612695826123f6565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156126dd57600080fd5b813567ffffffffffffffff808211156126f557600080fd5b818401915084601f83011261270957600080fd5b81358181111561271b5761271b61269c565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156127615761276161269c565b8160405282815287602084870101111561277a57600080fd5b826020860160208301376000928101602001929092525095945050505050565b803563ffffffff8116811461241a57600080fd5b6000806000806000608086880312156127c657600080fd5b6127cf8661279a565b9450602086013567ffffffffffffffff80821682146127ed57600080fd5b8195506127fc604089016123f6565b9450606088013591508082111561281257600080fd5b5061281f8882890161255e565b969995985093965092949392505050565b60008060008060008060006080888a03121561284b57600080fd5b87359650602088013567ffffffffffffffff8082111561286a57600080fd5b6128768b838c0161255e565b909850965060408a013591508082111561288f57600080fd5b61289b8b838c0161255e565b909650945060608a01359150808211156128b457600080fd5b506128c18a828b0161255e565b989b979a50959850939692959293505050565b801515811461177157600080fd5b600080604083850312156128f557600080fd5b6128fe836123f6565b9150602083013561290e816128d4565b809150509250929050565b60008060006040848603121561292e57600080fd5b833567ffffffffffffffff8082111561294657600080fd5b9085019060a0828803121561295a57600080fd5b9093506020850135908082111561297057600080fd5b5061297d8682870161255e565b9497909650939450505050565b60006020828403121561299c57600080fd5b6126958261279a565b60005b838110156129c05781810151838201526020016129a8565b50506000910152565b600081518084526129e18160208601602086016129a5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b84815261ffff84166020820152608060408201526000612a3660808301856129c9565b8281036060840152610d0181856129c9565b803561ffff8116811461241a57600080fd5b600060208284031215612a6c57600080fd5b61269582612a48565b60008060408385031215612a8857600080fd5b612a91836123f6565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020808252818101839052600090604080840186845b87811015612b155763ffffffff612afa8361279a565b16835281850135858401529183019190830190600101612ae4565b5090979650505050505050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61833603018112612b5657600080fd5b9190910192915050565b600181811c90821680612b7457607f821691505b602082108103612bad577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000808354612bc181612b60565b60018281168015612bd95760018114612c0c57612c3b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450612c3b565b8760005260208060002060005b85811015612c325781548a820152908401908201612c19565b50505082870194505b50929695505050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612c7c57600080fd5b83018035915067ffffffffffffffff821115612c9757600080fd5b6020019150368190038213156124a057600080fd5b8183823760009101908152919050565b601f8211156117f0576000816000526020600020601f850160051c81016020861015612ce55750805b601f850160051c820191505b8181101561184b57828155600101612cf1565b815167ffffffffffffffff811115612d1e57612d1e61269c565b612d3281612d2c8454612b60565b84612cbc565b602080601f831160018114612d855760008415612d4f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561184b565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612dd257888601518255948401946001909101908401612db3565b5085821015612e0e57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612e5357600080fd5b830160208101925035905067ffffffffffffffff811115612e7357600080fd5b8036038213156124a057600080fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208082528181018390526000906040808401600586901b850182018785805b89811015612fd8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc089850301855282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff618c3603018112612f4b578283fd5b8b0160a063ffffffff612f5d8361279a565b16865261ffff612f6e8a8401612a48565b168987015287820135888701526060612f8981840184612e1e565b83838a0152612f9b848a018284612e82565b93505050506080612fae81840184612e1e565b935087830382890152612fc2838583612e82565b988b019897505050938801935050600101612eeb565b50919998505050505050505050565b89815260c06020820152600061300160c083018a8c612e82565b828103604084015261301481898b612e82565b9050866060840152828103608084015261302f818688612e82565b9150508260a08301529a9950505050505050505050565b60006020828403121561305857600080fd5b8151612695816128d4565b60006020828403121561307557600080fd5b5051919050565b868152608060208201526000613096608083018789612e82565b82810360408401526130a9818688612e82565b915050826060830152979650505050505050565b6020808252818101839052600090604080840186845b87811015612b155763ffffffff6130e98361279a565b16835261ffff6130fa868401612a48565b168386015291830191908301906001016130d3565b600073ffffffffffffffffffffffffffffffffffffffff808816835260a0602084015261313f60a08401886129c9565b838103604085015261315181886129c9565b9050838103606085015261316581876129c9565b9250508084166080840152509695505050505050565b60608152600061318e60608301866129c9565b82810360208401526131a081866129c9565b905082810360408401526131b481856129c9565b9695505050505050565b600083516131d08184602088016129a5565b9190910191825250602001919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115611970576119706131e0565b60608152600061323560608301866129c9565b905083602083015267ffffffffffffffff83166040830152949350505050565b80820180821115611970576119706131e0565b60008251612b568184602087016129a5565b60208152600061269560208301846129c956fea264697066735822122058099989dca2cb9abc7c52a52b7074c961d41a2e023e65b86964dc8c8a97083e64736f6c63430008160033",
|
|
801
|
-
"deployedBytecode": "0x60806040526004361061018e5760003560e01c80636a22d8cc116100d6578063a0706d901161007f578063ed94602411610059578063ed9460241461054d578063f2fde38b1461056d578063fd9be5221461058d57600080fd5b8063a0706d90146104b8578063bb37d00c146104ec578063bd3ed5ff1461051957600080fd5b80638da5cb5b116100b05780638da5cb5b1461044a57806395d376d7146104755780639e9449651461048857600080fd5b80636a22d8cc146103e1578063715018a61461041557806381d981af1461042a57600080fd5b806320ac2ece11610138578063429b62e511610112578063429b62e51461036157806349160658146103a15780634b0bddd2146103c157600080fd5b806320ac2ece146102c05780632eb17a9a146102e057806330bb3aac1461033357600080fd5b806311ab10991161016957806311ab1099146102605780631a058efe146102805780631a98b2e0146102a057600080fd5b8062bf2e801461019a57806301e33667146101e5578063116191b61461020757600080fd5b3661019557005b600080fd5b3480156101a657600080fd5b506001546101cd9074010000000000000000000000000000000000000000900461ffff1681565b60405161ffff90911681526020015b60405180910390f35b3480156101f157600080fd5b5061020561020036600461241f565b6105ad565b005b34801561021357600080fd5b5061023b7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101dc565b34801561026c57600080fd5b5061020561027b3660046124a7565b610659565b34801561028c57600080fd5b5061020561029b3660046124e9565b61073f565b3480156102ac57600080fd5b506102056102bb3660046125a0565b610a1a565b3480156102cc57600080fd5b506102056102db36600461267a565b610b3c565b3480156102ec57600080fd5b5061031e6102fb3660046126cb565b805160208183018101805160048252928201919093012091525463ffffffff1681565b60405163ffffffff90911681526020016101dc565b34801561033f57600080fd5b5061035361034e3660046127ae565b610bf4565b6040519081526020016101dc565b34801561036d57600080fd5b5061039161037c36600461267a565b60026020526000908152604090205460ff1681565b60405190151581526020016101dc565b3480156103ad57600080fd5b506102056103bc366004612830565b610d0e565b3480156103cd57600080fd5b506102056103dc3660046128e2565b610e35565b3480156103ed57600080fd5b5061023b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561042157600080fd5b50610205610ec8565b34801561043657600080fd5b506102056104453660046124a7565b610edc565b34801561045657600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff1661023b565b610353610483366004612919565b610ff9565b34801561049457600080fd5b506104a86104a336600461298a565b6114b0565b6040516101dc9493929190612a13565b3480156104c457600080fd5b5061023b7f000000000000000000000000000000000000000000000000000000000000000081565b3480156104f857600080fd5b5060015461023b9073ffffffffffffffffffffffffffffffffffffffff1681565b34801561052557600080fd5b5061023b7f000000000000000000000000000000000000000000000000000000000000000081565b34801561055957600080fd5b50610205610568366004612a5a565b6115ee565b34801561057957600080fd5b5061020561058836600461267a565b6116b8565b34801561059957600080fd5b506102056105a8366004612a75565b611774565b3360009081526002602052604090205460ff166105f6576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6106018383836117cb565b6040805173ffffffffffffffffffffffffffffffffffffffff8581168252602082018490528416917f8210728e7c071f615b840ee026032693858fbcd5e5359e67e438c890f59e5620910160405180910390a2505050565b3360009081526002602052604090205460ff166106a2576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8181101561070157368383838181106106c0576106c0612a9f565b60400291909101915050602081018035906003906000906106e1908561298a565b63ffffffff168152602081019190915260400160002055506001016106a5565b507fb57a660331a8e55de5763e1af768e8d5a46feeabc201394c94ac4cde36319f1a8282604051610733929190612ace565b60405180910390a15050565b3360009081526002602052604090205460ff16610788576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b818110156109e857368383838181106107a6576107a6612a9f565b90506020028101906107b89190612b22565b90506004600360006107cd602085018561298a565b63ffffffff1663ffffffff1681526020019081526020016000206003016040516107f79190612bb3565b9081526040516020918190038201902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001690556108399082018261298a565b60046108486080840184612c47565b604051610856929190612cac565b908152604080516020928190038301812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff9590951694909417909355608083018152830180358352818301916108b791908501612a5a565b61ffff1681526020016108cd6060840184612c47565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050908252506020016109146080840184612c47565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525093909452506003925061095c9050602085018561298a565b63ffffffff168152602080820192909252604090810160002083518155918301516001830180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff90921691909117905582015160028201906109c39082612d04565b50606082015160038201906109d89082612d04565b50506001909201915061078b9050565b507f950ccced17e999da9a8f2583cd16235977dbb7ee83fd38b2967cb8585fa6d1928282604051610733929190612ecb565b60008585604051610a2c929190612cac565b6040519081900381207f1876eed9000000000000000000000000000000000000000000000000000000008252915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690631876eed990610ab6908e908e908e908e908e9089908d908d908d90600401612fe7565b6020604051808303816000875af1158015610ad5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610af99190613046565b610b2f576040517f500c44b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050505050505050565b3360009081526002602052604090205460ff16610b85576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f47f3fc2afa14fc8d55a57ed53e2a26b8e63d5f95adb4869b2da2bffdd38c63d290600090a250565b63ffffffff85166000908152600360205260409020805460015490919073ffffffffffffffffffffffffffffffffffffffff1615610d045760018054908201546040517f212cf54f00000000000000000000000000000000000000000000000000000000815263ffffffff8a16600482015273ffffffffffffffffffffffffffffffffffffffff888116602483015261ffff7401000000000000000000000000000000000000000085048116604484015290921660648201526084810185905291169063212cf54f9060a401602060405180830381865afa158015610cdd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d019190613063565b91505b5095945050505050565b60008282604051610d20929190612cac565b6040519081900381207f5f6970c3000000000000000000000000000000000000000000000000000000008252915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690635f6970c390610da4908b908b908b908b908b90899060040161307c565b6020604051808303816000875af1158015610dc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de79190613046565b610e1d576040517f500c44b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610e2b878787878787611800565b5050505050505050565b610e3d611853565b73ffffffffffffffffffffffffffffffffffffffff821660008181526002602090815260409182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001685151590811790915591519182527fe68d2c359a771606c400cf8b87000cf5864010363d6a736e98f5047b7bbe18e991015b60405180910390a25050565b610ed0611853565b610eda60006118d4565b565b3360009081526002602052604090205460ff16610f25576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610fc75736838383818110610f4357610f43612a9f565b9050604002019050806020016020810190610f5e9190612a5a565b60036000610f6f602085018561298a565b63ffffffff1681526020810191909152604001600020600190810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff9390931692909217909155919091019050610f28565b507f69abe4111cf43d39e68d4c540ca52a855f900939e08d7f27a07a068ea5c0605582826040516107339291906130bd565b60003373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461106a576040517f3885d60300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600060038161107c602088018861298a565b63ffffffff1663ffffffff16815260200190815260200160002090508060000154915060008160030180546110b090612b60565b80601f01602080910402602001604051908101604052809291908181526020018280546110dc90612b60565b80156111295780601f106110fe57610100808354040283529160200191611129565b820191906000526020600020905b81548152906001019060200180831161110c57829003601f168201915b50505050509050600082600201805461114190612b60565b80601f016020809104026020016040519081016040528092919081815260200182805461116d90612b60565b80156111ba5780601f1061118f576101008083540402835291602001916111ba565b820191906000526020600020905b81548152906001019060200180831161119d57829003601f168201915b5050505050905060006112148880602001906111d69190612c47565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060408a0135611949565b905061121f85611976565b6040517f0c93e3bb00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690630c93e3bb90879061129b903090889088908890849060040161310f565b6000604051808303818588803b1580156112b457600080fd5b505af11580156112c8573d6000803e3d6000fd5b50506040517f1c92115f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169350631c92115f9250611343915086908690869060040161317b565b600060405180830381600087803b15801561135d57600080fd5b505af1158015611371573d6000803e3d6000fd5b505060015473ffffffffffffffffffffffffffffffffffffffff161591506114a590505760015473ffffffffffffffffffffffffffffffffffffffff1663212cf54f6113c060208b018b61298a565b6113d060a08c0160808d0161267a565b600180549089015460405160e086901b7fffffffff0000000000000000000000000000000000000000000000000000000016815263ffffffff909416600485015273ffffffffffffffffffffffffffffffffffffffff909216602484015274010000000000000000000000000000000000000000900461ffff90811660448401521660648201526084810188905260a401602060405180830381865afa15801561147e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114a29190613063565b94505b505050509392505050565b600360205260009081526040902080546001820154600283018054929361ffff909216926114dd90612b60565b80601f016020809104026020016040519081016040528092919081815260200182805461150990612b60565b80156115565780601f1061152b57610100808354040283529160200191611556565b820191906000526020600020905b81548152906001019060200180831161153957829003601f168201915b50505050509080600301805461156b90612b60565b80601f016020809104026020016040519081016040528092919081815260200182805461159790612b60565b80156115e45780601f106115b9576101008083540402835291602001916115e4565b820191906000526020600020905b8154815290600101906020018083116115c757829003601f168201915b5050505050905084565b3360009081526002602052604090205460ff16611637576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffff0000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000061ffff8416908102919091179091556040519081527f5cd03093b446ef387fae919d09687fb7200930dc43240f391a08f7f3a8243e619060200160405180910390a150565b6116c0611853565b73ffffffffffffffffffffffffffffffffffffffff8116611768576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b611771816118d4565b50565b3360009081526002602052604090205460ff166117bd576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117c7828261198d565b5050565b73ffffffffffffffffffffffffffffffffffffffff83166117f5576117f08282611a7d565b505050565b6117f0838383611b83565b61180c86868686611bf1565b61184b82828080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d1392505050565b505050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610eda576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161175f565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6060828260405160200161195e9291906131be565b60405160208183030381529060405290505b92915050565b47818110156117c7576117c73061198d838561320f565b6040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8381166004830152602482018390527f0000000000000000000000000000000000000000000000000000000000000000169063fd9be52290604401600060405180830381600087803b158015611a1d57600080fd5b505af1158015611a31573d6000803e3d6000fd5b505050508173ffffffffffffffffffffffffffffffffffffffff167f78473f3f373f7673597f4f0fa5873cb4d375fea6d4339ad6b56dbd411513cb3f82604051610ebc91815260200190565b73ffffffffffffffffffffffffffffffffffffffff8216611aca576040517f32fa6a1d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114611b24576040519150601f19603f3d011682016040523d82523d6000602084013e611b29565b606091505b50509050806117f0576040517f2c024f9200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841660048201526024810183905260440161175f565b73ffffffffffffffffffffffffffffffffffffffff8216611bd0576040517f32fa6a1d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117f073ffffffffffffffffffffffffffffffffffffffff84168383611dd9565b600060048585604051611c05929190612cac565b90815260408051602092819003830190205463ffffffff1660008181526003909352908220600201805491935090611c3c90612b60565b80601f0160208091040260200160405190810160405280929190818152602001828054611c6890612b60565b8015611cb55780601f10611c8a57610100808354040283529160200191611cb5565b820191906000526020600020905b815481529060010190602001808311611c9857829003601f168201915b5050505050905080805190602001208484604051611cd4929190612cac565b60405180910390201461184b576040517f82b4290000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080611d1f83611e66565b6040517f0223536e000000000000000000000000000000000000000000000000000000008152919350915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690630223536e90611da2908590859067ffffffffffffffff90600401613222565b600060405180830381600087803b158015611dbc57600080fd5b505af1158015611dd0573d6000803e3d6000fd5b50505050505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526117f0908490611ede565b60606000611e7660206051613255565b835114611eaf576040517ffbdf795400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000611ebd84826051611fed565b9250611eca605182613255565b9050611ed68482612167565b915050915091565b6000611f40826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166121e79092919063ffffffff16565b9050805160001480611f61575080806020019051810190611f619190613046565b6117f0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f74207375636365656400000000000000000000000000000000000000000000606482015260840161175f565b606081611ffb81601f613255565b1015612063576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f77000000000000000000000000000000000000604482015260640161175f565b61206d8284613255565b845110156120d7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e6473000000000000000000000000000000604482015260640161175f565b6060821580156120f6576040519150600082526020820160405261215e565b6040519150601f8416801560200281840101858101878315602002848b0101015b8183101561212f578051835260209283019201612117565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b6000612174826020613255565b835110156121de576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f746f427974657333325f6f75744f66426f756e64730000000000000000000000604482015260640161175f565b50016020015190565b60606121f684846000856121fe565b949350505050565b606082471015612290576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c0000000000000000000000000000000000000000000000000000606482015260840161175f565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516122b99190613268565b60006040518083038185875af1925050503d80600081146122f6576040519150601f19603f3d011682016040523d82523d6000602084013e6122fb565b606091505b509150915061230c87838387612317565b979650505050505050565b606083156123ad5782516000036123a65773ffffffffffffffffffffffffffffffffffffffff85163b6123a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161175f565b50816121f6565b6121f683838151156123c25781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175f919061327a565b803573ffffffffffffffffffffffffffffffffffffffff8116811461241a57600080fd5b919050565b60008060006060848603121561243457600080fd5b61243d846123f6565b925061244b602085016123f6565b9150604084013590509250925092565b60008083601f84011261246d57600080fd5b50813567ffffffffffffffff81111561248557600080fd5b6020830191508360208260061b85010111156124a057600080fd5b9250929050565b600080602083850312156124ba57600080fd5b823567ffffffffffffffff8111156124d157600080fd5b6124dd8582860161245b565b90969095509350505050565b600080602083850312156124fc57600080fd5b823567ffffffffffffffff8082111561251457600080fd5b818501915085601f83011261252857600080fd5b81358181111561253757600080fd5b8660208260051b850101111561254c57600080fd5b60209290920196919550909350505050565b60008083601f84011261257057600080fd5b50813567ffffffffffffffff81111561258857600080fd5b6020830191508360208285010111156124a057600080fd5b60008060008060008060008060008060c08b8d0312156125bf57600080fd5b8a35995060208b013567ffffffffffffffff808211156125de57600080fd5b6125ea8e838f0161255e565b909b50995060408d013591508082111561260357600080fd5b61260f8e838f0161255e565b909950975060608d013591508082111561262857600080fd5b6126348e838f0161255e565b909750955060808d013591508082111561264d57600080fd5b5061265a8d828e0161255e565b9150809450508092505060a08b013590509295989b9194979a5092959850565b60006020828403121561268c57600080fd5b612695826123f6565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000602082840312156126dd57600080fd5b813567ffffffffffffffff808211156126f557600080fd5b818401915084601f83011261270957600080fd5b81358181111561271b5761271b61269c565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156127615761276161269c565b8160405282815287602084870101111561277a57600080fd5b826020860160208301376000928101602001929092525095945050505050565b803563ffffffff8116811461241a57600080fd5b6000806000806000608086880312156127c657600080fd5b6127cf8661279a565b9450602086013567ffffffffffffffff80821682146127ed57600080fd5b8195506127fc604089016123f6565b9450606088013591508082111561281257600080fd5b5061281f8882890161255e565b969995985093965092949392505050565b60008060008060008060006080888a03121561284b57600080fd5b87359650602088013567ffffffffffffffff8082111561286a57600080fd5b6128768b838c0161255e565b909850965060408a013591508082111561288f57600080fd5b61289b8b838c0161255e565b909650945060608a01359150808211156128b457600080fd5b506128c18a828b0161255e565b989b979a50959850939692959293505050565b801515811461177157600080fd5b600080604083850312156128f557600080fd5b6128fe836123f6565b9150602083013561290e816128d4565b809150509250929050565b60008060006040848603121561292e57600080fd5b833567ffffffffffffffff8082111561294657600080fd5b9085019060a0828803121561295a57600080fd5b9093506020850135908082111561297057600080fd5b5061297d8682870161255e565b9497909650939450505050565b60006020828403121561299c57600080fd5b6126958261279a565b60005b838110156129c05781810151838201526020016129a8565b50506000910152565b600081518084526129e18160208601602086016129a5565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b84815261ffff84166020820152608060408201526000612a3660808301856129c9565b8281036060840152610d0181856129c9565b803561ffff8116811461241a57600080fd5b600060208284031215612a6c57600080fd5b61269582612a48565b60008060408385031215612a8857600080fd5b612a91836123f6565b946020939093013593505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020808252818101839052600090604080840186845b87811015612b155763ffffffff612afa8361279a565b16835281850135858401529183019190830190600101612ae4565b5090979650505050505050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61833603018112612b5657600080fd5b9190910192915050565b600181811c90821680612b7457607f821691505b602082108103612bad577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b6000808354612bc181612b60565b60018281168015612bd95760018114612c0c57612c3b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450612c3b565b8760005260208060002060005b85811015612c325781548a820152908401908201612c19565b50505082870194505b50929695505050505050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612c7c57600080fd5b83018035915067ffffffffffffffff821115612c9757600080fd5b6020019150368190038213156124a057600080fd5b8183823760009101908152919050565b601f8211156117f0576000816000526020600020601f850160051c81016020861015612ce55750805b601f850160051c820191505b8181101561184b57828155600101612cf1565b815167ffffffffffffffff811115612d1e57612d1e61269c565b612d3281612d2c8454612b60565b84612cbc565b602080601f831160018114612d855760008415612d4f5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b17855561184b565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015612dd257888601518255948401946001909101908401612db3565b5085821015612e0e57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612e5357600080fd5b830160208101925035905067ffffffffffffffff811115612e7357600080fd5b8036038213156124a057600080fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60208082528181018390526000906040808401600586901b850182018785805b89811015612fd8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc089850301855282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff618c3603018112612f4b578283fd5b8b0160a063ffffffff612f5d8361279a565b16865261ffff612f6e8a8401612a48565b168987015287820135888701526060612f8981840184612e1e565b83838a0152612f9b848a018284612e82565b93505050506080612fae81840184612e1e565b935087830382890152612fc2838583612e82565b988b019897505050938801935050600101612eeb565b50919998505050505050505050565b89815260c06020820152600061300160c083018a8c612e82565b828103604084015261301481898b612e82565b9050866060840152828103608084015261302f818688612e82565b9150508260a08301529a9950505050505050505050565b60006020828403121561305857600080fd5b8151612695816128d4565b60006020828403121561307557600080fd5b5051919050565b868152608060208201526000613096608083018789612e82565b82810360408401526130a9818688612e82565b915050826060830152979650505050505050565b6020808252818101839052600090604080840186845b87811015612b155763ffffffff6130e98361279a565b16835261ffff6130fa868401612a48565b168386015291830191908301906001016130d3565b600073ffffffffffffffffffffffffffffffffffffffff808816835260a0602084015261313f60a08401886129c9565b838103604085015261315181886129c9565b9050838103606085015261316581876129c9565b9250508084166080840152509695505050505050565b60608152600061318e60608301866129c9565b82810360208401526131a081866129c9565b905082810360408401526131b481856129c9565b9695505050505050565b600083516131d08184602088016129a5565b9190910191825250602001919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115611970576119706131e0565b60608152600061323560608301866129c9565b905083602083015267ffffffffffffffff83166040830152949350505050565b80820180821115611970576119706131e0565b60008251612b568184602087016129a5565b60208152600061269560208301846129c956fea264697066735822122058099989dca2cb9abc7c52a52b7074c961d41a2e023e65b86964dc8c8a97083e64736f6c63430008160033",
|
|
1162
|
+
"bytecode": "0x60a06040523480156200001157600080fd5b506040516200492838038062004928833981016040819052620000349162000334565b803383612ee0600060405190808252806020026020018201604052801562000066578160200160208202803683370190505b506001805460ff61ffff60e81b011916600160e81b61ffff851602179055600280546001600160a01b031916905560008285856001600160a01b03821615620000b657620000b6600083620001b3565b60005b85518110156200011a57620001117f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de878381518110620000fd57620000fd6200041a565b6020026020010151620001b360201b60201c565b600101620000b9565b5060005b81518110156200016b57620001627fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775838381518110620000fd57620000fd6200041a565b6001016200011e565b5050506001600160a01b03871695506200019e9450505050505760405163e6c4247b60e01b815260040160405180910390fd5b6001600160a01b0316608052506200046d9050565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca821480156200020457506000828152602081815260408083206001600160a01b038516845290915290205460ff16155b156200025157600180546015906200022c90600160a81b90046001600160401b031662000430565b91906101000a8154816001600160401b0302191690836001600160401b031602179055505b6200025d828262000261565b5050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff166200025d576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620002bd3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b634e487b7160e01b600052604160045260246000fd5b80516001600160a01b03811681146200032f57600080fd5b919050565b600080604083850312156200034857600080fd5b82516001600160401b03808211156200036057600080fd5b818501915085601f8301126200037557600080fd5b81516020828211156200038c576200038c62000301565b8160051b604051601f19603f83011681018181108682111715620003b457620003b462000301565b604052928352818301935084810182019289841115620003d357600080fd5b948201945b83861015620003fc57620003ec8662000317565b85529482019493820193620003d8565b96506200040d905087820162000317565b9450505050509250929050565b634e487b7160e01b600052603260045260246000fd5b60006001600160401b038281166002600160401b031981016200046357634e487b7160e01b600052601160045260246000fd5b6001019392505050565b60805161448a6200049e6000396000818161030501528181610b9c01528181610f980152611667015261448a6000f3fe6080604052600436106102015760003560e01c80634cfa6d2c1161011d5780639e944965116100b0578063c416aa511161007f578063cd88b90311610064578063cd88b903146106dc578063d2ae2104146106fc578063d547741f1461074f57600080fd5b8063c416aa511461068a578063c7b2370b146106bc57600080fd5b80639e94496514610605578063a217fddf14610635578063af896a3b1461064a578063c358de0a1461066a57600080fd5b8063741bef1a116100ec578063741bef1a14610547578063790a72141461057457806391d14854146105a157806395d376d7146105f257600080fd5b80634cfa6d2c146104b757806351b6a0fd146104ef5780635c975abb1461050f578063724e78da1461052757600080fd5b80631a98b2e0116101955780632f2ff15d116101645780632f2ff15d1461043757806330bb3aac1461045757806336568abe14610477578063491606581461049757600080fd5b80631a98b2e01461038c578063248a9ca3146103ac57806326e67a37146103ea5780632de113761461041757600080fd5b80631095b6d7116101d15780631095b6d7146102d3578063116191b6146102f3578063127124171461034c57806316c38b3c1461036c57600080fd5b8062bf2e801461020d57806301e336671461026157806301ffc9a71461028357806302d6e8b0146102b357600080fd5b3661020857005b600080fd5b34801561021957600080fd5b50600154610249907d010000000000000000000000000000000000000000000000000000000000900461ffff1681565b60405161ffff90911681526020015b60405180910390f35b34801561026d57600080fd5b5061028161027c366004612f5b565b61076f565b005b34801561028f57600080fd5b506102a361029e366004612f97565b6107aa565b6040519015158152602001610258565b3480156102bf57600080fd5b506102816102ce366004612fd9565b610843565b3480156102df57600080fd5b506102816102ee366004612f5b565b61090e565b3480156102ff57600080fd5b506103277f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610258565b34801561035857600080fd5b5061028161036736600461304e565b610a9d565b34801561037857600080fd5b50610281610387366004613077565b610b20565b34801561039857600080fd5b506102816103a73660046130dd565b610b45565b3480156103b857600080fd5b506103dc6103c73660046131b7565b60009081526020819052604090206001015490565b604051908152602001610258565b3480156103f657600080fd5b5061040a6104053660046131e4565b610c67565b60405161025891906131ff565b34801561042357600080fd5b506102a361043236600461304e565b610cee565b34801561044357600080fd5b50610281610452366004613246565b610dd3565b34801561046357600080fd5b506103dc61047236600461328a565b610dfd565b34801561048357600080fd5b50610281610492366004613246565b610f0f565b3480156104a357600080fd5b506102816104b2366004613300565b610f41565b3480156104c357600080fd5b506103dc6104d23660046133a4565b600460209081526000928352604080842090915290825290205481565b3480156104fb57600080fd5b5061028161050a3660046133ce565b611068565b34801561051b57600080fd5b5060015460ff166102a3565b34801561053357600080fd5b5061028161054236600461304e565b611152565b34801561055357600080fd5b506002546103279073ffffffffffffffffffffffffffffffffffffffff1681565b34801561058057600080fd5b5061059461058f366004613460565b6111f7565b604051610258919061359d565b3480156105ad57600080fd5b506102a36105bc366004613246565b60009182526020828152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b6103dc6106003660046135b0565b61129c565b34801561061157600080fd5b506106256106203660046131e4565b6116dc565b6040516102589493929190613621565b34801561064157600080fd5b506103dc600081565b34801561065657600080fd5b506102816106653660046136a3565b611819565b34801561067657600080fd5b506102816106853660046136f7565b611a99565b34801561069657600080fd5b5060015461032790610100900473ffffffffffffffffffffffffffffffffffffffff1681565b3480156106c857600080fd5b506102816106d736600461304e565b611b47565b3480156106e857600080fd5b506102816106f7366004613712565b611beb565b34801561070857600080fd5b50600154610736907501000000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610258565b34801561075b57600080fd5b5061028161076a366004613246565b611c3c565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561079981611c61565b6107a4848484611c6b565b50505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061083d57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561086d81611c61565b60005b828110156108cf573684848381811061088b5761088b613758565b60400291909101915050602081018035906006906000906108ac90856131e4565b63ffffffff16815260208101919091526040016000206003015550600101610870565b507fd6dac4a884ac5f80781f154f28ed88464b2097f6b866143bb77e46736572136a8383604051610901929190613787565b60405180910390a1505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561093881611c61565b73ffffffffffffffffffffffffffffffffffffffff841660009081527f9b50f4667d2d24216ccbf0dce3a90c0f620fa4d895e7b069d80ff6247fd25620602052604090205460ff166109b6576040517f5ee08b9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820184905285169063fd9be52290604401600060405180830381600087803b158015610a2657600080fd5b505af1158015610a3a573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8089168252871660208201529081018590527f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb9250606001905060405180910390a150505050565b600154610100900473ffffffffffffffffffffffffffffffffffffffff163314610af3576040517f611136c800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b1d8160018054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611c9b565b50565b6000610b2b81611c61565b8115610b3d57610b39611e12565b5050565b610b39611e91565b60008585604051610b579291906137db565b6040519081900381207f1876eed9000000000000000000000000000000000000000000000000000000008252915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690631876eed990610be1908e908e908e908e908e9089908d908d908d90600401613834565b6020604051808303816000875af1158015610c00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c249190613893565b610c5a576040517f500c44b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050505050505050565b63ffffffff8116600090815260036020908152604091829020805483518184028101840190945280845260609392830182828015610ce257602002820191906000526020600020906000905b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411610cb35790505b50505050509050919050565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f93c430521711328044ae92d0f1f1286cf040bc4a382f1642bd89984e86630553602052604081205460ff1615610d4357506000919050565b6001547501000000000000000000000000000000000000000000900467ffffffffffffffff161580610db9575073ffffffffffffffffffffffffffffffffffffffff821660009081527f4ac82e3087b7dedf7f532cbc6915c722df8c1e31f1388c318a617b52760eaf8b602052604090205460ff165b15610dc657506001919050565b506000919050565b919050565b600082815260208190526040902060010154610dee81611c61565b610df88383611ef3565b505050565b6040805160808101825263ffffffff871680825267ffffffffffffffff871660208084019190915273ffffffffffffffffffffffffffffffffffffffff8088168486015260015461ffff7d01000000000000000000000000000000000000000000000000000000000082041660608601526000938452600690925284832094517ff0b81bb40000000000000000000000000000000000000000000000000000000081529294610100909204169163f0b81bb491610ec3918591908990899060040161399e565b602060405180830381865afa158015610ee0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f049190613a6e565b979650505050505050565b6040517fdec9f03100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008282604051610f539291906137db565b6040519081900381207f5f6970c3000000000000000000000000000000000000000000000000000000008252915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690635f6970c390610fd7908b908b908b908b908b908990600401613a87565b6020604051808303816000875af1158015610ff6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101a9190613893565b611050576040517f500c44b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61105e878787878787611fb9565b5050505050505050565b600061107381611c61565b60005b82811015611120573684848381811061109157611091613758565b606002919091019150506040810135600460006110b1602085018561304e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083602001602081019061110091906131e4565b63ffffffff16815260208101919091526040016000205550600101611076565b507f360a0efdea8fcc9a11ee20a2099e314ddcf49a941d66790cd4e5adea30faa0748383604051610901929190613ac8565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561117c81611c61565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527ff724a45d041687842411f2b977ef22ab8f43c8f1104f4592b42a00f9b34a643d906020015b60405180910390a15050565b80516020818301810180516005825292820191909301209152805461121b906138b0565b80601f0160208091040260200160405190810160405280929190818152602001828054611247906138b0565b80156112945780601f1061126957610100808354040283529160200191611294565b820191906000526020600020905b81548152906001019060200180831161127757829003601f168201915b505050505081565b60006112ae60a085016080860161304e565b6112b781610cee565b6112ed576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006113053361130060208901896131e4565b61203e565b60408051608081019091529091506000908061132460208a018a6131e4565b63ffffffff16815260200161133f60808a0160608b01613b36565b67ffffffffffffffff16815260200161135e60a08a0160808b0161304e565b73ffffffffffffffffffffffffffffffffffffffff1681526001547d010000000000000000000000000000000000000000000000000000000000900461ffff1660209182015290915060009060069082906113bb908b018b6131e4565b63ffffffff1663ffffffff1681526020019081526020016000206040518060800160405290816000820180546113f0906138b0565b80601f016020809104026020016040519081016040528092919081815260200182805461141c906138b0565b80156114695780601f1061143e57610100808354040283529160200191611469565b820191906000526020600020905b81548152906001019060200180831161144c57829003601f168201915b50505050508152602001600182018054611482906138b0565b80601f01602080910402602001604051908101604052809291908181526020018280546114ae906138b0565b80156114fb5780601f106114d0576101008083540402835291602001916114fb565b820191906000526020600020905b8154815290600101906020018083116114de57829003601f168201915b5050509183525050600282015461ffff16602080830191909152600390920154604090910152909150600090611577908590611539908c018c613b51565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060408c01356120d5565b6001546040517fd135ca93000000000000000000000000000000000000000000000000000000008152919250610100900473ffffffffffffffffffffffffffffffffffffffff169063d135ca93906115dd908690869086908e908e903390600401613bb6565b6020604051808303816000875af11580156115fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116209190613a6e565b825160208401516040517f1c92115f00000000000000000000000000000000000000000000000000000000815292985073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001692631c92115f9261169e9290918690600401613cc9565b600060405180830381600087803b1580156116b857600080fd5b505af11580156116cc573d6000803e3d6000fd5b5050505050505050509392505050565b6006602052600090815260409020805481906116f7906138b0565b80601f0160208091040260200160405190810160405280929190818152602001828054611723906138b0565b80156117705780601f1061174557610100808354040283529160200191611770565b820191906000526020600020905b81548152906001019060200180831161175357829003601f168201915b505050505090806001018054611785906138b0565b80601f01602080910402602001604051908101604052809291908181526020018280546117b1906138b0565b80156117fe5780601f106117d3576101008083540402835291602001916117fe565b820191906000526020600020905b8154815290600101906020018083116117e157829003601f168201915b505050506002830154600390930154919261ffff1691905084565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561184381611c61565b60005b82811015611a67573684848381811061186157611861613758565b90506020028101906118739190613d0c565b905060056006600061188860208501856131e4565b63ffffffff1663ffffffff1681526020019081526020016000206000016040516118b29190613d4a565b908152602001604051809103902060006118cc9190612e3f565b6118d96040820182613b51565b60056118e86020850185613b51565b6040516118f69291906137db565b90815260200160405180910390209182611911929190613e26565b5060408051608081019091528061192b6020840184613b51565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050908252506020016119726040840184613b51565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050908252506020016119bc60808401606085016136f7565b61ffff16815260808301356020918201526006906000906119df908501856131e4565b63ffffffff168152602081019190915260400160002081518190611a039082613f40565b5060208201516001820190611a189082613f40565b5060408201516002820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff90921691909117905560609091015160039091015550600101611846565b507f53ede267f8a00cf87be90c85641900454b96a922b10a82a0d5f5b4d93b16b38a83836040516109019291906140be565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611ac381611c61565b600180547fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167d01000000000000000000000000000000000000000000000000000000000061ffff8516908102919091179091556040519081527f7af0ac740036ffb1c97b03697859d729e80a44ae5030543d64971c313565ab4d906020016111eb565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611b7181611c61565b600180547fffffffffffffffffffffff0000000000000000000000000000000000000000ff1661010073ffffffffffffffffffffffffffffffffffffffff8516908102919091179091556040519081527f1399be28223800f8669b3ba5f8721d9fc16fc4e8d0bbf98378791c8c5a3015e0906020016111eb565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611c1581611c61565b63ffffffff84166000908152600360205260409020611c35908484612e79565b5050505050565b600082815260208190526040902060010154611c5781611c61565b610df883836120ea565b610b1d81336121af565b73ffffffffffffffffffffffffffffffffffffffff8316611c9057610df88282612267565b610df883838361236d565b6040517ffaaebd2100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff84169063faaebd2190602401602060405180830381865afa158015611d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d2c9190613a6e565b90508015610df8576040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301526024820183905284169063fd9be52290604401600060405180830381600087803b158015611da457600080fd5b505af1158015611db8573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8088168252861660208201529081018490527f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb92506060019050610901565b611e1a6123db565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016811790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b611e9961244a565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33611e67565b505050505050505050565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca82148015611f50575060008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16155b15611faf5760018054601590611f88907501000000000000000000000000000000000000000000900467ffffffffffffffff16614205565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610b3982826124b6565b61202c86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a0181900481028201810190925288815292508891508790819084018382808284376000920191909152506125a692505050565b612036828261269c565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260046020908152604080832063ffffffff851684529091529020548061083d576040517ff25127e600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015263ffffffff831660248201526044015b60405180910390fd5b60606120e2848484612724565b949350505050565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca82148015612146575060008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff165b156121a5576001805460159061217e907501000000000000000000000000000000000000000000900467ffffffffffffffff1661422c565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610b398282612753565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610b39576121ed8161280a565b6121f8836020612829565b60405160200161220992919061426e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526120cc9160040161359d565b73ffffffffffffffffffffffffffffffffffffffff82166122b4576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d806000811461230e576040519150601f19603f3d011682016040523d82523d6000602084013e612313565b606091505b5050905080610df8576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602481018390526044016120cc565b73ffffffffffffffffffffffffffffffffffffffff82166123ba576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610df873ffffffffffffffffffffffffffffffffffffffff84168383612a73565b60015460ff1615612448576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016120cc565b565b60015460ff16612448576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016120cc565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610b395760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556125483390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60006005836040516125b891906142ef565b908152602001604051809103902080546125d1906138b0565b80601f01602080910402602001604051908101604052809291908181526020018280546125fd906138b0565b801561264a5780601f1061261f5761010080835404028352916020019161264a565b820191906000526020600020905b81548152906001019060200180831161262d57829003601f168201915b505050505090508080519060200120828051906020012014610df85782826040517f5cc0c62a0000000000000000000000000000000000000000000000000000000081526004016120cc929190614301565b60008060006126ab8585612b00565b9250925092508273ffffffffffffffffffffffffffffffffffffffff16630223536e838367ffffffffffffffff6040518463ffffffff1660e01b81526004016126f69392919061432f565b600060405180830381600087803b15801561271057600080fd5b505af1158015611ee8573d6000803e3d6000fd5b606083828460405160200161273b93929190614362565b60405160208183030381529060405290509392505050565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1615610b395760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b606061083d73ffffffffffffffffffffffffffffffffffffffff831660145b6060600061283883600261438f565b6128439060026143a6565b67ffffffffffffffff81111561285b5761285b613431565b6040519080825280601f01601f191660200182016040528015612885576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106128bc576128bc613758565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061291f5761291f613758565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600061295b84600261438f565b6129669060016143a6565b90505b6001811115612a03577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106129a7576129a7613758565b1a60f81b8282815181106129bd576129bd613758565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c936129fc816143b9565b9050612969565b508315612a6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016120cc565b9392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610df8908490612bcf565b6000606081612b11605160406143a6565b8414612b49576040517ff1d10e0d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612b66612b5a6020600087896143ee565b612b6391614418565b90565b9250612b766040602086886143ee565b612b7f91614418565b9050612b8e84604081886143ee565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509598929750929550909350505050565b6000612c31826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16612cde9092919063ffffffff16565b9050805160001480612c52575080806020019051810190612c529190613893565b610df8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016120cc565b60606120e28484600085856000808673ffffffffffffffffffffffffffffffffffffffff168587604051612d1291906142ef565b60006040518083038185875af1925050503d8060008114612d4f576040519150601f19603f3d011682016040523d82523d6000602084013e612d54565b606091505b5091509150610f048783838760608315612df6578251600003612def5773ffffffffffffffffffffffffffffffffffffffff85163b612def576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016120cc565b50816120e2565b6120e28383815115612e0b5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120cc919061359d565b508054612e4b906138b0565b6000825580601f10612e5b575050565b601f016020900490600052602060002090810190610b1d9190612f22565b82805482825590600052602060002090601f01602090048101928215612f125791602002820160005b83821115612ee357833560ff1683826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302612ea2565b8015612f105782816101000a81549060ff0219169055600101602081600001049283019260010302612ee3565b505b50612f1e929150612f22565b5090565b5b80821115612f1e5760008155600101612f23565b803573ffffffffffffffffffffffffffffffffffffffff81168114610dce57600080fd5b600080600060608486031215612f7057600080fd5b612f7984612f37565b9250612f8760208501612f37565b9150604084013590509250925092565b600060208284031215612fa957600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114612a6c57600080fd5b60008060208385031215612fec57600080fd5b823567ffffffffffffffff8082111561300457600080fd5b818501915085601f83011261301857600080fd5b81358181111561302757600080fd5b8660208260061b850101111561303c57600080fd5b60209290920196919550909350505050565b60006020828403121561306057600080fd5b612a6c82612f37565b8015158114610b1d57600080fd5b60006020828403121561308957600080fd5b8135612a6c81613069565b60008083601f8401126130a657600080fd5b50813567ffffffffffffffff8111156130be57600080fd5b6020830191508360208285010111156130d657600080fd5b9250929050565b60008060008060008060008060008060c08b8d0312156130fc57600080fd5b8a35995060208b013567ffffffffffffffff8082111561311b57600080fd5b6131278e838f01613094565b909b50995060408d013591508082111561314057600080fd5b61314c8e838f01613094565b909950975060608d013591508082111561316557600080fd5b6131718e838f01613094565b909750955060808d013591508082111561318a57600080fd5b506131978d828e01613094565b9150809450508092505060a08b013590509295989b9194979a5092959850565b6000602082840312156131c957600080fd5b5035919050565b803563ffffffff81168114610dce57600080fd5b6000602082840312156131f657600080fd5b612a6c826131d0565b6020808252825182820181905260009190848201906040850190845b8181101561323a57835160ff168352928401929184019160010161321b565b50909695505050505050565b6000806040838503121561325957600080fd5b8235915061326960208401612f37565b90509250929050565b803567ffffffffffffffff81168114610dce57600080fd5b6000806000806000608086880312156132a257600080fd5b6132ab866131d0565b94506132b960208701613272565b93506132c760408701612f37565b9250606086013567ffffffffffffffff8111156132e357600080fd5b6132ef88828901613094565b969995985093965092949392505050565b60008060008060008060006080888a03121561331b57600080fd5b87359650602088013567ffffffffffffffff8082111561333a57600080fd5b6133468b838c01613094565b909850965060408a013591508082111561335f57600080fd5b61336b8b838c01613094565b909650945060608a013591508082111561338457600080fd5b506133918a828b01613094565b989b979a50959850939692959293505050565b600080604083850312156133b757600080fd5b6133c083612f37565b9150613269602084016131d0565b600080602083850312156133e157600080fd5b823567ffffffffffffffff808211156133f957600080fd5b818501915085601f83011261340d57600080fd5b81358181111561341c57600080fd5b86602060608302850101111561303c57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561347257600080fd5b813567ffffffffffffffff8082111561348a57600080fd5b818401915084601f83011261349e57600080fd5b8135818111156134b0576134b0613431565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156134f6576134f6613431565b8160405282815287602084870101111561350f57600080fd5b826020860160208301376000928101602001929092525095945050505050565b60005b8381101561354a578181015183820152602001613532565b50506000910152565b6000815180845261356b81602086016020860161352f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000612a6c6020830184613553565b6000806000604084860312156135c557600080fd5b833567ffffffffffffffff808211156135dd57600080fd5b9085019060a082880312156135f157600080fd5b9093506020850135908082111561360757600080fd5b5061361486828701613094565b9497909650939450505050565b6080815260006136346080830187613553565b82810360208401526136468187613553565b61ffff95909516604084015250506060015292915050565b60008083601f84011261367057600080fd5b50813567ffffffffffffffff81111561368857600080fd5b6020830191508360208260051b85010111156130d657600080fd5b600080602083850312156136b657600080fd5b823567ffffffffffffffff8111156136cd57600080fd5b6136d98582860161365e565b90969095509350505050565b803561ffff81168114610dce57600080fd5b60006020828403121561370957600080fd5b612a6c826136e5565b60008060006040848603121561372757600080fd5b613730846131d0565b9250602084013567ffffffffffffffff81111561374c57600080fd5b6136148682870161365e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020808252818101839052600090604080840186845b878110156137ce5763ffffffff6137b3836131d0565b1683528185013585840152918301919083019060010161379d565b5090979650505050505050565b8183823760009101908152919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b89815260c06020820152600061384e60c083018a8c6137eb565b828103604084015261386181898b6137eb565b9050866060840152828103608084015261387c8186886137eb565b9150508260a08301529a9950505050505050505050565b6000602082840312156138a557600080fd5b8151612a6c81613069565b600181811c908216806138c457607f821691505b6020821081036138fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60008154613910816138b0565b80855260206001838116801561392d576001811461396557613993565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008516838901528284151560051b8901019550613993565b866000528260002060005b8581101561398b5781548a8201860152908301908401613970565b890184019650505b505050505092915050565b845163ffffffff16815260208086015167ffffffffffffffff169082015260408086015173ffffffffffffffffffffffffffffffffffffffff169082015260608086015161ffff169082015260c06080820152608060c08201526000613a08610140830186613903565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff408382030160e0840152613a3f8160018801613903565b905061ffff600287015416610100840152600386015461012084015282810360a0840152610f048185876137eb565b600060208284031215613a8057600080fd5b5051919050565b868152608060208201526000613aa16080830187896137eb565b8281036040840152613ab48186886137eb565b915050826060830152979650505050505050565b6020808252818101839052600090604080840186845b878110156137ce5773ffffffffffffffffffffffffffffffffffffffff613b0483612f37565b16835263ffffffff613b178684016131d0565b1683860152818401358484015260609283019290910190600101613ade565b600060208284031215613b4857600080fd5b612a6c82613272565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613b8657600080fd5b83018035915067ffffffffffffffff821115613ba157600080fd5b6020019150368190038213156130d657600080fd5b865163ffffffff16815260208088015167ffffffffffffffff169082015260408088015173ffffffffffffffffffffffffffffffffffffffff169082015260608088015161ffff169082015260006101008060808401528751608082850152613c23610180850182613553565b91505060208801517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084830301610120850152613c608282613553565b91505061ffff604089015116610140840152606088015161016084015282810360a0840152613c8f8188613553565b905082810360c0840152613ca48186886137eb565b915050610f0460e083018473ffffffffffffffffffffffffffffffffffffffff169052565b606081526000613cdc6060830186613553565b8281036020840152613cee8186613553565b90508281036040840152613d028185613553565b9695505050505050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61833603018112613d4057600080fd5b9190910192915050565b6000808354613d58816138b0565b60018281168015613d705760018114613da357613dd2565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450613dd2565b8760005260208060002060005b85811015613dc95781548a820152908401908201613db0565b50505082870194505b50929695505050505050565b601f821115610df8576000816000526020600020601f850160051c81016020861015613e075750805b601f850160051c820191505b8181101561203657828155600101613e13565b67ffffffffffffffff831115613e3e57613e3e613431565b613e5283613e4c83546138b0565b83613dde565b6000601f841160018114613ea45760008515613e6e5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611c35565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015613ef35786850135825560209485019460019092019101613ed3565b5086821015613f2e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b815167ffffffffffffffff811115613f5a57613f5a613431565b613f6e81613f6884546138b0565b84613dde565b602080601f831160018114613fc15760008415613f8b5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612036565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561400e57888601518255948401946001909101908401613fef565b508582101561404a57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261408f57600080fd5b830160208101925035905067ffffffffffffffff8111156140af57600080fd5b8036038213156130d657600080fd5b60208082528181018390526000906040808401600586901b850182018785805b898110156141c7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc089850301855282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff618c360301811261413e578283fd5b8b0160a063ffffffff614150836131d0565b16865261415f8983018361405a565b828b89015261417183890182846137eb565b925050506141818883018361405a565b8783038a8901526141938382846137eb565b92505050606061ffff6141a78285016136e5565b1690870152608091820135919095015293860193918601916001016140de565b50919998505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff808316818103614222576142226141d6565b6001019392505050565b600067ffffffffffffffff821680614246576142466141d6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516142a681601785016020880161352f565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516142e381602884016020880161352f565b01602801949350505050565b60008251613d4081846020870161352f565b6040815260006143146040830185613553565b82810360208401526143268185613553565b95945050505050565b6060815260006143426060830186613553565b905083602083015267ffffffffffffffff83166040830152949350505050565b8381528260208201526000825161438081604085016020870161352f565b91909101604001949350505050565b808202811582820484141761083d5761083d6141d6565b8082018082111561083d5761083d6141d6565b6000816143c8576143c86141d6565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b600080858511156143fe57600080fd5b8386111561440b57600080fd5b5050820193919092039150565b8035602083101561083d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b169291505056fea264697066735822122049601e7575d86903bb731f91d4cc0ef49fe5c052bc43963dbb0df586471d80a464736f6c63430008160033",
|
|
1163
|
+
"deployedBytecode": "0x6080604052600436106102015760003560e01c80634cfa6d2c1161011d5780639e944965116100b0578063c416aa511161007f578063cd88b90311610064578063cd88b903146106dc578063d2ae2104146106fc578063d547741f1461074f57600080fd5b8063c416aa511461068a578063c7b2370b146106bc57600080fd5b80639e94496514610605578063a217fddf14610635578063af896a3b1461064a578063c358de0a1461066a57600080fd5b8063741bef1a116100ec578063741bef1a14610547578063790a72141461057457806391d14854146105a157806395d376d7146105f257600080fd5b80634cfa6d2c146104b757806351b6a0fd146104ef5780635c975abb1461050f578063724e78da1461052757600080fd5b80631a98b2e0116101955780632f2ff15d116101645780632f2ff15d1461043757806330bb3aac1461045757806336568abe14610477578063491606581461049757600080fd5b80631a98b2e01461038c578063248a9ca3146103ac57806326e67a37146103ea5780632de113761461041757600080fd5b80631095b6d7116101d15780631095b6d7146102d3578063116191b6146102f3578063127124171461034c57806316c38b3c1461036c57600080fd5b8062bf2e801461020d57806301e336671461026157806301ffc9a71461028357806302d6e8b0146102b357600080fd5b3661020857005b600080fd5b34801561021957600080fd5b50600154610249907d010000000000000000000000000000000000000000000000000000000000900461ffff1681565b60405161ffff90911681526020015b60405180910390f35b34801561026d57600080fd5b5061028161027c366004612f5b565b61076f565b005b34801561028f57600080fd5b506102a361029e366004612f97565b6107aa565b6040519015158152602001610258565b3480156102bf57600080fd5b506102816102ce366004612fd9565b610843565b3480156102df57600080fd5b506102816102ee366004612f5b565b61090e565b3480156102ff57600080fd5b506103277f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610258565b34801561035857600080fd5b5061028161036736600461304e565b610a9d565b34801561037857600080fd5b50610281610387366004613077565b610b20565b34801561039857600080fd5b506102816103a73660046130dd565b610b45565b3480156103b857600080fd5b506103dc6103c73660046131b7565b60009081526020819052604090206001015490565b604051908152602001610258565b3480156103f657600080fd5b5061040a6104053660046131e4565b610c67565b60405161025891906131ff565b34801561042357600080fd5b506102a361043236600461304e565b610cee565b34801561044357600080fd5b50610281610452366004613246565b610dd3565b34801561046357600080fd5b506103dc61047236600461328a565b610dfd565b34801561048357600080fd5b50610281610492366004613246565b610f0f565b3480156104a357600080fd5b506102816104b2366004613300565b610f41565b3480156104c357600080fd5b506103dc6104d23660046133a4565b600460209081526000928352604080842090915290825290205481565b3480156104fb57600080fd5b5061028161050a3660046133ce565b611068565b34801561051b57600080fd5b5060015460ff166102a3565b34801561053357600080fd5b5061028161054236600461304e565b611152565b34801561055357600080fd5b506002546103279073ffffffffffffffffffffffffffffffffffffffff1681565b34801561058057600080fd5b5061059461058f366004613460565b6111f7565b604051610258919061359d565b3480156105ad57600080fd5b506102a36105bc366004613246565b60009182526020828152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b6103dc6106003660046135b0565b61129c565b34801561061157600080fd5b506106256106203660046131e4565b6116dc565b6040516102589493929190613621565b34801561064157600080fd5b506103dc600081565b34801561065657600080fd5b506102816106653660046136a3565b611819565b34801561067657600080fd5b506102816106853660046136f7565b611a99565b34801561069657600080fd5b5060015461032790610100900473ffffffffffffffffffffffffffffffffffffffff1681565b3480156106c857600080fd5b506102816106d736600461304e565b611b47565b3480156106e857600080fd5b506102816106f7366004613712565b611beb565b34801561070857600080fd5b50600154610736907501000000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610258565b34801561075b57600080fd5b5061028161076a366004613246565b611c3c565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561079981611c61565b6107a4848484611c6b565b50505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061083d57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561086d81611c61565b60005b828110156108cf573684848381811061088b5761088b613758565b60400291909101915050602081018035906006906000906108ac90856131e4565b63ffffffff16815260208101919091526040016000206003015550600101610870565b507fd6dac4a884ac5f80781f154f28ed88464b2097f6b866143bb77e46736572136a8383604051610901929190613787565b60405180910390a1505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561093881611c61565b73ffffffffffffffffffffffffffffffffffffffff841660009081527f9b50f4667d2d24216ccbf0dce3a90c0f620fa4d895e7b069d80ff6247fd25620602052604090205460ff166109b6576040517f5ee08b9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820184905285169063fd9be52290604401600060405180830381600087803b158015610a2657600080fd5b505af1158015610a3a573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8089168252871660208201529081018590527f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb9250606001905060405180910390a150505050565b600154610100900473ffffffffffffffffffffffffffffffffffffffff163314610af3576040517f611136c800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610b1d8160018054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611c9b565b50565b6000610b2b81611c61565b8115610b3d57610b39611e12565b5050565b610b39611e91565b60008585604051610b579291906137db565b6040519081900381207f1876eed9000000000000000000000000000000000000000000000000000000008252915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690631876eed990610be1908e908e908e908e908e9089908d908d908d90600401613834565b6020604051808303816000875af1158015610c00573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c249190613893565b610c5a576040517f500c44b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050505050505050505050565b63ffffffff8116600090815260036020908152604091829020805483518184028101840190945280845260609392830182828015610ce257602002820191906000526020600020906000905b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411610cb35790505b50505050509050919050565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f93c430521711328044ae92d0f1f1286cf040bc4a382f1642bd89984e86630553602052604081205460ff1615610d4357506000919050565b6001547501000000000000000000000000000000000000000000900467ffffffffffffffff161580610db9575073ffffffffffffffffffffffffffffffffffffffff821660009081527f4ac82e3087b7dedf7f532cbc6915c722df8c1e31f1388c318a617b52760eaf8b602052604090205460ff165b15610dc657506001919050565b506000919050565b919050565b600082815260208190526040902060010154610dee81611c61565b610df88383611ef3565b505050565b6040805160808101825263ffffffff871680825267ffffffffffffffff871660208084019190915273ffffffffffffffffffffffffffffffffffffffff8088168486015260015461ffff7d01000000000000000000000000000000000000000000000000000000000082041660608601526000938452600690925284832094517ff0b81bb40000000000000000000000000000000000000000000000000000000081529294610100909204169163f0b81bb491610ec3918591908990899060040161399e565b602060405180830381865afa158015610ee0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f049190613a6e565b979650505050505050565b6040517fdec9f03100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008282604051610f539291906137db565b6040519081900381207f5f6970c3000000000000000000000000000000000000000000000000000000008252915073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690635f6970c390610fd7908b908b908b908b908b908990600401613a87565b6020604051808303816000875af1158015610ff6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061101a9190613893565b611050576040517f500c44b400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61105e878787878787611fb9565b5050505050505050565b600061107381611c61565b60005b82811015611120573684848381811061109157611091613758565b606002919091019150506040810135600460006110b1602085018561304e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083602001602081019061110091906131e4565b63ffffffff16815260208101919091526040016000205550600101611076565b507f360a0efdea8fcc9a11ee20a2099e314ddcf49a941d66790cd4e5adea30faa0748383604051610901929190613ac8565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561117c81611c61565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527ff724a45d041687842411f2b977ef22ab8f43c8f1104f4592b42a00f9b34a643d906020015b60405180910390a15050565b80516020818301810180516005825292820191909301209152805461121b906138b0565b80601f0160208091040260200160405190810160405280929190818152602001828054611247906138b0565b80156112945780601f1061126957610100808354040283529160200191611294565b820191906000526020600020905b81548152906001019060200180831161127757829003601f168201915b505050505081565b60006112ae60a085016080860161304e565b6112b781610cee565b6112ed576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006113053361130060208901896131e4565b61203e565b60408051608081019091529091506000908061132460208a018a6131e4565b63ffffffff16815260200161133f60808a0160608b01613b36565b67ffffffffffffffff16815260200161135e60a08a0160808b0161304e565b73ffffffffffffffffffffffffffffffffffffffff1681526001547d010000000000000000000000000000000000000000000000000000000000900461ffff1660209182015290915060009060069082906113bb908b018b6131e4565b63ffffffff1663ffffffff1681526020019081526020016000206040518060800160405290816000820180546113f0906138b0565b80601f016020809104026020016040519081016040528092919081815260200182805461141c906138b0565b80156114695780601f1061143e57610100808354040283529160200191611469565b820191906000526020600020905b81548152906001019060200180831161144c57829003601f168201915b50505050508152602001600182018054611482906138b0565b80601f01602080910402602001604051908101604052809291908181526020018280546114ae906138b0565b80156114fb5780601f106114d0576101008083540402835291602001916114fb565b820191906000526020600020905b8154815290600101906020018083116114de57829003601f168201915b5050509183525050600282015461ffff16602080830191909152600390920154604090910152909150600090611577908590611539908c018c613b51565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060408c01356120d5565b6001546040517fd135ca93000000000000000000000000000000000000000000000000000000008152919250610100900473ffffffffffffffffffffffffffffffffffffffff169063d135ca93906115dd908690869086908e908e903390600401613bb6565b6020604051808303816000875af11580156115fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116209190613a6e565b825160208401516040517f1c92115f00000000000000000000000000000000000000000000000000000000815292985073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001692631c92115f9261169e9290918690600401613cc9565b600060405180830381600087803b1580156116b857600080fd5b505af11580156116cc573d6000803e3d6000fd5b5050505050505050509392505050565b6006602052600090815260409020805481906116f7906138b0565b80601f0160208091040260200160405190810160405280929190818152602001828054611723906138b0565b80156117705780601f1061174557610100808354040283529160200191611770565b820191906000526020600020905b81548152906001019060200180831161175357829003601f168201915b505050505090806001018054611785906138b0565b80601f01602080910402602001604051908101604052809291908181526020018280546117b1906138b0565b80156117fe5780601f106117d3576101008083540402835291602001916117fe565b820191906000526020600020905b8154815290600101906020018083116117e157829003601f168201915b505050506002830154600390930154919261ffff1691905084565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561184381611c61565b60005b82811015611a67573684848381811061186157611861613758565b90506020028101906118739190613d0c565b905060056006600061188860208501856131e4565b63ffffffff1663ffffffff1681526020019081526020016000206000016040516118b29190613d4a565b908152602001604051809103902060006118cc9190612e3f565b6118d96040820182613b51565b60056118e86020850185613b51565b6040516118f69291906137db565b90815260200160405180910390209182611911929190613e26565b5060408051608081019091528061192b6020840184613b51565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050908252506020016119726040840184613b51565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050908252506020016119bc60808401606085016136f7565b61ffff16815260808301356020918201526006906000906119df908501856131e4565b63ffffffff168152602081019190915260400160002081518190611a039082613f40565b5060208201516001820190611a189082613f40565b5060408201516002820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff90921691909117905560609091015160039091015550600101611846565b507f53ede267f8a00cf87be90c85641900454b96a922b10a82a0d5f5b4d93b16b38a83836040516109019291906140be565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611ac381611c61565b600180547fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167d01000000000000000000000000000000000000000000000000000000000061ffff8516908102919091179091556040519081527f7af0ac740036ffb1c97b03697859d729e80a44ae5030543d64971c313565ab4d906020016111eb565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611b7181611c61565b600180547fffffffffffffffffffffff0000000000000000000000000000000000000000ff1661010073ffffffffffffffffffffffffffffffffffffffff8516908102919091179091556040519081527f1399be28223800f8669b3ba5f8721d9fc16fc4e8d0bbf98378791c8c5a3015e0906020016111eb565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611c1581611c61565b63ffffffff84166000908152600360205260409020611c35908484612e79565b5050505050565b600082815260208190526040902060010154611c5781611c61565b610df883836120ea565b610b1d81336121af565b73ffffffffffffffffffffffffffffffffffffffff8316611c9057610df88282612267565b610df883838361236d565b6040517ffaaebd2100000000000000000000000000000000000000000000000000000000815230600482015260009073ffffffffffffffffffffffffffffffffffffffff84169063faaebd2190602401602060405180830381865afa158015611d08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d2c9190613a6e565b90508015610df8576040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83811660048301526024820183905284169063fd9be52290604401600060405180830381600087803b158015611da457600080fd5b505af1158015611db8573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8088168252861660208201529081018490527f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb92506060019050610901565b611e1a6123db565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016811790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b611e9961244a565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33611e67565b505050505050505050565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca82148015611f50575060008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16155b15611faf5760018054601590611f88907501000000000000000000000000000000000000000000900467ffffffffffffffff16614205565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610b3982826124b6565b61202c86868080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050604080516020601f8a0181900481028201810190925288815292508891508790819084018382808284376000920191909152506125a692505050565b612036828261269c565b505050505050565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260046020908152604080832063ffffffff851684529091529020548061083d576040517ff25127e600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015263ffffffff831660248201526044015b60405180910390fd5b60606120e2848484612724565b949350505050565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca82148015612146575060008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff165b156121a5576001805460159061217e907501000000000000000000000000000000000000000000900467ffffffffffffffff1661422c565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610b398282612753565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610b39576121ed8161280a565b6121f8836020612829565b60405160200161220992919061426e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a00000000000000000000000000000000000000000000000000000000082526120cc9160040161359d565b73ffffffffffffffffffffffffffffffffffffffff82166122b4576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d806000811461230e576040519150601f19603f3d011682016040523d82523d6000602084013e612313565b606091505b5050905080610df8576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84166004820152602481018390526044016120cc565b73ffffffffffffffffffffffffffffffffffffffff82166123ba576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610df873ffffffffffffffffffffffffffffffffffffffff84168383612a73565b60015460ff1615612448576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a207061757365640000000000000000000000000000000060448201526064016120cc565b565b60015460ff16612448576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f742070617573656400000000000000000000000060448201526064016120cc565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610b395760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556125483390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60006005836040516125b891906142ef565b908152602001604051809103902080546125d1906138b0565b80601f01602080910402602001604051908101604052809291908181526020018280546125fd906138b0565b801561264a5780601f1061261f5761010080835404028352916020019161264a565b820191906000526020600020905b81548152906001019060200180831161262d57829003601f168201915b505050505090508080519060200120828051906020012014610df85782826040517f5cc0c62a0000000000000000000000000000000000000000000000000000000081526004016120cc929190614301565b60008060006126ab8585612b00565b9250925092508273ffffffffffffffffffffffffffffffffffffffff16630223536e838367ffffffffffffffff6040518463ffffffff1660e01b81526004016126f69392919061432f565b600060405180830381600087803b15801561271057600080fd5b505af1158015611ee8573d6000803e3d6000fd5b606083828460405160200161273b93929190614362565b60405160208183030381529060405290509392505050565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1615610b395760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b606061083d73ffffffffffffffffffffffffffffffffffffffff831660145b6060600061283883600261438f565b6128439060026143a6565b67ffffffffffffffff81111561285b5761285b613431565b6040519080825280601f01601f191660200182016040528015612885576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106128bc576128bc613758565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061291f5761291f613758565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600061295b84600261438f565b6129669060016143a6565b90505b6001811115612a03577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106129a7576129a7613758565b1a60f81b8282815181106129bd576129bd613758565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c936129fc816143b9565b9050612969565b508315612a6c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016120cc565b9392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052610df8908490612bcf565b6000606081612b11605160406143a6565b8414612b49576040517ff1d10e0d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612b66612b5a6020600087896143ee565b612b6391614418565b90565b9250612b766040602086886143ee565b612b7f91614418565b9050612b8e84604081886143ee565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509598929750929550909350505050565b6000612c31826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff16612cde9092919063ffffffff16565b9050805160001480612c52575080806020019051810190612c529190613893565b610df8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016120cc565b60606120e28484600085856000808673ffffffffffffffffffffffffffffffffffffffff168587604051612d1291906142ef565b60006040518083038185875af1925050503d8060008114612d4f576040519150601f19603f3d011682016040523d82523d6000602084013e612d54565b606091505b5091509150610f048783838760608315612df6578251600003612def5773ffffffffffffffffffffffffffffffffffffffff85163b612def576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016120cc565b50816120e2565b6120e28383815115612e0b5781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120cc919061359d565b508054612e4b906138b0565b6000825580601f10612e5b575050565b601f016020900490600052602060002090810190610b1d9190612f22565b82805482825590600052602060002090601f01602090048101928215612f125791602002820160005b83821115612ee357833560ff1683826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302612ea2565b8015612f105782816101000a81549060ff0219169055600101602081600001049283019260010302612ee3565b505b50612f1e929150612f22565b5090565b5b80821115612f1e5760008155600101612f23565b803573ffffffffffffffffffffffffffffffffffffffff81168114610dce57600080fd5b600080600060608486031215612f7057600080fd5b612f7984612f37565b9250612f8760208501612f37565b9150604084013590509250925092565b600060208284031215612fa957600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114612a6c57600080fd5b60008060208385031215612fec57600080fd5b823567ffffffffffffffff8082111561300457600080fd5b818501915085601f83011261301857600080fd5b81358181111561302757600080fd5b8660208260061b850101111561303c57600080fd5b60209290920196919550909350505050565b60006020828403121561306057600080fd5b612a6c82612f37565b8015158114610b1d57600080fd5b60006020828403121561308957600080fd5b8135612a6c81613069565b60008083601f8401126130a657600080fd5b50813567ffffffffffffffff8111156130be57600080fd5b6020830191508360208285010111156130d657600080fd5b9250929050565b60008060008060008060008060008060c08b8d0312156130fc57600080fd5b8a35995060208b013567ffffffffffffffff8082111561311b57600080fd5b6131278e838f01613094565b909b50995060408d013591508082111561314057600080fd5b61314c8e838f01613094565b909950975060608d013591508082111561316557600080fd5b6131718e838f01613094565b909750955060808d013591508082111561318a57600080fd5b506131978d828e01613094565b9150809450508092505060a08b013590509295989b9194979a5092959850565b6000602082840312156131c957600080fd5b5035919050565b803563ffffffff81168114610dce57600080fd5b6000602082840312156131f657600080fd5b612a6c826131d0565b6020808252825182820181905260009190848201906040850190845b8181101561323a57835160ff168352928401929184019160010161321b565b50909695505050505050565b6000806040838503121561325957600080fd5b8235915061326960208401612f37565b90509250929050565b803567ffffffffffffffff81168114610dce57600080fd5b6000806000806000608086880312156132a257600080fd5b6132ab866131d0565b94506132b960208701613272565b93506132c760408701612f37565b9250606086013567ffffffffffffffff8111156132e357600080fd5b6132ef88828901613094565b969995985093965092949392505050565b60008060008060008060006080888a03121561331b57600080fd5b87359650602088013567ffffffffffffffff8082111561333a57600080fd5b6133468b838c01613094565b909850965060408a013591508082111561335f57600080fd5b61336b8b838c01613094565b909650945060608a013591508082111561338457600080fd5b506133918a828b01613094565b989b979a50959850939692959293505050565b600080604083850312156133b757600080fd5b6133c083612f37565b9150613269602084016131d0565b600080602083850312156133e157600080fd5b823567ffffffffffffffff808211156133f957600080fd5b818501915085601f83011261340d57600080fd5b81358181111561341c57600080fd5b86602060608302850101111561303c57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60006020828403121561347257600080fd5b813567ffffffffffffffff8082111561348a57600080fd5b818401915084601f83011261349e57600080fd5b8135818111156134b0576134b0613431565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f011681019083821181831017156134f6576134f6613431565b8160405282815287602084870101111561350f57600080fd5b826020860160208301376000928101602001929092525095945050505050565b60005b8381101561354a578181015183820152602001613532565b50506000910152565b6000815180845261356b81602086016020860161352f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000612a6c6020830184613553565b6000806000604084860312156135c557600080fd5b833567ffffffffffffffff808211156135dd57600080fd5b9085019060a082880312156135f157600080fd5b9093506020850135908082111561360757600080fd5b5061361486828701613094565b9497909650939450505050565b6080815260006136346080830187613553565b82810360208401526136468187613553565b61ffff95909516604084015250506060015292915050565b60008083601f84011261367057600080fd5b50813567ffffffffffffffff81111561368857600080fd5b6020830191508360208260051b85010111156130d657600080fd5b600080602083850312156136b657600080fd5b823567ffffffffffffffff8111156136cd57600080fd5b6136d98582860161365e565b90969095509350505050565b803561ffff81168114610dce57600080fd5b60006020828403121561370957600080fd5b612a6c826136e5565b60008060006040848603121561372757600080fd5b613730846131d0565b9250602084013567ffffffffffffffff81111561374c57600080fd5b6136148682870161365e565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6020808252818101839052600090604080840186845b878110156137ce5763ffffffff6137b3836131d0565b1683528185013585840152918301919083019060010161379d565b5090979650505050505050565b8183823760009101908152919050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b89815260c06020820152600061384e60c083018a8c6137eb565b828103604084015261386181898b6137eb565b9050866060840152828103608084015261387c8186886137eb565b9150508260a08301529a9950505050505050505050565b6000602082840312156138a557600080fd5b8151612a6c81613069565b600181811c908216806138c457607f821691505b6020821081036138fd577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60008154613910816138b0565b80855260206001838116801561392d576001811461396557613993565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff008516838901528284151560051b8901019550613993565b866000528260002060005b8581101561398b5781548a8201860152908301908401613970565b890184019650505b505050505092915050565b845163ffffffff16815260208086015167ffffffffffffffff169082015260408086015173ffffffffffffffffffffffffffffffffffffffff169082015260608086015161ffff169082015260c06080820152608060c08201526000613a08610140830186613903565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff408382030160e0840152613a3f8160018801613903565b905061ffff600287015416610100840152600386015461012084015282810360a0840152610f048185876137eb565b600060208284031215613a8057600080fd5b5051919050565b868152608060208201526000613aa16080830187896137eb565b8281036040840152613ab48186886137eb565b915050826060830152979650505050505050565b6020808252818101839052600090604080840186845b878110156137ce5773ffffffffffffffffffffffffffffffffffffffff613b0483612f37565b16835263ffffffff613b178684016131d0565b1683860152818401358484015260609283019290910190600101613ade565b600060208284031215613b4857600080fd5b612a6c82613272565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613b8657600080fd5b83018035915067ffffffffffffffff821115613ba157600080fd5b6020019150368190038213156130d657600080fd5b865163ffffffff16815260208088015167ffffffffffffffff169082015260408088015173ffffffffffffffffffffffffffffffffffffffff169082015260608088015161ffff169082015260006101008060808401528751608082850152613c23610180850182613553565b91505060208801517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084830301610120850152613c608282613553565b91505061ffff604089015116610140840152606088015161016084015282810360a0840152613c8f8188613553565b905082810360c0840152613ca48186886137eb565b915050610f0460e083018473ffffffffffffffffffffffffffffffffffffffff169052565b606081526000613cdc6060830186613553565b8281036020840152613cee8186613553565b90508281036040840152613d028185613553565b9695505050505050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61833603018112613d4057600080fd5b9190910192915050565b6000808354613d58816138b0565b60018281168015613d705760018114613da357613dd2565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450613dd2565b8760005260208060002060005b85811015613dc95781548a820152908401908201613db0565b50505082870194505b50929695505050505050565b601f821115610df8576000816000526020600020601f850160051c81016020861015613e075750805b601f850160051c820191505b8181101561203657828155600101613e13565b67ffffffffffffffff831115613e3e57613e3e613431565b613e5283613e4c83546138b0565b83613dde565b6000601f841160018114613ea45760008515613e6e5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355611c35565b6000838152602090207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0861690835b82811015613ef35786850135825560209485019460019092019101613ed3565b5086821015613f2e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b815167ffffffffffffffff811115613f5a57613f5a613431565b613f6e81613f6884546138b0565b84613dde565b602080601f831160018114613fc15760008415613f8b5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b178555612036565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b8281101561400e57888601518255948401946001909101908401613fef565b508582101561404a57878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261408f57600080fd5b830160208101925035905067ffffffffffffffff8111156140af57600080fd5b8036038213156130d657600080fd5b60208082528181018390526000906040808401600586901b850182018785805b898110156141c7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc089850301855282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff618c360301811261413e578283fd5b8b0160a063ffffffff614150836131d0565b16865261415f8983018361405a565b828b89015261417183890182846137eb565b925050506141818883018361405a565b8783038a8901526141938382846137eb565b92505050606061ffff6141a78285016136e5565b1690870152608091820135919095015293860193918601916001016140de565b50919998505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff808316818103614222576142226141d6565b6001019392505050565b600067ffffffffffffffff821680614246576142466141d6565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516142a681601785016020880161352f565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516142e381602884016020880161352f565b01602801949350505050565b60008251613d4081846020870161352f565b6040815260006143146040830185613553565b82810360208401526143268185613553565b95945050505050565b6060815260006143426060830186613553565b905083602083015267ffffffffffffffff83166040830152949350505050565b8381528260208201526000825161438081604085016020870161352f565b91909101604001949350505050565b808202811582820484141761083d5761083d6141d6565b8082018082111561083d5761083d6141d6565b6000816143c8576143c86141d6565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b600080858511156143fe57600080fd5b8386111561440b57600080fd5b5050820193919092039150565b8035602083101561083d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b169291505056fea264697066735822122049601e7575d86903bb731f91d4cc0ef49fe5c052bc43963dbb0df586471d80a464736f6c63430008160033",
|
|
802
1164
|
"linkReferences": {},
|
|
803
1165
|
"deployedLinkReferences": {}
|
|
804
1166
|
}
|