@stargatefinance/stg-evm-sdk-v2 0.0.11
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/src/StargateBase.sol/StargateBase.json +1348 -0
- package/artifacts/src/StargateOFT.sol/StargateOFT.json +1374 -0
- package/artifacts/src/StargatePool.sol/StargatePool.json +1722 -0
- package/artifacts/src/StargatePoolNative.sol/StargatePoolNative.json +1717 -0
- package/artifacts/src/feelibs/FeeLibBase.sol/FeeLibBase.json +313 -0
- package/artifacts/src/feelibs/FeeLibV1.sol/FeeConfigLib.json +10 -0
- package/artifacts/src/feelibs/FeeLibV1.sol/FeeLibV1.json +561 -0
- package/artifacts/src/intent/IntentBase.sol/IntentBase.json +231 -0
- package/artifacts/src/intent/IntentOFT.sol/IntentOFT.json +247 -0
- package/artifacts/src/intent/IntentPool.sol/IntentPool.json +350 -0
- package/artifacts/src/intent/IntentPoolNative.sol/IWETH.json +24 -0
- package/artifacts/src/intent/IntentPoolNative.sol/IntentPoolNative.json +367 -0
- package/artifacts/src/interfaces/IBridgedUSDCMinter.sol/IBridgedUSDCMinter.json +48 -0
- package/artifacts/src/interfaces/ICreditMessaging.sol/ICreditMessaging.json +113 -0
- package/artifacts/src/interfaces/ICreditMessagingHandler.sol/ICreditMessagingHandler.json +71 -0
- package/artifacts/src/interfaces/IERC20Minter.sol/IERC20Minter.json +47 -0
- package/artifacts/src/interfaces/IStargate.sol/IStargate.json +661 -0
- package/artifacts/src/interfaces/IStargateFeeLib.sol/IStargateFeeLib.json +230 -0
- package/artifacts/src/interfaces/IStargatePool.sol/IStargatePool.json +939 -0
- package/artifacts/src/interfaces/ITokenMessaging.sol/ITokenMessaging.json +494 -0
- package/artifacts/src/interfaces/ITokenMessagingHandler.sol/ITokenMessagingHandler.json +78 -0
- package/artifacts/src/interfaces/permit2/IAllowanceTransfer.sol/IAllowanceTransfer.json +495 -0
- package/artifacts/src/interfaces/permit2/IEIP712.sol/IEIP712.json +24 -0
- package/artifacts/src/interfaces/permit2/IPermit2.sol/IPermit2.json +874 -0
- package/artifacts/src/interfaces/permit2/ISignatureTransfer.sol/ISignatureTransfer.json +403 -0
- package/artifacts/src/libs/AddressCast.sol/AddressCast.json +10 -0
- package/artifacts/src/libs/Bus.sol/BusLib.json +92 -0
- package/artifacts/src/libs/CreditMsgCodec.sol/CreditMsgCodec.json +16 -0
- package/artifacts/src/libs/MessagingHelper.sol/MessagingHelper.json +10 -0
- package/artifacts/src/libs/PassengerCodec.sol/PassengerCodec.json +16 -0
- package/artifacts/src/libs/Path.sol/PathLib.json +26 -0
- package/artifacts/src/libs/RideBusOptionsLibV1.sol/RideBusOptionsLibV1.json +16 -0
- package/artifacts/src/libs/TokenMsgCodec.sol/TokenMsgCodec.json +16 -0
- package/artifacts/src/libs/Transfer.sol/Transfer.json +21 -0
- package/artifacts/src/libs/Transfer.sol/TransferLib.json +21 -0
- package/artifacts/src/messaging/CreditMessaging.sol/CreditMessaging.json +1033 -0
- package/artifacts/src/messaging/CreditMessagingOptions.sol/CreditMessagingOptions.json +229 -0
- package/artifacts/src/messaging/MessagingBase.sol/MessagingBase.json +701 -0
- package/artifacts/src/messaging/TokenMessaging.sol/TokenMessaging.json +1692 -0
- package/artifacts/src/messaging/TokenMessagingOptions.sol/TokenMessagingOptions.json +239 -0
- package/artifacts/src/mocks/ERC20Token.sol/ERC20Token.json +335 -0
- package/artifacts/src/mocks/FeeLibMock.sol/FeeLibMock.json +230 -0
- package/artifacts/src/mocks/OFTToken.sol/OFTToken.json +380 -0
- package/artifacts/src/mocks/PoolToken.sol/PoolToken.json +406 -0
- package/artifacts/src/mocks/USDC.sol/USDC.json +381 -0
- package/artifacts/src/mocks/WETH.sol/WETH.json +310 -0
- package/artifacts/src/peripheral/Planner.sol/Planner.json +212 -0
- package/artifacts/src/peripheral/RebateCampaign.sol/RebateCampaign.json +237 -0
- package/artifacts/src/peripheral/Treasurer.sol/Treasurer.json +194 -0
- package/artifacts/src/usdc/StargateOFTUSDC.sol/StargateOFTUSDC.json +1374 -0
- package/artifacts/src/usdc/StargatePoolUSDC.sol/StargatePoolUSDC.json +1748 -0
- package/artifacts/src/utils/LPToken.sol/LPToken.json +496 -0
- package/deployments/arbsep-testnet/FeeLibV1ETH.json +466 -0
- package/deployments/arbsep-testnet/MessagingETH.json +1356 -0
- package/deployments/arbsep-testnet/StargatePoolNative.json +1933 -0
- package/deployments/avalanche-testnet/FeeLibV1USDT.json +466 -0
- package/deployments/avalanche-testnet/MessagingUSDT.json +1356 -0
- package/deployments/avalanche-testnet/StargatePoolUSDT.json +1939 -0
- package/deployments/bsc-sandbox-local/CreditMessaging.json +1393 -0
- package/deployments/bsc-sandbox-local/FeeLibV1BUSD.json +828 -0
- package/deployments/bsc-sandbox-local/FeeLibV1ETH.json +828 -0
- package/deployments/bsc-sandbox-local/FeeLibV1LUSD.json +828 -0
- package/deployments/bsc-sandbox-local/FeeLibV1USDC.json +828 -0
- package/deployments/bsc-sandbox-local/FeeLibV1USDT.json +828 -0
- package/deployments/bsc-sandbox-local/IntentOFTBUSD.json +337 -0
- package/deployments/bsc-sandbox-local/IntentOFTETH.json +337 -0
- package/deployments/bsc-sandbox-local/IntentOFTLUSD.json +337 -0
- package/deployments/bsc-sandbox-local/IntentOFTUSDC.json +337 -0
- package/deployments/bsc-sandbox-local/IntentOFTUSDT.json +337 -0
- package/deployments/bsc-sandbox-local/OFTTokenBUSD.json +571 -0
- package/deployments/bsc-sandbox-local/OFTTokenETH.json +571 -0
- package/deployments/bsc-sandbox-local/OFTTokenLUSD.json +571 -0
- package/deployments/bsc-sandbox-local/OFTTokenUSDC.json +558 -0
- package/deployments/bsc-sandbox-local/OFTTokenUSDT.json +571 -0
- package/deployments/bsc-sandbox-local/Permit2Mock.json +923 -0
- package/deployments/bsc-sandbox-local/StargateOFTBUSD.json +1803 -0
- package/deployments/bsc-sandbox-local/StargateOFTETH.json +1803 -0
- package/deployments/bsc-sandbox-local/StargateOFTLUSD.json +1803 -0
- package/deployments/bsc-sandbox-local/StargateOFTUSDC.json +1792 -0
- package/deployments/bsc-sandbox-local/StargateOFTUSDT.json +1803 -0
- package/deployments/bsc-sandbox-local/TokenMessaging.json +2166 -0
- package/deployments/bsc-sandbox-local/WETH.json +453 -0
- package/deployments/bsc-testnet/FeeLibV1ETH.json +466 -0
- package/deployments/bsc-testnet/FeeLibV1USDT.json +466 -0
- package/deployments/bsc-testnet/MessagingETH.json +1356 -0
- package/deployments/bsc-testnet/MessagingUSDT.json +1356 -0
- package/deployments/bsc-testnet/OFTTokenETH.json +557 -0
- package/deployments/bsc-testnet/StargateOFTETH.json +1601 -0
- package/deployments/bsc-testnet/StargatePoolUSDT.json +1939 -0
- package/deployments/ethereum-sandbox-local/CreditMessaging.json +1393 -0
- package/deployments/ethereum-sandbox-local/FeeLibV1BUSD.json +828 -0
- package/deployments/ethereum-sandbox-local/FeeLibV1ETH.json +828 -0
- package/deployments/ethereum-sandbox-local/FeeLibV1LUSD.json +828 -0
- package/deployments/ethereum-sandbox-local/FeeLibV1USDC.json +828 -0
- package/deployments/ethereum-sandbox-local/FeeLibV1USDT.json +828 -0
- package/deployments/ethereum-sandbox-local/IntentOFTBUSD.json +337 -0
- package/deployments/ethereum-sandbox-local/IntentPoolLUSD.json +440 -0
- package/deployments/ethereum-sandbox-local/IntentPoolNative.json +444 -0
- package/deployments/ethereum-sandbox-local/IntentPoolUSDC.json +440 -0
- package/deployments/ethereum-sandbox-local/IntentPoolUSDT.json +440 -0
- package/deployments/ethereum-sandbox-local/OFTTokenBUSD.json +571 -0
- package/deployments/ethereum-sandbox-local/Permit2Mock.json +923 -0
- package/deployments/ethereum-sandbox-local/PoolTokenLUSD.json +597 -0
- package/deployments/ethereum-sandbox-local/PoolTokenUSDC.json +597 -0
- package/deployments/ethereum-sandbox-local/PoolTokenUSDT.json +597 -0
- package/deployments/ethereum-sandbox-local/StargateOFTBUSD.json +1803 -0
- package/deployments/ethereum-sandbox-local/StargatePoolLUSD.json +2239 -0
- package/deployments/ethereum-sandbox-local/StargatePoolNative.json +2233 -0
- package/deployments/ethereum-sandbox-local/StargatePoolUSDC.json +2257 -0
- package/deployments/ethereum-sandbox-local/StargatePoolUSDT.json +2239 -0
- package/deployments/ethereum-sandbox-local/TokenMessaging.json +2166 -0
- package/deployments/ethereum-sandbox-local/WETH.json +453 -0
- package/deployments/polygon-sandbox-local/CreditMessaging.json +1393 -0
- package/deployments/polygon-sandbox-local/FeeLibV1BUSD.json +828 -0
- package/deployments/polygon-sandbox-local/FeeLibV1ETH.json +828 -0
- package/deployments/polygon-sandbox-local/FeeLibV1LUSD.json +828 -0
- package/deployments/polygon-sandbox-local/FeeLibV1USDC.json +828 -0
- package/deployments/polygon-sandbox-local/FeeLibV1USDT.json +828 -0
- package/deployments/polygon-sandbox-local/IntentOFTBUSD.json +337 -0
- package/deployments/polygon-sandbox-local/IntentOFTETH.json +337 -0
- package/deployments/polygon-sandbox-local/IntentOFTLUSD.json +337 -0
- package/deployments/polygon-sandbox-local/IntentOFTUSDC.json +337 -0
- package/deployments/polygon-sandbox-local/IntentPoolUSDT.json +440 -0
- package/deployments/polygon-sandbox-local/OFTTokenBUSD.json +571 -0
- package/deployments/polygon-sandbox-local/OFTTokenETH.json +571 -0
- package/deployments/polygon-sandbox-local/OFTTokenLUSD.json +571 -0
- package/deployments/polygon-sandbox-local/OFTTokenUSDC.json +558 -0
- package/deployments/polygon-sandbox-local/Permit2Mock.json +923 -0
- package/deployments/polygon-sandbox-local/PoolTokenUSDT.json +597 -0
- package/deployments/polygon-sandbox-local/StargateOFTBUSD.json +1803 -0
- package/deployments/polygon-sandbox-local/StargateOFTETH.json +1803 -0
- package/deployments/polygon-sandbox-local/StargateOFTLUSD.json +1803 -0
- package/deployments/polygon-sandbox-local/StargateOFTUSDC.json +1792 -0
- package/deployments/polygon-sandbox-local/StargatePoolUSDT.json +2239 -0
- package/deployments/polygon-sandbox-local/TokenMessaging.json +2166 -0
- package/deployments/polygon-sandbox-local/WETH.json +453 -0
- package/deployments/polygon-testnet/FeeLibV1USDT.json +481 -0
- package/deployments/polygon-testnet/MessagingUSDT.json +1371 -0
- package/deployments/polygon-testnet/OFTTokenUSDT.json +572 -0
- package/deployments/polygon-testnet/StargateOFTUSDT.json +1616 -0
- package/deployments/sepolia-testnet/FeeLibV1ETH.json +466 -0
- package/deployments/sepolia-testnet/MessagingETH.json +1356 -0
- package/deployments/sepolia-testnet/StargatePoolNative.json +1933 -0
- package/dist/index.cjs +24634 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.mts +31486 -0
- package/dist/index.d.ts +31486 -0
- package/dist/index.mjs +24558 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +42 -0
|
@@ -0,0 +1,1748 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "StargatePoolUSDC",
|
|
4
|
+
"sourceName": "src/usdc/StargatePoolUSDC.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [
|
|
8
|
+
{
|
|
9
|
+
"internalType": "string",
|
|
10
|
+
"name": "_lpTokenName",
|
|
11
|
+
"type": "string"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"internalType": "string",
|
|
15
|
+
"name": "_lpTokenSymbol",
|
|
16
|
+
"type": "string"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"internalType": "address",
|
|
20
|
+
"name": "_token",
|
|
21
|
+
"type": "address"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"internalType": "uint8",
|
|
25
|
+
"name": "_tokenDecimals",
|
|
26
|
+
"type": "uint8"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"internalType": "uint8",
|
|
30
|
+
"name": "_sharedDecimals",
|
|
31
|
+
"type": "uint8"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"internalType": "address",
|
|
35
|
+
"name": "_endpoint",
|
|
36
|
+
"type": "address"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"internalType": "address",
|
|
40
|
+
"name": "_owner",
|
|
41
|
+
"type": "address"
|
|
42
|
+
}
|
|
43
|
+
],
|
|
44
|
+
"stateMutability": "nonpayable",
|
|
45
|
+
"type": "constructor"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"inputs": [],
|
|
49
|
+
"name": "InvalidLocalDecimals",
|
|
50
|
+
"type": "error"
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"inputs": [],
|
|
54
|
+
"name": "Path_AlreadyHasCredit",
|
|
55
|
+
"type": "error"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"inputs": [],
|
|
59
|
+
"name": "Path_CreditTooMuch",
|
|
60
|
+
"type": "error"
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
"inputs": [],
|
|
64
|
+
"name": "Path_InsufficientCredit",
|
|
65
|
+
"type": "error"
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"inputs": [
|
|
69
|
+
{
|
|
70
|
+
"internalType": "uint256",
|
|
71
|
+
"name": "amountLD",
|
|
72
|
+
"type": "uint256"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"internalType": "uint256",
|
|
76
|
+
"name": "minAmountLD",
|
|
77
|
+
"type": "uint256"
|
|
78
|
+
}
|
|
79
|
+
],
|
|
80
|
+
"name": "SlippageExceeded",
|
|
81
|
+
"type": "error"
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
"inputs": [],
|
|
85
|
+
"name": "Stargate_InvalidAmount",
|
|
86
|
+
"type": "error"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"inputs": [],
|
|
90
|
+
"name": "Stargate_InvalidPath",
|
|
91
|
+
"type": "error"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"inputs": [],
|
|
95
|
+
"name": "Stargate_InvalidTokenDecimals",
|
|
96
|
+
"type": "error"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"inputs": [],
|
|
100
|
+
"name": "Stargate_LzTokenUnavailable",
|
|
101
|
+
"type": "error"
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"inputs": [],
|
|
105
|
+
"name": "Stargate_OnlyTaxi",
|
|
106
|
+
"type": "error"
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"inputs": [],
|
|
110
|
+
"name": "Stargate_OutflowFailed",
|
|
111
|
+
"type": "error"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"inputs": [],
|
|
115
|
+
"name": "Stargate_Paused",
|
|
116
|
+
"type": "error"
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
"inputs": [],
|
|
120
|
+
"name": "Stargate_ReentrantCall",
|
|
121
|
+
"type": "error"
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
"inputs": [],
|
|
125
|
+
"name": "Stargate_SlippageTooHigh",
|
|
126
|
+
"type": "error"
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
"inputs": [],
|
|
130
|
+
"name": "Stargate_Unauthorized",
|
|
131
|
+
"type": "error"
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"inputs": [],
|
|
135
|
+
"name": "Stargate_UnreceivedTokenNotFound",
|
|
136
|
+
"type": "error"
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"inputs": [],
|
|
140
|
+
"name": "Transfer_TransferFailed",
|
|
141
|
+
"type": "error"
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"anonymous": false,
|
|
145
|
+
"inputs": [
|
|
146
|
+
{
|
|
147
|
+
"indexed": false,
|
|
148
|
+
"internalType": "uint64",
|
|
149
|
+
"name": "amountSD",
|
|
150
|
+
"type": "uint64"
|
|
151
|
+
}
|
|
152
|
+
],
|
|
153
|
+
"name": "CreditBurnt",
|
|
154
|
+
"type": "event"
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
"anonymous": false,
|
|
158
|
+
"inputs": [
|
|
159
|
+
{
|
|
160
|
+
"indexed": false,
|
|
161
|
+
"internalType": "uint32",
|
|
162
|
+
"name": "srcEid",
|
|
163
|
+
"type": "uint32"
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"components": [
|
|
167
|
+
{
|
|
168
|
+
"internalType": "uint32",
|
|
169
|
+
"name": "srcEid",
|
|
170
|
+
"type": "uint32"
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
"internalType": "uint64",
|
|
174
|
+
"name": "amount",
|
|
175
|
+
"type": "uint64"
|
|
176
|
+
}
|
|
177
|
+
],
|
|
178
|
+
"indexed": false,
|
|
179
|
+
"internalType": "struct Credit[]",
|
|
180
|
+
"name": "credits",
|
|
181
|
+
"type": "tuple[]"
|
|
182
|
+
}
|
|
183
|
+
],
|
|
184
|
+
"name": "CreditsReceived",
|
|
185
|
+
"type": "event"
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"anonymous": false,
|
|
189
|
+
"inputs": [
|
|
190
|
+
{
|
|
191
|
+
"indexed": false,
|
|
192
|
+
"internalType": "uint32",
|
|
193
|
+
"name": "dstEid",
|
|
194
|
+
"type": "uint32"
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"components": [
|
|
198
|
+
{
|
|
199
|
+
"internalType": "uint32",
|
|
200
|
+
"name": "srcEid",
|
|
201
|
+
"type": "uint32"
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
"internalType": "uint64",
|
|
205
|
+
"name": "amount",
|
|
206
|
+
"type": "uint64"
|
|
207
|
+
}
|
|
208
|
+
],
|
|
209
|
+
"indexed": false,
|
|
210
|
+
"internalType": "struct Credit[]",
|
|
211
|
+
"name": "credits",
|
|
212
|
+
"type": "tuple[]"
|
|
213
|
+
}
|
|
214
|
+
],
|
|
215
|
+
"name": "CreditsSent",
|
|
216
|
+
"type": "event"
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"anonymous": false,
|
|
220
|
+
"inputs": [
|
|
221
|
+
{
|
|
222
|
+
"indexed": true,
|
|
223
|
+
"internalType": "address",
|
|
224
|
+
"name": "payer",
|
|
225
|
+
"type": "address"
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"indexed": true,
|
|
229
|
+
"internalType": "address",
|
|
230
|
+
"name": "receiver",
|
|
231
|
+
"type": "address"
|
|
232
|
+
},
|
|
233
|
+
{
|
|
234
|
+
"indexed": false,
|
|
235
|
+
"internalType": "uint256",
|
|
236
|
+
"name": "amountLD",
|
|
237
|
+
"type": "uint256"
|
|
238
|
+
}
|
|
239
|
+
],
|
|
240
|
+
"name": "Deposited",
|
|
241
|
+
"type": "event"
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
"anonymous": false,
|
|
245
|
+
"inputs": [
|
|
246
|
+
{
|
|
247
|
+
"indexed": false,
|
|
248
|
+
"internalType": "uint32",
|
|
249
|
+
"name": "dstEid",
|
|
250
|
+
"type": "uint32"
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
"indexed": false,
|
|
254
|
+
"internalType": "bool",
|
|
255
|
+
"name": "oft",
|
|
256
|
+
"type": "bool"
|
|
257
|
+
}
|
|
258
|
+
],
|
|
259
|
+
"name": "OFTPathSet",
|
|
260
|
+
"type": "event"
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
"anonymous": false,
|
|
264
|
+
"inputs": [
|
|
265
|
+
{
|
|
266
|
+
"indexed": true,
|
|
267
|
+
"internalType": "bytes32",
|
|
268
|
+
"name": "guid",
|
|
269
|
+
"type": "bytes32"
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"indexed": false,
|
|
273
|
+
"internalType": "uint32",
|
|
274
|
+
"name": "srcEid",
|
|
275
|
+
"type": "uint32"
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"indexed": true,
|
|
279
|
+
"internalType": "address",
|
|
280
|
+
"name": "toAddress",
|
|
281
|
+
"type": "address"
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
"indexed": false,
|
|
285
|
+
"internalType": "uint256",
|
|
286
|
+
"name": "amountReceivedLD",
|
|
287
|
+
"type": "uint256"
|
|
288
|
+
}
|
|
289
|
+
],
|
|
290
|
+
"name": "OFTReceived",
|
|
291
|
+
"type": "event"
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
"anonymous": false,
|
|
295
|
+
"inputs": [
|
|
296
|
+
{
|
|
297
|
+
"indexed": true,
|
|
298
|
+
"internalType": "bytes32",
|
|
299
|
+
"name": "guid",
|
|
300
|
+
"type": "bytes32"
|
|
301
|
+
},
|
|
302
|
+
{
|
|
303
|
+
"indexed": false,
|
|
304
|
+
"internalType": "uint32",
|
|
305
|
+
"name": "dstEid",
|
|
306
|
+
"type": "uint32"
|
|
307
|
+
},
|
|
308
|
+
{
|
|
309
|
+
"indexed": true,
|
|
310
|
+
"internalType": "address",
|
|
311
|
+
"name": "fromAddress",
|
|
312
|
+
"type": "address"
|
|
313
|
+
},
|
|
314
|
+
{
|
|
315
|
+
"indexed": false,
|
|
316
|
+
"internalType": "uint256",
|
|
317
|
+
"name": "amountSentLD",
|
|
318
|
+
"type": "uint256"
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
"indexed": false,
|
|
322
|
+
"internalType": "uint256",
|
|
323
|
+
"name": "amountReceivedLD",
|
|
324
|
+
"type": "uint256"
|
|
325
|
+
}
|
|
326
|
+
],
|
|
327
|
+
"name": "OFTSent",
|
|
328
|
+
"type": "event"
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
"anonymous": false,
|
|
332
|
+
"inputs": [
|
|
333
|
+
{
|
|
334
|
+
"indexed": true,
|
|
335
|
+
"internalType": "address",
|
|
336
|
+
"name": "previousOwner",
|
|
337
|
+
"type": "address"
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
"indexed": true,
|
|
341
|
+
"internalType": "address",
|
|
342
|
+
"name": "newOwner",
|
|
343
|
+
"type": "address"
|
|
344
|
+
}
|
|
345
|
+
],
|
|
346
|
+
"name": "OwnershipTransferred",
|
|
347
|
+
"type": "event"
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
"anonymous": false,
|
|
351
|
+
"inputs": [
|
|
352
|
+
{
|
|
353
|
+
"indexed": true,
|
|
354
|
+
"internalType": "address",
|
|
355
|
+
"name": "payer",
|
|
356
|
+
"type": "address"
|
|
357
|
+
},
|
|
358
|
+
{
|
|
359
|
+
"indexed": true,
|
|
360
|
+
"internalType": "address",
|
|
361
|
+
"name": "receiver",
|
|
362
|
+
"type": "address"
|
|
363
|
+
},
|
|
364
|
+
{
|
|
365
|
+
"indexed": false,
|
|
366
|
+
"internalType": "uint256",
|
|
367
|
+
"name": "amountLD",
|
|
368
|
+
"type": "uint256"
|
|
369
|
+
}
|
|
370
|
+
],
|
|
371
|
+
"name": "Redeemed",
|
|
372
|
+
"type": "event"
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
"anonymous": false,
|
|
376
|
+
"inputs": [
|
|
377
|
+
{
|
|
378
|
+
"indexed": false,
|
|
379
|
+
"internalType": "uint64",
|
|
380
|
+
"name": "amountSD",
|
|
381
|
+
"type": "uint64"
|
|
382
|
+
}
|
|
383
|
+
],
|
|
384
|
+
"name": "TreasuryFeeAdded",
|
|
385
|
+
"type": "event"
|
|
386
|
+
},
|
|
387
|
+
{
|
|
388
|
+
"anonymous": false,
|
|
389
|
+
"inputs": [
|
|
390
|
+
{
|
|
391
|
+
"indexed": false,
|
|
392
|
+
"internalType": "address",
|
|
393
|
+
"name": "to",
|
|
394
|
+
"type": "address"
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
"indexed": false,
|
|
398
|
+
"internalType": "uint64",
|
|
399
|
+
"name": "amountSD",
|
|
400
|
+
"type": "uint64"
|
|
401
|
+
}
|
|
402
|
+
],
|
|
403
|
+
"name": "TreasuryFeeWithdrawn",
|
|
404
|
+
"type": "event"
|
|
405
|
+
},
|
|
406
|
+
{
|
|
407
|
+
"anonymous": false,
|
|
408
|
+
"inputs": [
|
|
409
|
+
{
|
|
410
|
+
"indexed": false,
|
|
411
|
+
"internalType": "bytes32",
|
|
412
|
+
"name": "guid",
|
|
413
|
+
"type": "bytes32"
|
|
414
|
+
},
|
|
415
|
+
{
|
|
416
|
+
"indexed": false,
|
|
417
|
+
"internalType": "uint8",
|
|
418
|
+
"name": "index",
|
|
419
|
+
"type": "uint8"
|
|
420
|
+
},
|
|
421
|
+
{
|
|
422
|
+
"indexed": false,
|
|
423
|
+
"internalType": "address",
|
|
424
|
+
"name": "receiver",
|
|
425
|
+
"type": "address"
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
"indexed": false,
|
|
429
|
+
"internalType": "uint256",
|
|
430
|
+
"name": "amountLD",
|
|
431
|
+
"type": "uint256"
|
|
432
|
+
},
|
|
433
|
+
{
|
|
434
|
+
"indexed": false,
|
|
435
|
+
"internalType": "uint8",
|
|
436
|
+
"name": "composeIdx",
|
|
437
|
+
"type": "uint8"
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
"indexed": false,
|
|
441
|
+
"internalType": "bytes",
|
|
442
|
+
"name": "composeMsg",
|
|
443
|
+
"type": "bytes"
|
|
444
|
+
}
|
|
445
|
+
],
|
|
446
|
+
"name": "UnreceivedTokenCached",
|
|
447
|
+
"type": "event"
|
|
448
|
+
},
|
|
449
|
+
{
|
|
450
|
+
"inputs": [
|
|
451
|
+
{
|
|
452
|
+
"internalType": "uint256",
|
|
453
|
+
"name": "_amountLD",
|
|
454
|
+
"type": "uint256"
|
|
455
|
+
}
|
|
456
|
+
],
|
|
457
|
+
"name": "addTreasuryFee",
|
|
458
|
+
"outputs": [],
|
|
459
|
+
"stateMutability": "payable",
|
|
460
|
+
"type": "function"
|
|
461
|
+
},
|
|
462
|
+
{
|
|
463
|
+
"inputs": [],
|
|
464
|
+
"name": "approvalRequired",
|
|
465
|
+
"outputs": [
|
|
466
|
+
{
|
|
467
|
+
"internalType": "bool",
|
|
468
|
+
"name": "",
|
|
469
|
+
"type": "bool"
|
|
470
|
+
}
|
|
471
|
+
],
|
|
472
|
+
"stateMutability": "pure",
|
|
473
|
+
"type": "function"
|
|
474
|
+
},
|
|
475
|
+
{
|
|
476
|
+
"inputs": [
|
|
477
|
+
{
|
|
478
|
+
"internalType": "uint64",
|
|
479
|
+
"name": "_amountSD",
|
|
480
|
+
"type": "uint64"
|
|
481
|
+
}
|
|
482
|
+
],
|
|
483
|
+
"name": "burnCredit",
|
|
484
|
+
"outputs": [],
|
|
485
|
+
"stateMutability": "nonpayable",
|
|
486
|
+
"type": "function"
|
|
487
|
+
},
|
|
488
|
+
{
|
|
489
|
+
"inputs": [
|
|
490
|
+
{
|
|
491
|
+
"internalType": "address",
|
|
492
|
+
"name": "_receiver",
|
|
493
|
+
"type": "address"
|
|
494
|
+
},
|
|
495
|
+
{
|
|
496
|
+
"internalType": "uint256",
|
|
497
|
+
"name": "_amountLD",
|
|
498
|
+
"type": "uint256"
|
|
499
|
+
}
|
|
500
|
+
],
|
|
501
|
+
"name": "deposit",
|
|
502
|
+
"outputs": [
|
|
503
|
+
{
|
|
504
|
+
"internalType": "uint256",
|
|
505
|
+
"name": "amountLD",
|
|
506
|
+
"type": "uint256"
|
|
507
|
+
}
|
|
508
|
+
],
|
|
509
|
+
"stateMutability": "payable",
|
|
510
|
+
"type": "function"
|
|
511
|
+
},
|
|
512
|
+
{
|
|
513
|
+
"inputs": [],
|
|
514
|
+
"name": "getAddressConfig",
|
|
515
|
+
"outputs": [
|
|
516
|
+
{
|
|
517
|
+
"components": [
|
|
518
|
+
{
|
|
519
|
+
"internalType": "address",
|
|
520
|
+
"name": "feeLib",
|
|
521
|
+
"type": "address"
|
|
522
|
+
},
|
|
523
|
+
{
|
|
524
|
+
"internalType": "address",
|
|
525
|
+
"name": "planner",
|
|
526
|
+
"type": "address"
|
|
527
|
+
},
|
|
528
|
+
{
|
|
529
|
+
"internalType": "address",
|
|
530
|
+
"name": "treasurer",
|
|
531
|
+
"type": "address"
|
|
532
|
+
},
|
|
533
|
+
{
|
|
534
|
+
"internalType": "address",
|
|
535
|
+
"name": "tokenMessaging",
|
|
536
|
+
"type": "address"
|
|
537
|
+
},
|
|
538
|
+
{
|
|
539
|
+
"internalType": "address",
|
|
540
|
+
"name": "creditMessaging",
|
|
541
|
+
"type": "address"
|
|
542
|
+
},
|
|
543
|
+
{
|
|
544
|
+
"internalType": "address",
|
|
545
|
+
"name": "lzToken",
|
|
546
|
+
"type": "address"
|
|
547
|
+
}
|
|
548
|
+
],
|
|
549
|
+
"internalType": "struct AddressConfig",
|
|
550
|
+
"name": "",
|
|
551
|
+
"type": "tuple"
|
|
552
|
+
}
|
|
553
|
+
],
|
|
554
|
+
"stateMutability": "view",
|
|
555
|
+
"type": "function"
|
|
556
|
+
},
|
|
557
|
+
{
|
|
558
|
+
"inputs": [],
|
|
559
|
+
"name": "lpToken",
|
|
560
|
+
"outputs": [
|
|
561
|
+
{
|
|
562
|
+
"internalType": "address",
|
|
563
|
+
"name": "",
|
|
564
|
+
"type": "address"
|
|
565
|
+
}
|
|
566
|
+
],
|
|
567
|
+
"stateMutability": "view",
|
|
568
|
+
"type": "function"
|
|
569
|
+
},
|
|
570
|
+
{
|
|
571
|
+
"inputs": [],
|
|
572
|
+
"name": "oftVersion",
|
|
573
|
+
"outputs": [
|
|
574
|
+
{
|
|
575
|
+
"internalType": "bytes4",
|
|
576
|
+
"name": "interfaceId",
|
|
577
|
+
"type": "bytes4"
|
|
578
|
+
},
|
|
579
|
+
{
|
|
580
|
+
"internalType": "uint64",
|
|
581
|
+
"name": "version",
|
|
582
|
+
"type": "uint64"
|
|
583
|
+
}
|
|
584
|
+
],
|
|
585
|
+
"stateMutability": "pure",
|
|
586
|
+
"type": "function"
|
|
587
|
+
},
|
|
588
|
+
{
|
|
589
|
+
"inputs": [],
|
|
590
|
+
"name": "owner",
|
|
591
|
+
"outputs": [
|
|
592
|
+
{
|
|
593
|
+
"internalType": "address",
|
|
594
|
+
"name": "",
|
|
595
|
+
"type": "address"
|
|
596
|
+
}
|
|
597
|
+
],
|
|
598
|
+
"stateMutability": "view",
|
|
599
|
+
"type": "function"
|
|
600
|
+
},
|
|
601
|
+
{
|
|
602
|
+
"inputs": [
|
|
603
|
+
{
|
|
604
|
+
"internalType": "uint32",
|
|
605
|
+
"name": "eid",
|
|
606
|
+
"type": "uint32"
|
|
607
|
+
}
|
|
608
|
+
],
|
|
609
|
+
"name": "paths",
|
|
610
|
+
"outputs": [
|
|
611
|
+
{
|
|
612
|
+
"internalType": "uint16",
|
|
613
|
+
"name": "baseFareMultiplierBps",
|
|
614
|
+
"type": "uint16"
|
|
615
|
+
},
|
|
616
|
+
{
|
|
617
|
+
"internalType": "uint64",
|
|
618
|
+
"name": "credit",
|
|
619
|
+
"type": "uint64"
|
|
620
|
+
}
|
|
621
|
+
],
|
|
622
|
+
"stateMutability": "view",
|
|
623
|
+
"type": "function"
|
|
624
|
+
},
|
|
625
|
+
{
|
|
626
|
+
"inputs": [
|
|
627
|
+
{
|
|
628
|
+
"components": [
|
|
629
|
+
{
|
|
630
|
+
"internalType": "uint32",
|
|
631
|
+
"name": "dstEid",
|
|
632
|
+
"type": "uint32"
|
|
633
|
+
},
|
|
634
|
+
{
|
|
635
|
+
"internalType": "bytes32",
|
|
636
|
+
"name": "to",
|
|
637
|
+
"type": "bytes32"
|
|
638
|
+
},
|
|
639
|
+
{
|
|
640
|
+
"internalType": "uint256",
|
|
641
|
+
"name": "amountLD",
|
|
642
|
+
"type": "uint256"
|
|
643
|
+
},
|
|
644
|
+
{
|
|
645
|
+
"internalType": "uint256",
|
|
646
|
+
"name": "minAmountLD",
|
|
647
|
+
"type": "uint256"
|
|
648
|
+
},
|
|
649
|
+
{
|
|
650
|
+
"internalType": "bytes",
|
|
651
|
+
"name": "extraOptions",
|
|
652
|
+
"type": "bytes"
|
|
653
|
+
},
|
|
654
|
+
{
|
|
655
|
+
"internalType": "bytes",
|
|
656
|
+
"name": "composeMsg",
|
|
657
|
+
"type": "bytes"
|
|
658
|
+
},
|
|
659
|
+
{
|
|
660
|
+
"internalType": "bytes",
|
|
661
|
+
"name": "oftCmd",
|
|
662
|
+
"type": "bytes"
|
|
663
|
+
}
|
|
664
|
+
],
|
|
665
|
+
"internalType": "struct SendParam",
|
|
666
|
+
"name": "_sendParam",
|
|
667
|
+
"type": "tuple"
|
|
668
|
+
}
|
|
669
|
+
],
|
|
670
|
+
"name": "quoteOFT",
|
|
671
|
+
"outputs": [
|
|
672
|
+
{
|
|
673
|
+
"components": [
|
|
674
|
+
{
|
|
675
|
+
"internalType": "uint256",
|
|
676
|
+
"name": "minAmountLD",
|
|
677
|
+
"type": "uint256"
|
|
678
|
+
},
|
|
679
|
+
{
|
|
680
|
+
"internalType": "uint256",
|
|
681
|
+
"name": "maxAmountLD",
|
|
682
|
+
"type": "uint256"
|
|
683
|
+
}
|
|
684
|
+
],
|
|
685
|
+
"internalType": "struct OFTLimit",
|
|
686
|
+
"name": "limit",
|
|
687
|
+
"type": "tuple"
|
|
688
|
+
},
|
|
689
|
+
{
|
|
690
|
+
"components": [
|
|
691
|
+
{
|
|
692
|
+
"internalType": "int256",
|
|
693
|
+
"name": "feeAmountLD",
|
|
694
|
+
"type": "int256"
|
|
695
|
+
},
|
|
696
|
+
{
|
|
697
|
+
"internalType": "string",
|
|
698
|
+
"name": "description",
|
|
699
|
+
"type": "string"
|
|
700
|
+
}
|
|
701
|
+
],
|
|
702
|
+
"internalType": "struct OFTFeeDetail[]",
|
|
703
|
+
"name": "oftFeeDetails",
|
|
704
|
+
"type": "tuple[]"
|
|
705
|
+
},
|
|
706
|
+
{
|
|
707
|
+
"components": [
|
|
708
|
+
{
|
|
709
|
+
"internalType": "uint256",
|
|
710
|
+
"name": "amountSentLD",
|
|
711
|
+
"type": "uint256"
|
|
712
|
+
},
|
|
713
|
+
{
|
|
714
|
+
"internalType": "uint256",
|
|
715
|
+
"name": "amountReceivedLD",
|
|
716
|
+
"type": "uint256"
|
|
717
|
+
}
|
|
718
|
+
],
|
|
719
|
+
"internalType": "struct OFTReceipt",
|
|
720
|
+
"name": "receipt",
|
|
721
|
+
"type": "tuple"
|
|
722
|
+
}
|
|
723
|
+
],
|
|
724
|
+
"stateMutability": "view",
|
|
725
|
+
"type": "function"
|
|
726
|
+
},
|
|
727
|
+
{
|
|
728
|
+
"inputs": [
|
|
729
|
+
{
|
|
730
|
+
"components": [
|
|
731
|
+
{
|
|
732
|
+
"internalType": "uint32",
|
|
733
|
+
"name": "dstEid",
|
|
734
|
+
"type": "uint32"
|
|
735
|
+
},
|
|
736
|
+
{
|
|
737
|
+
"internalType": "bytes32",
|
|
738
|
+
"name": "to",
|
|
739
|
+
"type": "bytes32"
|
|
740
|
+
},
|
|
741
|
+
{
|
|
742
|
+
"internalType": "uint256",
|
|
743
|
+
"name": "amountLD",
|
|
744
|
+
"type": "uint256"
|
|
745
|
+
},
|
|
746
|
+
{
|
|
747
|
+
"internalType": "uint256",
|
|
748
|
+
"name": "minAmountLD",
|
|
749
|
+
"type": "uint256"
|
|
750
|
+
},
|
|
751
|
+
{
|
|
752
|
+
"internalType": "bytes",
|
|
753
|
+
"name": "extraOptions",
|
|
754
|
+
"type": "bytes"
|
|
755
|
+
},
|
|
756
|
+
{
|
|
757
|
+
"internalType": "bytes",
|
|
758
|
+
"name": "composeMsg",
|
|
759
|
+
"type": "bytes"
|
|
760
|
+
},
|
|
761
|
+
{
|
|
762
|
+
"internalType": "bytes",
|
|
763
|
+
"name": "oftCmd",
|
|
764
|
+
"type": "bytes"
|
|
765
|
+
}
|
|
766
|
+
],
|
|
767
|
+
"internalType": "struct SendParam",
|
|
768
|
+
"name": "_sendParam",
|
|
769
|
+
"type": "tuple"
|
|
770
|
+
},
|
|
771
|
+
{
|
|
772
|
+
"internalType": "bool",
|
|
773
|
+
"name": "_payInLzToken",
|
|
774
|
+
"type": "bool"
|
|
775
|
+
}
|
|
776
|
+
],
|
|
777
|
+
"name": "quoteRedeemSend",
|
|
778
|
+
"outputs": [
|
|
779
|
+
{
|
|
780
|
+
"components": [
|
|
781
|
+
{
|
|
782
|
+
"internalType": "uint256",
|
|
783
|
+
"name": "nativeFee",
|
|
784
|
+
"type": "uint256"
|
|
785
|
+
},
|
|
786
|
+
{
|
|
787
|
+
"internalType": "uint256",
|
|
788
|
+
"name": "lzTokenFee",
|
|
789
|
+
"type": "uint256"
|
|
790
|
+
}
|
|
791
|
+
],
|
|
792
|
+
"internalType": "struct MessagingFee",
|
|
793
|
+
"name": "fee",
|
|
794
|
+
"type": "tuple"
|
|
795
|
+
}
|
|
796
|
+
],
|
|
797
|
+
"stateMutability": "view",
|
|
798
|
+
"type": "function"
|
|
799
|
+
},
|
|
800
|
+
{
|
|
801
|
+
"inputs": [
|
|
802
|
+
{
|
|
803
|
+
"internalType": "uint32",
|
|
804
|
+
"name": "_dstEid",
|
|
805
|
+
"type": "uint32"
|
|
806
|
+
},
|
|
807
|
+
{
|
|
808
|
+
"internalType": "bytes",
|
|
809
|
+
"name": "_options",
|
|
810
|
+
"type": "bytes"
|
|
811
|
+
},
|
|
812
|
+
{
|
|
813
|
+
"internalType": "uint256",
|
|
814
|
+
"name": "_composeMsgSize",
|
|
815
|
+
"type": "uint256"
|
|
816
|
+
}
|
|
817
|
+
],
|
|
818
|
+
"name": "quoteRideBusOptions",
|
|
819
|
+
"outputs": [
|
|
820
|
+
{
|
|
821
|
+
"components": [
|
|
822
|
+
{
|
|
823
|
+
"internalType": "uint128",
|
|
824
|
+
"name": "extraFare",
|
|
825
|
+
"type": "uint128"
|
|
826
|
+
},
|
|
827
|
+
{
|
|
828
|
+
"internalType": "uint128",
|
|
829
|
+
"name": "nativeDropAmount",
|
|
830
|
+
"type": "uint128"
|
|
831
|
+
},
|
|
832
|
+
{
|
|
833
|
+
"internalType": "uint128",
|
|
834
|
+
"name": "lzComposeGas",
|
|
835
|
+
"type": "uint128"
|
|
836
|
+
},
|
|
837
|
+
{
|
|
838
|
+
"internalType": "uint128",
|
|
839
|
+
"name": "lzComposeValue",
|
|
840
|
+
"type": "uint128"
|
|
841
|
+
}
|
|
842
|
+
],
|
|
843
|
+
"internalType": "struct RideBusOptions",
|
|
844
|
+
"name": "rideBusOptions",
|
|
845
|
+
"type": "tuple"
|
|
846
|
+
}
|
|
847
|
+
],
|
|
848
|
+
"stateMutability": "view",
|
|
849
|
+
"type": "function"
|
|
850
|
+
},
|
|
851
|
+
{
|
|
852
|
+
"inputs": [
|
|
853
|
+
{
|
|
854
|
+
"components": [
|
|
855
|
+
{
|
|
856
|
+
"internalType": "uint32",
|
|
857
|
+
"name": "dstEid",
|
|
858
|
+
"type": "uint32"
|
|
859
|
+
},
|
|
860
|
+
{
|
|
861
|
+
"internalType": "bytes32",
|
|
862
|
+
"name": "to",
|
|
863
|
+
"type": "bytes32"
|
|
864
|
+
},
|
|
865
|
+
{
|
|
866
|
+
"internalType": "uint256",
|
|
867
|
+
"name": "amountLD",
|
|
868
|
+
"type": "uint256"
|
|
869
|
+
},
|
|
870
|
+
{
|
|
871
|
+
"internalType": "uint256",
|
|
872
|
+
"name": "minAmountLD",
|
|
873
|
+
"type": "uint256"
|
|
874
|
+
},
|
|
875
|
+
{
|
|
876
|
+
"internalType": "bytes",
|
|
877
|
+
"name": "extraOptions",
|
|
878
|
+
"type": "bytes"
|
|
879
|
+
},
|
|
880
|
+
{
|
|
881
|
+
"internalType": "bytes",
|
|
882
|
+
"name": "composeMsg",
|
|
883
|
+
"type": "bytes"
|
|
884
|
+
},
|
|
885
|
+
{
|
|
886
|
+
"internalType": "bytes",
|
|
887
|
+
"name": "oftCmd",
|
|
888
|
+
"type": "bytes"
|
|
889
|
+
}
|
|
890
|
+
],
|
|
891
|
+
"internalType": "struct SendParam",
|
|
892
|
+
"name": "_sendParam",
|
|
893
|
+
"type": "tuple"
|
|
894
|
+
},
|
|
895
|
+
{
|
|
896
|
+
"internalType": "bool",
|
|
897
|
+
"name": "_payInLzToken",
|
|
898
|
+
"type": "bool"
|
|
899
|
+
}
|
|
900
|
+
],
|
|
901
|
+
"name": "quoteSend",
|
|
902
|
+
"outputs": [
|
|
903
|
+
{
|
|
904
|
+
"components": [
|
|
905
|
+
{
|
|
906
|
+
"internalType": "uint256",
|
|
907
|
+
"name": "nativeFee",
|
|
908
|
+
"type": "uint256"
|
|
909
|
+
},
|
|
910
|
+
{
|
|
911
|
+
"internalType": "uint256",
|
|
912
|
+
"name": "lzTokenFee",
|
|
913
|
+
"type": "uint256"
|
|
914
|
+
}
|
|
915
|
+
],
|
|
916
|
+
"internalType": "struct MessagingFee",
|
|
917
|
+
"name": "fee",
|
|
918
|
+
"type": "tuple"
|
|
919
|
+
}
|
|
920
|
+
],
|
|
921
|
+
"stateMutability": "view",
|
|
922
|
+
"type": "function"
|
|
923
|
+
},
|
|
924
|
+
{
|
|
925
|
+
"inputs": [
|
|
926
|
+
{
|
|
927
|
+
"internalType": "uint32",
|
|
928
|
+
"name": "_srcEid",
|
|
929
|
+
"type": "uint32"
|
|
930
|
+
},
|
|
931
|
+
{
|
|
932
|
+
"components": [
|
|
933
|
+
{
|
|
934
|
+
"internalType": "uint32",
|
|
935
|
+
"name": "srcEid",
|
|
936
|
+
"type": "uint32"
|
|
937
|
+
},
|
|
938
|
+
{
|
|
939
|
+
"internalType": "uint64",
|
|
940
|
+
"name": "amount",
|
|
941
|
+
"type": "uint64"
|
|
942
|
+
}
|
|
943
|
+
],
|
|
944
|
+
"internalType": "struct Credit[]",
|
|
945
|
+
"name": "_credits",
|
|
946
|
+
"type": "tuple[]"
|
|
947
|
+
}
|
|
948
|
+
],
|
|
949
|
+
"name": "receiveCredits",
|
|
950
|
+
"outputs": [],
|
|
951
|
+
"stateMutability": "nonpayable",
|
|
952
|
+
"type": "function"
|
|
953
|
+
},
|
|
954
|
+
{
|
|
955
|
+
"inputs": [
|
|
956
|
+
{
|
|
957
|
+
"components": [
|
|
958
|
+
{
|
|
959
|
+
"internalType": "uint32",
|
|
960
|
+
"name": "srcEid",
|
|
961
|
+
"type": "uint32"
|
|
962
|
+
},
|
|
963
|
+
{
|
|
964
|
+
"internalType": "bytes32",
|
|
965
|
+
"name": "sender",
|
|
966
|
+
"type": "bytes32"
|
|
967
|
+
},
|
|
968
|
+
{
|
|
969
|
+
"internalType": "uint64",
|
|
970
|
+
"name": "nonce",
|
|
971
|
+
"type": "uint64"
|
|
972
|
+
}
|
|
973
|
+
],
|
|
974
|
+
"internalType": "struct Origin",
|
|
975
|
+
"name": "_origin",
|
|
976
|
+
"type": "tuple"
|
|
977
|
+
},
|
|
978
|
+
{
|
|
979
|
+
"internalType": "bytes32",
|
|
980
|
+
"name": "_guid",
|
|
981
|
+
"type": "bytes32"
|
|
982
|
+
},
|
|
983
|
+
{
|
|
984
|
+
"internalType": "uint8",
|
|
985
|
+
"name": "_index",
|
|
986
|
+
"type": "uint8"
|
|
987
|
+
},
|
|
988
|
+
{
|
|
989
|
+
"components": [
|
|
990
|
+
{
|
|
991
|
+
"internalType": "address",
|
|
992
|
+
"name": "receiver",
|
|
993
|
+
"type": "address"
|
|
994
|
+
},
|
|
995
|
+
{
|
|
996
|
+
"internalType": "uint64",
|
|
997
|
+
"name": "amountSD",
|
|
998
|
+
"type": "uint64"
|
|
999
|
+
},
|
|
1000
|
+
{
|
|
1001
|
+
"internalType": "bytes",
|
|
1002
|
+
"name": "composeMsg",
|
|
1003
|
+
"type": "bytes"
|
|
1004
|
+
},
|
|
1005
|
+
{
|
|
1006
|
+
"internalType": "uint8",
|
|
1007
|
+
"name": "composeIdx",
|
|
1008
|
+
"type": "uint8"
|
|
1009
|
+
}
|
|
1010
|
+
],
|
|
1011
|
+
"internalType": "struct TransferPayload",
|
|
1012
|
+
"name": "_payload",
|
|
1013
|
+
"type": "tuple"
|
|
1014
|
+
}
|
|
1015
|
+
],
|
|
1016
|
+
"name": "receiveToken",
|
|
1017
|
+
"outputs": [],
|
|
1018
|
+
"stateMutability": "nonpayable",
|
|
1019
|
+
"type": "function"
|
|
1020
|
+
},
|
|
1021
|
+
{
|
|
1022
|
+
"inputs": [
|
|
1023
|
+
{
|
|
1024
|
+
"internalType": "uint256",
|
|
1025
|
+
"name": "_amountLD",
|
|
1026
|
+
"type": "uint256"
|
|
1027
|
+
},
|
|
1028
|
+
{
|
|
1029
|
+
"internalType": "address",
|
|
1030
|
+
"name": "_receiver",
|
|
1031
|
+
"type": "address"
|
|
1032
|
+
}
|
|
1033
|
+
],
|
|
1034
|
+
"name": "redeem",
|
|
1035
|
+
"outputs": [
|
|
1036
|
+
{
|
|
1037
|
+
"internalType": "uint256",
|
|
1038
|
+
"name": "amountLD",
|
|
1039
|
+
"type": "uint256"
|
|
1040
|
+
}
|
|
1041
|
+
],
|
|
1042
|
+
"stateMutability": "nonpayable",
|
|
1043
|
+
"type": "function"
|
|
1044
|
+
},
|
|
1045
|
+
{
|
|
1046
|
+
"inputs": [
|
|
1047
|
+
{
|
|
1048
|
+
"components": [
|
|
1049
|
+
{
|
|
1050
|
+
"internalType": "uint32",
|
|
1051
|
+
"name": "dstEid",
|
|
1052
|
+
"type": "uint32"
|
|
1053
|
+
},
|
|
1054
|
+
{
|
|
1055
|
+
"internalType": "bytes32",
|
|
1056
|
+
"name": "to",
|
|
1057
|
+
"type": "bytes32"
|
|
1058
|
+
},
|
|
1059
|
+
{
|
|
1060
|
+
"internalType": "uint256",
|
|
1061
|
+
"name": "amountLD",
|
|
1062
|
+
"type": "uint256"
|
|
1063
|
+
},
|
|
1064
|
+
{
|
|
1065
|
+
"internalType": "uint256",
|
|
1066
|
+
"name": "minAmountLD",
|
|
1067
|
+
"type": "uint256"
|
|
1068
|
+
},
|
|
1069
|
+
{
|
|
1070
|
+
"internalType": "bytes",
|
|
1071
|
+
"name": "extraOptions",
|
|
1072
|
+
"type": "bytes"
|
|
1073
|
+
},
|
|
1074
|
+
{
|
|
1075
|
+
"internalType": "bytes",
|
|
1076
|
+
"name": "composeMsg",
|
|
1077
|
+
"type": "bytes"
|
|
1078
|
+
},
|
|
1079
|
+
{
|
|
1080
|
+
"internalType": "bytes",
|
|
1081
|
+
"name": "oftCmd",
|
|
1082
|
+
"type": "bytes"
|
|
1083
|
+
}
|
|
1084
|
+
],
|
|
1085
|
+
"internalType": "struct SendParam",
|
|
1086
|
+
"name": "_sendParam",
|
|
1087
|
+
"type": "tuple"
|
|
1088
|
+
},
|
|
1089
|
+
{
|
|
1090
|
+
"components": [
|
|
1091
|
+
{
|
|
1092
|
+
"internalType": "uint256",
|
|
1093
|
+
"name": "nativeFee",
|
|
1094
|
+
"type": "uint256"
|
|
1095
|
+
},
|
|
1096
|
+
{
|
|
1097
|
+
"internalType": "uint256",
|
|
1098
|
+
"name": "lzTokenFee",
|
|
1099
|
+
"type": "uint256"
|
|
1100
|
+
}
|
|
1101
|
+
],
|
|
1102
|
+
"internalType": "struct MessagingFee",
|
|
1103
|
+
"name": "_fee",
|
|
1104
|
+
"type": "tuple"
|
|
1105
|
+
},
|
|
1106
|
+
{
|
|
1107
|
+
"internalType": "address",
|
|
1108
|
+
"name": "_refundAddress",
|
|
1109
|
+
"type": "address"
|
|
1110
|
+
}
|
|
1111
|
+
],
|
|
1112
|
+
"name": "redeemSend",
|
|
1113
|
+
"outputs": [
|
|
1114
|
+
{
|
|
1115
|
+
"components": [
|
|
1116
|
+
{
|
|
1117
|
+
"internalType": "bytes32",
|
|
1118
|
+
"name": "guid",
|
|
1119
|
+
"type": "bytes32"
|
|
1120
|
+
},
|
|
1121
|
+
{
|
|
1122
|
+
"internalType": "uint64",
|
|
1123
|
+
"name": "nonce",
|
|
1124
|
+
"type": "uint64"
|
|
1125
|
+
},
|
|
1126
|
+
{
|
|
1127
|
+
"components": [
|
|
1128
|
+
{
|
|
1129
|
+
"internalType": "uint256",
|
|
1130
|
+
"name": "nativeFee",
|
|
1131
|
+
"type": "uint256"
|
|
1132
|
+
},
|
|
1133
|
+
{
|
|
1134
|
+
"internalType": "uint256",
|
|
1135
|
+
"name": "lzTokenFee",
|
|
1136
|
+
"type": "uint256"
|
|
1137
|
+
}
|
|
1138
|
+
],
|
|
1139
|
+
"internalType": "struct MessagingFee",
|
|
1140
|
+
"name": "fee",
|
|
1141
|
+
"type": "tuple"
|
|
1142
|
+
}
|
|
1143
|
+
],
|
|
1144
|
+
"internalType": "struct MessagingReceipt",
|
|
1145
|
+
"name": "receipt",
|
|
1146
|
+
"type": "tuple"
|
|
1147
|
+
},
|
|
1148
|
+
{
|
|
1149
|
+
"internalType": "uint256",
|
|
1150
|
+
"name": "amountLD",
|
|
1151
|
+
"type": "uint256"
|
|
1152
|
+
}
|
|
1153
|
+
],
|
|
1154
|
+
"stateMutability": "payable",
|
|
1155
|
+
"type": "function"
|
|
1156
|
+
},
|
|
1157
|
+
{
|
|
1158
|
+
"inputs": [
|
|
1159
|
+
{
|
|
1160
|
+
"internalType": "address",
|
|
1161
|
+
"name": "_owner",
|
|
1162
|
+
"type": "address"
|
|
1163
|
+
}
|
|
1164
|
+
],
|
|
1165
|
+
"name": "redeemable",
|
|
1166
|
+
"outputs": [
|
|
1167
|
+
{
|
|
1168
|
+
"internalType": "uint256",
|
|
1169
|
+
"name": "amountLD",
|
|
1170
|
+
"type": "uint256"
|
|
1171
|
+
}
|
|
1172
|
+
],
|
|
1173
|
+
"stateMutability": "view",
|
|
1174
|
+
"type": "function"
|
|
1175
|
+
},
|
|
1176
|
+
{
|
|
1177
|
+
"inputs": [],
|
|
1178
|
+
"name": "renounceOwnership",
|
|
1179
|
+
"outputs": [],
|
|
1180
|
+
"stateMutability": "nonpayable",
|
|
1181
|
+
"type": "function"
|
|
1182
|
+
},
|
|
1183
|
+
{
|
|
1184
|
+
"inputs": [
|
|
1185
|
+
{
|
|
1186
|
+
"internalType": "bytes32",
|
|
1187
|
+
"name": "_guid",
|
|
1188
|
+
"type": "bytes32"
|
|
1189
|
+
},
|
|
1190
|
+
{
|
|
1191
|
+
"internalType": "uint8",
|
|
1192
|
+
"name": "_index",
|
|
1193
|
+
"type": "uint8"
|
|
1194
|
+
},
|
|
1195
|
+
{
|
|
1196
|
+
"internalType": "address",
|
|
1197
|
+
"name": "_receiver",
|
|
1198
|
+
"type": "address"
|
|
1199
|
+
},
|
|
1200
|
+
{
|
|
1201
|
+
"internalType": "uint256",
|
|
1202
|
+
"name": "_amountLD",
|
|
1203
|
+
"type": "uint256"
|
|
1204
|
+
},
|
|
1205
|
+
{
|
|
1206
|
+
"internalType": "uint8",
|
|
1207
|
+
"name": "_composeIdx",
|
|
1208
|
+
"type": "uint8"
|
|
1209
|
+
},
|
|
1210
|
+
{
|
|
1211
|
+
"internalType": "bytes",
|
|
1212
|
+
"name": "_composeMsg",
|
|
1213
|
+
"type": "bytes"
|
|
1214
|
+
}
|
|
1215
|
+
],
|
|
1216
|
+
"name": "retryReceiveToken",
|
|
1217
|
+
"outputs": [],
|
|
1218
|
+
"stateMutability": "nonpayable",
|
|
1219
|
+
"type": "function"
|
|
1220
|
+
},
|
|
1221
|
+
{
|
|
1222
|
+
"inputs": [
|
|
1223
|
+
{
|
|
1224
|
+
"components": [
|
|
1225
|
+
{
|
|
1226
|
+
"internalType": "uint32",
|
|
1227
|
+
"name": "dstEid",
|
|
1228
|
+
"type": "uint32"
|
|
1229
|
+
},
|
|
1230
|
+
{
|
|
1231
|
+
"internalType": "bytes32",
|
|
1232
|
+
"name": "to",
|
|
1233
|
+
"type": "bytes32"
|
|
1234
|
+
},
|
|
1235
|
+
{
|
|
1236
|
+
"internalType": "uint256",
|
|
1237
|
+
"name": "amountLD",
|
|
1238
|
+
"type": "uint256"
|
|
1239
|
+
},
|
|
1240
|
+
{
|
|
1241
|
+
"internalType": "uint256",
|
|
1242
|
+
"name": "minAmountLD",
|
|
1243
|
+
"type": "uint256"
|
|
1244
|
+
},
|
|
1245
|
+
{
|
|
1246
|
+
"internalType": "bytes",
|
|
1247
|
+
"name": "extraOptions",
|
|
1248
|
+
"type": "bytes"
|
|
1249
|
+
},
|
|
1250
|
+
{
|
|
1251
|
+
"internalType": "bytes",
|
|
1252
|
+
"name": "composeMsg",
|
|
1253
|
+
"type": "bytes"
|
|
1254
|
+
},
|
|
1255
|
+
{
|
|
1256
|
+
"internalType": "bytes",
|
|
1257
|
+
"name": "oftCmd",
|
|
1258
|
+
"type": "bytes"
|
|
1259
|
+
}
|
|
1260
|
+
],
|
|
1261
|
+
"internalType": "struct SendParam",
|
|
1262
|
+
"name": "_sendParam",
|
|
1263
|
+
"type": "tuple"
|
|
1264
|
+
},
|
|
1265
|
+
{
|
|
1266
|
+
"components": [
|
|
1267
|
+
{
|
|
1268
|
+
"internalType": "uint256",
|
|
1269
|
+
"name": "nativeFee",
|
|
1270
|
+
"type": "uint256"
|
|
1271
|
+
},
|
|
1272
|
+
{
|
|
1273
|
+
"internalType": "uint256",
|
|
1274
|
+
"name": "lzTokenFee",
|
|
1275
|
+
"type": "uint256"
|
|
1276
|
+
}
|
|
1277
|
+
],
|
|
1278
|
+
"internalType": "struct MessagingFee",
|
|
1279
|
+
"name": "_fee",
|
|
1280
|
+
"type": "tuple"
|
|
1281
|
+
},
|
|
1282
|
+
{
|
|
1283
|
+
"internalType": "address",
|
|
1284
|
+
"name": "_refundAddress",
|
|
1285
|
+
"type": "address"
|
|
1286
|
+
}
|
|
1287
|
+
],
|
|
1288
|
+
"name": "send",
|
|
1289
|
+
"outputs": [
|
|
1290
|
+
{
|
|
1291
|
+
"components": [
|
|
1292
|
+
{
|
|
1293
|
+
"internalType": "bytes32",
|
|
1294
|
+
"name": "guid",
|
|
1295
|
+
"type": "bytes32"
|
|
1296
|
+
},
|
|
1297
|
+
{
|
|
1298
|
+
"internalType": "uint64",
|
|
1299
|
+
"name": "nonce",
|
|
1300
|
+
"type": "uint64"
|
|
1301
|
+
},
|
|
1302
|
+
{
|
|
1303
|
+
"components": [
|
|
1304
|
+
{
|
|
1305
|
+
"internalType": "uint256",
|
|
1306
|
+
"name": "nativeFee",
|
|
1307
|
+
"type": "uint256"
|
|
1308
|
+
},
|
|
1309
|
+
{
|
|
1310
|
+
"internalType": "uint256",
|
|
1311
|
+
"name": "lzTokenFee",
|
|
1312
|
+
"type": "uint256"
|
|
1313
|
+
}
|
|
1314
|
+
],
|
|
1315
|
+
"internalType": "struct MessagingFee",
|
|
1316
|
+
"name": "fee",
|
|
1317
|
+
"type": "tuple"
|
|
1318
|
+
}
|
|
1319
|
+
],
|
|
1320
|
+
"internalType": "struct MessagingReceipt",
|
|
1321
|
+
"name": "msgReceipt",
|
|
1322
|
+
"type": "tuple"
|
|
1323
|
+
},
|
|
1324
|
+
{
|
|
1325
|
+
"components": [
|
|
1326
|
+
{
|
|
1327
|
+
"internalType": "uint256",
|
|
1328
|
+
"name": "amountSentLD",
|
|
1329
|
+
"type": "uint256"
|
|
1330
|
+
},
|
|
1331
|
+
{
|
|
1332
|
+
"internalType": "uint256",
|
|
1333
|
+
"name": "amountReceivedLD",
|
|
1334
|
+
"type": "uint256"
|
|
1335
|
+
}
|
|
1336
|
+
],
|
|
1337
|
+
"internalType": "struct OFTReceipt",
|
|
1338
|
+
"name": "oftReceipt",
|
|
1339
|
+
"type": "tuple"
|
|
1340
|
+
}
|
|
1341
|
+
],
|
|
1342
|
+
"stateMutability": "payable",
|
|
1343
|
+
"type": "function"
|
|
1344
|
+
},
|
|
1345
|
+
{
|
|
1346
|
+
"inputs": [
|
|
1347
|
+
{
|
|
1348
|
+
"internalType": "uint32",
|
|
1349
|
+
"name": "_dstEid",
|
|
1350
|
+
"type": "uint32"
|
|
1351
|
+
},
|
|
1352
|
+
{
|
|
1353
|
+
"components": [
|
|
1354
|
+
{
|
|
1355
|
+
"internalType": "uint32",
|
|
1356
|
+
"name": "srcEid",
|
|
1357
|
+
"type": "uint32"
|
|
1358
|
+
},
|
|
1359
|
+
{
|
|
1360
|
+
"internalType": "uint64",
|
|
1361
|
+
"name": "amount",
|
|
1362
|
+
"type": "uint64"
|
|
1363
|
+
}
|
|
1364
|
+
],
|
|
1365
|
+
"internalType": "struct Credit[]",
|
|
1366
|
+
"name": "_credits",
|
|
1367
|
+
"type": "tuple[]"
|
|
1368
|
+
}
|
|
1369
|
+
],
|
|
1370
|
+
"name": "sendCredits",
|
|
1371
|
+
"outputs": [],
|
|
1372
|
+
"stateMutability": "nonpayable",
|
|
1373
|
+
"type": "function"
|
|
1374
|
+
},
|
|
1375
|
+
{
|
|
1376
|
+
"inputs": [
|
|
1377
|
+
{
|
|
1378
|
+
"components": [
|
|
1379
|
+
{
|
|
1380
|
+
"internalType": "uint32",
|
|
1381
|
+
"name": "dstEid",
|
|
1382
|
+
"type": "uint32"
|
|
1383
|
+
},
|
|
1384
|
+
{
|
|
1385
|
+
"internalType": "bytes32",
|
|
1386
|
+
"name": "to",
|
|
1387
|
+
"type": "bytes32"
|
|
1388
|
+
},
|
|
1389
|
+
{
|
|
1390
|
+
"internalType": "uint256",
|
|
1391
|
+
"name": "amountLD",
|
|
1392
|
+
"type": "uint256"
|
|
1393
|
+
},
|
|
1394
|
+
{
|
|
1395
|
+
"internalType": "uint256",
|
|
1396
|
+
"name": "minAmountLD",
|
|
1397
|
+
"type": "uint256"
|
|
1398
|
+
},
|
|
1399
|
+
{
|
|
1400
|
+
"internalType": "bytes",
|
|
1401
|
+
"name": "extraOptions",
|
|
1402
|
+
"type": "bytes"
|
|
1403
|
+
},
|
|
1404
|
+
{
|
|
1405
|
+
"internalType": "bytes",
|
|
1406
|
+
"name": "composeMsg",
|
|
1407
|
+
"type": "bytes"
|
|
1408
|
+
},
|
|
1409
|
+
{
|
|
1410
|
+
"internalType": "bytes",
|
|
1411
|
+
"name": "oftCmd",
|
|
1412
|
+
"type": "bytes"
|
|
1413
|
+
}
|
|
1414
|
+
],
|
|
1415
|
+
"internalType": "struct SendParam",
|
|
1416
|
+
"name": "_sendParam",
|
|
1417
|
+
"type": "tuple"
|
|
1418
|
+
},
|
|
1419
|
+
{
|
|
1420
|
+
"components": [
|
|
1421
|
+
{
|
|
1422
|
+
"internalType": "uint256",
|
|
1423
|
+
"name": "nativeFee",
|
|
1424
|
+
"type": "uint256"
|
|
1425
|
+
},
|
|
1426
|
+
{
|
|
1427
|
+
"internalType": "uint256",
|
|
1428
|
+
"name": "lzTokenFee",
|
|
1429
|
+
"type": "uint256"
|
|
1430
|
+
}
|
|
1431
|
+
],
|
|
1432
|
+
"internalType": "struct MessagingFee",
|
|
1433
|
+
"name": "_fee",
|
|
1434
|
+
"type": "tuple"
|
|
1435
|
+
},
|
|
1436
|
+
{
|
|
1437
|
+
"internalType": "address",
|
|
1438
|
+
"name": "_refundAddress",
|
|
1439
|
+
"type": "address"
|
|
1440
|
+
}
|
|
1441
|
+
],
|
|
1442
|
+
"name": "sendToken",
|
|
1443
|
+
"outputs": [
|
|
1444
|
+
{
|
|
1445
|
+
"components": [
|
|
1446
|
+
{
|
|
1447
|
+
"internalType": "bytes32",
|
|
1448
|
+
"name": "guid",
|
|
1449
|
+
"type": "bytes32"
|
|
1450
|
+
},
|
|
1451
|
+
{
|
|
1452
|
+
"internalType": "uint64",
|
|
1453
|
+
"name": "nonce",
|
|
1454
|
+
"type": "uint64"
|
|
1455
|
+
},
|
|
1456
|
+
{
|
|
1457
|
+
"components": [
|
|
1458
|
+
{
|
|
1459
|
+
"internalType": "uint256",
|
|
1460
|
+
"name": "nativeFee",
|
|
1461
|
+
"type": "uint256"
|
|
1462
|
+
},
|
|
1463
|
+
{
|
|
1464
|
+
"internalType": "uint256",
|
|
1465
|
+
"name": "lzTokenFee",
|
|
1466
|
+
"type": "uint256"
|
|
1467
|
+
}
|
|
1468
|
+
],
|
|
1469
|
+
"internalType": "struct MessagingFee",
|
|
1470
|
+
"name": "fee",
|
|
1471
|
+
"type": "tuple"
|
|
1472
|
+
}
|
|
1473
|
+
],
|
|
1474
|
+
"internalType": "struct MessagingReceipt",
|
|
1475
|
+
"name": "msgReceipt",
|
|
1476
|
+
"type": "tuple"
|
|
1477
|
+
},
|
|
1478
|
+
{
|
|
1479
|
+
"components": [
|
|
1480
|
+
{
|
|
1481
|
+
"internalType": "uint256",
|
|
1482
|
+
"name": "amountSentLD",
|
|
1483
|
+
"type": "uint256"
|
|
1484
|
+
},
|
|
1485
|
+
{
|
|
1486
|
+
"internalType": "uint256",
|
|
1487
|
+
"name": "amountReceivedLD",
|
|
1488
|
+
"type": "uint256"
|
|
1489
|
+
}
|
|
1490
|
+
],
|
|
1491
|
+
"internalType": "struct OFTReceipt",
|
|
1492
|
+
"name": "oftReceipt",
|
|
1493
|
+
"type": "tuple"
|
|
1494
|
+
},
|
|
1495
|
+
{
|
|
1496
|
+
"components": [
|
|
1497
|
+
{
|
|
1498
|
+
"internalType": "uint56",
|
|
1499
|
+
"name": "ticketId",
|
|
1500
|
+
"type": "uint56"
|
|
1501
|
+
},
|
|
1502
|
+
{
|
|
1503
|
+
"internalType": "bytes",
|
|
1504
|
+
"name": "passenger",
|
|
1505
|
+
"type": "bytes"
|
|
1506
|
+
}
|
|
1507
|
+
],
|
|
1508
|
+
"internalType": "struct Ticket",
|
|
1509
|
+
"name": "passenger",
|
|
1510
|
+
"type": "tuple"
|
|
1511
|
+
}
|
|
1512
|
+
],
|
|
1513
|
+
"stateMutability": "payable",
|
|
1514
|
+
"type": "function"
|
|
1515
|
+
},
|
|
1516
|
+
{
|
|
1517
|
+
"inputs": [
|
|
1518
|
+
{
|
|
1519
|
+
"components": [
|
|
1520
|
+
{
|
|
1521
|
+
"internalType": "address",
|
|
1522
|
+
"name": "feeLib",
|
|
1523
|
+
"type": "address"
|
|
1524
|
+
},
|
|
1525
|
+
{
|
|
1526
|
+
"internalType": "address",
|
|
1527
|
+
"name": "planner",
|
|
1528
|
+
"type": "address"
|
|
1529
|
+
},
|
|
1530
|
+
{
|
|
1531
|
+
"internalType": "address",
|
|
1532
|
+
"name": "treasurer",
|
|
1533
|
+
"type": "address"
|
|
1534
|
+
},
|
|
1535
|
+
{
|
|
1536
|
+
"internalType": "address",
|
|
1537
|
+
"name": "tokenMessaging",
|
|
1538
|
+
"type": "address"
|
|
1539
|
+
},
|
|
1540
|
+
{
|
|
1541
|
+
"internalType": "address",
|
|
1542
|
+
"name": "creditMessaging",
|
|
1543
|
+
"type": "address"
|
|
1544
|
+
},
|
|
1545
|
+
{
|
|
1546
|
+
"internalType": "address",
|
|
1547
|
+
"name": "lzToken",
|
|
1548
|
+
"type": "address"
|
|
1549
|
+
}
|
|
1550
|
+
],
|
|
1551
|
+
"internalType": "struct AddressConfig",
|
|
1552
|
+
"name": "_config",
|
|
1553
|
+
"type": "tuple"
|
|
1554
|
+
}
|
|
1555
|
+
],
|
|
1556
|
+
"name": "setAddressConfig",
|
|
1557
|
+
"outputs": [],
|
|
1558
|
+
"stateMutability": "nonpayable",
|
|
1559
|
+
"type": "function"
|
|
1560
|
+
},
|
|
1561
|
+
{
|
|
1562
|
+
"inputs": [
|
|
1563
|
+
{
|
|
1564
|
+
"internalType": "uint32",
|
|
1565
|
+
"name": "_dstEid",
|
|
1566
|
+
"type": "uint32"
|
|
1567
|
+
},
|
|
1568
|
+
{
|
|
1569
|
+
"internalType": "uint16",
|
|
1570
|
+
"name": "_baseFareMultiplierBps",
|
|
1571
|
+
"type": "uint16"
|
|
1572
|
+
}
|
|
1573
|
+
],
|
|
1574
|
+
"name": "setBaseFareMultiplierBps",
|
|
1575
|
+
"outputs": [],
|
|
1576
|
+
"stateMutability": "nonpayable",
|
|
1577
|
+
"type": "function"
|
|
1578
|
+
},
|
|
1579
|
+
{
|
|
1580
|
+
"inputs": [
|
|
1581
|
+
{
|
|
1582
|
+
"internalType": "uint32",
|
|
1583
|
+
"name": "_dstEid",
|
|
1584
|
+
"type": "uint32"
|
|
1585
|
+
},
|
|
1586
|
+
{
|
|
1587
|
+
"internalType": "bool",
|
|
1588
|
+
"name": "_oft",
|
|
1589
|
+
"type": "bool"
|
|
1590
|
+
}
|
|
1591
|
+
],
|
|
1592
|
+
"name": "setOFTPath",
|
|
1593
|
+
"outputs": [],
|
|
1594
|
+
"stateMutability": "nonpayable",
|
|
1595
|
+
"type": "function"
|
|
1596
|
+
},
|
|
1597
|
+
{
|
|
1598
|
+
"inputs": [
|
|
1599
|
+
{
|
|
1600
|
+
"internalType": "bool",
|
|
1601
|
+
"name": "_paused",
|
|
1602
|
+
"type": "bool"
|
|
1603
|
+
}
|
|
1604
|
+
],
|
|
1605
|
+
"name": "setPause",
|
|
1606
|
+
"outputs": [],
|
|
1607
|
+
"stateMutability": "nonpayable",
|
|
1608
|
+
"type": "function"
|
|
1609
|
+
},
|
|
1610
|
+
{
|
|
1611
|
+
"inputs": [],
|
|
1612
|
+
"name": "sharedDecimals",
|
|
1613
|
+
"outputs": [
|
|
1614
|
+
{
|
|
1615
|
+
"internalType": "uint8",
|
|
1616
|
+
"name": "",
|
|
1617
|
+
"type": "uint8"
|
|
1618
|
+
}
|
|
1619
|
+
],
|
|
1620
|
+
"stateMutability": "view",
|
|
1621
|
+
"type": "function"
|
|
1622
|
+
},
|
|
1623
|
+
{
|
|
1624
|
+
"inputs": [],
|
|
1625
|
+
"name": "stargateType",
|
|
1626
|
+
"outputs": [
|
|
1627
|
+
{
|
|
1628
|
+
"internalType": "enum StargateType",
|
|
1629
|
+
"name": "",
|
|
1630
|
+
"type": "uint8"
|
|
1631
|
+
}
|
|
1632
|
+
],
|
|
1633
|
+
"stateMutability": "pure",
|
|
1634
|
+
"type": "function"
|
|
1635
|
+
},
|
|
1636
|
+
{
|
|
1637
|
+
"inputs": [],
|
|
1638
|
+
"name": "status",
|
|
1639
|
+
"outputs": [
|
|
1640
|
+
{
|
|
1641
|
+
"internalType": "uint8",
|
|
1642
|
+
"name": "",
|
|
1643
|
+
"type": "uint8"
|
|
1644
|
+
}
|
|
1645
|
+
],
|
|
1646
|
+
"stateMutability": "view",
|
|
1647
|
+
"type": "function"
|
|
1648
|
+
},
|
|
1649
|
+
{
|
|
1650
|
+
"inputs": [],
|
|
1651
|
+
"name": "token",
|
|
1652
|
+
"outputs": [
|
|
1653
|
+
{
|
|
1654
|
+
"internalType": "address",
|
|
1655
|
+
"name": "",
|
|
1656
|
+
"type": "address"
|
|
1657
|
+
}
|
|
1658
|
+
],
|
|
1659
|
+
"stateMutability": "view",
|
|
1660
|
+
"type": "function"
|
|
1661
|
+
},
|
|
1662
|
+
{
|
|
1663
|
+
"inputs": [
|
|
1664
|
+
{
|
|
1665
|
+
"internalType": "address",
|
|
1666
|
+
"name": "newOwner",
|
|
1667
|
+
"type": "address"
|
|
1668
|
+
}
|
|
1669
|
+
],
|
|
1670
|
+
"name": "transferOwnership",
|
|
1671
|
+
"outputs": [],
|
|
1672
|
+
"stateMutability": "nonpayable",
|
|
1673
|
+
"type": "function"
|
|
1674
|
+
},
|
|
1675
|
+
{
|
|
1676
|
+
"inputs": [],
|
|
1677
|
+
"name": "treasuryFee",
|
|
1678
|
+
"outputs": [
|
|
1679
|
+
{
|
|
1680
|
+
"internalType": "uint64",
|
|
1681
|
+
"name": "",
|
|
1682
|
+
"type": "uint64"
|
|
1683
|
+
}
|
|
1684
|
+
],
|
|
1685
|
+
"stateMutability": "view",
|
|
1686
|
+
"type": "function"
|
|
1687
|
+
},
|
|
1688
|
+
{
|
|
1689
|
+
"inputs": [],
|
|
1690
|
+
"name": "tvl",
|
|
1691
|
+
"outputs": [
|
|
1692
|
+
{
|
|
1693
|
+
"internalType": "uint256",
|
|
1694
|
+
"name": "",
|
|
1695
|
+
"type": "uint256"
|
|
1696
|
+
}
|
|
1697
|
+
],
|
|
1698
|
+
"stateMutability": "view",
|
|
1699
|
+
"type": "function"
|
|
1700
|
+
},
|
|
1701
|
+
{
|
|
1702
|
+
"inputs": [
|
|
1703
|
+
{
|
|
1704
|
+
"internalType": "bytes32",
|
|
1705
|
+
"name": "guid",
|
|
1706
|
+
"type": "bytes32"
|
|
1707
|
+
},
|
|
1708
|
+
{
|
|
1709
|
+
"internalType": "uint8",
|
|
1710
|
+
"name": "index",
|
|
1711
|
+
"type": "uint8"
|
|
1712
|
+
}
|
|
1713
|
+
],
|
|
1714
|
+
"name": "unreceivedTokens",
|
|
1715
|
+
"outputs": [
|
|
1716
|
+
{
|
|
1717
|
+
"internalType": "bytes32",
|
|
1718
|
+
"name": "hash",
|
|
1719
|
+
"type": "bytes32"
|
|
1720
|
+
}
|
|
1721
|
+
],
|
|
1722
|
+
"stateMutability": "view",
|
|
1723
|
+
"type": "function"
|
|
1724
|
+
},
|
|
1725
|
+
{
|
|
1726
|
+
"inputs": [
|
|
1727
|
+
{
|
|
1728
|
+
"internalType": "address",
|
|
1729
|
+
"name": "_to",
|
|
1730
|
+
"type": "address"
|
|
1731
|
+
},
|
|
1732
|
+
{
|
|
1733
|
+
"internalType": "uint64",
|
|
1734
|
+
"name": "_amountSD",
|
|
1735
|
+
"type": "uint64"
|
|
1736
|
+
}
|
|
1737
|
+
],
|
|
1738
|
+
"name": "withdrawTreasuryFee",
|
|
1739
|
+
"outputs": [],
|
|
1740
|
+
"stateMutability": "nonpayable",
|
|
1741
|
+
"type": "function"
|
|
1742
|
+
}
|
|
1743
|
+
],
|
|
1744
|
+
"bytecode": "0x6101406040526001805460ff60a01b1916600160a01b1790553480156200002557600080fd5b5060405162008261380380620082618339810160408190526200004891620002fb565b8686868686868684848484846200005f33620001a1565b6001600160a01b03851660805260ff80841690851610156200009457604051632e4b554360e01b815260040160405180910390fd5b620000a08385620003d8565b620000ad90600a620004f7565b60c05260ff831660a0526001600160a01b03821660e08190526040805163416ecebf60e01b8152905163416ecebf916004808201926020929091908290030181865afa15801562000102573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200012891906200050f565b63ffffffff16610100526200013d81620001a1565b50505050508686856040516200015390620001f1565b620001619392919062000565565b604051809103906000f0801580156200017e573d6000803e3d6000fd5b506001600160a01b03166101205250620005a29c50505050505050505050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b611f0e806200635383390190565b634e487b7160e01b600052604160045260246000fd5b60005b838110156200023257818101518382015260200162000218565b50506000910152565b600082601f8301126200024d57600080fd5b81516001600160401b03808211156200026a576200026a620001ff565b604051601f8301601f19908116603f01168101908282118183101715620002955762000295620001ff565b81604052838152866020858801011115620002af57600080fd5b620002c284602083016020890162000215565b9695505050505050565b80516001600160a01b0381168114620002e457600080fd5b919050565b805160ff81168114620002e457600080fd5b600080600080600080600060e0888a0312156200031757600080fd5b87516001600160401b03808211156200032f57600080fd5b6200033d8b838c016200023b565b985060208a01519150808211156200035457600080fd5b50620003638a828b016200023b565b9650506200037460408901620002cc565b94506200038460608901620002e9565b93506200039460808901620002e9565b9250620003a460a08901620002cc565b9150620003b460c08901620002cc565b905092959891949750929550565b634e487b7160e01b600052601160045260246000fd5b60ff8281168282160390811115620003f457620003f4620003c2565b92915050565b600181815b808511156200043b5781600019048211156200041f576200041f620003c2565b808516156200042d57918102915b93841c9390800290620003ff565b509250929050565b6000826200045457506001620003f4565b816200046357506000620003f4565b81600181146200047c57600281146200048757620004a7565b6001915050620003f4565b60ff8411156200049b576200049b620003c2565b50506001821b620003f4565b5060208310610133831016604e8410600b8410161715620004cc575081810a620003f4565b620004d88383620003fa565b8060001904821115620004ef57620004ef620003c2565b029392505050565b60006200050860ff84168362000443565b9392505050565b6000602082840312156200052257600080fd5b815163ffffffff811681146200050857600080fd5b600081518084526200055181602086016020860162000215565b601f01601f19169290920160200192915050565b6060815260006200057a606083018662000537565b82810360208401526200058e818662000537565b91505060ff83166040830152949350505050565b60805160a05160c05160e0516101005161012051615c7a620006d96000396000818161062201528181611d8801528181611f92015281816121cd0152818161256b0152818161337d01526135ab015260008181610ab10152818161194d01528181611dec01528181611ec5015281816124c501528181612ecb01526140b901526000818161283901528181612e50015261466f015260008181610b9f01528181610e0f01528181610f7301528181610ff70152818161102601528181611d0e01528181611f070152818161216a0152818161230501528181612508015281816130680152818161321a015281816132440152818161370c015261399b015260006106ef0152600081816108ed0152818161091101528181610a3a01528181613697015281816139cd01526142790152615c7a6000f3fe60806040526004361061024f5760003560e01c8063715018a611610138578063c0b78967116100b0578063cc32d1761161007f578063e5328e0611610064578063e5328e06146108a6578063f2fde38b146108bb578063fc0c546a146108db57600080fd5b8063cc32d1761461081b578063d621ad3f1461086e57600080fd5b8063c0b7896714610798578063c7c7f5b3146107b8578063c859c483146107d9578063cbef2aa9146107f957600080fd5b8063857749b0116101075780639561b12f116100ec5780639561b12f1461073c5780639f68b9641461075c578063bedb86fb1461077857600080fd5b8063857749b0146106dd5780638da5cb5b1461071157600080fd5b8063715018a614610667578063764f6a781461067c5780637bde82f21461069d5780637e3e8a4c146106bd57600080fd5b80632bc5114c116101cb5780633faa12c51161019a57806347e7ef241161017f57806347e7ef24146105d2578063484267a4146105f35780635fcbd2851461061357600080fd5b80633faa12c514610592578063461bb0b9146105b257600080fd5b80632bc5114c146103e9578063341a4648146104f957806338da6b8e1461050c5780633b6f743b1461057257600080fd5b806316909bca11610222578063192adc5d11610207578063192adc5d14610358578063200d2ed2146103855780632708987a146103c957600080fd5b806316909bca1461030f57806316a96d1e1461032b57600080fd5b806309bbb201146102545780630d35b415146102765780630f12f7ab146102ae578063156a0d0f146102ce575b600080fd5b34801561026057600080fd5b5061027461026f3660046148be565b61090f565b005b34801561028257600080fd5b506102966102913660046148ed565b610b2f565b6040516102a593929190614972565b60405180910390f35b3480156102ba57600080fd5b506102746102c9366004614a42565b611065565b3480156102da57600080fd5b50604080517f02e49c2c00000000000000000000000000000000000000000000000000000000815260006020820152016102a5565b34801561031b57600080fd5b5060006040516102a59190614a80565b34801561033757600080fd5b5061034b610346366004614b0a565b611101565b6040516102a59190614b64565b34801561036457600080fd5b50610378610373366004614bb7565b611216565b6040516102a59190614bfe565b34801561039157600080fd5b506001546103b79074010000000000000000000000000000000000000000900460ff1681565b60405160ff90911681526020016102a5565b3480156103d557600080fd5b506102746103e4366004614c15565b61130a565b3480156103f557600080fd5b5061048b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152506040805160c08101825260015473ffffffffffffffffffffffffffffffffffffffff908116825260025481166020830152600654811692820192909252600354821660608201526004548216608082015260055490911660a082015290565b6040516102a59190600060c08201905073ffffffffffffffffffffffffffffffffffffffff8084511683528060208501511660208401528060408501511660408401528060608501511660608401528060808501511660808401528060a08501511660a08401525092915050565b610274610507366004614c9b565b61156f565b34801561051857600080fd5b5061054f610527366004614cb4565b60076020526000908152604090205461ffff81169062010000900467ffffffffffffffff1682565b6040805161ffff909316835267ffffffffffffffff9091166020830152016102a5565b34801561057e57600080fd5b5061037861058d366004614bb7565b61166f565b34801561059e57600080fd5b506102746105ad366004614ccf565b611943565b3480156105be57600080fd5b506102746105cd366004614cfb565b611a16565b6105e56105e0366004614d2f565b611c1c565b6040519081526020016102a5565b3480156105ff57600080fd5b506105e561060e366004614d5b565b611ebe565b34801561061f57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102a5565b34801561067357600080fd5b5061027461201a565b61068f61068a366004614d78565b61202e565b6040516102a5929190614e1a565b3480156106a957600080fd5b506105e56106b8366004614e35565b6123da565b3480156106c957600080fd5b506102746106d8366004614e6b565b612630565b3480156106e957600080fd5b506103b77f000000000000000000000000000000000000000000000000000000000000000081565b34801561071d57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610642565b34801561074857600080fd5b50610274610757366004614c15565b612a30565b34801561076857600080fd5b50604051600181526020016102a5565b34801561078457600080fd5b50610274610793366004614ee0565b612c0a565b3480156107a457600080fd5b506102746107b3366004614efd565b612c89565b6107cb6107c6366004614d78565b612f83565b6040516102a5929190614f88565b3480156107e557600080fd5b506102746107f4366004614fac565b612fb7565b61080c610807366004614d78565b6130e5565b6040516102a593929190614fda565b34801561082757600080fd5b50600154610855907501000000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016102a5565b34801561087a57600080fd5b506105e5610889366004615033565b600860209081526000928352604080842090915290825290205481565b3480156108b257600080fd5b506105e5613379565b3480156108c757600080fd5b506102746108d6366004614d5b565b61340f565b3480156108e757600080fd5b506106427f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561097a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099e919061505f565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a02576040517f5bd25eff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f42966c6800000000000000000000000000000000000000000000000000000000815267ffffffffffffffff821660048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906342966c6890602401600060405180830381600087803b158015610a9357600080fd5b505af1158015610aa7573d6000803e3d6000fd5b50505063ffffffff7f000000000000000000000000000000000000000000000000000000000000000081166000908152600760205260409020610aee92509083906134cb16565b5060405167ffffffffffffffff821681527fe1825c00ade29eaff76bae6774e13bc96e688c663c5e42944aae9e104000bce89060200160405180910390a150565b60408051808201909152600080825260208201526060610b62604051806040016040528060008152602001600081525090565b600080610b6d6135a3565b9092509050610bd360076000610b8660208a018a614cb4565b63ffffffff1681526020810191909152604001600020547f00000000000000000000000000000000000000000000000000000000000000006201000090910467ffffffffffffffff160290565b60208601819052600090604088013511610bf1578660400135610bf7565b85602001515b90506000610c0482613705565b6040805160e08101909152338152909150600090602080820190610c2a908c018c614cb4565b63ffffffff1681526020018367ffffffffffffffff1681526020018667ffffffffffffffff1681526020018567ffffffffffffffff168152602001610cb0600760008d6000016020810190610c7f9190614cb4565b63ffffffff1663ffffffff1681526020019081526020016000205462010000900467ffffffffffffffff9081161490565b15158152602001610ccd610cc760c08d018d61507c565b15919050565b151590526001546040517f5b64903b00000000000000000000000000000000000000000000000000000000815291925060009173ffffffffffffffffffffffffffffffffffffffff90911690635b64903b90610d2d9085906004016150e1565b602060405180830381865afa158015610d4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6e9190615160565b90508267ffffffffffffffff168167ffffffffffffffff1614610ff55760408051600180825281830190925290816020015b604080518082019091526000815260606020820152815260200190600190039081610da05790505097508267ffffffffffffffff168167ffffffffffffffff161015610ec2576040518060400160405280610e37610e328487610e0391906151db565b67ffffffffffffffff167f00000000000000000000000000000000000000000000000000000000000000000290565b61373f565b610e61907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff615203565b81526020016040518060400160405280600c81526020017f70726f746f636f6c20666565000000000000000000000000000000000000000081525081525088600081518110610eb257610eb261524f565b6020026020010181905250610ff5565b8267ffffffffffffffff168167ffffffffffffffff161115610ff5576000610eea84836151db565b9050610ef682826137f5565b909250905067ffffffffffffffff80851690831603610f55576040805160008082526020820190925290610f4d565b604080518082019091526000815260606020820152815260200190600190039081610f255790505b509850610ff3565b6040518060400160405280610f96610e328467ffffffffffffffff167f00000000000000000000000000000000000000000000000000000000000000000290565b81526020016040518060400160405280600681526020017f726577617264000000000000000000000000000000000000000000000000000081525081525089600081518110610fe757610fe761524f565b60200260200101819052505b505b7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff84160287527f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff821602602088015250969895975093955050505050565b60025473ffffffffffffffffffffffffffffffffffffffff163381146110b7576040517f5bd25eff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5063ffffffff91909116600090815260076020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff909216919091179055565b6040805160808101825260008082526020820181905291810182905260608101919091526001546040805160606020601f88018190040282018101835291810186815273ffffffffffffffffffffffffffffffffffffffff9093169263df0810919233928a9290918291908b908b90819085018382808284376000920191909152505050908252506020018790526040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1681526111ca939291906004016152a7565b608060405180830381865afa1580156111e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120b91906153dc565b90505b949350505050565b604080518082019091526000808252602082015261123a610cc760c085018561507c565b611270576040517f2d9560be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035473ffffffffffffffffffffffffffffffffffffffff16633292cf026112a561129e6040870135613705565b869061384a565b846040518363ffffffff1660e01b81526004016112c3929190615474565b6040805180830381865afa1580156112df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130391906154c8565b9392505050565b60015474010000000000000000000000000000000000000000900460ff166002198101611363576040517fdb22c33c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60011960ff8216016113a1576040517f76a9ad7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167402000000000000000000000000000000000000000017905560045473ffffffffffffffffffffffffffffffffffffffff16338114611432576040517f5bd25eff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b838110156114ed57368585838181106114505761145061524f565b905060400201905060006114a982602001602081019061147091906148be565b600760006114816020870187614cb4565b63ffffffff1663ffffffff1681526020019081526020016000206134cb90919063ffffffff16565b905080156114e3576040517fada8342400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600101611435565b507fce105e156370093e6600169f7c01277f740d45fbcf95435227ce6f43ad0c3abd858585604051611521939291906154e4565b60405180910390a15050600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055505050565b60065473ffffffffffffffffffffffffffffffffffffffff163381146115c1576040517f5bd25eff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115ca82613954565b60006115d6338461398c565b905080600160158282829054906101000a900467ffffffffffffffff166115fd9190615557565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055507fa064a2faa279f4d67c85c8fc69d4ebb7de2739a9e6dd864dfdd1b9e066d4bfd081604051611662919067ffffffffffffffff91909116815260200190565b60405180910390a1505050565b604080518082019091526000808252602082015260006116928460400135613705565b90508067ffffffffffffffff166000036116d8576040517f3442dd9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006116ea610cc760c087018761507c565b9050801561177f5760035473ffffffffffffffffffffffffffffffffffffffff16633292cf0261171a878561384a565b866040518363ffffffff1660e01b8152600401611738929190615474565b6040805180830381865afa158015611754573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061177891906154c8565b925061193b565b6000604051806040016040528087806080019061179c919061507c565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050908252506020016117e360a089018961507c565b9091525060015490915060009073ffffffffffffffffffffffffffffffffffffffff1663df0810913361181960208b018b614cb4565b856040518463ffffffff1660e01b8152600401611838939291906152a7565b608060405180830381865afa158015611855573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187991906153dc565b60035490915073ffffffffffffffffffffffffffffffffffffffff1663bae02db66118da86600760006118af60208e018e614cb4565b63ffffffff90811682526020820192909252604001600020548c929161ffff9091169087906139f416565b6040518263ffffffff1660e01b81526004016118f6919061563e565b6040805180830381865afa158015611912573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061193691906154c8565b945050505b505092915050565b61194b613af0565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168263ffffffff16036119b0576040517fada8342400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b63ffffffff80831660009081526007602052604090206119d2918390613b7116565b6040805163ffffffff8416815282151560208201527faf6b8dd4c5a827e03f548d06181b36aaba61e22436ff1cfa9bc409d576366a60910160405180910390a15050565b611a1e613af0565b611a2b6020820182614d5b565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055611a806040820160208301614d5b565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055611ad56060820160408301614d5b565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055611b2a6080820160608301614d5b565b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055611b7f60a0820160808301614d5b565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055611bd460c0820160a08301614d5b565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905550565b60015460009074010000000000000000000000000000000000000000900460ff166002198101611c78576040517fdb22c33c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60011960ff821601611cb6576040517f76a9ad7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674020000000000000000000000000000000000000000179055611cfe83613954565b6000611d0a338561398c565b90507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff8216026040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8781166004830152602482018390529194507f0000000000000000000000000000000000000000000000000000000000000000909116906340c10f1990604401600060405180830381600087803b158015611dce57600080fd5b505af1158015611de2573d6000803e3d6000fd5b50505063ffffffff7f000000000000000000000000000000000000000000000000000000000000000081166000908152600760205260409020611e299250908390613c7116565b60405183815273ffffffffffffffffffffffffffffffffffffffff86169033907f8752a472e571a816aea92eec8dae9baf628e840f4929fbcc2d155e6233ff68a7906020015b60405180910390a35050600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017905592915050565b63ffffffff7f00000000000000000000000000000000000000000000000000000000000000001660009081526007602052604081205467ffffffffffffffff62010000909104167f00000000000000000000000000000000000000000000000000000000000000000273ffffffffffffffffffffffffffffffffffffffff8316611f4a57809150612014565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906370a0823190602401602060405180830381865afa158015611fdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fff9190615651565b905080821161200e5781612010565b805b9250505b50919050565b612022613af0565b61202c6000613d5c565b565b612036614860565b60015460009074010000000000000000000000000000000000000000900460ff166002198101612092576040517fdb22c33c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60011960ff8216016120d0576040517f76a9ad7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167402000000000000000000000000000000000000000017905561211f610cc760c088018861507c565b612155576040517f2d9560be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006121648760400135613705565b905060007f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff8316026040517f79cc6790000000000000000000000000000000000000000000000000000000008152336004820152602481018290529091507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906379cc679090604401600060405180830381600087803b15801561222657600080fd5b505af115801561223a573d6000803e3d6000fd5b5050604051838152600092503391507f27d4634c833b7622a0acddbf7f746183625f105945e95c723ad1d5a9f2a0b6fc9060200160405180910390a36000806122bb61228960208c018c614cb4565b856122978d60600135613705565b60408051606081018252600091810182815281526020810191909152600190613dd1565b5090925090506122d86122d160208c018c614cb4565b838361407f565b60006122f36122ec368c90038c018c61566a565b60006140f4565b90506123018b82858c614149565b97507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff841602885190975033907f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a61236560208f018f614cb4565b6040805163ffffffff90921682526020820189905281018b905260600160405180910390a35050600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017905550939792965091945050505050565b60015460009074010000000000000000000000000000000000000000900460ff166002198101612436576040517fdb22c33c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60011960ff821601612474576040517f76a9ad7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167402000000000000000000000000000000000000000017905560006124be85613705565b63ffffffff7f000000000000000000000000000000000000000000000000000000000000000081166000908152600760205260409020919250612504919083906141f916565b90507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff8216026040517f79cc6790000000000000000000000000000000000000000000000000000000008152336004820152602481018290529093507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906379cc679090604401600060405180830381600087803b1580156125c457600080fd5b505af11580156125d8573d6000803e3d6000fd5b505050506125e6848461422d565b60405183815273ffffffffffffffffffffffffffffffffffffffff85169033907f27d4634c833b7622a0acddbf7f746183625f105945e95c723ad1d5a9f2a0b6fc90602001611e6f565b60015474010000000000000000000000000000000000000000900460ff166002198101612689576040517fdb22c33c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60011960ff8216016126c7576040517f76a9ad7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167402000000000000000000000000000000000000000017905560035473ffffffffffffffffffffffffffffffffffffffff16338114612758576040517f5bd25eff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061276d610e0360408601602087016148be565b9050600061277e6020860186614d5b565b9050600061278c8284614272565b905060008061279e604089018961507c565b905011905060608115612816576128136127be60608d0160408e016148be565b6127cb60208e018e614cb4565b876127d960408d018d61507c565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061429f92505050565b90505b821561292c5781156128c35773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016637cb59012858c61287060808d0160608e0161569c565b856040518563ffffffff1660e01b815260040161289094939291906156b7565b600060405180830381600087803b1580156128aa57600080fd5b505af11580156128be573d6000803e3d6000fd5b505050505b73ffffffffffffffffffffffffffffffffffffffff84168a7fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c61290960208f018f614cb4565b6040805163ffffffff9092168252602082018a90520160405180910390a36129e4565b600061293e60808a0160608b0161569c565b905060008587838560405160200161295994939291906156f5565b60405160208183030381529060405290508080519060200120600860008e815260200190815260200160002060008d60ff1660ff168152602001908152602001600020819055507fb0a708e82202f7fac05dc44361fd47adf79042795add3d2ed05155d3e5e9fa7e8c8c888a86886040516129d996959493929190615773565b60405180910390a150505b5050600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055505050505050505050565b60015474010000000000000000000000000000000000000000900460ff166002198101612a89576040517fdb22c33c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60011960ff821601612ac7576040517f76a9ad7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167402000000000000000000000000000000000000000017905560045473ffffffffffffffffffffffffffffffffffffffff16338114612b58576040517f5bd25eff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b83811015612bd65736858583818110612b7657612b7661524f565b9050604002019050612bcd816020016020810190612b9491906148be565b60076000612ba56020860186614cb4565b63ffffffff1663ffffffff168152602001908152602001600020613c7190919063ffffffff16565b50600101612b5b565b507f10c5f2b007767d266c6c75c86ae9ed0c74e6320b30bda231af7396a990e7263c858585604051611521939291906154e4565b60025473ffffffffffffffffffffffffffffffffffffffff16338114612c5c576040517f5bd25eff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81612c68576001612c6b565b60035b600160146101000a81548160ff021916908360ff1602179055505050565b60015474010000000000000000000000000000000000000000900460ff166002198101612ce2576040517fdb22c33c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60011960ff821601612d20576040517f76a9ad7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674020000000000000000000000000000000000000000179055604051600090612d7b90889088908890889088906020016157cc565b60408051601f19818403018152918152815160209283012060008c81526008845282812060ff8d1682529093529120549091508114612de6576040517faba8b6ef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600089815260086020908152604080832060ff8c168452909152812055612e0d878761422d565b8215612ec0576040517f7cb5901200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637cb5901290612e8d908a908d908a908a908a9060040161583e565b600060405180830381600087803b158015612ea757600080fd5b505af1158015612ebb573d6000803e3d6000fd5b505050505b6040805163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020810188905273ffffffffffffffffffffffffffffffffffffffff8916918b917fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c910160405180910390a35050600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017905550505050505050565b612f8b614860565b6040805180820190915260008082526020820152612faa8585856130e5565b5090969095509350505050565b60065473ffffffffffffffffffffffffffffffffffffffff16338114613009576040517f5bd25eff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81600160158282829054906101000a900467ffffffffffffffff1661302e91906151db565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506130908361308b8467ffffffffffffffff167f00000000000000000000000000000000000000000000000000000000000000000290565b61422d565b6040805173ffffffffffffffffffffffffffffffffffffffff8516815267ffffffffffffffff841660208201527fa46907b6b80b882da80d6e36cc905dde57fafff0a5442c8898526fe952d1e6539101611662565b6130ed614860565b604080518082019091526000808252602082015260408051808201909152600081526060602082015260015474010000000000000000000000000000000000000000900460ff16600219810161316f576040517fdb22c33c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60011960ff8216016131ad576040517f76a9ad7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674020000000000000000000000000000000000000000179055600080806131f98a6142d1565b925092509250604051806040016040528061323d8567ffffffffffffffff167f00000000000000000000000000000000000000000000000000000000000000000290565b81526020017f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff85160290529550600061328e613287368c90038c018c61566a565b88516140f4565b90506132a0610cc760c08d018d61507c565b156132b8576132b18b82858c614149565b97506132cb565b6132c58b82858c866143ee565b90985095505b875133907f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a6132fd60208f018f614cb4565b8a516020808d01516040805163ffffffff90951685529184019290925282015260600160405180910390a35050600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790555093979296509094509092505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061340a9190615651565b905090565b613417613af0565b73ffffffffffffffffffffffffffffffffffffffff81166134bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6134c881613d5c565b50565b815460009062010000900467ffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000001810161351157600191505061359d565b8267ffffffffffffffff168167ffffffffffffffff16101561355f576040517f2b4d0ad500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83547fffffffffffffffffffffffffffffffffffffffffffff0000000000000000ffff16620100009184900367ffffffffffffffff16919091021783555b92915050565b60008061363d7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613614573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136389190615651565b613705565b6001546040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152750100000000000000000000000000000000000000000090910467ffffffffffffffff16906136f3907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015613614573d6000803e3d6000fd5b6136fd91906151db565b915091509091565b600061359d7f000000000000000000000000000000000000000000000000000000000000000083816137395761373961589b565b0461451e565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8211156137f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e206160448201527f6e20696e7432353600000000000000000000000000000000000000000000000060648201526084016134b6565b5090565b600154600090819067ffffffffffffffff7501000000000000000000000000000000000000000000909104811690841681101561383b5780848603019250809150613842565b8492508391505b509250929050565b6040805160c0810182526000808252602082018190529181018290526060808201929092526080810182905260a08101919091526040805160c0810190915233815260208082019061389e90860186614cb4565b63ffffffff1681526020858101359082015267ffffffffffffffff841660408201526060016138d060a086018661507c565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001613917608086018661507c565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509152509392505050565b34156134c8576040517f3442dd9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061399782613705565b90507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff821602915061359d7f00000000000000000000000000000000000000000000000000000000000000008430856145b8565b613a4e6040805160e081018252600080825260208083018290528284018290526060808401839052608080850184905260a0850182905285519081018652838152918201839052938101829052928301529060c082015290565b6040805160e08101909152338152602080820190613a6e90880188614cb4565b63ffffffff1681526020878101359082015267ffffffffffffffff8616604082015261ffff85166060820152608001613aaa60a088018861507c565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525060200192909252509392505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461202c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016134b6565b815462010000900467ffffffffffffffff168115613c025767ffffffffffffffff811615613bcb576040517fca2bc39800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82547fffffffffffffffffffffffffffffffffffffffffffff0000000000000000ffff1669ffffffffffffffff0000178355505050565b67ffffffffffffffff81811614613c45576040517fca2bc39800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82547fffffffffffffffffffffffffffffffffffffffffffff0000000000000000ffff1683555b505050565b815462010000900467ffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000018101613caf57505050565b613cb98282615557565b90507fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000167ffffffffffffffff821601613d1e576040517f5e10aa2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825467ffffffffffffffff90911662010000027fffffffffffffffffffffffffffffffffffffffffffff0000000000000000ffff9091161790915550565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60408051608081018252600080825260208201819052918101829052606081018290528190600080613e016135a3565b63ffffffff8c166000908152600760205260408120549294509092509067ffffffffffffffff620100009091048116146040805160e08101825233815263ffffffff8e16602082015267ffffffffffffffff8d81168284015286811660608301528516608082015282151560a08201528a151560c082015260015491517f07c84e390000000000000000000000000000000000000000000000000000000081529293509173ffffffffffffffffffffffffffffffffffffffff909116906307c84e3990613ed49084908c906004016158ca565b60a0604051808303816000875af1158015613ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f17919061595c565b909750945067ffffffffffffffff808c169088161015613f7a57868b03600160158282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555061400f565b8a67ffffffffffffffff168767ffffffffffffffff16111561400f57613fa2878c89036137f5565b909750955067ffffffffffffffff86161561400f576001805467ffffffffffffffff750100000000000000000000000000000000000000000080830482168a9003909116027fffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffff9091161790555b8967ffffffffffffffff168767ffffffffffffffff161080614039575067ffffffffffffffff8716155b15614070576040517fa1e8654500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050955095509592505050565b63ffffffff80841660009081526007602052604090206140a19184906134cb16565b5067ffffffffffffffff811615613c6c5763ffffffff7f000000000000000000000000000000000000000000000000000000000000000081166000908152600760205260409020613c6c918390613c7116565b604080518082019091526000808252602082015282513414614142576040517f3442dd9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5090919050565b614151614860565b602084015115614168576141688460200151614600565b600354845173ffffffffffffffffffffffffffffffffffffffff9091169063ff6fb30090614196888761384a565b87866040518563ffffffff1660e01b81526004016141b693929190615989565b60806040518083038185885af11580156141d4573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061120b9190615a46565b815460009067ffffffffffffffff620100009091048116908316811061421f5782614221565b805b915061193b84836134cb565b60006142398383614272565b905080613c6c576040517f06a6167e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006113037f00000000000000000000000000000000000000000000000000000000000000008484614694565b6060848484846040516020016142b89493929190615a62565b6040516020818303038152906040529050949350505050565b604080516080810182526000808252602082018190529181018290526060810182905281906000614308610cc760c087018761507c565b905061431833866040013561398c565b9350614337604051806040016040528060608152602001600081525090565b816143a2576040805180820190915280614354608089018961507c565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525060200161439b60a089018961507c565b9091525090505b6143c76143b26020880188614cb4565b866143c08960600135613705565b8585613dd1565b9195509093506143e590506143df6020880188614cb4565b8561474d565b50509193909250565b6143f6614860565b604080518082019091526000815260606020820152602086015115614447576040517fb5e0bf8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600354865173ffffffffffffffffffffffffffffffffffffffff909116906361ccdbfb906144ab886007600061448060208f018f614cb4565b63ffffffff90811682526020820192909252604001600020548d929161ffff909116908a906139f416565b876040518463ffffffff1660e01b81526004016144c9929190615ae0565b60006040518083038185885af11580156144e7573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f191682016040526145109190810190615b18565b909890975095505050505050565b600067ffffffffffffffff8211156137f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201527f342062697473000000000000000000000000000000000000000000000000000060648201526084016134b6565b6145c48484848461475c565b6145fa576040517f7c75c3d200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b60055473ffffffffffffffffffffffffffffffffffffffff1661464f576040517fb5e0bf8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005546134c89073ffffffffffffffffffffffffffffffffffffffff16337f0000000000000000000000000000000000000000000000000000000000000000846145b8565b60405173ffffffffffffffffffffffffffffffffffffffff831660248201526044810182905260009061120e9085907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526147bd565b61475882828361407f565b5050565b60405173ffffffffffffffffffffffffffffffffffffffff8085166024830152831660448201526064810182905260009061120b9086907f23b872dd00000000000000000000000000000000000000000000000000000000906084016146e9565b60008060008473ffffffffffffffffffffffffffffffffffffffff16846040516147e79190615c0b565b6000604051808303816000865af19150503d8060008114614824576040519150601f19603f3d011682016040523d82523d6000602084013e614829565b606091505b50915091508161483a576000614857565b805115806148575750808060200190518101906148579190615c27565b95945050505050565b604051806060016040528060008019168152602001600067ffffffffffffffff1681526020016148a3604051806040016040528060008152602001600081525090565b905290565b67ffffffffffffffff811681146134c857600080fd5b6000602082840312156148d057600080fd5b8135611303816148a8565b600060e0828403121561201457600080fd5b6000602082840312156148ff57600080fd5b813567ffffffffffffffff81111561491657600080fd5b61120e848285016148db565b60005b8381101561493d578181015183820152602001614925565b50506000910152565b6000815180845261495e816020860160208601614922565b601f01601f19169290920160200192915050565b8351815260208085015190820152600060a08201604060a0604085015281865180845260c08601915060c08160051b8701019350602080890160005b83811015614a0b578887037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff400185528151805188528301518388018790526149f887890182614946565b97505093820193908201906001016149ae565b5050875160608801525050506020850151608085015250905061120e565b803563ffffffff81168114614a3d57600080fd5b919050565b60008060408385031215614a5557600080fd5b614a5e83614a29565b9150602083013561ffff81168114614a7557600080fd5b809150509250929050565b6020810160028310614abb577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60008083601f840112614ad357600080fd5b50813567ffffffffffffffff811115614aeb57600080fd5b602083019150836020828501011115614b0357600080fd5b9250929050565b60008060008060608587031215614b2057600080fd5b614b2985614a29565b9350602085013567ffffffffffffffff811115614b4557600080fd5b614b5187828801614ac1565b9598909750949560400135949350505050565b6080810161359d828480516fffffffffffffffffffffffffffffffff908116835260208083015182169084015260408083015182169084015260609182015116910152565b80151581146134c857600080fd5b60008060408385031215614bca57600080fd5b823567ffffffffffffffff811115614be157600080fd5b614bed858286016148db565b9250506020830135614a7581614ba9565b81518152602080830151908201526040810161359d565b600080600060408486031215614c2a57600080fd5b614c3384614a29565b9250602084013567ffffffffffffffff80821115614c5057600080fd5b818601915086601f830112614c6457600080fd5b813581811115614c7357600080fd5b8760208260061b8501011115614c8857600080fd5b6020830194508093505050509250925092565b600060208284031215614cad57600080fd5b5035919050565b600060208284031215614cc657600080fd5b61130382614a29565b60008060408385031215614ce257600080fd5b614ceb83614a29565b91506020830135614a7581614ba9565b600060c0828403121561201457600080fd5b73ffffffffffffffffffffffffffffffffffffffff811681146134c857600080fd5b60008060408385031215614d4257600080fd5b8235614d4d81614d0d565b946020939093013593505050565b600060208284031215614d6d57600080fd5b813561130381614d0d565b60008060008385036080811215614d8e57600080fd5b843567ffffffffffffffff811115614da557600080fd5b614db1878288016148db565b9450506040601f1982011215614dc657600080fd5b506020840191506060840135614ddb81614d0d565b809150509250925092565b8051825267ffffffffffffffff60208201511660208301526040810151613c6c604084018280518252602090810151910152565b60a08101614e288285614de6565b8260808301529392505050565b60008060408385031215614e4857600080fd5b823591506020830135614a7581614d0d565b803560ff81168114614a3d57600080fd5b60008060008084860360c0811215614e8257600080fd5b6060811215614e9057600080fd5b5084935060608501359250614ea760808601614e5a565b915060a085013567ffffffffffffffff811115614ec357600080fd5b850160808188031215614ed557600080fd5b939692955090935050565b600060208284031215614ef257600080fd5b813561130381614ba9565b600080600080600080600060c0888a031215614f1857600080fd5b87359650614f2860208901614e5a565b95506040880135614f3881614d0d565b945060608801359350614f4d60808901614e5a565b925060a088013567ffffffffffffffff811115614f6957600080fd5b614f758a828b01614ac1565b989b979a50959850939692959293505050565b60c08101614f968285614de6565b82516080830152602083015160a0830152611303565b60008060408385031215614fbf57600080fd5b8235614fca81614d0d565b91506020830135614a75816148a8565b614fe48185614de6565b82516080820152602083015160a082015260e060c082015266ffffffffffffff82511660e0820152600060208301516040610100840152615029610120840182614946565b9695505050505050565b6000806040838503121561504657600080fd5b8235915061505660208401614e5a565b90509250929050565b60006020828403121561507157600080fd5b815161130381614d0d565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126150b157600080fd5b83018035915067ffffffffffffffff8211156150cc57600080fd5b602001915036819003821315614b0357600080fd5b60e0810161359d828473ffffffffffffffffffffffffffffffffffffffff815116825263ffffffff6020820151166020830152604081015167ffffffffffffffff8082166040850152806060840151166060850152806080840151166080850152505060a0810151151560a083015260c0810151151560c08301525050565b60006020828403121561517257600080fd5b8151611303816148a8565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156151fc576151fc6151ac565b5092915050565b808202600082127f80000000000000000000000000000000000000000000000000000000000000008414161561523b5761523b6151ac565b818105831482151761359d5761359d6151ac565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151604084526152936040850182614946565b602093840151949093019390935250919050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff8316602082015260606040820152600061120b606083018461527e565b6040805190810167ffffffffffffffff811182821017156153055761530561517d565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156153345761533461517d565b604052919050565b80516fffffffffffffffffffffffffffffffff81168114614a3d57600080fd5b60006080828403121561536e57600080fd5b6040516080810181811067ffffffffffffffff821117156153915761539161517d565b6040529050806153a08361533c565b81526153ae6020840161533c565b60208201526153bf6040840161533c565b60408201526153d06060840161533c565b60608201525092915050565b6000608082840312156153ee57600080fd5b611303838361535c565b73ffffffffffffffffffffffffffffffffffffffff815116825263ffffffff60208201511660208301526040810151604083015267ffffffffffffffff60608201511660608301526000608082015160c0608085015261545b60c0850182614946565b905060a083015184820360a08601526148578282614946565b60408152600061548760408301856153f8565b905082151560208301529392505050565b6000604082840312156154aa57600080fd5b6154b26152e2565b9050815181526020820151602082015292915050565b6000604082840312156154da57600080fd5b6113038383615498565b63ffffffff848116825260406020808401829052838201859052600092869160608601855b88811015615549578361551b86614a29565b1682528285013561552b816148a8565b67ffffffffffffffff16828401529385019390850190600101615509565b509998505050505050505050565b67ffffffffffffffff8181168382160190808211156151fc576151fc6151ac565b600061014073ffffffffffffffffffffffffffffffffffffffff835116845263ffffffff60208401511660208501526040830151604085015267ffffffffffffffff606084015116606085015261ffff608084015116608085015260a08301518160a08601526155ea82860182614946565b91505060c083015161563660c086018280516fffffffffffffffffffffffffffffffff908116835260208083015182169084015260408083015182169084015260609182015116910152565b509392505050565b6020815260006113036020830184615578565b60006020828403121561566357600080fd5b5051919050565b60006040828403121561567c57600080fd5b6156846152e2565b82358152602083013560208201528091505092915050565b6000602082840312156156ae57600080fd5b61130382614e5a565b73ffffffffffffffffffffffffffffffffffffffff8516815283602082015260ff831660408201526080606082015260006150296080830184614946565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b1681528360148201527fff000000000000000000000000000000000000000000000000000000000000008360f81b16603482015260008251615763816035850160208701614922565b9190910160350195945050505050565b86815260ff8616602082015273ffffffffffffffffffffffffffffffffffffffff8516604082015283606082015260ff8316608082015260c060a082015260006157c060c0830184614946565b98975050505050505050565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008660601b1681528460148201527fff000000000000000000000000000000000000000000000000000000000000008460f81b1660348201528183603583013760009101603501908152949350505050565b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015260ff8416604082015260806060820152816080820152818360a0830137600081830160a090810191909152601f909201601f19160101949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061010061594a838673ffffffffffffffffffffffffffffffffffffffff815116825263ffffffff6020820151166020830152604081015167ffffffffffffffff8082166040850152806060840151166060850152806080840151166080850152505060a0810151151560a083015260c0810151151560c08301525050565b8060e08401526148578184018561527e565b60008060a0838503121561596f57600080fd5b825161597a816148a8565b9150615056846020850161535c565b60808152600061599c60808301866153f8565b90506159b5602083018580518252602090810151910152565b73ffffffffffffffffffffffffffffffffffffffff83166060830152949350505050565b6000608082840312156159eb57600080fd5b6040516060810181811067ffffffffffffffff82111715615a0e57615a0e61517d565b8060405250809150825181526020830151615a28816148a8565b6020820152615a3a8460408501615498565b60408201525092915050565b600060808284031215615a5857600080fd5b61130383836159d9565b7fffffffffffffffff0000000000000000000000000000000000000000000000008560c01b1681527fffffffff000000000000000000000000000000000000000000000000000000008460e01b16600882015282600c82015260008251615ad081602c850160208701614922565b91909101602c0195945050505050565b604081526000615af36040830185615578565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b60008060a08385031215615b2b57600080fd5b615b3584846159d9565b9150608083015167ffffffffffffffff80821115615b5257600080fd5b9084019060408287031215615b6657600080fd5b615b6e6152e2565b825166ffffffffffffff81168114615b8557600080fd5b815260208381015183811115615b9a57600080fd5b80850194505087601f850112615baf57600080fd5b835183811115615bc157615bc161517d565b615bd382601f19601f8401160161530b565b93508084528882828701011115615be957600080fd5b615bf881838601848801614922565b5081019190915292959294509192505050565b60008251615c1d818460208701614922565b9190910192915050565b600060208284031215615c3957600080fd5b815161130381614ba956fea2646970667358221220f172ea2bb53def1b83308ecdabc708ae589c1baf075fbf05bfc3a57659dfecde64736f6c634300081600336101a06040523480156200001257600080fd5b5060405162001f0e38038062001f0e833981016040819052620000359162000292565b6040805180820190915260018152603160f81b60208201528390819081856003620000618382620003a8565b506004620000708282620003a8565b50620000829150839050600562000140565b610120526200009381600662000140565b61014052815160208084019190912060e052815190820120610100524660a0526200012160e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b60805250503060c05250336101605260ff166101805250620004ce9050565b60006020835110156200016057620001588362000179565b905062000173565b816200016d8482620003a8565b5060ff90505b92915050565b600080829050601f81511115620001b0578260405163305a27a960e01b8152600401620001a7919062000474565b60405180910390fd5b8051620001bd82620004a9565b179392505050565b634e487b7160e01b600052604160045260246000fd5b60005b83811015620001f8578181015183820152602001620001de565b50506000910152565b600082601f8301126200021357600080fd5b81516001600160401b0380821115620002305762000230620001c5565b604051601f8301601f19908116603f011681019082821181831017156200025b576200025b620001c5565b816040528381528660208588010111156200027557600080fd5b62000288846020830160208901620001db565b9695505050505050565b600080600060608486031215620002a857600080fd5b83516001600160401b0380821115620002c057600080fd5b620002ce8783880162000201565b94506020860151915080821115620002e557600080fd5b50620002f48682870162000201565b925050604084015160ff811681146200030c57600080fd5b809150509250925092565b600181811c908216806200032c57607f821691505b6020821081036200034d57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003a3576000816000526020600020601f850160051c810160208610156200037e5750805b601f850160051c820191505b818110156200039f578281556001016200038a565b5050505b505050565b81516001600160401b03811115620003c457620003c4620001c5565b620003dc81620003d5845462000317565b8462000353565b602080601f831160018114620004145760008415620003fb5750858301515b600019600386901b1c1916600185901b1785556200039f565b600085815260208120601f198616915b82811015620004455788860151825594840194600190910190840162000424565b5085821015620004645787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b602081526000825180602084015262000495816040850160208701620001db565b601f01601f19169190910160400192915050565b805160208083015191908110156200034d5760001960209190910360031b1b16919050565b60805160a05160c05160e05161010051610120516101405161016051610180516119c16200054d60003960006101a80152600081816102070152818161048f015261050c015260006105d1015260006105a601526000610ed001526000610ea801526000610e0301526000610e2d01526000610e5701526119c16000f3fe608060405234801561001057600080fd5b50600436106101365760003560e01c806370a08231116100b257806395d89b4111610081578063a9059cbb11610066578063a9059cbb146102e0578063d505accf146102f3578063dd62ed3e1461030657600080fd5b806395d89b41146102c5578063a457c2d7146102cd57600080fd5b806370a082311461024e57806379cc6790146102845780637ecebe001461029757806384b0196e146102aa57600080fd5b8063313ce5671161010957806339509351116100ee57806339509351146101da57806340c10f19146101ed5780636c099dee1461020257600080fd5b8063313ce567146101a15780633644e515146101d257600080fd5b806306fdde031461013b578063095ea7b31461015957806318160ddd1461017c57806323b872dd1461018e575b600080fd5b61014361034c565b60405161015091906116a9565b60405180910390f35b61016c6101673660046116ec565b6103de565b6040519015158152602001610150565b6002545b604051908152602001610150565b61016c61019c366004611716565b6103f8565b60405160ff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610150565b61018061041c565b61016c6101e83660046116ec565b61042b565b6102006101fb3660046116ec565b610477565b005b6102297f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610150565b61018061025c366004611752565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b6102006102923660046116ec565b6104f4565b6101806102a5366004611752565b61056d565b6102b2610598565b604051610150979695949392919061176d565b61014361063d565b61016c6102db3660046116ec565b61064c565b61016c6102ee3660046116ec565b610722565b61020061030136600461182f565b610730565b6101806103143660046118a2565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b60606003805461035b906118d5565b80601f0160208091040260200160405190810160405280929190818152602001828054610387906118d5565b80156103d45780601f106103a9576101008083540402835291602001916103d4565b820191906000526020600020905b8154815290600101906020018083116103b757829003601f168201915b5050505050905090565b6000336103ec8185856108ef565b60019150505b92915050565b600033610406858285610aa3565b610411858585610b7a565b506001949350505050565b6000610426610de9565b905090565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091528120549091906103ec9082908690610472908790611922565b6108ef565b3373ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146104e6576040517fba06efeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6104f08282610f21565b5050565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610563576040517fba06efeb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6104f08282611014565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600760205260408120546103f2565b6000606080828080836105cc7f000000000000000000000000000000000000000000000000000000000000000060056111d0565b6105f77f000000000000000000000000000000000000000000000000000000000000000060066111d0565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b60606004805461035b906118d5565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919083811015610715576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f00000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61041182868684036108ef565b6000336103ec818585610b7a565b8342111561079a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e65000000604482015260640161070c565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886107c98c61127b565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610831826112b0565b90506000610841828787876112f8565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146108d8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e61747572650000604482015260640161070c565b6108e38a8a8a6108ef565b50505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8316610991576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f7265737300000000000000000000000000000000000000000000000000000000606482015260840161070c565b73ffffffffffffffffffffffffffffffffffffffff8216610a34576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f7373000000000000000000000000000000000000000000000000000000000000606482015260840161070c565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152600160209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610b745781811015610b67576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000604482015260640161070c565b610b7484848484036108ef565b50505050565b73ffffffffffffffffffffffffffffffffffffffff8316610c1d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f6472657373000000000000000000000000000000000000000000000000000000606482015260840161070c565b73ffffffffffffffffffffffffffffffffffffffff8216610cc0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f6573730000000000000000000000000000000000000000000000000000000000606482015260840161070c565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610d76576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e63650000000000000000000000000000000000000000000000000000606482015260840161070c565b73ffffffffffffffffffffffffffffffffffffffff848116600081815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610b74565b60003073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016148015610e4f57507f000000000000000000000000000000000000000000000000000000000000000046145b15610e7957507f000000000000000000000000000000000000000000000000000000000000000090565b610426604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260009060c00160405160208183030381529060405280519060200120905090565b73ffffffffffffffffffffffffffffffffffffffff8216610f9e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640161070c565b8060026000828254610fb09190611922565b909155505073ffffffffffffffffffffffffffffffffffffffff8216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff82166110b7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f7300000000000000000000000000000000000000000000000000000000000000606482015260840161070c565b73ffffffffffffffffffffffffffffffffffffffff82166000908152602081905260409020548181101561116d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f6365000000000000000000000000000000000000000000000000000000000000606482015260840161070c565b73ffffffffffffffffffffffffffffffffffffffff83166000818152602081815260408083208686039055600280548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101610a96565b606060ff83146111ea576111e383611320565b90506103f2565b8180546111f6906118d5565b80601f0160208091040260200160405190810160405280929190818152602001828054611222906118d5565b801561126f5780601f106112445761010080835404028352916020019161126f565b820191906000526020600020905b81548152906001019060200180831161125257829003601f168201915b505050505090506103f2565b73ffffffffffffffffffffffffffffffffffffffff811660009081526007602052604090208054600181018255905b50919050565b60006103f26112bd610de9565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b60008060006113098787878761135f565b915091506113168161144e565b5095945050505050565b6060600061132d83611604565b604080516020808252818301909252919250600091906020820181803683375050509182525060208101929092525090565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156113965750600090506003611445565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156113ea573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff811661143e57600060019250925050611445565b9150600090505b94509492505050565b60008160048111156114625761146261195c565b0361146a5750565b600181600481111561147e5761147e61195c565b036114e5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e61747572650000000000000000604482015260640161070c565b60028160048111156114f9576114f961195c565b03611560576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e67746800604482015260640161070c565b60038160048111156115745761157461195c565b03611601576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f7565000000000000000000000000000000000000000000000000000000000000606482015260840161070c565b50565b600060ff8216601f8111156103f2576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000815180845260005b8181101561166b5760208185018101518683018201520161164f565b5060006020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b6020815260006116bc6020830184611645565b9392505050565b803573ffffffffffffffffffffffffffffffffffffffff811681146116e757600080fd5b919050565b600080604083850312156116ff57600080fd5b611708836116c3565b946020939093013593505050565b60008060006060848603121561172b57600080fd5b611734846116c3565b9250611742602085016116c3565b9150604084013590509250925092565b60006020828403121561176457600080fd5b6116bc826116c3565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e060208401526117aa60e084018a611645565b83810360408501526117bc818a611645565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c08601528551808252602080880193509091019060005b8181101561181d57835183529284019291840191600101611801565b50909c9b505050505050505050505050565b600080600080600080600060e0888a03121561184a57600080fd5b611853886116c3565b9650611861602089016116c3565b95506040880135945060608801359350608088013560ff8116811461188557600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156118b557600080fd5b6118be836116c3565b91506118cc602084016116c3565b90509250929050565b600181811c908216806118e957607f821691505b6020821081036112aa577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b808201808211156103f2577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea26469706673582212208990d606b290073c0715d9fd5d22da8fd11c226775628500dd209cb0abed01ce64736f6c63430008160033",
|
|
1745
|
+
"deployedBytecode": "0x60806040526004361061024f5760003560e01c8063715018a611610138578063c0b78967116100b0578063cc32d1761161007f578063e5328e0611610064578063e5328e06146108a6578063f2fde38b146108bb578063fc0c546a146108db57600080fd5b8063cc32d1761461081b578063d621ad3f1461086e57600080fd5b8063c0b7896714610798578063c7c7f5b3146107b8578063c859c483146107d9578063cbef2aa9146107f957600080fd5b8063857749b0116101075780639561b12f116100ec5780639561b12f1461073c5780639f68b9641461075c578063bedb86fb1461077857600080fd5b8063857749b0146106dd5780638da5cb5b1461071157600080fd5b8063715018a614610667578063764f6a781461067c5780637bde82f21461069d5780637e3e8a4c146106bd57600080fd5b80632bc5114c116101cb5780633faa12c51161019a57806347e7ef241161017f57806347e7ef24146105d2578063484267a4146105f35780635fcbd2851461061357600080fd5b80633faa12c514610592578063461bb0b9146105b257600080fd5b80632bc5114c146103e9578063341a4648146104f957806338da6b8e1461050c5780633b6f743b1461057257600080fd5b806316909bca11610222578063192adc5d11610207578063192adc5d14610358578063200d2ed2146103855780632708987a146103c957600080fd5b806316909bca1461030f57806316a96d1e1461032b57600080fd5b806309bbb201146102545780630d35b415146102765780630f12f7ab146102ae578063156a0d0f146102ce575b600080fd5b34801561026057600080fd5b5061027461026f3660046148be565b61090f565b005b34801561028257600080fd5b506102966102913660046148ed565b610b2f565b6040516102a593929190614972565b60405180910390f35b3480156102ba57600080fd5b506102746102c9366004614a42565b611065565b3480156102da57600080fd5b50604080517f02e49c2c00000000000000000000000000000000000000000000000000000000815260006020820152016102a5565b34801561031b57600080fd5b5060006040516102a59190614a80565b34801561033757600080fd5b5061034b610346366004614b0a565b611101565b6040516102a59190614b64565b34801561036457600080fd5b50610378610373366004614bb7565b611216565b6040516102a59190614bfe565b34801561039157600080fd5b506001546103b79074010000000000000000000000000000000000000000900460ff1681565b60405160ff90911681526020016102a5565b3480156103d557600080fd5b506102746103e4366004614c15565b61130a565b3480156103f557600080fd5b5061048b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152506040805160c08101825260015473ffffffffffffffffffffffffffffffffffffffff908116825260025481166020830152600654811692820192909252600354821660608201526004548216608082015260055490911660a082015290565b6040516102a59190600060c08201905073ffffffffffffffffffffffffffffffffffffffff8084511683528060208501511660208401528060408501511660408401528060608501511660608401528060808501511660808401528060a08501511660a08401525092915050565b610274610507366004614c9b565b61156f565b34801561051857600080fd5b5061054f610527366004614cb4565b60076020526000908152604090205461ffff81169062010000900467ffffffffffffffff1682565b6040805161ffff909316835267ffffffffffffffff9091166020830152016102a5565b34801561057e57600080fd5b5061037861058d366004614bb7565b61166f565b34801561059e57600080fd5b506102746105ad366004614ccf565b611943565b3480156105be57600080fd5b506102746105cd366004614cfb565b611a16565b6105e56105e0366004614d2f565b611c1c565b6040519081526020016102a5565b3480156105ff57600080fd5b506105e561060e366004614d5b565b611ebe565b34801561061f57600080fd5b507f00000000000000000000000000000000000000000000000000000000000000005b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102a5565b34801561067357600080fd5b5061027461201a565b61068f61068a366004614d78565b61202e565b6040516102a5929190614e1a565b3480156106a957600080fd5b506105e56106b8366004614e35565b6123da565b3480156106c957600080fd5b506102746106d8366004614e6b565b612630565b3480156106e957600080fd5b506103b77f000000000000000000000000000000000000000000000000000000000000000081565b34801561071d57600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff16610642565b34801561074857600080fd5b50610274610757366004614c15565b612a30565b34801561076857600080fd5b50604051600181526020016102a5565b34801561078457600080fd5b50610274610793366004614ee0565b612c0a565b3480156107a457600080fd5b506102746107b3366004614efd565b612c89565b6107cb6107c6366004614d78565b612f83565b6040516102a5929190614f88565b3480156107e557600080fd5b506102746107f4366004614fac565b612fb7565b61080c610807366004614d78565b6130e5565b6040516102a593929190614fda565b34801561082757600080fd5b50600154610855907501000000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016102a5565b34801561087a57600080fd5b506105e5610889366004615033565b600860209081526000928352604080842090915290825290205481565b3480156108b257600080fd5b506105e5613379565b3480156108c757600080fd5b506102746108d6366004614d5b565b61340f565b3480156108e757600080fd5b506106427f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561097a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099e919061505f565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610a02576040517f5bd25eff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f42966c6800000000000000000000000000000000000000000000000000000000815267ffffffffffffffff821660048201527f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906342966c6890602401600060405180830381600087803b158015610a9357600080fd5b505af1158015610aa7573d6000803e3d6000fd5b50505063ffffffff7f000000000000000000000000000000000000000000000000000000000000000081166000908152600760205260409020610aee92509083906134cb16565b5060405167ffffffffffffffff821681527fe1825c00ade29eaff76bae6774e13bc96e688c663c5e42944aae9e104000bce89060200160405180910390a150565b60408051808201909152600080825260208201526060610b62604051806040016040528060008152602001600081525090565b600080610b6d6135a3565b9092509050610bd360076000610b8660208a018a614cb4565b63ffffffff1681526020810191909152604001600020547f00000000000000000000000000000000000000000000000000000000000000006201000090910467ffffffffffffffff160290565b60208601819052600090604088013511610bf1578660400135610bf7565b85602001515b90506000610c0482613705565b6040805160e08101909152338152909150600090602080820190610c2a908c018c614cb4565b63ffffffff1681526020018367ffffffffffffffff1681526020018667ffffffffffffffff1681526020018567ffffffffffffffff168152602001610cb0600760008d6000016020810190610c7f9190614cb4565b63ffffffff1663ffffffff1681526020019081526020016000205462010000900467ffffffffffffffff9081161490565b15158152602001610ccd610cc760c08d018d61507c565b15919050565b151590526001546040517f5b64903b00000000000000000000000000000000000000000000000000000000815291925060009173ffffffffffffffffffffffffffffffffffffffff90911690635b64903b90610d2d9085906004016150e1565b602060405180830381865afa158015610d4a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6e9190615160565b90508267ffffffffffffffff168167ffffffffffffffff1614610ff55760408051600180825281830190925290816020015b604080518082019091526000815260606020820152815260200190600190039081610da05790505097508267ffffffffffffffff168167ffffffffffffffff161015610ec2576040518060400160405280610e37610e328487610e0391906151db565b67ffffffffffffffff167f00000000000000000000000000000000000000000000000000000000000000000290565b61373f565b610e61907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff615203565b81526020016040518060400160405280600c81526020017f70726f746f636f6c20666565000000000000000000000000000000000000000081525081525088600081518110610eb257610eb261524f565b6020026020010181905250610ff5565b8267ffffffffffffffff168167ffffffffffffffff161115610ff5576000610eea84836151db565b9050610ef682826137f5565b909250905067ffffffffffffffff80851690831603610f55576040805160008082526020820190925290610f4d565b604080518082019091526000815260606020820152815260200190600190039081610f255790505b509850610ff3565b6040518060400160405280610f96610e328467ffffffffffffffff167f00000000000000000000000000000000000000000000000000000000000000000290565b81526020016040518060400160405280600681526020017f726577617264000000000000000000000000000000000000000000000000000081525081525089600081518110610fe757610fe761524f565b60200260200101819052505b505b7f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff84160287527f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff821602602088015250969895975093955050505050565b60025473ffffffffffffffffffffffffffffffffffffffff163381146110b7576040517f5bd25eff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5063ffffffff91909116600090815260076020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff909216919091179055565b6040805160808101825260008082526020820181905291810182905260608101919091526001546040805160606020601f88018190040282018101835291810186815273ffffffffffffffffffffffffffffffffffffffff9093169263df0810919233928a9290918291908b908b90819085018382808284376000920191909152505050908252506020018790526040517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1681526111ca939291906004016152a7565b608060405180830381865afa1580156111e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120b91906153dc565b90505b949350505050565b604080518082019091526000808252602082015261123a610cc760c085018561507c565b611270576040517f2d9560be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60035473ffffffffffffffffffffffffffffffffffffffff16633292cf026112a561129e6040870135613705565b869061384a565b846040518363ffffffff1660e01b81526004016112c3929190615474565b6040805180830381865afa1580156112df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061130391906154c8565b9392505050565b60015474010000000000000000000000000000000000000000900460ff166002198101611363576040517fdb22c33c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60011960ff8216016113a1576040517f76a9ad7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167402000000000000000000000000000000000000000017905560045473ffffffffffffffffffffffffffffffffffffffff16338114611432576040517f5bd25eff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b838110156114ed57368585838181106114505761145061524f565b905060400201905060006114a982602001602081019061147091906148be565b600760006114816020870187614cb4565b63ffffffff1663ffffffff1681526020019081526020016000206134cb90919063ffffffff16565b905080156114e3576040517fada8342400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5050600101611435565b507fce105e156370093e6600169f7c01277f740d45fbcf95435227ce6f43ad0c3abd858585604051611521939291906154e4565b60405180910390a15050600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055505050565b60065473ffffffffffffffffffffffffffffffffffffffff163381146115c1576040517f5bd25eff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6115ca82613954565b60006115d6338461398c565b905080600160158282829054906101000a900467ffffffffffffffff166115fd9190615557565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055507fa064a2faa279f4d67c85c8fc69d4ebb7de2739a9e6dd864dfdd1b9e066d4bfd081604051611662919067ffffffffffffffff91909116815260200190565b60405180910390a1505050565b604080518082019091526000808252602082015260006116928460400135613705565b90508067ffffffffffffffff166000036116d8576040517f3442dd9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006116ea610cc760c087018761507c565b9050801561177f5760035473ffffffffffffffffffffffffffffffffffffffff16633292cf0261171a878561384a565b866040518363ffffffff1660e01b8152600401611738929190615474565b6040805180830381865afa158015611754573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061177891906154c8565b925061193b565b6000604051806040016040528087806080019061179c919061507c565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152505050908252506020016117e360a089018961507c565b9091525060015490915060009073ffffffffffffffffffffffffffffffffffffffff1663df0810913361181960208b018b614cb4565b856040518463ffffffff1660e01b8152600401611838939291906152a7565b608060405180830381865afa158015611855573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061187991906153dc565b60035490915073ffffffffffffffffffffffffffffffffffffffff1663bae02db66118da86600760006118af60208e018e614cb4565b63ffffffff90811682526020820192909252604001600020548c929161ffff9091169087906139f416565b6040518263ffffffff1660e01b81526004016118f6919061563e565b6040805180830381865afa158015611912573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061193691906154c8565b945050505b505092915050565b61194b613af0565b7f000000000000000000000000000000000000000000000000000000000000000063ffffffff168263ffffffff16036119b0576040517fada8342400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b63ffffffff80831660009081526007602052604090206119d2918390613b7116565b6040805163ffffffff8416815282151560208201527faf6b8dd4c5a827e03f548d06181b36aaba61e22436ff1cfa9bc409d576366a60910160405180910390a15050565b611a1e613af0565b611a2b6020820182614d5b565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055611a806040820160208301614d5b565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055611ad56060820160408301614d5b565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055611b2a6080820160608301614d5b565b600380547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055611b7f60a0820160808301614d5b565b600480547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055611bd460c0820160a08301614d5b565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905550565b60015460009074010000000000000000000000000000000000000000900460ff166002198101611c78576040517fdb22c33c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60011960ff821601611cb6576040517f76a9ad7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674020000000000000000000000000000000000000000179055611cfe83613954565b6000611d0a338561398c565b90507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff8216026040517f40c10f1900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8781166004830152602482018390529194507f0000000000000000000000000000000000000000000000000000000000000000909116906340c10f1990604401600060405180830381600087803b158015611dce57600080fd5b505af1158015611de2573d6000803e3d6000fd5b50505063ffffffff7f000000000000000000000000000000000000000000000000000000000000000081166000908152600760205260409020611e299250908390613c7116565b60405183815273ffffffffffffffffffffffffffffffffffffffff86169033907f8752a472e571a816aea92eec8dae9baf628e840f4929fbcc2d155e6233ff68a7906020015b60405180910390a35050600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017905592915050565b63ffffffff7f00000000000000000000000000000000000000000000000000000000000000001660009081526007602052604081205467ffffffffffffffff62010000909104167f00000000000000000000000000000000000000000000000000000000000000000273ffffffffffffffffffffffffffffffffffffffff8316611f4a57809150612014565b6040517f70a0823100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526000917f0000000000000000000000000000000000000000000000000000000000000000909116906370a0823190602401602060405180830381865afa158015611fdb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fff9190615651565b905080821161200e5781612010565b805b9250505b50919050565b612022613af0565b61202c6000613d5c565b565b612036614860565b60015460009074010000000000000000000000000000000000000000900460ff166002198101612092576040517fdb22c33c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60011960ff8216016120d0576040517f76a9ad7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167402000000000000000000000000000000000000000017905561211f610cc760c088018861507c565b612155576040517f2d9560be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006121648760400135613705565b905060007f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff8316026040517f79cc6790000000000000000000000000000000000000000000000000000000008152336004820152602481018290529091507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906379cc679090604401600060405180830381600087803b15801561222657600080fd5b505af115801561223a573d6000803e3d6000fd5b5050604051838152600092503391507f27d4634c833b7622a0acddbf7f746183625f105945e95c723ad1d5a9f2a0b6fc9060200160405180910390a36000806122bb61228960208c018c614cb4565b856122978d60600135613705565b60408051606081018252600091810182815281526020810191909152600190613dd1565b5090925090506122d86122d160208c018c614cb4565b838361407f565b60006122f36122ec368c90038c018c61566a565b60006140f4565b90506123018b82858c614149565b97507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff841602885190975033907f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a61236560208f018f614cb4565b6040805163ffffffff90921682526020820189905281018b905260600160405180910390a35050600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017905550939792965091945050505050565b60015460009074010000000000000000000000000000000000000000900460ff166002198101612436576040517fdb22c33c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60011960ff821601612474576040517f76a9ad7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167402000000000000000000000000000000000000000017905560006124be85613705565b63ffffffff7f000000000000000000000000000000000000000000000000000000000000000081166000908152600760205260409020919250612504919083906141f916565b90507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff8216026040517f79cc6790000000000000000000000000000000000000000000000000000000008152336004820152602481018290529093507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906379cc679090604401600060405180830381600087803b1580156125c457600080fd5b505af11580156125d8573d6000803e3d6000fd5b505050506125e6848461422d565b60405183815273ffffffffffffffffffffffffffffffffffffffff85169033907f27d4634c833b7622a0acddbf7f746183625f105945e95c723ad1d5a9f2a0b6fc90602001611e6f565b60015474010000000000000000000000000000000000000000900460ff166002198101612689576040517fdb22c33c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60011960ff8216016126c7576040517f76a9ad7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167402000000000000000000000000000000000000000017905560035473ffffffffffffffffffffffffffffffffffffffff16338114612758576040517f5bd25eff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061276d610e0360408601602087016148be565b9050600061277e6020860186614d5b565b9050600061278c8284614272565b905060008061279e604089018961507c565b905011905060608115612816576128136127be60608d0160408e016148be565b6127cb60208e018e614cb4565b876127d960408d018d61507c565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061429f92505050565b90505b821561292c5781156128c35773ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016637cb59012858c61287060808d0160608e0161569c565b856040518563ffffffff1660e01b815260040161289094939291906156b7565b600060405180830381600087803b1580156128aa57600080fd5b505af11580156128be573d6000803e3d6000fd5b505050505b73ffffffffffffffffffffffffffffffffffffffff84168a7fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c61290960208f018f614cb4565b6040805163ffffffff9092168252602082018a90520160405180910390a36129e4565b600061293e60808a0160608b0161569c565b905060008587838560405160200161295994939291906156f5565b60405160208183030381529060405290508080519060200120600860008e815260200190815260200160002060008d60ff1660ff168152602001908152602001600020819055507fb0a708e82202f7fac05dc44361fd47adf79042795add3d2ed05155d3e5e9fa7e8c8c888a86886040516129d996959493929190615773565b60405180910390a150505b5050600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674010000000000000000000000000000000000000000179055505050505050505050565b60015474010000000000000000000000000000000000000000900460ff166002198101612a89576040517fdb22c33c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60011960ff821601612ac7576040517f76a9ad7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167402000000000000000000000000000000000000000017905560045473ffffffffffffffffffffffffffffffffffffffff16338114612b58576040517f5bd25eff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b83811015612bd65736858583818110612b7657612b7661524f565b9050604002019050612bcd816020016020810190612b9491906148be565b60076000612ba56020860186614cb4565b63ffffffff1663ffffffff168152602001908152602001600020613c7190919063ffffffff16565b50600101612b5b565b507f10c5f2b007767d266c6c75c86ae9ed0c74e6320b30bda231af7396a990e7263c858585604051611521939291906154e4565b60025473ffffffffffffffffffffffffffffffffffffffff16338114612c5c576040517f5bd25eff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81612c68576001612c6b565b60035b600160146101000a81548160ff021916908360ff1602179055505050565b60015474010000000000000000000000000000000000000000900460ff166002198101612ce2576040517fdb22c33c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60011960ff821601612d20576040517f76a9ad7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674020000000000000000000000000000000000000000179055604051600090612d7b90889088908890889088906020016157cc565b60408051601f19818403018152918152815160209283012060008c81526008845282812060ff8d1682529093529120549091508114612de6576040517faba8b6ef00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600089815260086020908152604080832060ff8c168452909152812055612e0d878761422d565b8215612ec0576040517f7cb5901200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001690637cb5901290612e8d908a908d908a908a908a9060040161583e565b600060405180830381600087803b158015612ea757600080fd5b505af1158015612ebb573d6000803e3d6000fd5b505050505b6040805163ffffffff7f00000000000000000000000000000000000000000000000000000000000000001681526020810188905273ffffffffffffffffffffffffffffffffffffffff8916918b917fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c910160405180910390a35050600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000017905550505050505050565b612f8b614860565b6040805180820190915260008082526020820152612faa8585856130e5565b5090969095509350505050565b60065473ffffffffffffffffffffffffffffffffffffffff16338114613009576040517f5bd25eff00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b81600160158282829054906101000a900467ffffffffffffffff1661302e91906151db565b92506101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055506130908361308b8467ffffffffffffffff167f00000000000000000000000000000000000000000000000000000000000000000290565b61422d565b6040805173ffffffffffffffffffffffffffffffffffffffff8516815267ffffffffffffffff841660208201527fa46907b6b80b882da80d6e36cc905dde57fafff0a5442c8898526fe952d1e6539101611662565b6130ed614860565b604080518082019091526000808252602082015260408051808201909152600081526060602082015260015474010000000000000000000000000000000000000000900460ff16600219810161316f576040517fdb22c33c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60011960ff8216016131ad576040517f76a9ad7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1674020000000000000000000000000000000000000000179055600080806131f98a6142d1565b925092509250604051806040016040528061323d8567ffffffffffffffff167f00000000000000000000000000000000000000000000000000000000000000000290565b81526020017f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff85160290529550600061328e613287368c90038c018c61566a565b88516140f4565b90506132a0610cc760c08d018d61507c565b156132b8576132b18b82858c614149565b97506132cb565b6132c58b82858c866143ee565b90985095505b875133907f85496b760a4b7f8d66384b9df21b381f5d1b1e79f229a47aaf4c232edc2fe59a6132fd60208f018f614cb4565b8a516020808d01516040805163ffffffff90951685529184019290925282015260600160405180910390a35050600180547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790555093979296509094509092505050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156133e6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061340a9190615651565b905090565b613417613af0565b73ffffffffffffffffffffffffffffffffffffffff81166134bf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b6134c881613d5c565b50565b815460009062010000900467ffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000001810161351157600191505061359d565b8267ffffffffffffffff168167ffffffffffffffff16101561355f576040517f2b4d0ad500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b83547fffffffffffffffffffffffffffffffffffffffffffff0000000000000000ffff16620100009184900367ffffffffffffffff16919091021783555b92915050565b60008061363d7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015613614573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136389190615651565b613705565b6001546040517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152750100000000000000000000000000000000000000000090910467ffffffffffffffff16906136f3907f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16906370a0823190602401602060405180830381865afa158015613614573d6000803e3d6000fd5b6136fd91906151db565b915091509091565b600061359d7f000000000000000000000000000000000000000000000000000000000000000083816137395761373961589b565b0461451e565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8211156137f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e206160448201527f6e20696e7432353600000000000000000000000000000000000000000000000060648201526084016134b6565b5090565b600154600090819067ffffffffffffffff7501000000000000000000000000000000000000000000909104811690841681101561383b5780848603019250809150613842565b8492508391505b509250929050565b6040805160c0810182526000808252602082018190529181018290526060808201929092526080810182905260a08101919091526040805160c0810190915233815260208082019061389e90860186614cb4565b63ffffffff1681526020858101359082015267ffffffffffffffff841660408201526060016138d060a086018661507c565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250505090825250602001613917608086018661507c565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509152509392505050565b34156134c8576040517f3442dd9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061399782613705565b90507f000000000000000000000000000000000000000000000000000000000000000067ffffffffffffffff821602915061359d7f00000000000000000000000000000000000000000000000000000000000000008430856145b8565b613a4e6040805160e081018252600080825260208083018290528284018290526060808401839052608080850184905260a0850182905285519081018652838152918201839052938101829052928301529060c082015290565b6040805160e08101909152338152602080820190613a6e90880188614cb4565b63ffffffff1681526020878101359082015267ffffffffffffffff8616604082015261ffff85166060820152608001613aaa60a088018861507c565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525060200192909252509392505050565b60005473ffffffffffffffffffffffffffffffffffffffff16331461202c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016134b6565b815462010000900467ffffffffffffffff168115613c025767ffffffffffffffff811615613bcb576040517fca2bc39800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82547fffffffffffffffffffffffffffffffffffffffffffff0000000000000000ffff1669ffffffffffffffff0000178355505050565b67ffffffffffffffff81811614613c45576040517fca2bc39800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b82547fffffffffffffffffffffffffffffffffffffffffffff0000000000000000ffff1683555b505050565b815462010000900467ffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000018101613caf57505050565b613cb98282615557565b90507fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000167ffffffffffffffff821601613d1e576040517f5e10aa2c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b825467ffffffffffffffff90911662010000027fffffffffffffffffffffffffffffffffffffffffffff0000000000000000ffff9091161790915550565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60408051608081018252600080825260208201819052918101829052606081018290528190600080613e016135a3565b63ffffffff8c166000908152600760205260408120549294509092509067ffffffffffffffff620100009091048116146040805160e08101825233815263ffffffff8e16602082015267ffffffffffffffff8d81168284015286811660608301528516608082015282151560a08201528a151560c082015260015491517f07c84e390000000000000000000000000000000000000000000000000000000081529293509173ffffffffffffffffffffffffffffffffffffffff909116906307c84e3990613ed49084908c906004016158ca565b60a0604051808303816000875af1158015613ef3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f17919061595c565b909750945067ffffffffffffffff808c169088161015613f7a57868b03600160158282829054906101000a900467ffffffffffffffff160192506101000a81548167ffffffffffffffff021916908367ffffffffffffffff16021790555061400f565b8a67ffffffffffffffff168767ffffffffffffffff16111561400f57613fa2878c89036137f5565b909750955067ffffffffffffffff86161561400f576001805467ffffffffffffffff750100000000000000000000000000000000000000000080830482168a9003909116027fffffff0000000000000000ffffffffffffffffffffffffffffffffffffffffff9091161790555b8967ffffffffffffffff168767ffffffffffffffff161080614039575067ffffffffffffffff8716155b15614070576040517fa1e8654500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050955095509592505050565b63ffffffff80841660009081526007602052604090206140a19184906134cb16565b5067ffffffffffffffff811615613c6c5763ffffffff7f000000000000000000000000000000000000000000000000000000000000000081166000908152600760205260409020613c6c918390613c7116565b604080518082019091526000808252602082015282513414614142576040517f3442dd9500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5090919050565b614151614860565b602084015115614168576141688460200151614600565b600354845173ffffffffffffffffffffffffffffffffffffffff9091169063ff6fb30090614196888761384a565b87866040518563ffffffff1660e01b81526004016141b693929190615989565b60806040518083038185885af11580156141d4573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061120b9190615a46565b815460009067ffffffffffffffff620100009091048116908316811061421f5782614221565b805b915061193b84836134cb565b60006142398383614272565b905080613c6c576040517f06a6167e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006113037f00000000000000000000000000000000000000000000000000000000000000008484614694565b6060848484846040516020016142b89493929190615a62565b6040516020818303038152906040529050949350505050565b604080516080810182526000808252602082018190529181018290526060810182905281906000614308610cc760c087018761507c565b905061431833866040013561398c565b9350614337604051806040016040528060608152602001600081525090565b816143a2576040805180820190915280614354608089018961507c565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050509082525060200161439b60a089018961507c565b9091525090505b6143c76143b26020880188614cb4565b866143c08960600135613705565b8585613dd1565b9195509093506143e590506143df6020880188614cb4565b8561474d565b50509193909250565b6143f6614860565b604080518082019091526000815260606020820152602086015115614447576040517fb5e0bf8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600354865173ffffffffffffffffffffffffffffffffffffffff909116906361ccdbfb906144ab886007600061448060208f018f614cb4565b63ffffffff90811682526020820192909252604001600020548d929161ffff909116908a906139f416565b876040518463ffffffff1660e01b81526004016144c9929190615ae0565b60006040518083038185885af11580156144e7573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f191682016040526145109190810190615b18565b909890975095505050505050565b600067ffffffffffffffff8211156137f1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201527f342062697473000000000000000000000000000000000000000000000000000060648201526084016134b6565b6145c48484848461475c565b6145fa576040517f7c75c3d200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050565b60055473ffffffffffffffffffffffffffffffffffffffff1661464f576040517fb5e0bf8d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6005546134c89073ffffffffffffffffffffffffffffffffffffffff16337f0000000000000000000000000000000000000000000000000000000000000000846145b8565b60405173ffffffffffffffffffffffffffffffffffffffff831660248201526044810182905260009061120e9085907fa9059cbb00000000000000000000000000000000000000000000000000000000906064015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526147bd565b61475882828361407f565b5050565b60405173ffffffffffffffffffffffffffffffffffffffff8085166024830152831660448201526064810182905260009061120b9086907f23b872dd00000000000000000000000000000000000000000000000000000000906084016146e9565b60008060008473ffffffffffffffffffffffffffffffffffffffff16846040516147e79190615c0b565b6000604051808303816000865af19150503d8060008114614824576040519150601f19603f3d011682016040523d82523d6000602084013e614829565b606091505b50915091508161483a576000614857565b805115806148575750808060200190518101906148579190615c27565b95945050505050565b604051806060016040528060008019168152602001600067ffffffffffffffff1681526020016148a3604051806040016040528060008152602001600081525090565b905290565b67ffffffffffffffff811681146134c857600080fd5b6000602082840312156148d057600080fd5b8135611303816148a8565b600060e0828403121561201457600080fd5b6000602082840312156148ff57600080fd5b813567ffffffffffffffff81111561491657600080fd5b61120e848285016148db565b60005b8381101561493d578181015183820152602001614925565b50506000910152565b6000815180845261495e816020860160208601614922565b601f01601f19169290920160200192915050565b8351815260208085015190820152600060a08201604060a0604085015281865180845260c08601915060c08160051b8701019350602080890160005b83811015614a0b578887037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff400185528151805188528301518388018790526149f887890182614946565b97505093820193908201906001016149ae565b5050875160608801525050506020850151608085015250905061120e565b803563ffffffff81168114614a3d57600080fd5b919050565b60008060408385031215614a5557600080fd5b614a5e83614a29565b9150602083013561ffff81168114614a7557600080fd5b809150509250929050565b6020810160028310614abb577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b60008083601f840112614ad357600080fd5b50813567ffffffffffffffff811115614aeb57600080fd5b602083019150836020828501011115614b0357600080fd5b9250929050565b60008060008060608587031215614b2057600080fd5b614b2985614a29565b9350602085013567ffffffffffffffff811115614b4557600080fd5b614b5187828801614ac1565b9598909750949560400135949350505050565b6080810161359d828480516fffffffffffffffffffffffffffffffff908116835260208083015182169084015260408083015182169084015260609182015116910152565b80151581146134c857600080fd5b60008060408385031215614bca57600080fd5b823567ffffffffffffffff811115614be157600080fd5b614bed858286016148db565b9250506020830135614a7581614ba9565b81518152602080830151908201526040810161359d565b600080600060408486031215614c2a57600080fd5b614c3384614a29565b9250602084013567ffffffffffffffff80821115614c5057600080fd5b818601915086601f830112614c6457600080fd5b813581811115614c7357600080fd5b8760208260061b8501011115614c8857600080fd5b6020830194508093505050509250925092565b600060208284031215614cad57600080fd5b5035919050565b600060208284031215614cc657600080fd5b61130382614a29565b60008060408385031215614ce257600080fd5b614ceb83614a29565b91506020830135614a7581614ba9565b600060c0828403121561201457600080fd5b73ffffffffffffffffffffffffffffffffffffffff811681146134c857600080fd5b60008060408385031215614d4257600080fd5b8235614d4d81614d0d565b946020939093013593505050565b600060208284031215614d6d57600080fd5b813561130381614d0d565b60008060008385036080811215614d8e57600080fd5b843567ffffffffffffffff811115614da557600080fd5b614db1878288016148db565b9450506040601f1982011215614dc657600080fd5b506020840191506060840135614ddb81614d0d565b809150509250925092565b8051825267ffffffffffffffff60208201511660208301526040810151613c6c604084018280518252602090810151910152565b60a08101614e288285614de6565b8260808301529392505050565b60008060408385031215614e4857600080fd5b823591506020830135614a7581614d0d565b803560ff81168114614a3d57600080fd5b60008060008084860360c0811215614e8257600080fd5b6060811215614e9057600080fd5b5084935060608501359250614ea760808601614e5a565b915060a085013567ffffffffffffffff811115614ec357600080fd5b850160808188031215614ed557600080fd5b939692955090935050565b600060208284031215614ef257600080fd5b813561130381614ba9565b600080600080600080600060c0888a031215614f1857600080fd5b87359650614f2860208901614e5a565b95506040880135614f3881614d0d565b945060608801359350614f4d60808901614e5a565b925060a088013567ffffffffffffffff811115614f6957600080fd5b614f758a828b01614ac1565b989b979a50959850939692959293505050565b60c08101614f968285614de6565b82516080830152602083015160a0830152611303565b60008060408385031215614fbf57600080fd5b8235614fca81614d0d565b91506020830135614a75816148a8565b614fe48185614de6565b82516080820152602083015160a082015260e060c082015266ffffffffffffff82511660e0820152600060208301516040610100840152615029610120840182614946565b9695505050505050565b6000806040838503121561504657600080fd5b8235915061505660208401614e5a565b90509250929050565b60006020828403121561507157600080fd5b815161130381614d0d565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126150b157600080fd5b83018035915067ffffffffffffffff8211156150cc57600080fd5b602001915036819003821315614b0357600080fd5b60e0810161359d828473ffffffffffffffffffffffffffffffffffffffff815116825263ffffffff6020820151166020830152604081015167ffffffffffffffff8082166040850152806060840151166060850152806080840151166080850152505060a0810151151560a083015260c0810151151560c08301525050565b60006020828403121561517257600080fd5b8151611303816148a8565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b67ffffffffffffffff8281168282160390808211156151fc576151fc6151ac565b5092915050565b808202600082127f80000000000000000000000000000000000000000000000000000000000000008414161561523b5761523b6151ac565b818105831482151761359d5761359d6151ac565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008151604084526152936040850182614946565b602093840151949093019390935250919050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff8316602082015260606040820152600061120b606083018461527e565b6040805190810167ffffffffffffffff811182821017156153055761530561517d565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156153345761533461517d565b604052919050565b80516fffffffffffffffffffffffffffffffff81168114614a3d57600080fd5b60006080828403121561536e57600080fd5b6040516080810181811067ffffffffffffffff821117156153915761539161517d565b6040529050806153a08361533c565b81526153ae6020840161533c565b60208201526153bf6040840161533c565b60408201526153d06060840161533c565b60608201525092915050565b6000608082840312156153ee57600080fd5b611303838361535c565b73ffffffffffffffffffffffffffffffffffffffff815116825263ffffffff60208201511660208301526040810151604083015267ffffffffffffffff60608201511660608301526000608082015160c0608085015261545b60c0850182614946565b905060a083015184820360a08601526148578282614946565b60408152600061548760408301856153f8565b905082151560208301529392505050565b6000604082840312156154aa57600080fd5b6154b26152e2565b9050815181526020820151602082015292915050565b6000604082840312156154da57600080fd5b6113038383615498565b63ffffffff848116825260406020808401829052838201859052600092869160608601855b88811015615549578361551b86614a29565b1682528285013561552b816148a8565b67ffffffffffffffff16828401529385019390850190600101615509565b509998505050505050505050565b67ffffffffffffffff8181168382160190808211156151fc576151fc6151ac565b600061014073ffffffffffffffffffffffffffffffffffffffff835116845263ffffffff60208401511660208501526040830151604085015267ffffffffffffffff606084015116606085015261ffff608084015116608085015260a08301518160a08601526155ea82860182614946565b91505060c083015161563660c086018280516fffffffffffffffffffffffffffffffff908116835260208083015182169084015260408083015182169084015260609182015116910152565b509392505050565b6020815260006113036020830184615578565b60006020828403121561566357600080fd5b5051919050565b60006040828403121561567c57600080fd5b6156846152e2565b82358152602083013560208201528091505092915050565b6000602082840312156156ae57600080fd5b61130382614e5a565b73ffffffffffffffffffffffffffffffffffffffff8516815283602082015260ff831660408201526080606082015260006150296080830184614946565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b1681528360148201527fff000000000000000000000000000000000000000000000000000000000000008360f81b16603482015260008251615763816035850160208701614922565b9190910160350195945050505050565b86815260ff8616602082015273ffffffffffffffffffffffffffffffffffffffff8516604082015283606082015260ff8316608082015260c060a082015260006157c060c0830184614946565b98975050505050505050565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008660601b1681528460148201527fff000000000000000000000000000000000000000000000000000000000000008460f81b1660348201528183603583013760009101603501908152949350505050565b73ffffffffffffffffffffffffffffffffffffffff8616815284602082015260ff8416604082015260806060820152816080820152818360a0830137600081830160a090810191909152601f909201601f19160101949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061010061594a838673ffffffffffffffffffffffffffffffffffffffff815116825263ffffffff6020820151166020830152604081015167ffffffffffffffff8082166040850152806060840151166060850152806080840151166080850152505060a0810151151560a083015260c0810151151560c08301525050565b8060e08401526148578184018561527e565b60008060a0838503121561596f57600080fd5b825161597a816148a8565b9150615056846020850161535c565b60808152600061599c60808301866153f8565b90506159b5602083018580518252602090810151910152565b73ffffffffffffffffffffffffffffffffffffffff83166060830152949350505050565b6000608082840312156159eb57600080fd5b6040516060810181811067ffffffffffffffff82111715615a0e57615a0e61517d565b8060405250809150825181526020830151615a28816148a8565b6020820152615a3a8460408501615498565b60408201525092915050565b600060808284031215615a5857600080fd5b61130383836159d9565b7fffffffffffffffff0000000000000000000000000000000000000000000000008560c01b1681527fffffffff000000000000000000000000000000000000000000000000000000008460e01b16600882015282600c82015260008251615ad081602c850160208701614922565b91909101602c0195945050505050565b604081526000615af36040830185615578565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b60008060a08385031215615b2b57600080fd5b615b3584846159d9565b9150608083015167ffffffffffffffff80821115615b5257600080fd5b9084019060408287031215615b6657600080fd5b615b6e6152e2565b825166ffffffffffffff81168114615b8557600080fd5b815260208381015183811115615b9a57600080fd5b80850194505087601f850112615baf57600080fd5b835183811115615bc157615bc161517d565b615bd382601f19601f8401160161530b565b93508084528882828701011115615be957600080fd5b615bf881838601848801614922565b5081019190915292959294509192505050565b60008251615c1d818460208701614922565b9190910192915050565b600060208284031215615c3957600080fd5b815161130381614ba956fea2646970667358221220f172ea2bb53def1b83308ecdabc708ae589c1baf075fbf05bfc3a57659dfecde64736f6c63430008160033",
|
|
1746
|
+
"linkReferences": {},
|
|
1747
|
+
"deployedLinkReferences": {}
|
|
1748
|
+
}
|