@artblocks/contracts 1.2.1 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/contracts/BytecodeStorageReaders/BytecodeStorageReaderContractV2_Web3Call.sol/BytecodeStorageReaderContractV2_Web3Call.json +201 -0
- package/artifacts/contracts/BytecodeStorageReaders/UniversalBytecodeStorageReader.sol/UniversalBytecodeStorageReader.json +2 -2
- package/artifacts/contracts/DependencyRegistryV0.sol/DependencyRegistryV0.json +42 -53
- package/artifacts/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol/GenArt721CoreV3_Engine_Flex.json +2 -2
- package/artifacts/contracts/generator/GenArt721GeneratorV0.sol/GenArt721GeneratorV0.json +2 -2
- package/artifacts/contracts/interfaces/v0.8.x/IDelegateRegistry.sol/IDelegateRegistry.json +820 -0
- package/artifacts/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol/IDependencyRegistryV0.json +13 -0
- package/artifacts/contracts/interfaces/v0.8.x/IPMPAugmentHook.sol/IPMPAugmentHook.json +83 -0
- package/artifacts/contracts/interfaces/v0.8.x/IPMPConfigureHook.sol/IPMPConfigureHook.json +80 -0
- package/artifacts/contracts/interfaces/v0.8.x/IPMPV0.sol/IPMPV0.json +402 -0
- package/artifacts/contracts/interfaces/v0.8.x/IUniversalBytecodeStorageReader.sol/IUniversalBytecodeStorageReader.json +13 -0
- package/artifacts/contracts/interfaces/v0.8.x/IWeb3Call.sol/IWeb3Call.json +47 -0
- package/artifacts/contracts/libs/integration-refs/delegation-registry/DelegateRegistry.sol/DelegateRegistry.json +846 -0
- package/artifacts/contracts/libs/integration-refs/delegation-registry/libraries/RegistryHashes.sol/RegistryHashes.json +10 -0
- package/artifacts/contracts/libs/integration-refs/delegation-registry/libraries/RegistryOps.sol/RegistryOps.json +10 -0
- package/artifacts/contracts/libs/integration-refs/delegation-registry/libraries/RegistryStorage.sol/RegistryStorage.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol/DependencyRegistryStorageLib.json +2 -2
- package/artifacts/contracts/libs/v0.8.x/ImmutableStringArray.sol/ImmutableStringArray.json +10 -0
- package/artifacts/contracts/libs/v0.8.x/V3FlexLib.sol/V3FlexLib.json +2 -2
- package/artifacts/contracts/mock/ImmutableStringArrayMock.sol/ImmutableStringArrayMock.json +69 -0
- package/artifacts/contracts/mock/MockPMPAugmentHook.sol/MockPMPAugmentHook.json +214 -0
- package/artifacts/contracts/mock/MockPMPConfigureHook.sol/MockPMPConfigureHook.json +236 -0
- package/artifacts/contracts/web3call/PMPV0.sol/PMPV0.json +629 -0
- package/artifacts/contracts/web3call/Web3Call.sol/Web3Call.json +66 -0
- package/artifacts/contracts/web3call/augment-hooks/AbstractPMPAugmentHook.sol/AbstractPMPAugmentHook.json +83 -0
- package/artifacts/contracts/web3call/augment-hooks/InjectBaseGasFee.sol/InjectBaseGasFee.json +83 -0
- package/artifacts/contracts/web3call/augment-hooks/InjectChromieSquiggleFloorPrice.sol/IUniswapV2Pair.json +60 -0
- package/artifacts/contracts/web3call/augment-hooks/InjectChromieSquiggleFloorPrice.sol/InjectChromieSquiggleFloorPrice.json +107 -0
- package/artifacts/contracts/web3call/augment-hooks/InjectIsNounsDaoMember.sol/InjectIsNounsDaoMember.json +96 -0
- package/artifacts/contracts/web3call/augment-hooks/InjectIsProjectFullyMinted.sol/InjectIsProjectFullyMinted.json +83 -0
- package/artifacts/contracts/web3call/augment-hooks/InjectPolyptychTokenHash.sol/InjectPolyptychTokenHash.json +141 -0
- package/artifacts/contracts/web3call/augment-hooks/InjectTokenHashSeed.sol/InjectTokenHashSeed.json +99 -0
- package/artifacts/contracts/web3call/augment-hooks/InjectTokenOwner.sol/InjectTokenOwner.json +99 -0
- package/artifacts/contracts/web3call/augment-hooks/InjectTokenOwnerEthBalance.sol/InjectTokenOwnerEthBalance.json +83 -0
- package/artifacts/contracts/web3call/augment-hooks/InjectUSDCTotalSupply.sol/InjectUSDCTotalSupply.json +107 -0
- package/artifacts/contracts/web3call/configure-hooks/abstractPMPConfigureHook.sol/AbstractPMPConfigureHook.json +80 -0
- package/contracts/BytecodeStorageReaders/BytecodeStorageReaderContractV2_Web3Call.sol +128 -0
- package/contracts/DependencyRegistryV0.sol +67 -28
- package/contracts/engine/V3/GenArt721CoreV3_Engine_Flex.sol +7 -1
- package/contracts/generator/GenArt721GeneratorV0.sol +77 -8
- package/contracts/interfaces/v0.8.x/IDelegateRegistry.sol +318 -0
- package/contracts/interfaces/v0.8.x/IDependencyRegistryV0.sol +2 -0
- package/contracts/interfaces/v0.8.x/IPMPAugmentHook.sol +31 -0
- package/contracts/interfaces/v0.8.x/IPMPConfigureHook.sol +25 -0
- package/contracts/interfaces/v0.8.x/IPMPV0.sol +224 -0
- package/contracts/interfaces/v0.8.x/IUniversalBytecodeStorageReader.sol +5 -0
- package/contracts/interfaces/v0.8.x/IWeb3Call.sol +28 -0
- package/contracts/libs/integration-refs/delegation-registry/DelegateRegistry.sol +753 -0
- package/contracts/libs/integration-refs/delegation-registry/libraries/RegistryHashes.sol +359 -0
- package/contracts/libs/integration-refs/delegation-registry/libraries/RegistryOps.sol +31 -0
- package/contracts/libs/integration-refs/delegation-registry/libraries/RegistryStorage.sol +87 -0
- package/contracts/libs/v0.8.x/DependencyRegistryStorageLib.sol +3 -0
- package/contracts/libs/v0.8.x/ImmutableStringArray.sol +301 -0
- package/contracts/libs/v0.8.x/V3FlexLib.sol +7 -1
- package/contracts/mock/ImmutableStringArrayMock.sol +47 -0
- package/contracts/mock/MockPMPAugmentHook.sol +170 -0
- package/contracts/mock/MockPMPConfigureHook.sol +78 -0
- package/contracts/web3call/PMPV0.sol +1126 -0
- package/contracts/web3call/Web3Call.sol +25 -0
- package/contracts/web3call/augment-hooks/AbstractPMPAugmentHook.sol +46 -0
- package/contracts/web3call/augment-hooks/InjectBaseGasFee.sol +57 -0
- package/contracts/web3call/augment-hooks/InjectChromieSquiggleFloorPrice.sol +103 -0
- package/contracts/web3call/augment-hooks/InjectIsNounsDaoMember.sol +66 -0
- package/contracts/web3call/augment-hooks/InjectIsProjectFullyMinted.sol +73 -0
- package/contracts/web3call/augment-hooks/InjectPolyptychTokenHash.sol +88 -0
- package/contracts/web3call/augment-hooks/InjectTokenHashSeed.sol +62 -0
- package/contracts/web3call/augment-hooks/InjectTokenOwner.sol +60 -0
- package/contracts/web3call/augment-hooks/InjectTokenOwnerEthBalance.sol +61 -0
- package/contracts/web3call/augment-hooks/InjectUSDCTotalSupply.sol +69 -0
- package/contracts/web3call/configure-hooks/abstractPMPConfigureHook.sol +41 -0
- package/package.json +5 -5
|
@@ -0,0 +1,629 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "PMPV0",
|
|
4
|
+
"sourceName": "contracts/web3call/PMPV0.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [
|
|
8
|
+
{
|
|
9
|
+
"internalType": "contract IDelegateRegistry",
|
|
10
|
+
"name": "delegateRegistry_",
|
|
11
|
+
"type": "address"
|
|
12
|
+
}
|
|
13
|
+
],
|
|
14
|
+
"stateMutability": "nonpayable",
|
|
15
|
+
"type": "constructor"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"inputs": [],
|
|
19
|
+
"name": "ReentrancyGuardReentrantCall",
|
|
20
|
+
"type": "error"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"anonymous": false,
|
|
24
|
+
"inputs": [
|
|
25
|
+
{
|
|
26
|
+
"indexed": false,
|
|
27
|
+
"internalType": "address",
|
|
28
|
+
"name": "delegationRegistry",
|
|
29
|
+
"type": "address"
|
|
30
|
+
}
|
|
31
|
+
],
|
|
32
|
+
"name": "DelegationRegistryUpdated",
|
|
33
|
+
"type": "event"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"anonymous": false,
|
|
37
|
+
"inputs": [
|
|
38
|
+
{
|
|
39
|
+
"indexed": false,
|
|
40
|
+
"internalType": "address",
|
|
41
|
+
"name": "coreContract",
|
|
42
|
+
"type": "address"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"indexed": false,
|
|
46
|
+
"internalType": "uint256",
|
|
47
|
+
"name": "projectId",
|
|
48
|
+
"type": "uint256"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"components": [
|
|
52
|
+
{
|
|
53
|
+
"internalType": "string",
|
|
54
|
+
"name": "key",
|
|
55
|
+
"type": "string"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"components": [
|
|
59
|
+
{
|
|
60
|
+
"internalType": "enum IPMPV0.AuthOption",
|
|
61
|
+
"name": "authOption",
|
|
62
|
+
"type": "uint8"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"internalType": "enum IPMPV0.ParamType",
|
|
66
|
+
"name": "paramType",
|
|
67
|
+
"type": "uint8"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"internalType": "uint48",
|
|
71
|
+
"name": "pmpLockedAfterTimestamp",
|
|
72
|
+
"type": "uint48"
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
"internalType": "address",
|
|
76
|
+
"name": "authAddress",
|
|
77
|
+
"type": "address"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"internalType": "string[]",
|
|
81
|
+
"name": "selectOptions",
|
|
82
|
+
"type": "string[]"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"internalType": "bytes32",
|
|
86
|
+
"name": "minRange",
|
|
87
|
+
"type": "bytes32"
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"internalType": "bytes32",
|
|
91
|
+
"name": "maxRange",
|
|
92
|
+
"type": "bytes32"
|
|
93
|
+
}
|
|
94
|
+
],
|
|
95
|
+
"internalType": "struct IPMPV0.PMPConfig",
|
|
96
|
+
"name": "pmpConfig",
|
|
97
|
+
"type": "tuple"
|
|
98
|
+
}
|
|
99
|
+
],
|
|
100
|
+
"indexed": false,
|
|
101
|
+
"internalType": "struct IPMPV0.PMPInputConfig[]",
|
|
102
|
+
"name": "pmpInputConfigs",
|
|
103
|
+
"type": "tuple[]"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"indexed": false,
|
|
107
|
+
"internalType": "uint8",
|
|
108
|
+
"name": "projectConfigNonce",
|
|
109
|
+
"type": "uint8"
|
|
110
|
+
}
|
|
111
|
+
],
|
|
112
|
+
"name": "ProjectConfigured",
|
|
113
|
+
"type": "event"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"anonymous": false,
|
|
117
|
+
"inputs": [
|
|
118
|
+
{
|
|
119
|
+
"indexed": false,
|
|
120
|
+
"internalType": "address",
|
|
121
|
+
"name": "coreContract",
|
|
122
|
+
"type": "address"
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
"indexed": false,
|
|
126
|
+
"internalType": "uint256",
|
|
127
|
+
"name": "projectId",
|
|
128
|
+
"type": "uint256"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"indexed": false,
|
|
132
|
+
"internalType": "contract IPMPConfigureHook",
|
|
133
|
+
"name": "tokenPMPPostConfigHook",
|
|
134
|
+
"type": "address"
|
|
135
|
+
},
|
|
136
|
+
{
|
|
137
|
+
"indexed": false,
|
|
138
|
+
"internalType": "contract IPMPAugmentHook",
|
|
139
|
+
"name": "tokenPMPReadAugmentationHook",
|
|
140
|
+
"type": "address"
|
|
141
|
+
}
|
|
142
|
+
],
|
|
143
|
+
"name": "ProjectHooksConfigured",
|
|
144
|
+
"type": "event"
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
"anonymous": false,
|
|
148
|
+
"inputs": [
|
|
149
|
+
{
|
|
150
|
+
"indexed": false,
|
|
151
|
+
"internalType": "address",
|
|
152
|
+
"name": "coreContract",
|
|
153
|
+
"type": "address"
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
"indexed": false,
|
|
157
|
+
"internalType": "uint256",
|
|
158
|
+
"name": "tokenId",
|
|
159
|
+
"type": "uint256"
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"components": [
|
|
163
|
+
{
|
|
164
|
+
"internalType": "string",
|
|
165
|
+
"name": "key",
|
|
166
|
+
"type": "string"
|
|
167
|
+
},
|
|
168
|
+
{
|
|
169
|
+
"internalType": "enum IPMPV0.ParamType",
|
|
170
|
+
"name": "configuredParamType",
|
|
171
|
+
"type": "uint8"
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
"internalType": "bytes32",
|
|
175
|
+
"name": "configuredValue",
|
|
176
|
+
"type": "bytes32"
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
"internalType": "bool",
|
|
180
|
+
"name": "configuringArtistString",
|
|
181
|
+
"type": "bool"
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
"internalType": "string",
|
|
185
|
+
"name": "configuredValueString",
|
|
186
|
+
"type": "string"
|
|
187
|
+
}
|
|
188
|
+
],
|
|
189
|
+
"indexed": false,
|
|
190
|
+
"internalType": "struct IPMPV0.PMPInput[]",
|
|
191
|
+
"name": "pmpInputs",
|
|
192
|
+
"type": "tuple[]"
|
|
193
|
+
}
|
|
194
|
+
],
|
|
195
|
+
"name": "TokenParamsConfigured",
|
|
196
|
+
"type": "event"
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
"inputs": [],
|
|
200
|
+
"name": "DELEGATION_REGISTRY_TOKEN_OWNER_RIGHTS",
|
|
201
|
+
"outputs": [
|
|
202
|
+
{
|
|
203
|
+
"internalType": "bytes32",
|
|
204
|
+
"name": "",
|
|
205
|
+
"type": "bytes32"
|
|
206
|
+
}
|
|
207
|
+
],
|
|
208
|
+
"stateMutability": "view",
|
|
209
|
+
"type": "function"
|
|
210
|
+
},
|
|
211
|
+
{
|
|
212
|
+
"inputs": [
|
|
213
|
+
{
|
|
214
|
+
"internalType": "address",
|
|
215
|
+
"name": "coreContract",
|
|
216
|
+
"type": "address"
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
"internalType": "uint256",
|
|
220
|
+
"name": "projectId",
|
|
221
|
+
"type": "uint256"
|
|
222
|
+
},
|
|
223
|
+
{
|
|
224
|
+
"components": [
|
|
225
|
+
{
|
|
226
|
+
"internalType": "string",
|
|
227
|
+
"name": "key",
|
|
228
|
+
"type": "string"
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
"components": [
|
|
232
|
+
{
|
|
233
|
+
"internalType": "enum IPMPV0.AuthOption",
|
|
234
|
+
"name": "authOption",
|
|
235
|
+
"type": "uint8"
|
|
236
|
+
},
|
|
237
|
+
{
|
|
238
|
+
"internalType": "enum IPMPV0.ParamType",
|
|
239
|
+
"name": "paramType",
|
|
240
|
+
"type": "uint8"
|
|
241
|
+
},
|
|
242
|
+
{
|
|
243
|
+
"internalType": "uint48",
|
|
244
|
+
"name": "pmpLockedAfterTimestamp",
|
|
245
|
+
"type": "uint48"
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
"internalType": "address",
|
|
249
|
+
"name": "authAddress",
|
|
250
|
+
"type": "address"
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
"internalType": "string[]",
|
|
254
|
+
"name": "selectOptions",
|
|
255
|
+
"type": "string[]"
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
"internalType": "bytes32",
|
|
259
|
+
"name": "minRange",
|
|
260
|
+
"type": "bytes32"
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
"internalType": "bytes32",
|
|
264
|
+
"name": "maxRange",
|
|
265
|
+
"type": "bytes32"
|
|
266
|
+
}
|
|
267
|
+
],
|
|
268
|
+
"internalType": "struct IPMPV0.PMPConfig",
|
|
269
|
+
"name": "pmpConfig",
|
|
270
|
+
"type": "tuple"
|
|
271
|
+
}
|
|
272
|
+
],
|
|
273
|
+
"internalType": "struct IPMPV0.PMPInputConfig[]",
|
|
274
|
+
"name": "pmpInputConfigs",
|
|
275
|
+
"type": "tuple[]"
|
|
276
|
+
}
|
|
277
|
+
],
|
|
278
|
+
"name": "configureProject",
|
|
279
|
+
"outputs": [],
|
|
280
|
+
"stateMutability": "nonpayable",
|
|
281
|
+
"type": "function"
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
"inputs": [
|
|
285
|
+
{
|
|
286
|
+
"internalType": "address",
|
|
287
|
+
"name": "coreContract",
|
|
288
|
+
"type": "address"
|
|
289
|
+
},
|
|
290
|
+
{
|
|
291
|
+
"internalType": "uint256",
|
|
292
|
+
"name": "projectId",
|
|
293
|
+
"type": "uint256"
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
"internalType": "contract IPMPConfigureHook",
|
|
297
|
+
"name": "tokenPMPPostConfigHook",
|
|
298
|
+
"type": "address"
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
"internalType": "contract IPMPAugmentHook",
|
|
302
|
+
"name": "tokenPMPReadAugmentationHook",
|
|
303
|
+
"type": "address"
|
|
304
|
+
}
|
|
305
|
+
],
|
|
306
|
+
"name": "configureProjectHooks",
|
|
307
|
+
"outputs": [],
|
|
308
|
+
"stateMutability": "nonpayable",
|
|
309
|
+
"type": "function"
|
|
310
|
+
},
|
|
311
|
+
{
|
|
312
|
+
"inputs": [
|
|
313
|
+
{
|
|
314
|
+
"internalType": "address",
|
|
315
|
+
"name": "coreContract",
|
|
316
|
+
"type": "address"
|
|
317
|
+
},
|
|
318
|
+
{
|
|
319
|
+
"internalType": "uint256",
|
|
320
|
+
"name": "tokenId",
|
|
321
|
+
"type": "uint256"
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
"components": [
|
|
325
|
+
{
|
|
326
|
+
"internalType": "string",
|
|
327
|
+
"name": "key",
|
|
328
|
+
"type": "string"
|
|
329
|
+
},
|
|
330
|
+
{
|
|
331
|
+
"internalType": "enum IPMPV0.ParamType",
|
|
332
|
+
"name": "configuredParamType",
|
|
333
|
+
"type": "uint8"
|
|
334
|
+
},
|
|
335
|
+
{
|
|
336
|
+
"internalType": "bytes32",
|
|
337
|
+
"name": "configuredValue",
|
|
338
|
+
"type": "bytes32"
|
|
339
|
+
},
|
|
340
|
+
{
|
|
341
|
+
"internalType": "bool",
|
|
342
|
+
"name": "configuringArtistString",
|
|
343
|
+
"type": "bool"
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
"internalType": "string",
|
|
347
|
+
"name": "configuredValueString",
|
|
348
|
+
"type": "string"
|
|
349
|
+
}
|
|
350
|
+
],
|
|
351
|
+
"internalType": "struct IPMPV0.PMPInput[]",
|
|
352
|
+
"name": "pmpInputs",
|
|
353
|
+
"type": "tuple[]"
|
|
354
|
+
}
|
|
355
|
+
],
|
|
356
|
+
"name": "configureTokenParams",
|
|
357
|
+
"outputs": [],
|
|
358
|
+
"stateMutability": "nonpayable",
|
|
359
|
+
"type": "function"
|
|
360
|
+
},
|
|
361
|
+
{
|
|
362
|
+
"inputs": [],
|
|
363
|
+
"name": "delegateRegistry",
|
|
364
|
+
"outputs": [
|
|
365
|
+
{
|
|
366
|
+
"internalType": "contract IDelegateRegistry",
|
|
367
|
+
"name": "",
|
|
368
|
+
"type": "address"
|
|
369
|
+
}
|
|
370
|
+
],
|
|
371
|
+
"stateMutability": "view",
|
|
372
|
+
"type": "function"
|
|
373
|
+
},
|
|
374
|
+
{
|
|
375
|
+
"inputs": [
|
|
376
|
+
{
|
|
377
|
+
"internalType": "address",
|
|
378
|
+
"name": "coreContract",
|
|
379
|
+
"type": "address"
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
"internalType": "uint256",
|
|
383
|
+
"name": "projectId",
|
|
384
|
+
"type": "uint256"
|
|
385
|
+
}
|
|
386
|
+
],
|
|
387
|
+
"name": "getProjectConfig",
|
|
388
|
+
"outputs": [
|
|
389
|
+
{
|
|
390
|
+
"internalType": "string[]",
|
|
391
|
+
"name": "pmpKeys",
|
|
392
|
+
"type": "string[]"
|
|
393
|
+
},
|
|
394
|
+
{
|
|
395
|
+
"internalType": "uint8",
|
|
396
|
+
"name": "configNonce",
|
|
397
|
+
"type": "uint8"
|
|
398
|
+
},
|
|
399
|
+
{
|
|
400
|
+
"internalType": "contract IPMPConfigureHook",
|
|
401
|
+
"name": "tokenPMPPostConfigHook",
|
|
402
|
+
"type": "address"
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
"internalType": "contract IPMPAugmentHook",
|
|
406
|
+
"name": "tokenPMPReadAugmentationHook",
|
|
407
|
+
"type": "address"
|
|
408
|
+
}
|
|
409
|
+
],
|
|
410
|
+
"stateMutability": "view",
|
|
411
|
+
"type": "function"
|
|
412
|
+
},
|
|
413
|
+
{
|
|
414
|
+
"inputs": [
|
|
415
|
+
{
|
|
416
|
+
"internalType": "address",
|
|
417
|
+
"name": "coreContract",
|
|
418
|
+
"type": "address"
|
|
419
|
+
},
|
|
420
|
+
{
|
|
421
|
+
"internalType": "uint256",
|
|
422
|
+
"name": "projectId",
|
|
423
|
+
"type": "uint256"
|
|
424
|
+
},
|
|
425
|
+
{
|
|
426
|
+
"internalType": "string",
|
|
427
|
+
"name": "pmpKey",
|
|
428
|
+
"type": "string"
|
|
429
|
+
}
|
|
430
|
+
],
|
|
431
|
+
"name": "getProjectPMPConfig",
|
|
432
|
+
"outputs": [
|
|
433
|
+
{
|
|
434
|
+
"components": [
|
|
435
|
+
{
|
|
436
|
+
"internalType": "uint8",
|
|
437
|
+
"name": "highestConfigNonce",
|
|
438
|
+
"type": "uint8"
|
|
439
|
+
},
|
|
440
|
+
{
|
|
441
|
+
"internalType": "enum IPMPV0.AuthOption",
|
|
442
|
+
"name": "authOption",
|
|
443
|
+
"type": "uint8"
|
|
444
|
+
},
|
|
445
|
+
{
|
|
446
|
+
"internalType": "enum IPMPV0.ParamType",
|
|
447
|
+
"name": "paramType",
|
|
448
|
+
"type": "uint8"
|
|
449
|
+
},
|
|
450
|
+
{
|
|
451
|
+
"internalType": "uint48",
|
|
452
|
+
"name": "pmpLockedAfterTimestamp",
|
|
453
|
+
"type": "uint48"
|
|
454
|
+
},
|
|
455
|
+
{
|
|
456
|
+
"internalType": "address",
|
|
457
|
+
"name": "authAddress",
|
|
458
|
+
"type": "address"
|
|
459
|
+
},
|
|
460
|
+
{
|
|
461
|
+
"internalType": "uint8",
|
|
462
|
+
"name": "selectOptionsLength",
|
|
463
|
+
"type": "uint8"
|
|
464
|
+
},
|
|
465
|
+
{
|
|
466
|
+
"internalType": "string[]",
|
|
467
|
+
"name": "selectOptions",
|
|
468
|
+
"type": "string[]"
|
|
469
|
+
},
|
|
470
|
+
{
|
|
471
|
+
"internalType": "bytes32",
|
|
472
|
+
"name": "minRange",
|
|
473
|
+
"type": "bytes32"
|
|
474
|
+
},
|
|
475
|
+
{
|
|
476
|
+
"internalType": "bytes32",
|
|
477
|
+
"name": "maxRange",
|
|
478
|
+
"type": "bytes32"
|
|
479
|
+
}
|
|
480
|
+
],
|
|
481
|
+
"internalType": "struct IPMPV0.PMPConfigView",
|
|
482
|
+
"name": "pmpConfigView",
|
|
483
|
+
"type": "tuple"
|
|
484
|
+
}
|
|
485
|
+
],
|
|
486
|
+
"stateMutability": "view",
|
|
487
|
+
"type": "function"
|
|
488
|
+
},
|
|
489
|
+
{
|
|
490
|
+
"inputs": [
|
|
491
|
+
{
|
|
492
|
+
"internalType": "address",
|
|
493
|
+
"name": "coreContract",
|
|
494
|
+
"type": "address"
|
|
495
|
+
},
|
|
496
|
+
{
|
|
497
|
+
"internalType": "uint256",
|
|
498
|
+
"name": "tokenId",
|
|
499
|
+
"type": "uint256"
|
|
500
|
+
},
|
|
501
|
+
{
|
|
502
|
+
"internalType": "string",
|
|
503
|
+
"name": "pmpKey",
|
|
504
|
+
"type": "string"
|
|
505
|
+
}
|
|
506
|
+
],
|
|
507
|
+
"name": "getTokenPMPStorage",
|
|
508
|
+
"outputs": [
|
|
509
|
+
{
|
|
510
|
+
"components": [
|
|
511
|
+
{
|
|
512
|
+
"internalType": "enum IPMPV0.ParamType",
|
|
513
|
+
"name": "configuredParamType",
|
|
514
|
+
"type": "uint8"
|
|
515
|
+
},
|
|
516
|
+
{
|
|
517
|
+
"internalType": "bytes32",
|
|
518
|
+
"name": "configuredValue",
|
|
519
|
+
"type": "bytes32"
|
|
520
|
+
},
|
|
521
|
+
{
|
|
522
|
+
"internalType": "string",
|
|
523
|
+
"name": "artistConfiguredValueString",
|
|
524
|
+
"type": "string"
|
|
525
|
+
},
|
|
526
|
+
{
|
|
527
|
+
"internalType": "string",
|
|
528
|
+
"name": "nonArtistConfiguredValueString",
|
|
529
|
+
"type": "string"
|
|
530
|
+
}
|
|
531
|
+
],
|
|
532
|
+
"internalType": "struct IPMPV0.PMPStorage",
|
|
533
|
+
"name": "pmp",
|
|
534
|
+
"type": "tuple"
|
|
535
|
+
}
|
|
536
|
+
],
|
|
537
|
+
"stateMutability": "view",
|
|
538
|
+
"type": "function"
|
|
539
|
+
},
|
|
540
|
+
{
|
|
541
|
+
"inputs": [
|
|
542
|
+
{
|
|
543
|
+
"internalType": "address",
|
|
544
|
+
"name": "coreContract",
|
|
545
|
+
"type": "address"
|
|
546
|
+
},
|
|
547
|
+
{
|
|
548
|
+
"internalType": "uint256",
|
|
549
|
+
"name": "tokenId",
|
|
550
|
+
"type": "uint256"
|
|
551
|
+
}
|
|
552
|
+
],
|
|
553
|
+
"name": "getTokenParams",
|
|
554
|
+
"outputs": [
|
|
555
|
+
{
|
|
556
|
+
"components": [
|
|
557
|
+
{
|
|
558
|
+
"internalType": "string",
|
|
559
|
+
"name": "key",
|
|
560
|
+
"type": "string"
|
|
561
|
+
},
|
|
562
|
+
{
|
|
563
|
+
"internalType": "string",
|
|
564
|
+
"name": "value",
|
|
565
|
+
"type": "string"
|
|
566
|
+
}
|
|
567
|
+
],
|
|
568
|
+
"internalType": "struct IWeb3Call.TokenParam[]",
|
|
569
|
+
"name": "tokenParams",
|
|
570
|
+
"type": "tuple[]"
|
|
571
|
+
}
|
|
572
|
+
],
|
|
573
|
+
"stateMutability": "view",
|
|
574
|
+
"type": "function"
|
|
575
|
+
},
|
|
576
|
+
{
|
|
577
|
+
"inputs": [
|
|
578
|
+
{
|
|
579
|
+
"internalType": "address",
|
|
580
|
+
"name": "wallet",
|
|
581
|
+
"type": "address"
|
|
582
|
+
},
|
|
583
|
+
{
|
|
584
|
+
"internalType": "address",
|
|
585
|
+
"name": "coreContract",
|
|
586
|
+
"type": "address"
|
|
587
|
+
},
|
|
588
|
+
{
|
|
589
|
+
"internalType": "uint256",
|
|
590
|
+
"name": "tokenId",
|
|
591
|
+
"type": "uint256"
|
|
592
|
+
}
|
|
593
|
+
],
|
|
594
|
+
"name": "isTokenOwnerOrDelegate",
|
|
595
|
+
"outputs": [
|
|
596
|
+
{
|
|
597
|
+
"internalType": "bool",
|
|
598
|
+
"name": "",
|
|
599
|
+
"type": "bool"
|
|
600
|
+
}
|
|
601
|
+
],
|
|
602
|
+
"stateMutability": "view",
|
|
603
|
+
"type": "function"
|
|
604
|
+
},
|
|
605
|
+
{
|
|
606
|
+
"inputs": [
|
|
607
|
+
{
|
|
608
|
+
"internalType": "bytes4",
|
|
609
|
+
"name": "interfaceId",
|
|
610
|
+
"type": "bytes4"
|
|
611
|
+
}
|
|
612
|
+
],
|
|
613
|
+
"name": "supportsInterface",
|
|
614
|
+
"outputs": [
|
|
615
|
+
{
|
|
616
|
+
"internalType": "bool",
|
|
617
|
+
"name": "",
|
|
618
|
+
"type": "bool"
|
|
619
|
+
}
|
|
620
|
+
],
|
|
621
|
+
"stateMutability": "view",
|
|
622
|
+
"type": "function"
|
|
623
|
+
}
|
|
624
|
+
],
|
|
625
|
+
"bytecode": "0x60a06040523480156200001157600080fd5b5060405162004ce438038062004ce4833981016040819052620000349162000082565b60016000556001600160a01b03811660808190526040519081527f836360d1b094a7de3c3eab3d1185f3a5939467c23d4a12709dbdbf8c8d7e2f3b9060200160405180910390a150620000b4565b6000602082840312156200009557600080fd5b81516001600160a01b0381168114620000ad57600080fd5b9392505050565b608051614c0e620000d66000396000818160cb0152612ab80152614c0e6000f3fe608060405234801561001057600080fd5b50600436106100995760003560e01c806301ffc9a71461009e57806313bfffac146100c65780633c303afb1461010557806354ca22371461011a5780636f8637a01461013d57806398a6e11814610150578063af544a611461017a578063b69c984d1461018d578063ba8dba48146101a0578063c2b4f411146101c0578063dc809b1a146101e0575b600080fd5b6100b16100ac366004613751565b610200565b60405190151581526020015b60405180910390f35b6100ed7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100bd565b6101186101133660046137e7565b610237565b005b61012d610128366004613842565b610719565b6040516100bd94939291906138be565b61011861014b3660046137e7565b61077c565b61016c71706f73746d696e74706172616d657465727360701b81565b6040519081526020016100bd565b6100b1610188366004613945565b610a23565b61011861019b366004613986565b610a3a565b6101b36101ae366004613ae6565b610c20565b6040516100bd9190613bd2565b6101d36101ce366004613842565b610d88565b6040516100bd9190613cf3565b6101f36101ee366004613ae6565b610fa8565b6040516100bd9190613d06565b60006001600160e01b0319821663c2b4f41160e01b148061023157506301ffc9a760e01b6001600160e01b03198316145b92915050565b61023f61117e565b61024a8484336111a8565b8061010081111561029d5760405162461bcd60e51b8152602060048201526018602482015277504d503a204f6e6c79203c3d2032353620636f6e6669677360401b60448201526064015b60405180910390fd5b60005b818110156103925760008484838181106102bc576102bc613d5a565b90506020028101906102ce9190613d70565b6102d89080613d90565b91505080158015906102eb575061010081105b61034f5760405162461bcd60e51b815260206004820152602f60248201527f504d503a20706d704b65792063616e6e6f7420626520656d707479206f72206560448201526e78636565642032353520627974657360881b6064820152608401610294565b61038985858481811061036457610364613d5a565b90506020028101906103769190613d70565b610384906020810190613dd6565b611264565b506001016102a0565b506001600160a01b0385166000908152600160208181526040808420888552909152822060028101549092916103cb9160ff1690613e02565b60028301805460ff191660ff831617905590506000836001600160401b038111156103f8576103f86139d9565b60405190808252806020026020018201604052801561042b57816020015b60608152602001906001900390816104165790505b50905060005b848110156104c25786868281811061044b5761044b613d5a565b905060200281019061045d9190613d70565b6104679080613d90565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050845185925084915081106104af576104af613d5a565b6020908102919091010152600101610431565b506104cd81846119dd565b60005b848110156106c55760008460010160006105028585815181106104f5576104f5613d5a565b6020026020010151611a75565b8152602081019190915260400160002080549091506301000000900465ffffffffffff1680158061053257504281115b61058f5760405162461bcd60e51b815260206004820152602860248201527f504d503a20706d70206973206c6f636b656420616e642063616e6e6f74206265604482015267081d5c19185d195960c21b6064820152608401610294565b50805460ff191660ff851617815560008888848181106105b1576105b1613d5a565b90506020028101906105c39190613d70565b6105d1906020810190613dd6565b6105da90613efc565b8051835491925090839061ff0019166101008360068111156105fe576105fe613b3e565b021790555060208101518254839062ff000019166201000083600881111561062857610628613b3e565b02179055506040810151825460608301516080840151805160ff16600160e81b0260ff60e81b196001600160a01b03909316600160481b02600160481b600160e81b031965ffffffffffff909616630100000002959095166301000000600160e81b03199094169390931793909317161783556106a9906001840190611aa5565b60a0810151600283015560c001516003909101556001016104d0565b507f935e8b8dc0c19500cc0d4c29698f1af13be297f62b71eda8dd0e1a0bc6927fca88888888866040516106fd95949392919061405e565b60405180910390a1505050506107136001600055565b50505050565b6001600160a01b03821660009081526001602090815260408083208484529091528120606091908190819061074d81611d67565b6002820154600390920154909860ff831698506001600160a01b03610100909304831697509116945092505050565b61078461117e565b6001600160a01b0384166000908152600160205260408120816107a686611f91565b8152602001908152602001600020905060005b828110156109da57600061082e8585848181106107d8576107d8613d5a565b90506020028101906107ea91906141fd565b6107f49080613d90565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a7592505050565b9050600085858481811061084457610844613d5a565b905060200281019061085691906141fd565b61085f90614221565b6001600160a01b03891660009081526002602081815260408084208c85528252808420878552825280842060018a019092529092209087015492935090916108b1908a908c908690859060ff16611fa0565b805482546201000090910460ff1690839060ff191660018360088111156108da576108da613b3e565b02179055506008815462010000900460ff1660088111156108fd576108fd613b3e565b0361093a5782606001511561092657608083015160028301906109209082614359565b50610945565b608083015160038301906109209082614359565b604083015160018301555b600286015461010090046001600160a01b0316156109ca57600286015460405163677e713560e01b81526101009091046001600160a01b03169063677e713590610997908d908d908890600401614418565b600060405180830381600087803b1580156109b157600080fd5b505af11580156109c5573d6000803e3d6000fd5b505050505b5050600190920191506107b99050565b507f8ab4d1a907cb32efca4abfcd8bfebaffdae90518a8e48d380e85ad5083fdc13185858585604051610a10949392919061448f565b60405180910390a1506107136001600055565b6000610a308284866129d4565b90505b9392505050565b610a4261117e565b610a4d8484336111a8565b6001600160a01b03821615610ae157610a6d8263677e713560e01b612b2c565b610ae1576040805162461bcd60e51b81526020600482015260248101919091527f504d503a20746f6b656e504d50506f7374436f6e666967486f6f6b20646f657360448201527f206e6f7420696d706c656d656e742049504d50436f6e666967757265486f6f6b6064820152608401610294565b6001600160a01b03811615610b8157610b01816358f8699f60e01b612b2c565b610b815760405162461bcd60e51b8152602060048201526044602482018190527f504d503a20746f6b656e504d50526561644175676d656e746174696f6e486f6f908201527f6b20646f6573206e6f7420696d706c656d656e742049504d504175676d656e74606482015263486f6f6b60e01b608482015260a401610294565b6001600160a01b038481166000818152600160209081526040808320888452825291829020600281018054610100600160a81b031916610100898816908102919091179091556003820180546001600160a01b031916968816968717905583519485529184018890529183015260608201929092527fd7a93580965b5dbb5c8a723af5a48167de5f41dc65e456be819bf739da05ce3890608001610a10565b610c6f60408051610120810190915260008082526020820190815260200160008152600060208201819052604082018190526060808301829052608083015260a0820181905260c09091015290565b6001600160a01b038416600090815260016020818152604080842087855290915282200181610c9d85611a75565b8152602080820192909252604001600020805460ff8082168652919350918401916101009004166006811115610cd557610cd5613b3e565b90816006811115610ce857610ce8613b3e565b9052508054604083019062010000900460ff166008811115610d0c57610d0c613b3e565b90816008811115610d1f57610d1f613b3e565b90525080546301000000810465ffffffffffff166060840152600160481b81046001600160a01b03166080840152600160e81b900460ff1660a0830152610d6860018201611d67565b60c0830152600281015460e0830152600301546101008201529392505050565b60606000610d9583611f91565b6001600160a01b03851660009081526001602090815260408083208484529091528120919250610dc482611d67565b8051909150806001600160401b03811115610de157610de16139d9565b604051908082528060200260200182016040528015610e2657816020015b6040805180820190915260608082526020820152815260200190600190039081610dff5790505b5094506000805b82811015610f08576000610e4c8583815181106104f5576104f5613d5a565b600081815260018801602090815260408083206001600160a01b038f168452600283528184208e85528352818420858552909252822092935090918291610e9291612b48565b9150915081610ea357505050610f00565b6040518060400160405280888681518110610ec057610ec0613d5a565b60200260200101518152602001828152508a8681518110610ee357610ee3613d5a565b60200260200101819052508480610ef99061458b565b9550505050505b600101610e2d565b5080865260038401546001600160a01b031615610f9d5760038401546040516358f8699f60e01b81526001600160a01b03909116906358f8699f90610f55908b908b908b906004016145a4565b600060405180830381865afa158015610f72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f9a9190810190614618565b95505b505050505092915050565b610fd260408051608081019091528060008152600060208201526060604082018190529081015290565b6001600160a01b0384166000908152600260209081526040808320868452909152812090610fff84611a75565b8152602081019190915260409081016000208151608081019092528054829060ff16600881111561103257611032613b3e565b600881111561104357611043613b3e565b815260200160018201548152602001600282018054611061906142d7565b80601f016020809104026020016040519081016040528092919081815260200182805461108d906142d7565b80156110da5780601f106110af576101008083540402835291602001916110da565b820191906000526020600020905b8154815290600101906020018083116110bd57829003601f168201915b505050505081526020016003820180546110f3906142d7565b80601f016020809104026020016040519081016040528092919081815260200182805461111f906142d7565b801561116c5780601f106111415761010080835404028352916020019161116c565b820191906000526020600020905b81548152906001019060200180831161114f57829003601f168201915b50505050508152505090509392505050565b6002600054036111a157604051633ee5aeb560e01b815260040160405180910390fd5b6002600055565b60405163a47d29cb60e01b8152600481018390526001600160a01b03808316919085169063a47d29cb90602401602060405180830381865afa1580156111f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112169190614723565b6001600160a01b03161461125f5760405162461bcd60e51b815260206004820152601060248201526f1413540e881bdb9b1e48185c9d1a5cdd60821b6044820152606401610294565b505050565b60006112766040830160208401614740565b90506000611287602084018461475b565b9050600082600881111561129d5761129d613b3e565b036112ea5760405162461bcd60e51b815260206004820152601e60248201527f504d503a20706172616d5479706520697320756e636f6e6669677572656400006044820152606401610294565b6112fa6060840160408501614776565b65ffffffffffff16158061132457504261131a6060850160408601614776565b65ffffffffffff16115b6113a45760405162461bcd60e51b8152602060048201526044602482018190527f504d503a20706d704c6f636b6564416674657254696d657374616d7020697320908201527f696e20746865207061737420616e64206e6f7420756e6c696d6974656420287a60648201526365726f2960e01b608482015260a401610294565b60068160068111156113b8576113b8613b3e565b11156114005760405162461bcd60e51b81526020600482015260176024820152762826a81d1024b73b30b634b21030baba3427b83a34b7b760491b6044820152606401610294565b600882600881111561141457611414613b3e565b11156114325760405162461bcd60e51b815260040161029490614791565b600882600881111561144657611446613b3e565b0361151c57600081600681111561145f5761145f613b3e565b148061147c5750600381600681111561147a5761147a613b3e565b145b806114985750600681600681111561149657611496613b3e565b145b806114b4575060048160068111156114b2576114b2613b3e565b145b61151c5760405162461bcd60e51b815260206004820152603360248201527f504d503a20537472696e6720706172616d73206d75737420686176652061727460448201527234b9ba159030baba3432b73a34b1b0ba34b7b760691b6064820152608401610294565b600281600681111561153057611530613b3e565b148061154d5750600581600681111561154b5761154b613b3e565b145b806115695750600481600681111561156757611567613b3e565b145b806115855750600681600681111561158357611583613b3e565b145b156115f257600061159c60808501606086016147c1565b6001600160a01b0316036115ed5760405162461bcd60e51b8152602060048201526018602482015277504d503a206175746841646472657373206973207a65726f60401b6044820152606401610294565b611659565b600061160460808501606086016147c1565b6001600160a01b0316146116595760405162461bcd60e51b815260206004820152601c60248201527b504d503a206175746841646472657373206973206e6f74207a65726f60201b6044820152606401610294565b600282600881111561166d5761166d613b3e565b148061168a5750600882600881111561168857611688613b3e565b145b806116a6575060068260088111156116a4576116a4613b3e565b145b15611775576116b860808401846147de565b1590506116d75760405162461bcd60e51b815260040161029490614827565b60a0830135156117265760405162461bcd60e51b815260206004820152601a602482015279504d503a206d696e52616e6765206973206e6f7420656d70747960301b6044820152606401610294565b60c08301351561125f5760405162461bcd60e51b815260206004820152601a602482015279504d503a206d617852616e6765206973206e6f7420656d70747960301b6044820152606401610294565b600182600881111561178957611789613b3e565b0361184957600061179d60808501856147de565b9050116117ea5760405162461bcd60e51b815260206004820152601b60248201527a504d503a2073656c6563744f7074696f6e7320697320656d70747960281b6044820152606401610294565b6101006117fa60808501856147de565b9050106116d75760405162461bcd60e51b815260206004820152601f60248201527f504d503a2073656c6563744f7074696f6e73206c656e677468203e20323535006044820152606401610294565b600382600881111561185d5761185d613b3e565b148061187a5750600482600881111561187857611878613b3e565b145b806118965750600582600881111561189457611894613b3e565b145b806118b2575060078260088111156118b0576118b0613b3e565b145b156119c5576118c460808401846147de565b1590506118e35760405162461bcd60e51b815260040161029490614827565b60048260088111156118f7576118f7613b3e565b0361192c5760a083013560c08401358082126119255760405162461bcd60e51b81526004016102949061485e565b5050505050565b60a083013560c08401358082106119555760405162461bcd60e51b81526004016102949061485e565b600784600881111561196957611969613b3e565b03611925576001600160401b038111156119255760405162461bcd60e51b815260206004820152601e60248201527f504d503a206d617852616e6765203e205f54494d455354414d505f4d415800006044820152606401610294565b60405162461bcd60e51b815260040161029490614791565b60006119e882611d67565b9050600081518451146119fd57506001611a65565b60005b8451811015611a6357611a4e838281518110611a1e57611a1e613d5a565b6020026020010151868381518110611a3857611a38613d5a565b6020026020010151612fbb90919063ffffffff16565b611a5b5760019150611a63565b600101611a00565b505b8015610713576107138385611aa5565b600081604051602001611a889190614891565b604051602081830303815290604052805190602001209050919050565b80516000819003611ac257505080546001600160a01b0319169055565b6000816001600160401b03811115611adc57611adc6139d9565b604051908082528060200260200182016040528015611b05578160200160208202803683370190505b5090506000805b83811015611b775781838281518110611b2757611b27613d5a565b60200260200101906001600160401b031690816001600160401b031681525050848181518110611b5957611b59613d5a565b60200260200101515182611b6d91906148a4565b9150600101611b0c565b506001600160401b03811115611bcd5760405162461bcd60e51b815260206004820152601b60248201527a13d9999cd95d08195e18d959591cc81d5a5b9d0d8d081b1a5b5a5d602a1b6044820152606401610294565b600081611bdb8560086148b7565b611be69060086148a4565b611bf091906148a4565b90506000611bff8260206148a4565b6001600160401b03811115611c1657611c166139d9565b6040519080825280601f01601f191660200182016040528015611c40576020820181803683370190505b5060c086901b602082015290506028810160005b86811015611c99576000868281518110611c7057611c70613d5a565b602090810291909101015160c01b6001600160c01b031916835250600890910190600101611c54565b5060005b86811015611d33576000888281518110611cb957611cb9613d5a565b6020026020010151905060008151905060006020830190506000602083611ce091906148e4565b90506000611cef6020856148f8565b905060005b82811015611d12578351885260209788019790930192600101611cf4565b508015611d225782518752958601955b505060019093019250611c9d915050565b505081815280611d4281612fe0565b88546001600160a01b0319166001600160a01b03919091161790975550505050505050565b80546060906001600160a01b0316611dab576040805160008082526020820190925290611da4565b6060815260200190600190039081611d8f5790505b5092915050565b8154600090611dc2906001600160a01b0316613085565b602081015190915060c01c806001600160401b03811115611de557611de56139d9565b604051908082528060200260200182016040528015611e1857816020015b6060815260200190600190039081611e035790505b50925060005b81811015611f89576000808084611e368560016148a4565b03611e64576000865190506028870193506008850284015160c01c9250600886026008018103915050611e86565b6028860192506008840283015160c01c91506008600185010283015160c01c90505b6000611e92838361490c565b6001600160401b031690506000611eaa8260206148a4565b6001600160401b03811115611ec157611ec16139d9565b6040519080825280601f01601f191660200182016040528015611eeb576020820181803683370190505b5090506020810160005b83811015611f51576000816001600160401b038816611f158c60086148b7565b611f209060286148a4565b611f2a91906148a4565b611f3491906148a4565b8b0151835250602091820191611f4a90826148a4565b9050611ef5565b50819050828152818a8881518110611f6b57611f6b613d5a565b60200260200101819052505050505050508080600101915050611e1e565b505050919050565b6000610231620f4240836148e4565b815460ff8281169116146120195760405162461bcd60e51b815260206004820152603a60248201527f504d503a20706172616d206e6f742070617274206f66206d6f737420726563656044820152796e746c7920636f6e6669677572656420504d5020706172616d7360301b6064820152608401610294565b815462010000900460ff16600881111561203557612035613b3e565b8360200151600881111561204b5761204b613b3e565b146120925760405162461bcd60e51b81526020600482015260176024820152760a09aa07440e0c2e4c2daa8f2e0ca40dad2e6dac2e8c6d604b1b6044820152606401610294565b6000836020015160088111156120aa576120aa613b3e565b036121035760405162461bcd60e51b8152602060048201526024808201527f504d503a20696e70757420706172616d5479706520697320756e636f6e6669676044820152631d5c995960e21b6064820152608401610294565b8154610100900460ff16600081600681111561212157612121613b3e565b0361217e576121318686336130a6565b6121795760405162461bcd60e51b81526020600482015260196024820152781413540e88185c9d1a5cdd08185d5d1a081c995c5d5a5c9959603a1b6044820152606401610294565b612529565b600181600681111561219257612192613b3e565b036121ee576121a28686336129d4565b6121795760405162461bcd60e51b815260206004820152601e60248201527f504d503a20746f6b656e206f776e6572206175746820726571756972656400006044820152606401610294565b600381600681111561220257612202613b3e565b03612281576122128686336130a6565b8061222357506122238686336129d4565b6121795760405162461bcd60e51b815260206004820152602960248201527f504d503a2061727469737420616e6420746f6b656e206f776e65722061757468604482015268081c995c5d5a5c995960ba1b6064820152608401610294565b600281600681111561229557612295613b3e565b036122f7578254600160481b90046001600160a01b031633146121795760405162461bcd60e51b815260206004820152601a6024820152791413540e881859191c995cdcc8185d5d1a081c995c5d5a5c995960321b6044820152606401610294565b600681600681111561230b5761230b613b3e565b036123b15761231b8686336130a6565b8061233657508254600160481b90046001600160a01b031633145b8061234757506123478686336129d4565b6121795760405162461bcd60e51b815260206004820152603560248201527f504d503a2061727469737420616e6420746f6b656e206f776e657220616e64206044820152741859191c995cdcc8185d5d1a081c995c5d5a5c9959605a1b6064820152608401610294565b60048160068111156123c5576123c5613b3e565b0361244a576123d58686336130a6565b806123f057508254600160481b90046001600160a01b031633145b6121795760405162461bcd60e51b815260206004820152602560248201527f504d503a2061727469737420616e6420616464726573732061757468207265716044820152641d5a5c995960da1b6064820152608401610294565b600581600681111561245e5761245e613b3e565b036124e7578254600160481b90046001600160a01b031633148061248857506124888686336129d4565b6121795760405162461bcd60e51b815260206004820152602a60248201527f504d503a20746f6b656e206f776e657220616e642061646472657373206175746044820152691a081c995c5d5a5c995960b21b6064820152608401610294565b60405162461bcd60e51b81526020600482015260176024820152762826a81d1034b73b30b634b21030baba3427b83a34b7b760491b6044820152606401610294565b50815462010000900460ff16600881600881111561254957612549613b3e565b146127db57600181600881111561256257612562613b3e565b036125da5782546040850151600160e81b90910460ff16116125d55760405162461bcd60e51b815260206004820152602660248201527f504d503a2073656c6563744f7074696f6e7320696e646578206f7574206f6620604482015265626f756e647360d01b6064820152608401610294565b6127db565b60028160088111156125ee576125ee613b3e565b036126605760408401511580612608575060408401516001145b6125d55760405162461bcd60e51b8152602060048201526024808201527f504d503a20626f6f6c20706172616d2076616c7565206d7573742062652030206044820152636f72203160e01b6064820152608401610294565b600381600881111561267457612674613b3e565b14806126915750600581600881111561268f5761268f613b3e565b145b156126d25782600201548460400151101580156126b657508260030154846040015111155b6125d55760405162461bcd60e51b81526004016102949061492c565b60048160088111156126e6576126e6613b3e565b036127265760028301546040850151128015906126b657506003830154604085015113156125d55760405162461bcd60e51b81526004016102949061492c565b600781600881111561273a5761273a613b3e565b0361275a5760408401516001600160401b03108015906126b657506127db565b600681600881111561276e5761276e613b3e565b0361279a57604084015162ffffff10156125d55760405162461bcd60e51b815260040161029490614963565b60405162461bcd60e51b8152602060048201526016602482015275504d503a20696e76616c696420706172616d5479706560501b6044820152606401610294565b6008835462010000900460ff1660088111156127f9576127f9613b3e565b036128e6576040840151156128635760405162461bcd60e51b815260206004820152602a60248201527f504d503a2076616c7565206d75737420626520656d70747920666f7220737472604482015269696e6720706172616d7360b01b6064820152608401610294565b8360600151156128e1576128788686336130a6565b6128e15760405162461bcd60e51b815260206004820152603460248201527f504d503a20617274697374206175746820726571756972656420746f20636f6e6044820152736669677572652061727469737420737472696e6760601b6064820152608401610294565b6129cc565b608084015151156129545760405162461bcd60e51b815260206004820152603260248201527f504d503a206e6f6e2d737472696e6720706172616d206d757374206861766520604482015271656d70747920737472696e672076616c756560701b6064820152608401610294565b8360600151156129cc5760405162461bcd60e51b815260206004820152603d60248201527f504d503a2061727469737420737472696e672063616e6e6f7420626520636f6e60448201527f6669677572656420666f72206e6f6e2d737472696e6720706172616d730000006064820152608401610294565b505050505050565b6040516331a9108f60e11b81526004810184905260009081906001600160a01b03851690636352211e90602401602060405180830381865afa158015612a1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a429190614723565b9050826001600160a01b0316816001600160a01b031603612a67576001915050610a33565b604051632e7cda1d60e21b81526001600160a01b038481166004830152828116602483015285811660448301526064820187905271706f73746d696e74706172616d657465727360701b60848301527f0000000000000000000000000000000000000000000000000000000000000000169063b9f368749060a401602060405180830381865afa158015612aff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b239190614993565b95945050505050565b6000612b3783613140565b8015610a335750610a338383613173565b805460009060609060ff1682816008811115612b6657612b66613b3e565b1480612b9e5750845462010000900460ff166008811115612b8957612b89613b3e565b816008811115612b9b57612b9b613b3e565b14155b15612bbc575050604080516020810190915260008082529150612fb4565b6008855462010000900460ff166008811115612bda57612bda613b3e565b03612cd8576000846002018054612bf0906142d7565b90501115612c9457600184600201808054612c0a906142d7565b80601f0160208091040260200160405190810160405280929190818152602001828054612c36906142d7565b8015612c835780601f10612c5857610100808354040283529160200191612c83565b820191906000526020600020905b815481529060010190602001808311612c6657829003601f168201915b505050505090509250925050612fb4565b6000846003018054612ca5906142d7565b90501115612cbf57600184600301808054612c0a906142d7565b5050604080516020810190915260008082529150612fb4565b6001816008811115612cec57612cec613b3e565b03612d3e5784546001850154600160e81b90910460ff1611612d21575050604080516020810190915260008082529150612fb4565b600184810154612d3490878301906131fd565b9250925050612fb4565b6002816008811115612d5257612d52613b3e565b03612dac5760018481015415612d8457604051806040016040528060048152602001637472756560e01b815250612d34565b6040518060400160405280600581526020016466616c736560d81b8152509250925050612fb4565b6003816008811115612dc057612dc0613b3e565b1480612ddd57506006816008811115612ddb57612ddb613b3e565b145b80612df957506007816008811115612df757612df7613b3e565b145b80612e1557506005816008811115612e1357612e13613b3e565b145b15612f0657600184015460006006836008811115612e3557612e35613b3e565b14612e44576003870154612e49565b62ffffff5b905060006006846008811115612e6157612e61613b3e565b14612e70576002880154612e73565b60005b905080831080612e8257508183115b15612ea6576000604051806020016040528060008152509550955050505050612fb4565b6005846008811115612eba57612eba613b3e565b03612ed7576001612eca846133a7565b9550955050505050612fb4565b6006846008811115612eeb57612eeb613b3e565b03612efb576001612eca84613454565b6001612eca8461353d565b6004816008811115612f1a57612f1a613b3e565b03612f715760018401546002860154811280612f395750600386015481135b15612f5b57600060405180602001604052806000815250935093505050612fb4565b6001612f66826135cf565b935093505050612fb4565b60405162461bcd60e51b8152602060048201526018602482015277504d503a20556e68616e646c656420506172616d5479706560401b6044820152606401610294565b9250929050565b600081518351148015610a335750508051602091820120825192909101919091201490565b60008082604051602001612ff491906149b0565b604051602081830303815290604052905060008160405160200161301891906149d6565b60405160208183030381529060405290508051602082016000f092506001600160a01b03831661307e5760405162461bcd60e51b81526020600482015260116024820152701111541313d65351539517d19052531151607a1b6044820152606401610294565b5050919050565b60606102318260016130a1816001600160a01b0384163b614a0a565b613641565b6000806130b285611f91565b9050826001600160a01b0316846001600160a01b031663a47d29cb836040518263ffffffff1660e01b81526004016130ec91815260200190565b602060405180830381865afa158015613109573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061312d9190614723565b6001600160a01b03161495945050505050565b6000613153826301ffc9a760e01b613173565b8015610231575061316c826001600160e01b0319613173565b1592915050565b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180516001600160e01b03166301ffc9a760e01b178152825192935060009283928392909183918a617530fa92503d915060005190508280156131e6575060208210155b80156131f25750600081115b979650505050505050565b81546060906001600160a01b03166132275760405162461bcd60e51b815260040161029490614a1d565b825460009061323e906001600160a01b0316613085565b9050600080600080602085015160c01c905080871061326f5760405162461bcd60e51b815260040161029490614a1d565b8061327b8860016148a4565b036132a9576000855190506028860194506008880285015160c01c93506008820260080181039250506132cb565b6028850193506008870284015160c01c92506008600188010284015160c01c91505b60006132d7848461490c565b6001600160401b0316905060006132ef8260206148a4565b6001600160401b03811115613306576133066139d9565b6040519080825280601f01601f191660200182016040528015613330576020820181803683370190505b5090506020810160005b83811015613396576000816001600160401b03891661335a8860086148b7565b6133659060286148a4565b61336f91906148a4565b61337991906148a4565b8a015183525060209182019161338f90826148a4565b905061333a565b505090815298975050505050505050565b606060006133b6600a80614b2e565b6133c090846148e4565b905060006133cf600a80614b2e565b6133d990856148f8565b905060006133e68361353d565b905060006133f38361353d565b90505b600a8151101561342757806040516020016134119190614b3a565b60405160208183030381529060405290506133f6565b818160405160200161343a929190614b56565b604051602081830303815290604052945050505050919050565b6040805160078082528183019092526060918391600091602082018180368337019050509050602360f81b8160008151811061349257613492613d5a565b60200101906001600160f81b031916908160001a90535060065b801561351e576f181899199a1a9b1b9c1cb0b131b232b360811b83600f16601081106134da576134da613d5a565b1a60f81b8282815181106134f0576134f0613d5a565b60200101906001600160f81b031916908160001a90535060049290921c9161351781614b92565b90506134ac565b508115610a335760405162461bcd60e51b815260040161029490614963565b6060600061354a83613664565b60010190506000816001600160401b03811115613569576135696139d9565b6040519080825280601f01601f191660200182016040528015613593576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461359d57509392505050565b6060600082126135ee5760405180602001604052806000815250613609565b604051806040016040528060018152602001602d60f81b8152505b61361a6136158461373a565b61353d565b60405160200161362b929190614ba9565b6040516020818303038152906040529050919050565b60408051603f8301601f19168101909152818152818360208301863c9392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106136a35772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b83106136cd576904ee2d6d415b85acef8160201b830492506020015b662386f26fc1000083106136eb57662386f26fc10000830492506010015b6305f5e1008310613703576305f5e100830492506008015b612710831061371757612710830492506004015b60648310613729576064830492506002015b600a83106102315760010192915050565b60008082121561374d5781600003610231565b5090565b60006020828403121561376357600080fd5b81356001600160e01b031981168114610a3357600080fd5b6001600160a01b038116811461379057600080fd5b50565b803561379e8161377b565b919050565b60008083601f8401126137b557600080fd5b5081356001600160401b038111156137cc57600080fd5b6020830191508360208260051b8501011115612fb457600080fd5b600080600080606085870312156137fd57600080fd5b84356138088161377b565b93506020850135925060408501356001600160401b0381111561382a57600080fd5b613836878288016137a3565b95989497509550505050565b6000806040838503121561385557600080fd5b82356138608161377b565b946020939093013593505050565b60005b83811015613889578181015183820152602001613871565b50506000910152565b600081518084526138aa81602086016020860161386e565b601f01601f19169290920160200192915050565b6000608082016080835280875180835260a08501915060a08160051b86010192506020808a0160005b8381101561391557609f19888703018552613903868351613892565b955093820193908201906001016138e7565b5050505060ff9690961660208401526001600160a01b039485166040840152929093166060909101529392505050565b60008060006060848603121561395a57600080fd5b83356139658161377b565b925060208401356139758161377b565b929592945050506040919091013590565b6000806000806080858703121561399c57600080fd5b84356139a78161377b565b93506020850135925060408501356139be8161377b565b915060608501356139ce8161377b565b939692955090935050565b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b0381118282101715613a1157613a116139d9565b60405290565b604080519081016001600160401b0381118282101715613a1157613a116139d9565b604051601f8201601f191681016001600160401b0381118282101715613a6157613a616139d9565b604052919050565b60006001600160401b03821115613a8257613a826139d9565b50601f01601f191660200190565b600082601f830112613aa157600080fd5b8135613ab4613aaf82613a69565b613a39565b818152846020838601011115613ac957600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613afb57600080fd5b8335613b068161377b565b92506020840135915060408401356001600160401b03811115613b2857600080fd5b613b3486828701613a90565b9150509250925092565b634e487b7160e01b600052602160045260246000fd5b60078110613b6457613b64613b3e565b9052565b60098110613b6457613b64613b3e565b60008282518085526020808601955060208260051b8401016020860160005b84811015613bc557601f19868403018952613bb3838351613892565b98840198925090830190600101613b97565b5090979650505050505050565b60208152613be660208201835160ff169052565b60006020830151613bfa6040840182613b54565b506040830151613c0d6060840182613b68565b50606083015165ffffffffffff811660808401525060808301516001600160a01b03811660a08401525060a083015160ff811660c08401525060c08301516101208060e0850152613c62610140850183613b78565b60e086015161010086810191909152909501519301929092525090919050565b600082825180855260208086019550808260051b84010181860160005b84811015613bc557601f19868403018952815160408151818652613cc582870182613892565b91505085820151915084810386860152613cdf8183613892565b9a86019a9450505090830190600101613c9f565b602081526000610a336020830184613c82565b60208152613d18602082018351613b68565b602082015160408201526000604083015160806060840152613d3d60a0840182613892565b90506060840151601f19848303016080850152612b238282613892565b634e487b7160e01b600052603260045260246000fd5b60008235603e19833603018112613d8657600080fd5b9190910192915050565b6000808335601e19843603018112613da757600080fd5b8301803591506001600160401b03821115613dc157600080fd5b602001915036819003821315612fb457600080fd5b6000823560de19833603018112613d8657600080fd5b634e487b7160e01b600052601160045260246000fd5b60ff818116838216019081111561023157610231613dec565b80356007811061379e57600080fd5b80356009811061379e57600080fd5b803565ffffffffffff8116811461379e57600080fd5b60006001600160401b03821115613e6857613e686139d9565b5060051b60200190565b600082601f830112613e8357600080fd5b81356020613e93613aaf83613e4f565b82815260059290921b84018101918181019086841115613eb257600080fd5b8286015b84811015613ef15780356001600160401b03811115613ed55760008081fd5b613ee38986838b0101613a90565b845250918301918301613eb6565b509695505050505050565b600060e08236031215613f0e57600080fd5b613f166139ef565b613f1f83613e1b565b8152613f2d60208401613e2a565b6020820152613f3e60408401613e39565b6040820152613f4f60608401613793565b606082015260808301356001600160401b03811115613f6d57600080fd5b613f7936828601613e72565b60808301525060a083013560a082015260c083013560c082015280915050919050565b6000808335601e19843603018112613fb357600080fd5b83016020810192503590506001600160401b03811115613fd257600080fd5b803603821315612fb457600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000838385526020808601955060208560051b8301018460005b87811015613bc557848303601f1901895261403f8288613f9c565b61404a858284613fe1565b9a86019a9450505090830190600101614024565b6001600160a01b038681168252602080830187905260806040808501829052848201879052600093919260a0929183870160058a901b880185018b885b8c8110156141da578a8303609f190184528135368f9003603e190181126140c157600080fd5b8e016140cd8180613f9c565b8786526140dd8887018284613fe1565b9150508782013560de198336030181126140f657600080fd5b858203898701529091019060e06141158261411085613e1b565b613b54565b614120898401613e2a565b61412c8a840182613b68565b5065ffffffffffff61413f898501613e39565b16888301526060808401356141538161377b565b8b1690830152828c013536849003601e1901811261417057600080fd5b830189810190356001600160401b0381111561418b57600080fd5b8060051b360382131561419d57600080fd5b828e8501526141af838501828461400a565b858e0135858f015260c09586013595909401949094525050948701949350509085019060010161409b565b505060ff8a1660608a015296506141f395505050505050565b9695505050505050565b60008235609e19833603018112613d8657600080fd5b801515811461379057600080fd5b600060a0823603121561423357600080fd5b60405160a081016001600160401b038082118383101715614256576142566139d9565b81604052843591508082111561426b57600080fd5b61427736838701613a90565b835261428560208601613e2a565b602084015260408501356040840152606085013591506142a482614213565b81606084015260808501359150808211156142be57600080fd5b506142cb36828601613a90565b60808301525092915050565b600181811c908216806142eb57607f821691505b60208210810361430b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561125f576000816000526020600020601f850160051c8101602086101561433a5750805b601f850160051c820191505b818110156129cc57828155600101614346565b81516001600160401b03811115614372576143726139d9565b6143868161438084546142d7565b84614311565b602080601f8311600181146143bb57600084156143a35750858301515b600019600386901b1c1916600185901b1785556129cc565b600085815260208120601f198616915b828110156143ea578886015182559484019460019091019084016143cb565b50858210156144085787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60018060a01b0384168152826020820152606060408201526000825160a06060840152614449610100840182613892565b9050602084015161445d6080850182613b68565b50604084015160a08401526060840151151560c08401526080840151838203605f190160e08501526131f28282613892565b6001600160a01b0385168152602080820185905260606040808401829052838201859052600092608091828601600588901b870184018987805b8b811015614578578a8403607f190185528235368e9003609e190181126144ee578283fd5b8d0160a06144fc8280613f9c565b82885261450c8389018284613fe1565b9250505061451b898301613e2a565b6145278a880182613b68565b5087820135888701528a82013561453d81614213565b1515868c015261454f828b0183613f9c565b92508682038b880152614563828483613fe1565b978a01979650505092870192506001016144c9565b50919d9c50505050505050505050505050565b60006001820161459d5761459d613dec565b5060010190565b60018060a01b0384168152826020820152606060408201526000612b236060830184613c82565b600082601f8301126145dc57600080fd5b81516145ea613aaf82613a69565b8181528460208386010111156145ff57600080fd5b61461082602083016020870161386e565b949350505050565b6000602080838503121561462b57600080fd5b82516001600160401b038082111561464257600080fd5b818501915085601f83011261465657600080fd5b8151614664613aaf82613e4f565b81815260059190911b8301840190848101908883111561468357600080fd5b8585015b838110156147165780518581111561469f5760008081fd5b86016040818c03601f19018113156146b75760008081fd5b6146bf613a17565b89830151888111156146d15760008081fd5b6146df8e8c838701016145cb565b8252509082015190878211156146f55760008081fd5b6147038d8b848601016145cb565b818b015285525050918601918601614687565b5098975050505050505050565b60006020828403121561473557600080fd5b8151610a338161377b565b60006020828403121561475257600080fd5b610a3382613e2a565b60006020828403121561476d57600080fd5b610a3382613e1b565b60006020828403121561478857600080fd5b610a3382613e39565b602080825260169082015275504d503a20496e76616c696420706172616d5479706560501b604082015260600190565b6000602082840312156147d357600080fd5b8135610a338161377b565b6000808335601e198436030181126147f557600080fd5b8301803591506001600160401b0382111561480f57600080fd5b6020019150600581901b3603821315612fb457600080fd5b6020808252601f908201527f504d503a2073656c6563744f7074696f6e73206973206e6f7420656d70747900604082015260600190565b602080825260199082015278504d503a206d696e52616e6765203e3d206d617852616e676560381b604082015260600190565b602081526000610a336020830184613892565b8082018082111561023157610231613dec565b808202811582820484141761023157610231613dec565b634e487b7160e01b600052601260045260246000fd5b6000826148f3576148f36148ce565b500490565b600082614907576149076148ce565b500690565b6001600160401b03828116828216039080821115611da457611da4613dec565b6020808252601e908201527f504d503a20706172616d2076616c7565206f7574206f6620626f756e64730000604082015260600190565b6020808252601690820152752826a81d1034b73b30b634b2103432bc1031b7b637b960511b604082015260600190565b6000602082840312156149a557600080fd5b8151610a3381614213565b60008152600082516149c981600185016020870161386e565b9190910160010192915050565b6a600b5981380380925939f360a81b815281516000906149fd81600b85016020870161386e565b91909101600b0192915050565b8181038181111561023157610231613dec565b602080825260139082015272496e646578206f7574206f6620626f756e647360681b604082015260600190565b600181815b80851115614a85578160001904821115614a6b57614a6b613dec565b80851615614a7857918102915b93841c9390800290614a4f565b509250929050565b600082614a9c57506001610231565b81614aa957506000610231565b8160018114614abf5760028114614ac957614ae5565b6001915050610231565b60ff841115614ada57614ada613dec565b50506001821b610231565b5060208310610133831016604e8410600b8410161715614b08575081810a610231565b614b128383614a4a565b8060001904821115614b2657614b26613dec565b029392505050565b6000610a338383614a8d565b600360fc1b8152600082516149c981600185016020870161386e565b60008351614b6881846020880161386e565b601760f91b9083019081528351614b8681600184016020880161386e565b01600101949350505050565b600081614ba157614ba1613dec565b506000190190565b60008351614bbb81846020880161386e565b835190830190614bcf81836020880161386e565b0194935050505056fea264697066735822122009134577e06d298f315ea2e69af422ee36cdd6d644576852f5fe8b14ecebd2b664736f6c63430008160033",
|
|
626
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100995760003560e01c806301ffc9a71461009e57806313bfffac146100c65780633c303afb1461010557806354ca22371461011a5780636f8637a01461013d57806398a6e11814610150578063af544a611461017a578063b69c984d1461018d578063ba8dba48146101a0578063c2b4f411146101c0578063dc809b1a146101e0575b600080fd5b6100b16100ac366004613751565b610200565b60405190151581526020015b60405180910390f35b6100ed7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100bd565b6101186101133660046137e7565b610237565b005b61012d610128366004613842565b610719565b6040516100bd94939291906138be565b61011861014b3660046137e7565b61077c565b61016c71706f73746d696e74706172616d657465727360701b81565b6040519081526020016100bd565b6100b1610188366004613945565b610a23565b61011861019b366004613986565b610a3a565b6101b36101ae366004613ae6565b610c20565b6040516100bd9190613bd2565b6101d36101ce366004613842565b610d88565b6040516100bd9190613cf3565b6101f36101ee366004613ae6565b610fa8565b6040516100bd9190613d06565b60006001600160e01b0319821663c2b4f41160e01b148061023157506301ffc9a760e01b6001600160e01b03198316145b92915050565b61023f61117e565b61024a8484336111a8565b8061010081111561029d5760405162461bcd60e51b8152602060048201526018602482015277504d503a204f6e6c79203c3d2032353620636f6e6669677360401b60448201526064015b60405180910390fd5b60005b818110156103925760008484838181106102bc576102bc613d5a565b90506020028101906102ce9190613d70565b6102d89080613d90565b91505080158015906102eb575061010081105b61034f5760405162461bcd60e51b815260206004820152602f60248201527f504d503a20706d704b65792063616e6e6f7420626520656d707479206f72206560448201526e78636565642032353520627974657360881b6064820152608401610294565b61038985858481811061036457610364613d5a565b90506020028101906103769190613d70565b610384906020810190613dd6565b611264565b506001016102a0565b506001600160a01b0385166000908152600160208181526040808420888552909152822060028101549092916103cb9160ff1690613e02565b60028301805460ff191660ff831617905590506000836001600160401b038111156103f8576103f86139d9565b60405190808252806020026020018201604052801561042b57816020015b60608152602001906001900390816104165790505b50905060005b848110156104c25786868281811061044b5761044b613d5a565b905060200281019061045d9190613d70565b6104679080613d90565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050845185925084915081106104af576104af613d5a565b6020908102919091010152600101610431565b506104cd81846119dd565b60005b848110156106c55760008460010160006105028585815181106104f5576104f5613d5a565b6020026020010151611a75565b8152602081019190915260400160002080549091506301000000900465ffffffffffff1680158061053257504281115b61058f5760405162461bcd60e51b815260206004820152602860248201527f504d503a20706d70206973206c6f636b656420616e642063616e6e6f74206265604482015267081d5c19185d195960c21b6064820152608401610294565b50805460ff191660ff851617815560008888848181106105b1576105b1613d5a565b90506020028101906105c39190613d70565b6105d1906020810190613dd6565b6105da90613efc565b8051835491925090839061ff0019166101008360068111156105fe576105fe613b3e565b021790555060208101518254839062ff000019166201000083600881111561062857610628613b3e565b02179055506040810151825460608301516080840151805160ff16600160e81b0260ff60e81b196001600160a01b03909316600160481b02600160481b600160e81b031965ffffffffffff909616630100000002959095166301000000600160e81b03199094169390931793909317161783556106a9906001840190611aa5565b60a0810151600283015560c001516003909101556001016104d0565b507f935e8b8dc0c19500cc0d4c29698f1af13be297f62b71eda8dd0e1a0bc6927fca88888888866040516106fd95949392919061405e565b60405180910390a1505050506107136001600055565b50505050565b6001600160a01b03821660009081526001602090815260408083208484529091528120606091908190819061074d81611d67565b6002820154600390920154909860ff831698506001600160a01b03610100909304831697509116945092505050565b61078461117e565b6001600160a01b0384166000908152600160205260408120816107a686611f91565b8152602001908152602001600020905060005b828110156109da57600061082e8585848181106107d8576107d8613d5a565b90506020028101906107ea91906141fd565b6107f49080613d90565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611a7592505050565b9050600085858481811061084457610844613d5a565b905060200281019061085691906141fd565b61085f90614221565b6001600160a01b03891660009081526002602081815260408084208c85528252808420878552825280842060018a019092529092209087015492935090916108b1908a908c908690859060ff16611fa0565b805482546201000090910460ff1690839060ff191660018360088111156108da576108da613b3e565b02179055506008815462010000900460ff1660088111156108fd576108fd613b3e565b0361093a5782606001511561092657608083015160028301906109209082614359565b50610945565b608083015160038301906109209082614359565b604083015160018301555b600286015461010090046001600160a01b0316156109ca57600286015460405163677e713560e01b81526101009091046001600160a01b03169063677e713590610997908d908d908890600401614418565b600060405180830381600087803b1580156109b157600080fd5b505af11580156109c5573d6000803e3d6000fd5b505050505b5050600190920191506107b99050565b507f8ab4d1a907cb32efca4abfcd8bfebaffdae90518a8e48d380e85ad5083fdc13185858585604051610a10949392919061448f565b60405180910390a1506107136001600055565b6000610a308284866129d4565b90505b9392505050565b610a4261117e565b610a4d8484336111a8565b6001600160a01b03821615610ae157610a6d8263677e713560e01b612b2c565b610ae1576040805162461bcd60e51b81526020600482015260248101919091527f504d503a20746f6b656e504d50506f7374436f6e666967486f6f6b20646f657360448201527f206e6f7420696d706c656d656e742049504d50436f6e666967757265486f6f6b6064820152608401610294565b6001600160a01b03811615610b8157610b01816358f8699f60e01b612b2c565b610b815760405162461bcd60e51b8152602060048201526044602482018190527f504d503a20746f6b656e504d50526561644175676d656e746174696f6e486f6f908201527f6b20646f6573206e6f7420696d706c656d656e742049504d504175676d656e74606482015263486f6f6b60e01b608482015260a401610294565b6001600160a01b038481166000818152600160209081526040808320888452825291829020600281018054610100600160a81b031916610100898816908102919091179091556003820180546001600160a01b031916968816968717905583519485529184018890529183015260608201929092527fd7a93580965b5dbb5c8a723af5a48167de5f41dc65e456be819bf739da05ce3890608001610a10565b610c6f60408051610120810190915260008082526020820190815260200160008152600060208201819052604082018190526060808301829052608083015260a0820181905260c09091015290565b6001600160a01b038416600090815260016020818152604080842087855290915282200181610c9d85611a75565b8152602080820192909252604001600020805460ff8082168652919350918401916101009004166006811115610cd557610cd5613b3e565b90816006811115610ce857610ce8613b3e565b9052508054604083019062010000900460ff166008811115610d0c57610d0c613b3e565b90816008811115610d1f57610d1f613b3e565b90525080546301000000810465ffffffffffff166060840152600160481b81046001600160a01b03166080840152600160e81b900460ff1660a0830152610d6860018201611d67565b60c0830152600281015460e0830152600301546101008201529392505050565b60606000610d9583611f91565b6001600160a01b03851660009081526001602090815260408083208484529091528120919250610dc482611d67565b8051909150806001600160401b03811115610de157610de16139d9565b604051908082528060200260200182016040528015610e2657816020015b6040805180820190915260608082526020820152815260200190600190039081610dff5790505b5094506000805b82811015610f08576000610e4c8583815181106104f5576104f5613d5a565b600081815260018801602090815260408083206001600160a01b038f168452600283528184208e85528352818420858552909252822092935090918291610e9291612b48565b9150915081610ea357505050610f00565b6040518060400160405280888681518110610ec057610ec0613d5a565b60200260200101518152602001828152508a8681518110610ee357610ee3613d5a565b60200260200101819052508480610ef99061458b565b9550505050505b600101610e2d565b5080865260038401546001600160a01b031615610f9d5760038401546040516358f8699f60e01b81526001600160a01b03909116906358f8699f90610f55908b908b908b906004016145a4565b600060405180830381865afa158015610f72573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f9a9190810190614618565b95505b505050505092915050565b610fd260408051608081019091528060008152600060208201526060604082018190529081015290565b6001600160a01b0384166000908152600260209081526040808320868452909152812090610fff84611a75565b8152602081019190915260409081016000208151608081019092528054829060ff16600881111561103257611032613b3e565b600881111561104357611043613b3e565b815260200160018201548152602001600282018054611061906142d7565b80601f016020809104026020016040519081016040528092919081815260200182805461108d906142d7565b80156110da5780601f106110af576101008083540402835291602001916110da565b820191906000526020600020905b8154815290600101906020018083116110bd57829003601f168201915b505050505081526020016003820180546110f3906142d7565b80601f016020809104026020016040519081016040528092919081815260200182805461111f906142d7565b801561116c5780601f106111415761010080835404028352916020019161116c565b820191906000526020600020905b81548152906001019060200180831161114f57829003601f168201915b50505050508152505090509392505050565b6002600054036111a157604051633ee5aeb560e01b815260040160405180910390fd5b6002600055565b60405163a47d29cb60e01b8152600481018390526001600160a01b03808316919085169063a47d29cb90602401602060405180830381865afa1580156111f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112169190614723565b6001600160a01b03161461125f5760405162461bcd60e51b815260206004820152601060248201526f1413540e881bdb9b1e48185c9d1a5cdd60821b6044820152606401610294565b505050565b60006112766040830160208401614740565b90506000611287602084018461475b565b9050600082600881111561129d5761129d613b3e565b036112ea5760405162461bcd60e51b815260206004820152601e60248201527f504d503a20706172616d5479706520697320756e636f6e6669677572656400006044820152606401610294565b6112fa6060840160408501614776565b65ffffffffffff16158061132457504261131a6060850160408601614776565b65ffffffffffff16115b6113a45760405162461bcd60e51b8152602060048201526044602482018190527f504d503a20706d704c6f636b6564416674657254696d657374616d7020697320908201527f696e20746865207061737420616e64206e6f7420756e6c696d6974656420287a60648201526365726f2960e01b608482015260a401610294565b60068160068111156113b8576113b8613b3e565b11156114005760405162461bcd60e51b81526020600482015260176024820152762826a81d1024b73b30b634b21030baba3427b83a34b7b760491b6044820152606401610294565b600882600881111561141457611414613b3e565b11156114325760405162461bcd60e51b815260040161029490614791565b600882600881111561144657611446613b3e565b0361151c57600081600681111561145f5761145f613b3e565b148061147c5750600381600681111561147a5761147a613b3e565b145b806114985750600681600681111561149657611496613b3e565b145b806114b4575060048160068111156114b2576114b2613b3e565b145b61151c5760405162461bcd60e51b815260206004820152603360248201527f504d503a20537472696e6720706172616d73206d75737420686176652061727460448201527234b9ba159030baba3432b73a34b1b0ba34b7b760691b6064820152608401610294565b600281600681111561153057611530613b3e565b148061154d5750600581600681111561154b5761154b613b3e565b145b806115695750600481600681111561156757611567613b3e565b145b806115855750600681600681111561158357611583613b3e565b145b156115f257600061159c60808501606086016147c1565b6001600160a01b0316036115ed5760405162461bcd60e51b8152602060048201526018602482015277504d503a206175746841646472657373206973207a65726f60401b6044820152606401610294565b611659565b600061160460808501606086016147c1565b6001600160a01b0316146116595760405162461bcd60e51b815260206004820152601c60248201527b504d503a206175746841646472657373206973206e6f74207a65726f60201b6044820152606401610294565b600282600881111561166d5761166d613b3e565b148061168a5750600882600881111561168857611688613b3e565b145b806116a6575060068260088111156116a4576116a4613b3e565b145b15611775576116b860808401846147de565b1590506116d75760405162461bcd60e51b815260040161029490614827565b60a0830135156117265760405162461bcd60e51b815260206004820152601a602482015279504d503a206d696e52616e6765206973206e6f7420656d70747960301b6044820152606401610294565b60c08301351561125f5760405162461bcd60e51b815260206004820152601a602482015279504d503a206d617852616e6765206973206e6f7420656d70747960301b6044820152606401610294565b600182600881111561178957611789613b3e565b0361184957600061179d60808501856147de565b9050116117ea5760405162461bcd60e51b815260206004820152601b60248201527a504d503a2073656c6563744f7074696f6e7320697320656d70747960281b6044820152606401610294565b6101006117fa60808501856147de565b9050106116d75760405162461bcd60e51b815260206004820152601f60248201527f504d503a2073656c6563744f7074696f6e73206c656e677468203e20323535006044820152606401610294565b600382600881111561185d5761185d613b3e565b148061187a5750600482600881111561187857611878613b3e565b145b806118965750600582600881111561189457611894613b3e565b145b806118b2575060078260088111156118b0576118b0613b3e565b145b156119c5576118c460808401846147de565b1590506118e35760405162461bcd60e51b815260040161029490614827565b60048260088111156118f7576118f7613b3e565b0361192c5760a083013560c08401358082126119255760405162461bcd60e51b81526004016102949061485e565b5050505050565b60a083013560c08401358082106119555760405162461bcd60e51b81526004016102949061485e565b600784600881111561196957611969613b3e565b03611925576001600160401b038111156119255760405162461bcd60e51b815260206004820152601e60248201527f504d503a206d617852616e6765203e205f54494d455354414d505f4d415800006044820152606401610294565b60405162461bcd60e51b815260040161029490614791565b60006119e882611d67565b9050600081518451146119fd57506001611a65565b60005b8451811015611a6357611a4e838281518110611a1e57611a1e613d5a565b6020026020010151868381518110611a3857611a38613d5a565b6020026020010151612fbb90919063ffffffff16565b611a5b5760019150611a63565b600101611a00565b505b8015610713576107138385611aa5565b600081604051602001611a889190614891565b604051602081830303815290604052805190602001209050919050565b80516000819003611ac257505080546001600160a01b0319169055565b6000816001600160401b03811115611adc57611adc6139d9565b604051908082528060200260200182016040528015611b05578160200160208202803683370190505b5090506000805b83811015611b775781838281518110611b2757611b27613d5a565b60200260200101906001600160401b031690816001600160401b031681525050848181518110611b5957611b59613d5a565b60200260200101515182611b6d91906148a4565b9150600101611b0c565b506001600160401b03811115611bcd5760405162461bcd60e51b815260206004820152601b60248201527a13d9999cd95d08195e18d959591cc81d5a5b9d0d8d081b1a5b5a5d602a1b6044820152606401610294565b600081611bdb8560086148b7565b611be69060086148a4565b611bf091906148a4565b90506000611bff8260206148a4565b6001600160401b03811115611c1657611c166139d9565b6040519080825280601f01601f191660200182016040528015611c40576020820181803683370190505b5060c086901b602082015290506028810160005b86811015611c99576000868281518110611c7057611c70613d5a565b602090810291909101015160c01b6001600160c01b031916835250600890910190600101611c54565b5060005b86811015611d33576000888281518110611cb957611cb9613d5a565b6020026020010151905060008151905060006020830190506000602083611ce091906148e4565b90506000611cef6020856148f8565b905060005b82811015611d12578351885260209788019790930192600101611cf4565b508015611d225782518752958601955b505060019093019250611c9d915050565b505081815280611d4281612fe0565b88546001600160a01b0319166001600160a01b03919091161790975550505050505050565b80546060906001600160a01b0316611dab576040805160008082526020820190925290611da4565b6060815260200190600190039081611d8f5790505b5092915050565b8154600090611dc2906001600160a01b0316613085565b602081015190915060c01c806001600160401b03811115611de557611de56139d9565b604051908082528060200260200182016040528015611e1857816020015b6060815260200190600190039081611e035790505b50925060005b81811015611f89576000808084611e368560016148a4565b03611e64576000865190506028870193506008850284015160c01c9250600886026008018103915050611e86565b6028860192506008840283015160c01c91506008600185010283015160c01c90505b6000611e92838361490c565b6001600160401b031690506000611eaa8260206148a4565b6001600160401b03811115611ec157611ec16139d9565b6040519080825280601f01601f191660200182016040528015611eeb576020820181803683370190505b5090506020810160005b83811015611f51576000816001600160401b038816611f158c60086148b7565b611f209060286148a4565b611f2a91906148a4565b611f3491906148a4565b8b0151835250602091820191611f4a90826148a4565b9050611ef5565b50819050828152818a8881518110611f6b57611f6b613d5a565b60200260200101819052505050505050508080600101915050611e1e565b505050919050565b6000610231620f4240836148e4565b815460ff8281169116146120195760405162461bcd60e51b815260206004820152603a60248201527f504d503a20706172616d206e6f742070617274206f66206d6f737420726563656044820152796e746c7920636f6e6669677572656420504d5020706172616d7360301b6064820152608401610294565b815462010000900460ff16600881111561203557612035613b3e565b8360200151600881111561204b5761204b613b3e565b146120925760405162461bcd60e51b81526020600482015260176024820152760a09aa07440e0c2e4c2daa8f2e0ca40dad2e6dac2e8c6d604b1b6044820152606401610294565b6000836020015160088111156120aa576120aa613b3e565b036121035760405162461bcd60e51b8152602060048201526024808201527f504d503a20696e70757420706172616d5479706520697320756e636f6e6669676044820152631d5c995960e21b6064820152608401610294565b8154610100900460ff16600081600681111561212157612121613b3e565b0361217e576121318686336130a6565b6121795760405162461bcd60e51b81526020600482015260196024820152781413540e88185c9d1a5cdd08185d5d1a081c995c5d5a5c9959603a1b6044820152606401610294565b612529565b600181600681111561219257612192613b3e565b036121ee576121a28686336129d4565b6121795760405162461bcd60e51b815260206004820152601e60248201527f504d503a20746f6b656e206f776e6572206175746820726571756972656400006044820152606401610294565b600381600681111561220257612202613b3e565b03612281576122128686336130a6565b8061222357506122238686336129d4565b6121795760405162461bcd60e51b815260206004820152602960248201527f504d503a2061727469737420616e6420746f6b656e206f776e65722061757468604482015268081c995c5d5a5c995960ba1b6064820152608401610294565b600281600681111561229557612295613b3e565b036122f7578254600160481b90046001600160a01b031633146121795760405162461bcd60e51b815260206004820152601a6024820152791413540e881859191c995cdcc8185d5d1a081c995c5d5a5c995960321b6044820152606401610294565b600681600681111561230b5761230b613b3e565b036123b15761231b8686336130a6565b8061233657508254600160481b90046001600160a01b031633145b8061234757506123478686336129d4565b6121795760405162461bcd60e51b815260206004820152603560248201527f504d503a2061727469737420616e6420746f6b656e206f776e657220616e64206044820152741859191c995cdcc8185d5d1a081c995c5d5a5c9959605a1b6064820152608401610294565b60048160068111156123c5576123c5613b3e565b0361244a576123d58686336130a6565b806123f057508254600160481b90046001600160a01b031633145b6121795760405162461bcd60e51b815260206004820152602560248201527f504d503a2061727469737420616e6420616464726573732061757468207265716044820152641d5a5c995960da1b6064820152608401610294565b600581600681111561245e5761245e613b3e565b036124e7578254600160481b90046001600160a01b031633148061248857506124888686336129d4565b6121795760405162461bcd60e51b815260206004820152602a60248201527f504d503a20746f6b656e206f776e657220616e642061646472657373206175746044820152691a081c995c5d5a5c995960b21b6064820152608401610294565b60405162461bcd60e51b81526020600482015260176024820152762826a81d1034b73b30b634b21030baba3427b83a34b7b760491b6044820152606401610294565b50815462010000900460ff16600881600881111561254957612549613b3e565b146127db57600181600881111561256257612562613b3e565b036125da5782546040850151600160e81b90910460ff16116125d55760405162461bcd60e51b815260206004820152602660248201527f504d503a2073656c6563744f7074696f6e7320696e646578206f7574206f6620604482015265626f756e647360d01b6064820152608401610294565b6127db565b60028160088111156125ee576125ee613b3e565b036126605760408401511580612608575060408401516001145b6125d55760405162461bcd60e51b8152602060048201526024808201527f504d503a20626f6f6c20706172616d2076616c7565206d7573742062652030206044820152636f72203160e01b6064820152608401610294565b600381600881111561267457612674613b3e565b14806126915750600581600881111561268f5761268f613b3e565b145b156126d25782600201548460400151101580156126b657508260030154846040015111155b6125d55760405162461bcd60e51b81526004016102949061492c565b60048160088111156126e6576126e6613b3e565b036127265760028301546040850151128015906126b657506003830154604085015113156125d55760405162461bcd60e51b81526004016102949061492c565b600781600881111561273a5761273a613b3e565b0361275a5760408401516001600160401b03108015906126b657506127db565b600681600881111561276e5761276e613b3e565b0361279a57604084015162ffffff10156125d55760405162461bcd60e51b815260040161029490614963565b60405162461bcd60e51b8152602060048201526016602482015275504d503a20696e76616c696420706172616d5479706560501b6044820152606401610294565b6008835462010000900460ff1660088111156127f9576127f9613b3e565b036128e6576040840151156128635760405162461bcd60e51b815260206004820152602a60248201527f504d503a2076616c7565206d75737420626520656d70747920666f7220737472604482015269696e6720706172616d7360b01b6064820152608401610294565b8360600151156128e1576128788686336130a6565b6128e15760405162461bcd60e51b815260206004820152603460248201527f504d503a20617274697374206175746820726571756972656420746f20636f6e6044820152736669677572652061727469737420737472696e6760601b6064820152608401610294565b6129cc565b608084015151156129545760405162461bcd60e51b815260206004820152603260248201527f504d503a206e6f6e2d737472696e6720706172616d206d757374206861766520604482015271656d70747920737472696e672076616c756560701b6064820152608401610294565b8360600151156129cc5760405162461bcd60e51b815260206004820152603d60248201527f504d503a2061727469737420737472696e672063616e6e6f7420626520636f6e60448201527f6669677572656420666f72206e6f6e2d737472696e6720706172616d730000006064820152608401610294565b505050505050565b6040516331a9108f60e11b81526004810184905260009081906001600160a01b03851690636352211e90602401602060405180830381865afa158015612a1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612a429190614723565b9050826001600160a01b0316816001600160a01b031603612a67576001915050610a33565b604051632e7cda1d60e21b81526001600160a01b038481166004830152828116602483015285811660448301526064820187905271706f73746d696e74706172616d657465727360701b60848301527f0000000000000000000000000000000000000000000000000000000000000000169063b9f368749060a401602060405180830381865afa158015612aff573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b239190614993565b95945050505050565b6000612b3783613140565b8015610a335750610a338383613173565b805460009060609060ff1682816008811115612b6657612b66613b3e565b1480612b9e5750845462010000900460ff166008811115612b8957612b89613b3e565b816008811115612b9b57612b9b613b3e565b14155b15612bbc575050604080516020810190915260008082529150612fb4565b6008855462010000900460ff166008811115612bda57612bda613b3e565b03612cd8576000846002018054612bf0906142d7565b90501115612c9457600184600201808054612c0a906142d7565b80601f0160208091040260200160405190810160405280929190818152602001828054612c36906142d7565b8015612c835780601f10612c5857610100808354040283529160200191612c83565b820191906000526020600020905b815481529060010190602001808311612c6657829003601f168201915b505050505090509250925050612fb4565b6000846003018054612ca5906142d7565b90501115612cbf57600184600301808054612c0a906142d7565b5050604080516020810190915260008082529150612fb4565b6001816008811115612cec57612cec613b3e565b03612d3e5784546001850154600160e81b90910460ff1611612d21575050604080516020810190915260008082529150612fb4565b600184810154612d3490878301906131fd565b9250925050612fb4565b6002816008811115612d5257612d52613b3e565b03612dac5760018481015415612d8457604051806040016040528060048152602001637472756560e01b815250612d34565b6040518060400160405280600581526020016466616c736560d81b8152509250925050612fb4565b6003816008811115612dc057612dc0613b3e565b1480612ddd57506006816008811115612ddb57612ddb613b3e565b145b80612df957506007816008811115612df757612df7613b3e565b145b80612e1557506005816008811115612e1357612e13613b3e565b145b15612f0657600184015460006006836008811115612e3557612e35613b3e565b14612e44576003870154612e49565b62ffffff5b905060006006846008811115612e6157612e61613b3e565b14612e70576002880154612e73565b60005b905080831080612e8257508183115b15612ea6576000604051806020016040528060008152509550955050505050612fb4565b6005846008811115612eba57612eba613b3e565b03612ed7576001612eca846133a7565b9550955050505050612fb4565b6006846008811115612eeb57612eeb613b3e565b03612efb576001612eca84613454565b6001612eca8461353d565b6004816008811115612f1a57612f1a613b3e565b03612f715760018401546002860154811280612f395750600386015481135b15612f5b57600060405180602001604052806000815250935093505050612fb4565b6001612f66826135cf565b935093505050612fb4565b60405162461bcd60e51b8152602060048201526018602482015277504d503a20556e68616e646c656420506172616d5479706560401b6044820152606401610294565b9250929050565b600081518351148015610a335750508051602091820120825192909101919091201490565b60008082604051602001612ff491906149b0565b604051602081830303815290604052905060008160405160200161301891906149d6565b60405160208183030381529060405290508051602082016000f092506001600160a01b03831661307e5760405162461bcd60e51b81526020600482015260116024820152701111541313d65351539517d19052531151607a1b6044820152606401610294565b5050919050565b60606102318260016130a1816001600160a01b0384163b614a0a565b613641565b6000806130b285611f91565b9050826001600160a01b0316846001600160a01b031663a47d29cb836040518263ffffffff1660e01b81526004016130ec91815260200190565b602060405180830381865afa158015613109573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061312d9190614723565b6001600160a01b03161495945050505050565b6000613153826301ffc9a760e01b613173565b8015610231575061316c826001600160e01b0319613173565b1592915050565b6040516001600160e01b031982166024820152600090819060440160408051601f19818403018152919052602080820180516001600160e01b03166301ffc9a760e01b178152825192935060009283928392909183918a617530fa92503d915060005190508280156131e6575060208210155b80156131f25750600081115b979650505050505050565b81546060906001600160a01b03166132275760405162461bcd60e51b815260040161029490614a1d565b825460009061323e906001600160a01b0316613085565b9050600080600080602085015160c01c905080871061326f5760405162461bcd60e51b815260040161029490614a1d565b8061327b8860016148a4565b036132a9576000855190506028860194506008880285015160c01c93506008820260080181039250506132cb565b6028850193506008870284015160c01c92506008600188010284015160c01c91505b60006132d7848461490c565b6001600160401b0316905060006132ef8260206148a4565b6001600160401b03811115613306576133066139d9565b6040519080825280601f01601f191660200182016040528015613330576020820181803683370190505b5090506020810160005b83811015613396576000816001600160401b03891661335a8860086148b7565b6133659060286148a4565b61336f91906148a4565b61337991906148a4565b8a015183525060209182019161338f90826148a4565b905061333a565b505090815298975050505050505050565b606060006133b6600a80614b2e565b6133c090846148e4565b905060006133cf600a80614b2e565b6133d990856148f8565b905060006133e68361353d565b905060006133f38361353d565b90505b600a8151101561342757806040516020016134119190614b3a565b60405160208183030381529060405290506133f6565b818160405160200161343a929190614b56565b604051602081830303815290604052945050505050919050565b6040805160078082528183019092526060918391600091602082018180368337019050509050602360f81b8160008151811061349257613492613d5a565b60200101906001600160f81b031916908160001a90535060065b801561351e576f181899199a1a9b1b9c1cb0b131b232b360811b83600f16601081106134da576134da613d5a565b1a60f81b8282815181106134f0576134f0613d5a565b60200101906001600160f81b031916908160001a90535060049290921c9161351781614b92565b90506134ac565b508115610a335760405162461bcd60e51b815260040161029490614963565b6060600061354a83613664565b60010190506000816001600160401b03811115613569576135696139d9565b6040519080825280601f01601f191660200182016040528015613593576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a850494508461359d57509392505050565b6060600082126135ee5760405180602001604052806000815250613609565b604051806040016040528060018152602001602d60f81b8152505b61361a6136158461373a565b61353d565b60405160200161362b929190614ba9565b6040516020818303038152906040529050919050565b60408051603f8301601f19168101909152818152818360208301863c9392505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106136a35772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6904ee2d6d415b85acef8160201b83106136cd576904ee2d6d415b85acef8160201b830492506020015b662386f26fc1000083106136eb57662386f26fc10000830492506010015b6305f5e1008310613703576305f5e100830492506008015b612710831061371757612710830492506004015b60648310613729576064830492506002015b600a83106102315760010192915050565b60008082121561374d5781600003610231565b5090565b60006020828403121561376357600080fd5b81356001600160e01b031981168114610a3357600080fd5b6001600160a01b038116811461379057600080fd5b50565b803561379e8161377b565b919050565b60008083601f8401126137b557600080fd5b5081356001600160401b038111156137cc57600080fd5b6020830191508360208260051b8501011115612fb457600080fd5b600080600080606085870312156137fd57600080fd5b84356138088161377b565b93506020850135925060408501356001600160401b0381111561382a57600080fd5b613836878288016137a3565b95989497509550505050565b6000806040838503121561385557600080fd5b82356138608161377b565b946020939093013593505050565b60005b83811015613889578181015183820152602001613871565b50506000910152565b600081518084526138aa81602086016020860161386e565b601f01601f19169290920160200192915050565b6000608082016080835280875180835260a08501915060a08160051b86010192506020808a0160005b8381101561391557609f19888703018552613903868351613892565b955093820193908201906001016138e7565b5050505060ff9690961660208401526001600160a01b039485166040840152929093166060909101529392505050565b60008060006060848603121561395a57600080fd5b83356139658161377b565b925060208401356139758161377b565b929592945050506040919091013590565b6000806000806080858703121561399c57600080fd5b84356139a78161377b565b93506020850135925060408501356139be8161377b565b915060608501356139ce8161377b565b939692955090935050565b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b0381118282101715613a1157613a116139d9565b60405290565b604080519081016001600160401b0381118282101715613a1157613a116139d9565b604051601f8201601f191681016001600160401b0381118282101715613a6157613a616139d9565b604052919050565b60006001600160401b03821115613a8257613a826139d9565b50601f01601f191660200190565b600082601f830112613aa157600080fd5b8135613ab4613aaf82613a69565b613a39565b818152846020838601011115613ac957600080fd5b816020850160208301376000918101602001919091529392505050565b600080600060608486031215613afb57600080fd5b8335613b068161377b565b92506020840135915060408401356001600160401b03811115613b2857600080fd5b613b3486828701613a90565b9150509250925092565b634e487b7160e01b600052602160045260246000fd5b60078110613b6457613b64613b3e565b9052565b60098110613b6457613b64613b3e565b60008282518085526020808601955060208260051b8401016020860160005b84811015613bc557601f19868403018952613bb3838351613892565b98840198925090830190600101613b97565b5090979650505050505050565b60208152613be660208201835160ff169052565b60006020830151613bfa6040840182613b54565b506040830151613c0d6060840182613b68565b50606083015165ffffffffffff811660808401525060808301516001600160a01b03811660a08401525060a083015160ff811660c08401525060c08301516101208060e0850152613c62610140850183613b78565b60e086015161010086810191909152909501519301929092525090919050565b600082825180855260208086019550808260051b84010181860160005b84811015613bc557601f19868403018952815160408151818652613cc582870182613892565b91505085820151915084810386860152613cdf8183613892565b9a86019a9450505090830190600101613c9f565b602081526000610a336020830184613c82565b60208152613d18602082018351613b68565b602082015160408201526000604083015160806060840152613d3d60a0840182613892565b90506060840151601f19848303016080850152612b238282613892565b634e487b7160e01b600052603260045260246000fd5b60008235603e19833603018112613d8657600080fd5b9190910192915050565b6000808335601e19843603018112613da757600080fd5b8301803591506001600160401b03821115613dc157600080fd5b602001915036819003821315612fb457600080fd5b6000823560de19833603018112613d8657600080fd5b634e487b7160e01b600052601160045260246000fd5b60ff818116838216019081111561023157610231613dec565b80356007811061379e57600080fd5b80356009811061379e57600080fd5b803565ffffffffffff8116811461379e57600080fd5b60006001600160401b03821115613e6857613e686139d9565b5060051b60200190565b600082601f830112613e8357600080fd5b81356020613e93613aaf83613e4f565b82815260059290921b84018101918181019086841115613eb257600080fd5b8286015b84811015613ef15780356001600160401b03811115613ed55760008081fd5b613ee38986838b0101613a90565b845250918301918301613eb6565b509695505050505050565b600060e08236031215613f0e57600080fd5b613f166139ef565b613f1f83613e1b565b8152613f2d60208401613e2a565b6020820152613f3e60408401613e39565b6040820152613f4f60608401613793565b606082015260808301356001600160401b03811115613f6d57600080fd5b613f7936828601613e72565b60808301525060a083013560a082015260c083013560c082015280915050919050565b6000808335601e19843603018112613fb357600080fd5b83016020810192503590506001600160401b03811115613fd257600080fd5b803603821315612fb457600080fd5b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6000838385526020808601955060208560051b8301018460005b87811015613bc557848303601f1901895261403f8288613f9c565b61404a858284613fe1565b9a86019a9450505090830190600101614024565b6001600160a01b038681168252602080830187905260806040808501829052848201879052600093919260a0929183870160058a901b880185018b885b8c8110156141da578a8303609f190184528135368f9003603e190181126140c157600080fd5b8e016140cd8180613f9c565b8786526140dd8887018284613fe1565b9150508782013560de198336030181126140f657600080fd5b858203898701529091019060e06141158261411085613e1b565b613b54565b614120898401613e2a565b61412c8a840182613b68565b5065ffffffffffff61413f898501613e39565b16888301526060808401356141538161377b565b8b1690830152828c013536849003601e1901811261417057600080fd5b830189810190356001600160401b0381111561418b57600080fd5b8060051b360382131561419d57600080fd5b828e8501526141af838501828461400a565b858e0135858f015260c09586013595909401949094525050948701949350509085019060010161409b565b505060ff8a1660608a015296506141f395505050505050565b9695505050505050565b60008235609e19833603018112613d8657600080fd5b801515811461379057600080fd5b600060a0823603121561423357600080fd5b60405160a081016001600160401b038082118383101715614256576142566139d9565b81604052843591508082111561426b57600080fd5b61427736838701613a90565b835261428560208601613e2a565b602084015260408501356040840152606085013591506142a482614213565b81606084015260808501359150808211156142be57600080fd5b506142cb36828601613a90565b60808301525092915050565b600181811c908216806142eb57607f821691505b60208210810361430b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561125f576000816000526020600020601f850160051c8101602086101561433a5750805b601f850160051c820191505b818110156129cc57828155600101614346565b81516001600160401b03811115614372576143726139d9565b6143868161438084546142d7565b84614311565b602080601f8311600181146143bb57600084156143a35750858301515b600019600386901b1c1916600185901b1785556129cc565b600085815260208120601f198616915b828110156143ea578886015182559484019460019091019084016143cb565b50858210156144085787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b60018060a01b0384168152826020820152606060408201526000825160a06060840152614449610100840182613892565b9050602084015161445d6080850182613b68565b50604084015160a08401526060840151151560c08401526080840151838203605f190160e08501526131f28282613892565b6001600160a01b0385168152602080820185905260606040808401829052838201859052600092608091828601600588901b870184018987805b8b811015614578578a8403607f190185528235368e9003609e190181126144ee578283fd5b8d0160a06144fc8280613f9c565b82885261450c8389018284613fe1565b9250505061451b898301613e2a565b6145278a880182613b68565b5087820135888701528a82013561453d81614213565b1515868c015261454f828b0183613f9c565b92508682038b880152614563828483613fe1565b978a01979650505092870192506001016144c9565b50919d9c50505050505050505050505050565b60006001820161459d5761459d613dec565b5060010190565b60018060a01b0384168152826020820152606060408201526000612b236060830184613c82565b600082601f8301126145dc57600080fd5b81516145ea613aaf82613a69565b8181528460208386010111156145ff57600080fd5b61461082602083016020870161386e565b949350505050565b6000602080838503121561462b57600080fd5b82516001600160401b038082111561464257600080fd5b818501915085601f83011261465657600080fd5b8151614664613aaf82613e4f565b81815260059190911b8301840190848101908883111561468357600080fd5b8585015b838110156147165780518581111561469f5760008081fd5b86016040818c03601f19018113156146b75760008081fd5b6146bf613a17565b89830151888111156146d15760008081fd5b6146df8e8c838701016145cb565b8252509082015190878211156146f55760008081fd5b6147038d8b848601016145cb565b818b015285525050918601918601614687565b5098975050505050505050565b60006020828403121561473557600080fd5b8151610a338161377b565b60006020828403121561475257600080fd5b610a3382613e2a565b60006020828403121561476d57600080fd5b610a3382613e1b565b60006020828403121561478857600080fd5b610a3382613e39565b602080825260169082015275504d503a20496e76616c696420706172616d5479706560501b604082015260600190565b6000602082840312156147d357600080fd5b8135610a338161377b565b6000808335601e198436030181126147f557600080fd5b8301803591506001600160401b0382111561480f57600080fd5b6020019150600581901b3603821315612fb457600080fd5b6020808252601f908201527f504d503a2073656c6563744f7074696f6e73206973206e6f7420656d70747900604082015260600190565b602080825260199082015278504d503a206d696e52616e6765203e3d206d617852616e676560381b604082015260600190565b602081526000610a336020830184613892565b8082018082111561023157610231613dec565b808202811582820484141761023157610231613dec565b634e487b7160e01b600052601260045260246000fd5b6000826148f3576148f36148ce565b500490565b600082614907576149076148ce565b500690565b6001600160401b03828116828216039080821115611da457611da4613dec565b6020808252601e908201527f504d503a20706172616d2076616c7565206f7574206f6620626f756e64730000604082015260600190565b6020808252601690820152752826a81d1034b73b30b634b2103432bc1031b7b637b960511b604082015260600190565b6000602082840312156149a557600080fd5b8151610a3381614213565b60008152600082516149c981600185016020870161386e565b9190910160010192915050565b6a600b5981380380925939f360a81b815281516000906149fd81600b85016020870161386e565b91909101600b0192915050565b8181038181111561023157610231613dec565b602080825260139082015272496e646578206f7574206f6620626f756e647360681b604082015260600190565b600181815b80851115614a85578160001904821115614a6b57614a6b613dec565b80851615614a7857918102915b93841c9390800290614a4f565b509250929050565b600082614a9c57506001610231565b81614aa957506000610231565b8160018114614abf5760028114614ac957614ae5565b6001915050610231565b60ff841115614ada57614ada613dec565b50506001821b610231565b5060208310610133831016604e8410600b8410161715614b08575081810a610231565b614b128383614a4a565b8060001904821115614b2657614b26613dec565b029392505050565b6000610a338383614a8d565b600360fc1b8152600082516149c981600185016020870161386e565b60008351614b6881846020880161386e565b601760f91b9083019081528351614b8681600184016020880161386e565b01600101949350505050565b600081614ba157614ba1613dec565b506000190190565b60008351614bbb81846020880161386e565b835190830190614bcf81836020880161386e565b0194935050505056fea264697066735822122009134577e06d298f315ea2e69af422ee36cdd6d644576852f5fe8b14ecebd2b664736f6c63430008160033",
|
|
627
|
+
"linkReferences": {},
|
|
628
|
+
"deployedLinkReferences": {}
|
|
629
|
+
}
|