Token
CTF WITHDRAW V10 Pool (11155...)
ERC-20
Source Code
Overview
Max Total Supply
2,596,148,429,267,412.814265248164610048 11155...
Holders
2
Market
Price
-
Onchain Market Cap
-
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
0.000000000001 11155420Loading...
Loading
Loading...
Loading
Loading...
Loading
Heuristics suggest this may be a proxy contract. Verify using the Proxy Contract Checker
Contract Source Code (Solidity Standard Json-Input format)
Contract ABI
API[{"inputs":[{"components":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address[]","name":"assetManagers","type":"address[]"}],"internalType":"struct ManagedPool.ManagedPoolParams","name":"params","type":"tuple"},{"components":[{"internalType":"contract IVault","name":"vault","type":"address"},{"internalType":"contract IProtocolFeePercentagesProvider","name":"protocolFeeProvider","type":"address"},{"internalType":"contract IExternalWeightedMath","name":"weightedMath","type":"address"},{"internalType":"contract IRecoveryModeHelper","name":"recoveryModeHelper","type":"address"},{"internalType":"uint256","name":"pauseWindowDuration","type":"uint256"},{"internalType":"uint256","name":"bufferPeriodDuration","type":"uint256"},{"internalType":"string","name":"version","type":"string"}],"internalType":"struct ManagedPool.ManagedPoolConfigParams","name":"configParams","type":"tuple"},{"components":[{"internalType":"contract IERC20[]","name":"tokens","type":"address[]"},{"internalType":"uint256[]","name":"normalizedWeights","type":"uint256[]"},{"internalType":"uint256","name":"swapFeePercentage","type":"uint256"},{"internalType":"bool","name":"swapEnabledOnStart","type":"bool"},{"internalType":"bool","name":"mustAllowlistLPs","type":"bool"},{"internalType":"uint256","name":"managementAumFeePercentage","type":"uint256"},{"internalType":"uint256","name":"aumFeeId","type":"uint256"}],"internalType":"struct ManagedPoolSettings.ManagedPoolSettingsParams","name":"settingsParams","type":"tuple"},{"internalType":"address","name":"owner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"member","type":"address"}],"name":"AllowlistAddressAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"member","type":"address"}],"name":"AllowlistAddressRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract IERC20","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"bptPrice","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"lowerBoundPercentage","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"upperBoundPercentage","type":"uint256"}],"name":"CircuitBreakerSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"startTime","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endTime","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"startSwapFeePercentage","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endSwapFeePercentage","type":"uint256"}],"name":"GradualSwapFeeUpdateScheduled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"startTime","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"endTime","type":"uint256"},{"indexed":false,"internalType":"uint256[]","name":"startWeights","type":"uint256[]"},{"indexed":false,"internalType":"uint256[]","name":"endWeights","type":"uint256[]"}],"name":"GradualWeightUpdateScheduled","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"joinExitEnabled","type":"bool"}],"name":"JoinExitEnabledSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"bptAmount","type":"uint256"}],"name":"ManagementAumFeeCollected","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"managementAumFeePercentage","type":"uint256"}],"name":"ManagementAumFeePercentageChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"mustAllowlistLPs","type":"bool"}],"name":"MustAllowlistLPsSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"paused","type":"bool"}],"name":"PausedStateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"feeCache","type":"bytes32"}],"name":"ProtocolFeePercentageCacheUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"enabled","type":"bool"}],"name":"RecoveryModeStateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bool","name":"swapEnabled","type":"bool"}],"name":"SwapEnabledSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract IERC20","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"normalizedWeight","type":"uint256"}],"name":"TokenAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract IERC20","name":"token","type":"address"}],"name":"TokenRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DOMAIN_SEPARATOR","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"member","type":"address"}],"name":"addAllowedAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"tokenToAdd","type":"address"},{"internalType":"address","name":"assetManager","type":"address"},{"internalType":"uint256","name":"tokenToAddNormalizedWeight","type":"uint256"},{"internalType":"uint256","name":"mintAmount","type":"uint256"},{"internalType":"address","name":"recipient","type":"address"}],"name":"addToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"collectAumManagementFees","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"disableRecoveryMode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"enableRecoveryMode","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"selector","type":"bytes4"}],"name":"getActionId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getActualSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAuthorizer","outputs":[{"internalType":"contract IAuthorizer","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"}],"name":"getCircuitBreakerState","outputs":[{"internalType":"uint256","name":"bptPrice","type":"uint256"},{"internalType":"uint256","name":"referenceWeight","type":"uint256"},{"internalType":"uint256","name":"lowerBound","type":"uint256"},{"internalType":"uint256","name":"upperBound","type":"uint256"},{"internalType":"uint256","name":"lowerBptPriceBound","type":"uint256"},{"internalType":"uint256","name":"upperBptPriceBound","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDomainSeparator","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGradualSwapFeeUpdateParams","outputs":[{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"uint256","name":"startSwapFeePercentage","type":"uint256"},{"internalType":"uint256","name":"endSwapFeePercentage","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getGradualWeightUpdateParams","outputs":[{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"uint256[]","name":"startWeights","type":"uint256[]"},{"internalType":"uint256[]","name":"endWeights","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getJoinExitEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getManagementAumFeeParams","outputs":[{"internalType":"uint256","name":"aumFeePercentage","type":"uint256"},{"internalType":"uint256","name":"lastCollectionTimestamp","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMustAllowlistLPs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"getNextNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getNormalizedWeights","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPausedState","outputs":[{"internalType":"bool","name":"paused","type":"bool"},{"internalType":"uint256","name":"pauseWindowEndTime","type":"uint256"},{"internalType":"uint256","name":"bufferPeriodEndTime","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPoolId","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"feeType","type":"uint256"}],"name":"getProtocolFeePercentageCache","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getProtocolFeesCollector","outputs":[{"internalType":"contract IProtocolFeesCollector","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"feeType","type":"uint256"}],"name":"getProviderFeeId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getScalingFactors","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getSwapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getSwapFeePercentage","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getVault","outputs":[{"internalType":"contract IVault","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"inRecoveryMode","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"member","type":"address"}],"name":"isAddressOnAllowlist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"poolId","type":"bytes32"},{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"balances","type":"uint256[]"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"userData","type":"bytes"}],"name":"onExitPool","outputs":[{"internalType":"uint256[]","name":"amountsOut","type":"uint256[]"},{"internalType":"uint256[]","name":"dueProtocolFees","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"poolId","type":"bytes32"},{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256[]","name":"balances","type":"uint256[]"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"userData","type":"bytes"}],"name":"onJoinPool","outputs":[{"internalType":"uint256[]","name":"amountsIn","type":"uint256[]"},{"internalType":"uint256[]","name":"dueProtocolFees","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"enum IVault.SwapKind","name":"kind","type":"uint8"},{"internalType":"contract IERC20","name":"tokenIn","type":"address"},{"internalType":"contract IERC20","name":"tokenOut","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"poolId","type":"bytes32"},{"internalType":"uint256","name":"lastChangeBlock","type":"uint256"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"bytes","name":"userData","type":"bytes"}],"internalType":"struct IPoolSwapStructs.SwapRequest","name":"request","type":"tuple"},{"internalType":"uint256[]","name":"balances","type":"uint256[]"},{"internalType":"uint256","name":"indexIn","type":"uint256"},{"internalType":"uint256","name":"indexOut","type":"uint256"}],"name":"onSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"components":[{"internalType":"enum IVault.SwapKind","name":"kind","type":"uint8"},{"internalType":"contract IERC20","name":"tokenIn","type":"address"},{"internalType":"contract IERC20","name":"tokenOut","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32","name":"poolId","type":"bytes32"},{"internalType":"uint256","name":"lastChangeBlock","type":"uint256"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"bytes","name":"userData","type":"bytes"}],"internalType":"struct IPoolSwapStructs.SwapRequest","name":"request","type":"tuple"},{"internalType":"uint256","name":"balanceTokenIn","type":"uint256"},{"internalType":"uint256","name":"balanceTokenOut","type":"uint256"}],"name":"onSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}],"name":"permit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"balances","type":"uint256[]"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"userData","type":"bytes"}],"name":"queryExit","outputs":[{"internalType":"uint256","name":"bptIn","type":"uint256"},{"internalType":"uint256[]","name":"amountsOut","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"},{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"balances","type":"uint256[]"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"userData","type":"bytes"}],"name":"queryJoin","outputs":[{"internalType":"uint256","name":"bptOut","type":"uint256"},{"internalType":"uint256[]","name":"amountsIn","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"member","type":"address"}],"name":"removeAllowedAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"tokenToRemove","type":"address"},{"internalType":"uint256","name":"burnAmount","type":"uint256"},{"internalType":"address","name":"sender","type":"address"}],"name":"removeToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20[]","name":"tokens","type":"address[]"},{"internalType":"uint256[]","name":"bptPrices","type":"uint256[]"},{"internalType":"uint256[]","name":"lowerBoundPercentages","type":"uint256[]"},{"internalType":"uint256[]","name":"upperBoundPercentages","type":"uint256[]"}],"name":"setCircuitBreakers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"joinExitEnabled","type":"bool"}],"name":"setJoinExitEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"managementAumFeePercentage","type":"uint256"}],"name":"setManagementAumFeePercentage","outputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"mustAllowlistLPs","type":"bool"}],"name":"setMustAllowlistLPs","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"swapEnabled","type":"bool"}],"name":"setSwapEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"unpause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"updateProtocolFeePercentageCache","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"uint256","name":"startSwapFeePercentage","type":"uint256"},{"internalType":"uint256","name":"endSwapFeePercentage","type":"uint256"}],"name":"updateSwapFeeGradually","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"startTime","type":"uint256"},{"internalType":"uint256","name":"endTime","type":"uint256"},{"internalType":"contract IERC20[]","name":"tokens","type":"address[]"},{"internalType":"uint256[]","name":"endWeights","type":"uint256[]"}],"name":"updateWeightsGradually","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"}]Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061033a5760003560e01c80637beed220116101b4578063a457c2d7116100fa578063d5c096c41161009d578063d5c096c4146106bf578063dd62ed3e146106d2578063de3d2b2d146106e5578063e01af92c146106f8578063ebf1b7421461070b578063ed24911d14610730578063f885a4bb14610738578063f89f27ed1461074b5761033a565b8063a457c2d714610653578063a9059cbb14610666578063aaabadc514610679578063b35056b814610681578063b62c1f0614610689578063b7b814fc1461069c578063d2946c2b146106a4578063d505accf146106ac5761033a565b806387ec68171161016257806387ec6817146105da578063893d20e8146105ed5780638d027466146106025780638d928af81461060a57806390193b7c1461061257806395d89b411461062557806397bb15c91461062d5780639d2c110c146106405761033a565b80637beed220146105665780637ecebe001461057e57806381788e2b14610591578063819c70f3146105a45780638456cb59146105b7578063851c1bb3146105bf578063876f303b146105d25761033a565b80633c9d93b8116102845780636028bfd4116102275780636028bfd4146104b55780636a2efb2c146104d65780636b47273b146104ee578063704640161461050457806370a082311461051757806373656f891461052a57806374f3b009146105325780637b749c45146105535761033a565b80633c9d93b81461045f5780633f4ba83a1461047257806341e45a201461047a57806347bc4d92146104825780634df77ce01461048a57806354a844ba1461049d57806354fd4d50146104a557806355c67628146104ad5761033a565b806323b872dd116102ec57806323b872dd146103db5780632a9a0323146103ee578063313ce5671461040157806334a36df8146104165780633644e5151461042957806336eb097b1461043157806338fff2d014610444578063395093511461044c5761033a565b806301ec954a1461033f57806306fdde0314610368578063095ea7b31461037d5780630da0669c1461039d57806318160ddd146103a75780631c0de051146103af5780631dd746ea146103c6575b600080fd5b61035261034d3660046156d1565b610753565b60405161035f9190615b45565b60405180910390f35b6103706107b3565b60405161035f9190615dad565b61039061038b3660046152a5565b610849565b60405161035f9190615b22565b6103a5610860565b005b6103526108c4565b6103b76108ca565b60405161035f93929190615b2d565b6103ce6108f3565b60405161035f9190615a5c565b6103906103e93660046151f5565b610910565b6103526103fc36600461578c565b610986565b6104096109cd565b60405161035f9190615f20565b6103a56104243660046155d5565b6109d6565b610352610b74565b61039061043f3660046151a1565b610b83565b610352610ba5565b61039061045a3660046152a5565b610bc9565b6103a561046d3660046151a1565b610c04565b6103a5610c71565b610390610c83565b610390610c90565b61035261049836600461578c565b610c9d565b6103a5610d06565b610370610d5a565b610352610dbb565b6104c86104c3366004615486565b610dc8565b60405161035f929190615e29565b6104de610de6565b60405161035f9493929190615eba565b6104f6610e05565b60405161035f929190615e42565b61035261051236600461578c565b610e32565b6103526105253660046151a1565b610e94565b610352610eaf565b610545610540366004615486565b610ee4565b60405161035f929190615a6f565b6103a5610561366004615436565b610fa5565b61056e610fc1565b60405161035f9493929190615e50565b61035261058c3660046151a1565b6110f7565b6103a561059f3660046151a1565b611102565b6103a56105b23660046157d2565b611173565b6103a561121e565b6103526105cd366004615591565b611230565b610352611282565b6104c86105e8366004615486565b611294565b6105f56112a6565b60405161035f91906159b1565b6103906112ca565b6105f56112d7565b6103526106203660046151a1565b6112fb565b610370611316565b6103a561063b366004615633565b611377565b61035261064e366004615741565b611542565b6103906106613660046152a5565b61157b565b6103906106743660046152a5565b6115b9565b6105f56115c6565b6103906115d0565b6103a5610697366004615857565b6115dd565b6103a5611608565b6105f5611652565b6103a56106ba366004615235565b611676565b6105456106cd366004615486565b611701565b6103526106e03660046151bd565b611798565b6103a56106f3366004615436565b6117d5565b6103a5610706366004615436565b6117ee565b61071e6107193660046151a1565b611807565b60405161035f96959493929190615ef8565b6103526118ab565b6103a5610746366004615326565b6118b5565b6103ce61194b565b600084608001516107806107656112d7565b6001600160a01b0316336001600160a01b03161460cd611c85565b61079561078b610ba5565b82146101f4611c85565b61079d611c93565b6107a986868686611ca6565b9695505050505050565b60038054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561083f5780601f106108145761010080835404028352916020019161083f565b820191906000526020600020905b81548152906001019060200180831161082257829003601f168201915b5050505050905090565b6000610856338484611cb3565b5060015b92915050565b61087061086b611d1b565b611d3f565b610878611dd8565b6108c27f0000000000000000000000003e54d5d797add6b9d61e7367140e6449e8b89b9d7f0000000000000000000000000000000000000000000000000000000000030200611dfb565b565b60025490565b60008060006108d761200f565b1592506108e261202c565b91506108ec612050565b9050909192565b6060806108fe612074565b50905061090a81612121565b91505090565b60008061091d8533611798565b9050610941336001600160a01b03871614806109395750838210155b61019e611c85565b61094c8585856121db565b336001600160a01b0386161480159061096757506000198114155b15610979576109798533858403611cb3565b60019150505b9392505050565b60006109906122bb565b610998611c93565b6109a06122e9565b60006109aa6122f4565b905080156109be576109bb8161239e565b91505b6109c78361245a565b50919050565b60055460ff1690565b6109de6122bb565b6109e6611c93565b6109ee6122e9565b60006109f86122f4565b9050610a086000821160ce611c85565b610a118161239e565b50506060610a1d612074565b509050610a3360328251600101111560c9611c85565b600060608073616fab455c5b50f2029d7a2e2850fe5bb13660ed631face20a610a5a6112d7565b610a62610ba5565b60095488610a6f8a6124bb565b8f8f8f6040518963ffffffff1660e01b8152600401610a95989796959493929190615cb1565b60006040518083038186803b158015610aad57600080fd5b505af4158015610ac1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610ae99190810190615528565b6001600160a01b038c166000908152600b6020526040902083905591945092509050610b184280838086612586565b8515610b2857610b2885876126a8565b886001600160a01b03167ff4c563a3ea86ff1f4275e8c207df0375a51963f2b831b7bf4da8be938d92876c88604051610b619190615b45565b60405180910390a2505050505050505050565b6000610b7e6118ab565b905090565b6001600160a01b0381166000908152600d602052604090205460ff165b919050565b7fb578320a10e017a5ef2ba4cdc3b75c7e48893f3800010000000000000000001790565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610856918590610bff9086611b7a565b611cb3565b610c0c6122bb565b610c14611c93565b610c28610c2082610b83565b6101b1611c85565b6001600160a01b0381166000818152600d6020526040808220805460ff19169055517f89aa0423af0b4cf311bfb79f61549f2b82b335f041e4f7ae674618059b51a4cb9190a250565b610c796122bb565b6108c260006126b2565b6000610b7e600954612725565b6000610b7e600954612732565b60008082610cad57506000610cda565b6002831415610cbe57506008610cda565b6003831415610ccf57506010610cda565b610cda6101bb61273f565b61097f7f0000000000000000000000000000000000000000000000000000000000030200826008611b5c565b610d0e6122bb565b610d1661274f565b610d206001612763565b7feff3d4d215b42bf0960be9c6d5e05c22cba4df6627a3a523e2acee733b5854c86001604051610d509190615b22565b60405180910390a1565b600e8054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561083f5780601f106108145761010080835404028352916020019161083f565b6000610b7e60095461277f565b60006060610dda8887856127a46128a9565b97509795505050505050565b600080600080610df76009546129a3565b935093509350935090919293565b600080610e13600a546129eb565b6009549193509150610e2490612a10565b15610e2e57600091505b9091565b6000610e3c6115d0565b15610e4957506000610ba0565b600082610e5857506000610e85565b6002831415610e6957506040610e85565b6003831415610e7a57506080610e85565b610e856101bb61273f565b60085461097f90826040611b5c565b6001600160a01b031660009081526020819052604090205490565b6000610eb9611c93565b610ec16122e9565b6000610ecb6122f4565b9050610edb6000821160ce611c85565b61090a8161239e565b60608088610ef36107656112d7565b610efe61078b610ba5565b6000610f0985612a1d565b15610f3157610f16612a4c565b610f2888610f226108c4565b87612a5f565b94509050610f49565b610f39611c93565b610f448a89876127a4565b945090505b610f538a82612b01565b83516001600160401b0381118015610f6a57600080fd5b50604051908082528060200260200182016040528015610f94578160200160208202803683370190505b509250505097509795505050505050565b610fad6122bb565b610fb5611c93565b610fbe81612b0b565b50565b600080606080610fd2600954612b4a565b90945092506060610fe1612074565b50905080516001600160401b0381118015610ffb57600080fd5b50604051908082528060200260200182016040528015611025578160200160208202803683370190505b50925080516001600160401b038111801561103f57600080fd5b50604051908082528060200260200182016040528015611069578160200160208202803683370190505b50915060005b81518110156110ef576110b9600b600084848151811061108b57fe5b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002054612b67565b8583815181106110c557fe5b602002602001018584815181106110d857fe5b60209081029190910101919091525260010161106f565b505090919293565b600061085a826112fb565b61110a6122bb565b611112611c93565b61112761111e82610b83565b156101b0611c85565b6001600160a01b0381166000818152600d6020526040808220805460ff19166001179055517fbf5840c727acdcaceea5154edc82998fa82a490aa3dc7aeb66849c8bbea1f5799190a250565b61117b6122bb565b611183611c93565b606061118d612074565b50905061119e835182518451612b84565b60005b81518110156111f8576111f08482815181106111b957fe5b60200260200101516001600160a01b03168383815181106111d657fe5b60200260200101516001600160a01b031614610208611c85565b6001016111a1565b506112176112068686612ba1565b85611210866124bb565b8587612586565b5050505050565b6112266122bb565b6108c260016126b2565b60007f00000000000000000000000063ac8774e758e71cde1ce9e14eeb3bcd1b9d09c38260405160200161126592919061596e565b604051602081830303815290604052805190602001209050919050565b6000610b7e61128f6122f4565b612bbe565b60006060610dda888785612be96128a9565b7f0000000000000000000000000dea45f5ff683f9ff401c91d73d4c142eefed50090565b6000610b7e600954612d01565b7f00000000000000000000000075dfc9064614498edd9fad00857d4917caaddee590565b6001600160a01b031660009081526006602052604090205490565b60048054604080516020601f600260001961010060018816150201909516949094049384018190048102820181019092528281526060939092909183018282801561083f5780601f106108145761010080835404028352916020019161083f565b61137f6122bb565b611387611c93565b61138f6122e9565b60006113996122f4565b90506113a96000821160ce611c85565b6113b28161239e565b505060606113be612074565b5090506113d460026001835103101560c8611c85565b6001600160a01b0384166000908152600b60205260408120546113ff90670de0b6b3a7640000612d0e565b905060608073616fab455c5b50f2029d7a2e2850fe5bb13660ed63a20d2e4d6114266112d7565b61142e610ba5565b6009548861143b8a6124bb565b8d8a6040518863ffffffff1660e01b815260040161145f9796959493929190615d14565b60006040518083038186803b15801561147757600080fd5b505af415801561148b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526114b391908101906152d0565b6001600160a01b0389166000908152600b602052604081205590925090506114de4280838086612586565b8515611505576114fb6001600160a01b03861615156101bc611c85565b6115058587612b01565b6040516001600160a01b038816907f4c910b69fe65a61f7531b9c5042b2329ca7179c77290aa7e2eb3afa3c8511fd390600090a250505050505050565b600083608001516115546107656112d7565b61155f61078b610ba5565b611567611c93565b611572858585612d31565b95945050505050565b6000806115883385611798565b90508083106115a25761159d33856000611cb3565b6115af565b6115af3385858403611cb3565b5060019392505050565b60006108563384846121db565b6000610b7e612dfd565b6000610b7e600954612a10565b6115e56122bb565b6115ed611c93565b6116026115fa8585612ba1565b848484612e77565b50505050565b6116106122bb565b611618612a4c565b6116226000612763565b7feff3d4d215b42bf0960be9c6d5e05c22cba4df6627a3a523e2acee733b5854c86000604051610d509190615b22565b7f000000000000000000000000308df47490f129021c3d72ca22c76652b743ab2890565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886116a58c6112fb565b896040516020016116bb96959493929190615b6d565b6040516020818303038152906040528051906020012090506116ec88826116e3878787612edf565b886101f8612f1e565b6116f7888888611cb3565b5050505050505050565b606080886117106107656112d7565b61171b61078b610ba5565b6000611725611c93565b61172d6108c4565b61177f5761173c8a8a87612f75565b9450905061175561174b6130ec565b82101560cc611c85565b61176760006117626130ec565b6126a8565b61177a896117736130ec565b83036126a8565b610f53565b61178a8a8987612be9565b94509050610f5389826126a8565b60006117a26112d7565b6001600160a01b0316826001600160a01b031614156117c4575060001961085a565b6117ce83836130f3565b905061085a565b6117dd6122bb565b6117e5611c93565b610fbe8161311e565b6117f66122bb565b6117fe611c93565b610fbe8161315d565b6001600160a01b0381166000908152600c6020526040812054819081908190819081906118338161319c565b929950909750955093506000611848896131ea565b905061185682826001613219565b935061186482826000613219565b925060006118796118748b613353565b61336e565b90506118858982613392565b98506118918582613392565b945061189d8482613392565b935050505091939550919395565b6000610b7e61339e565b6118bd6122bb565b6118c5611c93565b6118d3845183518351612b84565b6118df84518451611b28565b60005b8451811015611217576119438582815181106118fa57fe5b602002602001015185838151811061190e57fe5b602002602001015185848151811061192257fe5b602002602001015185858151811061193657fe5b602002602001015161343b565b6001016118e2565b606080611956612074565b50905061090a816124bb565b600061196d83611b52565b606083516001016001600160401b038111801561198957600080fd5b506040519080825280602002602001820160405280156119b3578160200160208202803683370190505b50905030816000815181106119c457fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060005b8451811015611a33578481815181106119fc57fe5b6020026020010151828260010181518110611a1357fe5b6001600160a01b03909216602092830291909101909101526001016119e7565b50606083516001016001600160401b0381118015611a5057600080fd5b50604051908082528060200260200182016040528015611a7a578160200160208202803683370190505b509050600081600081518110611a8c57fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060005b8451811015611afb57848181518110611ac457fe5b6020026020010151828260010181518110611adb57fe5b6001600160a01b0390921660209283029190910190910152600101611aaf565b50611b08878784846134dc565b925050505b949350505050565b6000611b228484846135cc565b50501b90565b611b358183146067611c85565b5050565b6000611b458184613613565b905061097f818384611b8c565b80611b35816136a2565b6001901b6000190191901c1690565b600061097f838383603c611c3d565b600082820161097f8482101583611c85565b6000611b0d82604080611ba188888784611c3d565b929190611c3d565b6000611bb88484836020611c3d565b9350611b0d8483602080611c3d565b6000611bd7868660406020611c3d565b9550611be7868560606020611c3d565b9550611bf786846080603e611c3d565b95506107a9868360be603e611c3d565b600061097f838360fc611c76565b600061097f838360fd611c76565b600061097f838360ff611c76565b80820390821102900390565b6000611c4a8484846135cc565b506001901b60001901811b1992909216911b1790565b6000611c70838311156001611c85565b50900390565b6001811b1992909216911b1790565b81611b3557611b358161273f565b6108c2611c9e61200f565b610192611c85565b6000611b0d6103e661273f565b6001600160a01b0380841660008181526001602090815260408083209487168084529490915290819020849055517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590611d0e908590615b45565b60405180910390a3505050565b7f00000000000000000000000075dfc9064614498edd9fad00857d4917caaddee590565b60408051600080825260208201909252606091611d72565b611d5f614e5a565b815260200190600190039081611d575790505b506040516303a38fa160e21b81529091506001600160a01b03831690630e8e3e8490611da29084906004016159c5565b600060405180830381600087803b158015611dbc57600080fd5b505af1158015611dd0573d6000803e3d6000fd5b505050505050565b611de0611c93565b6000611dea6122f4565b90508015610fbe57611b358161239e565b60006001600160a01b038316631a7c3263611e1884846008611b5c565b6040518263ffffffff1660e01b8152600401611e349190615b45565b60206040518083038186803b158015611e4c57600080fd5b505afa158015611e60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e84919061546e565b905060006001600160a01b038416631a7c3263611ea385600880611b5c565b6040518263ffffffff1660e01b8152600401611ebf9190615b45565b60206040518083038186803b158015611ed757600080fd5b505afa158015611eeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f0f919061546e565b905060006001600160a01b038516631a7c3263611f2f8660106008611b5c565b6040518263ffffffff1660e01b8152600401611f4b9190615b45565b60206040518083038186803b158015611f6357600080fd5b505afa158015611f77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f9b919061546e565b90506000611fac8260806040611b15565b611fb884604080611b15565b611fc58660006040611b15565b17179050806008819055507fc3f0acc358200d8e08ac6ce20bc2f9f27893a344f813bf682b7859b3e521502e81604051611fff9190615b45565b60405180910390a1505050505050565b6000612019612050565b421180610b7e57505060075460ff161590565b7f0000000000000000000000000000000000000000000000000000000067a5367e90565b7f0000000000000000000000000000000000000000000000000000000067ccc37e90565b6060806060806120826112d7565b6001600160a01b031663f94d4668612098610ba5565b6040518263ffffffff1660e01b81526004016120b49190615b45565b60006040518083038186803b1580156120cc57600080fd5b505afa1580156120e0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261210891908101906153cd565b5091509150612117828261371b565b9350935050509091565b8051606090806001600160401b038111801561213c57600080fd5b50604051908082528060200260200182016040528015612166578160200160208202803683370190505b50915060005b818110156121d4576121b5600b600086848151811061218757fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205461336e565b8382815181106121c157fe5b602090810291909101015260010161216c565b5050919050565b6121f26001600160a01b0384161515610198611c85565b6122096001600160a01b0383161515610199611c85565b612214838383612b9c565b6001600160a01b03831660009081526020819052604090205461223a90826101a061373b565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546122699082611b7a565b6001600160a01b0380841660008181526020819052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90611d0e908590615b45565b60006122d26000356001600160e01b031916611230565b9050610fbe6122e18233613751565b610191611c85565b6108c261086b6112d7565b60008060006123016112d7565b6001600160a01b031663b05f8e48612317610ba5565b306040518363ffffffff1660e01b8152600401612335929190615c7c565b60806040518083038186803b15801561234d57600080fd5b505afa158015612361573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123859190615817565b5050915091508082016123966108c4565b039250505090565b60008060006123ab610e05565b9150915060006123bd8542848661383a565b90506123c761387e565b806123d85760009350505050610ba0565b60006123ee6123e76003610e32565b839061388f565b905060006123fc8383611c60565b9050612407826138d1565b7f0666d5a83bb8143573350414d5a13dbdcac60a706160576416096ad6a41c0ea5816040516124369190615b45565b60405180910390a161244f6124496112a6565b826126a8565b509095945050505050565b612471670d2f13f7789f0000821115610160611c85565b61247d600a5482611b6b565b600a556040517f556cdf4052d939f8acbe593d83668d2e18500b032bcf51cbbf82b181c6094dd7906124b0908390615b45565b60405180910390a150565b606060006124ca6009546138e2565b8351909150806001600160401b03811180156124e557600080fd5b5060405190808252806020026020018201604052801561250f578160200160208202803683370190505b50925060005b8181101561257e5761255f600b600087848151811061253057fe5b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205484612d0e565b84828151811061256b57fe5b6020908102919091010152600101612515565b505050919050565b6000805b835181101561264b5760008482815181106125a157fe5b602002602001015190506125c1662386f26fc1000082101561012e611c85565b6125cb8382611b7a565b925060008483815181106125db57fe5b60200260200101519050612628600b6000836001600160a01b03166001600160a01b031681526020019081526020016000205488858151811061261a57fe5b602002602001015184611b8c565b6001600160a01b039091166000908152600b60205260409020555060010161258a565b50612662670de0b6b3a76400008214610134611c85565b61266f6009548787611ba9565b6009556040517f0f3631f9dab08169d1db21c6dc5f32536fb2b0a6b9bb5330d71c52132f968be090611fff908890889088908890615e50565b611b3582826138fe565b80156126d2576126cd6126c361202c565b4210610193611c85565b6126e7565b6126e76126dd612050565b42106101a9611c85565b6007805460ff19168215151790556040517f9e3a5e37224532dea67b89face185703738a228a6e8a23dee546960180d3be64906124b0908390615b22565b600061085a8260ff6139a2565b600061085a8260fc6139a2565b610fbe816210905360ea1b6139a9565b6108c261275a6115d0565b156101b5611c85565b61276f60095482613a0a565b60095580610fbe57610fbe61387e565b6000806000806000612790866129a3565b93509350935093506107a982828686613a18565b6000606060006127bb6127b56108c4565b86613a32565b9550905060606127c9612074565b50905060006127d78361239e565b8301905073dec5e14af9df2e6d4bfe766ff5b4898bf77664a163b8b0f79988888461280187612121565b61280a886124bb565b612812613a73565b61281b8a613a79565b612823613b06565b6040518963ffffffff1660e01b8152600401612846989796959493929190615a94565b60006040518083038186803b15801561285e57600080fd5b505af4158015612872573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261289a91908101906157a4565b94509450505050935093915050565b333014612967576000306001600160a01b03166000366040516128cd929190615986565b6000604051808303816000865af19150503d806000811461290a576040519150601f19603f3d011682016040523d82523d6000602084013e61290f565b606091505b50509050806000811461291e57fe5b60046000803e6000516001600160e01b0319166343adbafb60e01b8114612949573d6000803e3d6000fd5b506020600460003e604060205260243d03602460403e601c3d016000f35b6000606061297a8686868663ffffffff16565b8051601f1982018390526343adbafb603f19830152919350915060200260231982016044820181fd5b60008080806129b58560406020611b5c565b93506129c48560606020611b5c565b92506129d3856080603e611b5c565b91506129e28560be603e611b5c565b90509193509193565b6000806129fa8382603c611b5c565b9150612a0983603c6020611b5c565b9050915091565b600061085a8260fe6139a2565b600080825111801561085a575060ff801682806020019051810190612a429190615888565b60ff161492915050565b6108c2612a576115d0565b6101b6611c85565b60006060612a6b613b2a565b6001600160a01b0316632787a287612a81610ba5565b85876040518463ffffffff1660e01b8152600401612aa193929190615c53565b60006040518083038186803b158015612ab957600080fd5b505afa158015612acd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612af591908101906157a4565b91509150935093915050565b611b358282613b4e565b612b1760095482611c15565b6009556040517f5353e2cb47d505ba9b628610daec53fc41f3a4259dab35a757b0f1d5a58bc1c3906124b0908390615b22565b600080612b5983826020611b5c565b9150612a0983602080611b5c565b600080612b7683826040611b5c565b9150612a0983604080611b5c565b612b9c8284148015612b9557508183145b6067611c85565b505050565b6000612bad4284613c09565b905061085a82821115610146611c85565b6000806000612bcb610e05565b915091506000612bdd8542848661383a565b90506115728582611b7a565b600060606000612bf7613a73565b9050612c06610c208288613c15565b6000612c19612c136108c4565b87613a32565b965090506060612c27612074565b5090506000612c358361239e565b8301905073dec5e14af9df2e6d4bfe766ff5b4898bf77664a163b8e7b848898984612c5f87612121565b612c68886124bb565b8a612c728a613a79565b612c7a613b06565b6040518963ffffffff1660e01b8152600401612c9d989796959493929190615a94565b60006040518083038186803b158015612cb557600080fd5b505af4158015612cc9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612cf191908101906157a4565b9550955050505050935093915050565b600061085a8260fd6139a2565b600061097f612d1f84836040611b5c565b612d2b85604080611b5c565b84613c30565b600080612d3c613a73565b9050612d52612d4a82612732565b610147611c85565b60408501516001600160a01b0316301415612dab57612d78610c20828760c00151613c15565b600083612d836108c4565b0390506000612d918261239e565b82019050612da187878386613c9a565b935050505061097f565b60208501516001600160a01b0316301415612de957600084612dcb6108c4565b0390506000612dd98261239e565b82019050612da187868386613e79565b612df585858584614040565b91505061097f565b6000612e076112d7565b6001600160a01b031663aaabadc56040518163ffffffff1660e01b815260040160206040518083038186803b158015612e3f57600080fd5b505afa158015612e53573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b7e91906155b9565b612e808261426a565b612e898161426a565b612e9860095485858585611bc7565b6009556040517fc42eae0298d32208994ed5d58e525fa31c2911e95451d98f8df3355259c4a13d90612ed1908690869086908690615eba565b60405180910390a150505050565b60408051604180825260808201909252606091829190602082018180368337019050509050836020820152826040820152846060820153949350505050565b6000612f2985614293565b9050612f3f612f398783876142af565b83611c85565b612f4e428410156101b8611c85565b5050506001600160a01b039092166000908152600660205260409020805460010190555050565b60006060612f8d610c20612f87613a73565b87613c15565b6000612f988461435e565b9050612fb36000826003811115612fab57fe5b1460ce611c85565b6060612fbd612074565b509050612fc985614374565b9250612fd783518251611b28565b6060612fe282612121565b9050612fee848261438a565b6000612ff8613b06565b6001600160a01b03166390043a5861300f856124bb565b876040518363ffffffff1660e01b815260040161302d929190615a6f565b60206040518083038186803b15801561304557600080fd5b505afa158015613059573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061307d919061546e565b905061308a8186516143f3565b9550613096858361440d565b60006130a66001606f1b88611c60565b90506130b28a826126a8565b6130bb86614476565b955080866000815181106130cb57fe5b6020026020010181815250506130df61387e565b5050505050935093915050565b620f424090565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b61312a60095482611c23565b6009556040517ff8f9c11ff5f69da8478cee58f9c7465663d787d1a0175fc6a416c772f7a8c64f906124b0908390615b22565b61316960095482611c07565b6009556040517f5a9e84f78f7957cb4ed7478eb0fcad35ee4ecbe2e0f298420b28a3955392573f906124b0908390615b22565b60008080806131ad85606080611b5c565b93506131bc8560206040611b5c565b925060306131cd8660006010611b5c565b901b915060306131df86601080611b5c565b901b90509193509193565b6001600160a01b0381166000908152600b602052604081205460095461085a9190613214906138e2565b612d0e565b60008060306132398461322d576010613230565b60005b87906010611b5c565b901b90508061324c57600091505061097f565b600061325a86606080611b5c565b9050600061326b8760206040611b5c565b90506000818714156132ae576132a76020678ac7230489e800006132a0896132945760e0613297565b60c05b8c906020611b5c565b9190614501565b905061333c565b604051633d3632df60e21b8152730bf208565e753fdec4819ba1af7968d6443f8a2b9063f4d8cb7c906132e99087908b908b90600401615e8c565b60206040518083038186803b15801561330157600080fd5b505af4158015613315573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613339919061546e565b90505b613347818488614547565b98975050505050505050565b6001600160a01b03166000908152600b602052604090205490565b60008061337e8360806005611b5c565b600a0a670de0b6b3a7640000029392505050565b600061097f8383614567565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f7fb7a3c39ee44ed912a8f6a090ed0e4423656054aa4d3d9a151514ab989c1ade7a7fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc661340b614595565b30604051602001613420959493929190615c27565b60405160208183030381529060405280519060200120905090565b6000613446856131ea565b9050613456811515610135611c85565b600061346d8561346861187489613353565b614599565b905061347b818386866145a5565b6001600160a01b0387166000818152600c6020526040908190209290925590517fcad1fdf49cd36960e377075cfe18dcc3aa113e526fbe184544cca2e7115c54f3906134cc90889088908890615ea4565b60405180910390a2505050505050565b600080856001600160a01b03166309b2760f866040518263ffffffff1660e01b815260040161350b9190615d9a565b602060405180830381600087803b15801561352557600080fd5b505af1158015613539573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061355d919061546e565b604051633354e3e960e11b81529091506001600160a01b038716906366a9c7d29061359090849088908890600401615ba1565b600060405180830381600087803b1580156135aa57600080fd5b505af11580156135be573d6000803e3d6000fd5b509298975050505050505050565b6135db61010083106064611c85565b613604600182101580156135fd57506135f960ff8461010003611c31565b8211155b6064611c85565b612b9c83821c156101b4611c85565b600061097f613697836001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561365457600080fd5b505afa158015613668573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061368c9190615888565b60129060ff16611c60565b849060806005611c3d565b6002815110156136b157610fbe565b6000816000815181106136c057fe5b602002602001015190506000600190505b8251811015612b9c5760008382815181106136e857fe5b60200260200101519050613711816001600160a01b0316846001600160a01b0316106065611c85565b91506001016136d1565b815160001990810160209384019081528251909101919092019081529091565b600061374a8484111583611c85565b5050900390565b600073ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1ba1b6137706112a6565b6001600160a01b03161415801561378b575061378b8361479e565b156137b3576137986112a6565b6001600160a01b0316336001600160a01b031614905061085a565b6137bb612dfd565b6001600160a01b0316639be2a8848484306040518463ffffffff1660e01b81526004016137ea93929190615b4e565b60206040518083038186803b15801561380257600080fd5b505afa158015613816573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117ce9190615452565b60008284111580613849575081155b1561385657506000611b0d565b600061386286846148b1565b9050838503611b0861387483836143f3565b6301e133806148c9565b61388a600a54426148e9565b600a55565b60008282026138b38415806138ac5750838583816138a957fe5b04145b6003611c85565b6001670de0b6b3a76400006001830304018115150291505092915050565b8015610fbe57610fbe612449611652565b60008060006138f084612b4a565b91509150611b0d82826148f9565b61390a60008383612b9c565b61392461391f826139196108c4565b90611b7a565b614931565b6001600160a01b0382166000908152602081905260409020546139479082611b7a565b6001600160a01b0383166000818152602081905260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90613996908590615b45565b60405180910390a35050565b1c60011690565b62461bcd60e51b600090815260206004526007602452600a808404818106603090810160081b958390069590950190829004918206850160101b01602363ffffff0060e086901c160160181b0190930160c81b60445260e882901c90606490fd5b600061097f838360fe611c76565b600080613a2584846148f9565b90506107a9868683613c30565b60006060613a5d83600081518110613a4657fe5b602002602001015185611c6090919063ffffffff16565b8351600019016020909401938452949293505050565b60095490565b606081516001600160401b0381118015613a9257600080fd5b50604051908082528060200260200182016040528015613abc578160200160208202803683370190505b50905060005b82518110156109c757613ae7838281518110613ada57fe5b6020026020010151614936565b828281518110613af357fe5b6020908102919091010152600101613ac2565b7f0000000000000000000000008a532f4d0e68b3c96f8780edfb3156c4b9fdf24390565b7f0000000000000000000000009401a6ab1ee9610ad2c6daa57439743a1fcc377290565b613b656001600160a01b038316151561019b611c85565b613b7182600083612b9c565b6001600160a01b038216600090815260208190526040902054613b9790826101b261373b565b6001600160a01b038316600090815260208190526040902055613bc561391f82613bbf6108c4565b90614951565b60006001600160a01b0316826001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516139969190615b45565b80820390821002900390565b6000613c2083612d01565b158061097f575061097f82610b83565b6000670de0b6b3a764000082101580613c4857508284145b15613c5457508161097f565b81613c6057508261097f565b82841115613c81576000613c7683858703614567565b8503915061097f9050565b6000613c8f83868603614567565b8501915061097f9050565b6000613cb0613ca883612725565b610166611c85565b600080613cc98760200151613cc4866138e2565b61495f565b915091506000613cd88561277f565b9050613ce48783613392565b965060008089516001811115613cf657fe5b1415613da557613d0a896060015184613392565b60608a0152613d17613b06565b6001600160a01b031663afc4d0db89868c606001518b876040518663ffffffff1660e01b8152600401613d4e959493929190615ed5565b60206040518083038186803b158015613d6657600080fd5b505afa158015613d7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d9e919061546e565b9050613e37565b613dad613b06565b6001600160a01b0316637f1ae8a989868c606001518b876040518663ffffffff1660e01b8152600401613de4959493929190615ed5565b60206040518083038186803b158015613dfc57600080fd5b505afa158015613e10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e34919061546e565b90505b613e44898883600161498e565b600089516001811115613e5357fe5b1415613e64579350611b0d92505050565b613e6e8184614b8e565b945050505050611b0d565b6000613e87613ca883612725565b600080613e9b8760400151613cc4866138e2565b915091506000613eaa8561277f565b9050613eb68783613392565b965060008089516001811115613ec857fe5b1415613f6457613ed6613b06565b6001600160a01b0316630ccd894189868c606001518b876040518663ffffffff1660e01b8152600401613f0d959493929190615ed5565b60206040518083038186803b158015613f2557600080fd5b505afa158015613f39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f5d919061546e565b9050614009565b613f72896060015184613392565b60608a0152613f7f613b06565b6001600160a01b031663ef2aca7689868c606001518b876040518663ffffffff1660e01b8152600401613fb6959493929190615ed5565b60206040518083038186803b158015613fce57600080fd5b505afa158015613fe2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614006919061546e565b90505b614016898883600061498e565b60008951600181111561402557fe5b141561403557613e6e8184614599565b9350611b0d92505050565b600061404a614e8a565b6140548684614b9a565b905060006140696140648561277f565b614c12565b9050614079868360400151613392565b9550614089858360600151613392565b94506000808851600181111561409b57fe5b1415614163576140b388606001518460400151613392565b606089018190526000906140c79084614567565b90506140d1613b06565b8451602086015160405163063c5da760e11b81526001600160a01b039390931692630c78bb4e9261410b928d928d91908890600401615ed5565b60206040518083038186803b15801561412357600080fd5b505afa158015614137573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061415b919061546e565b915050614222565b61417588606001518460600151613392565b60608901526000614184613b06565b8451602086015160608c015160405162d5905160e81b81526001600160a01b03949094169363d5905100936141c2938e9391928e9290600401615ed5565b60206040518083038186803b1580156141da57600080fd5b505afa1580156141ee573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614212919061546e565b905061421e8184614c24565b9150505b61422f8884898985614c7b565b60008851600181111561423e57fe5b141561425c57614252818460600151614599565b9350505050611b0d565b614252818460400151614b8e565b61427d64e8d4a5100082101560cb611c85565b610fbe670d2f13f7789f000082111560ca611c85565b600061429d61339e565b82604051602001611265929190615996565b60006142c182516041146101b9611c85565b60208281015160408085015160608601518251600080825295019283905292939092811a916001906142fa908990859088908890615c93565b6020604051602081039080840390855afa15801561431c573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116158015906133475750876001600160a01b0316816001600160a01b0316149450505050509392505050565b60008180602001905181019061085a9190615674565b60608180602001905181019061097f919061568f565b81518151614399908290611b28565b60005b81811015611602576143d48482815181106143b357fe5b60200260200101518483815181106143c757fe5b6020026020010151614567565b8482815181106143e057fe5b602090810291909101015260010161439c565b600082820261097f8415806138ac5750838583816138a957fe5b8151815161441c908290611b28565b60005b818110156116025761445784828151811061443657fe5b602002602001015184838151811061444a57fe5b6020026020010151614c24565b84828151811061446357fe5b602090810291909101015260010161441f565b606081516001016001600160401b038111801561449257600080fd5b506040519080825280602002602001820160405280156144bc578160200160208202803683370190505b50905060005b82518110156109c7578281815181106144d757fe5b60200260200101518282600101815181106144ee57fe5b60209081029190910101526001016144c2565b600061451e600284101580156135fd575060ff8411156064611c85565b6000196001841b01614534818611156064611c85565b61157261454186856143f3565b826148c9565b6000611b0d83858461455b5761456761455f565b61388f5b63ffffffff16565b60008282026145818415806138ac5750838583816138a957fe5b670de0b6b3a7640000815b04949350505050565b4690565b600061097f8383614dd4565b60006145da8315806145d2575067016345785d8a000084101580156145d25750670de0b6b3a76400008411155b610163611c85565b6145f1678ac7230489e80000831115610163611c85565b6146088215806145d2575083831015610163611c85565b600061461f8560206040611ba1858b606080611c3d565b9050614640603084811c906010908190611ba19086908a901c600084611c3d565b90506000730bf208565e753fdec4819ba1af7968d6443f8a2b63f4d8cb7c868860016040518463ffffffff1660e01b815260040161468093929190615e8c565b60206040518083038186803b15801561469857600080fd5b505af41580156146ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906146d0919061546e565b90506000730bf208565e753fdec4819ba1af7968d6443f8a2b63f4d8cb7c868960006040518463ffffffff1660e01b815260040161471093929190615e8c565b60206040518083038186803b15801561472857600080fd5b505af415801561473c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614760919061546e565b9050613347614779826020678ac7230489e80000614e14565b60e06020611ba16147938783678ac7230489e80000614e14565b889060c06020611c3d565b60006147b063819c70f360e01b611230565b8214806147cb57506147c8635b160f8360e11b611230565b82145b806147e457506147e163de3d2b2d60e01b611230565b82145b806147fd57506147fa633806be4b60e21b611230565b82145b8061481657506148136381788e2b60e01b611230565b82145b8061482f575061482c630793b27760e31b611230565b82145b806148485750614845637b749c4560e01b611230565b82145b80614861575061485e6306946dbf60e31b611230565b82145b8061487a57506148776397bb15c960e01b611230565b82145b806148935750614890632a9a032360e01b611230565b82145b8061085a57506148a963f885a4bb60e01b611230565b909114919050565b600061097f6148c084846143f3565b6148c984614c12565b60006148d88215156004611c85565b8183816148e157fe5b049392505050565b600061097f8383603c6020611c3d565b60008142106149115750670de0b6b3a764000061085a565b8242116149205750600061085a565b828203428490036115728183614dd4565b600255565b6001600160a01b03166000908152600c602052604090205490565b600061097f8383600161373b565b600080600061496d85613353565b90506149798185612d0e565b92506149848161336e565b9150509250929050565b60008082156149db576000865160018111156149a657fe5b146149c15760608601516149bb908690611b7a565b846149d1565b6149cb8585611b7a565b86606001515b9092509050614a1b565b6000865160018111156149ea57fe5b14614a03576149f98585611c60565b8660600151614a15565b6060860151614a13908690611c60565b845b90925090505b606080614a26612074565b915091506060614a35836124bb565b9050614a4982614a4485612121565b61438a565b606083516001600160401b0381118015614a6257600080fd5b50604051908082528060200260200182016040528015614a8c578160200160208202803683370190505b509050600087614aa0578a60400151614aa6565b8a602001515b905060005b8551811015614b0757816001600160a01b0316868281518110614aca57fe5b60200260200101516001600160a01b03161415614aff5786838281518110614aee57fe5b602002602001018181525050614b07565b600101614aab565b5073dec5e14af9df2e6d4bfe766ff5b4898bf77664a16328e379f588614b2c88613a79565b8786888e6040518763ffffffff1660e01b8152600401614b5196959493929190615dc0565b60006040518083038186803b158015614b6957600080fd5b505af4158015614b7d573d6000803e3d6000fd5b505050505050505050505050505050565b600061097f8383614c24565b614ba2614e8a565b6000614bb18460200151613353565b90506000614bc28560400151613353565b90506000614bcf856138e2565b9050614bdb8382612d0e565b8452614be78282612d0e565b6020850152614bf58361336e565b6040850152614c038261336e565b60608501525091949350505050565b670de0b6b3a764000081810391100290565b6000614c338215156004611c85565b670de0b6b3a76400008302614c65841580614c5e5750670de0b6b3a7640000858381614c5b57fe5b04145b6005611c85565b6001836001830304018115150291505092915050565b6000614c8861128f6122f4565b90506000808088516001811115614c9b57fe5b14614cab57838860600151614cb2565b8760600151845b9150915073dec5e14af9df2e6d4bfe766ff5b4898bf77664a163874b47826000614cdf8b60200151614936565b86614cea8b88611b7a565b8c516040516001600160e01b031960e088901b168152614d11959493929190600401615d6c565b60006040518083038186803b158015614d2957600080fd5b505af4158015614d3d573d6000803e3d6000fd5b5050505073dec5e14af9df2e6d4bfe766ff5b4898bf77664a163874b47826001614d6a8b60400151614936565b86614d758a87611c60565b8c602001516040518663ffffffff1660e01b8152600401614d9a959493929190615d6c565b60006040518083038186803b158015614db257600080fd5b505af4158015614dc6573d6000803e3d6000fd5b505050505050505050505050565b6000614de38215156004611c85565b670de0b6b3a76400008302614e0b841580614c5e5750670de0b6b3a7640000858381614c5b57fe5b82818161458c57fe5b6000614e31600284101580156135fd575060ff8411156064611c85565b614e3f828511156064611c85565b6000196001841b01611572614e5486836143f3565b846148c9565b6040805160a081019091528060008152600060208201819052604082018190526060820181905260809091015290565b6040518060800160405280600081526020016000815260200160008152602001600081525090565b803561085a81615f89565b600082601f830112614ecd578081fd5b8135614ee0614edb82615f54565b615f2e565b818152915060208083019084810181840286018201871015614f0157600080fd5b60005b84811015614f29578135614f1781615f89565b84529282019290820190600101614f04565b505050505092915050565b600082601f830112614f44578081fd5b8151614f52614edb82615f54565b818152915060208083019084810181840286018201871015614f7357600080fd5b60005b84811015614f29578151614f8981615f89565b84529282019290820190600101614f76565b600082601f830112614fab578081fd5b8135614fb9614edb82615f54565b818152915060208083019084810181840286018201871015614fda57600080fd5b60005b84811015614f2957813584529282019290820190600101614fdd565b600082601f830112615009578081fd5b8151615017614edb82615f54565b81815291506020808301908481018184028601820187101561503857600080fd5b60005b84811015614f295781518452928201929082019060010161503b565b600082601f830112615067578081fd5b81356001600160401b0381111561507c578182fd5b61508f601f8201601f1916602001615f2e565b91508082528360208285010111156150a657600080fd5b8060208401602084013760009082016020015292915050565b80516004811061085a57600080fd5b80356002811061085a57600080fd5b60006101208083850312156150f0578182fd5b6150f981615f2e565b91505061510683836150ce565b81526151158360208401614eb2565b60208201526151278360408401614eb2565b6040820152606082013560608201526080820135608082015260a082013560a08201526151578360c08401614eb2565b60c08201526151698360e08401614eb2565b60e0820152610100808301356001600160401b0381111561518957600080fd5b61519585828601615057565b82840152505092915050565b6000602082840312156151b2578081fd5b813561097f81615f89565b600080604083850312156151cf578081fd5b82356151da81615f89565b915060208301356151ea81615f89565b809150509250929050565b600080600060608486031215615209578081fd5b833561521481615f89565b9250602084013561522481615f89565b929592945050506040919091013590565b600080600080600080600060e0888a03121561524f578485fd5b873561525a81615f89565b9650602088013561526a81615f89565b95506040880135945060608801359350608088013561528881615fac565b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156152b7578182fd5b82356152c281615f89565b946020939093013593505050565b600080604083850312156152e2578182fd5b82516001600160401b03808211156152f8578384fd5b61530486838701614f34565b93506020850151915080821115615319578283fd5b5061498485828601614ff9565b6000806000806080858703121561533b578182fd5b84356001600160401b0380821115615351578384fd5b61535d88838901614ebd565b95506020870135915080821115615372578384fd5b61537e88838901614f9b565b94506040870135915080821115615393578384fd5b61539f88838901614f9b565b935060608701359150808211156153b4578283fd5b506153c187828801614f9b565b91505092959194509250565b6000806000606084860312156153e1578081fd5b83516001600160401b03808211156153f7578283fd5b61540387838801614f34565b94506020860151915080821115615418578283fd5b5061542586828701614ff9565b925050604084015190509250925092565b600060208284031215615447578081fd5b813561097f81615f9e565b600060208284031215615463578081fd5b815161097f81615f9e565b60006020828403121561547f578081fd5b5051919050565b600080600080600080600060e0888a0312156154a0578081fd5b8735965060208801356154b281615f89565b955060408801356154c281615f89565b945060608801356001600160401b03808211156154dd578283fd5b6154e98b838c01614f9b565b955060808a0135945060a08a0135935060c08a013591508082111561550c578283fd5b506155198a828b01615057565b91505092959891949750929550565b60008060006060848603121561553c578081fd5b8351925060208401516001600160401b0380821115615559578283fd5b61556587838801614f34565b9350604086015191508082111561557a578283fd5b5061558786828701614ff9565b9150509250925092565b6000602082840312156155a2578081fd5b81356001600160e01b03198116811461097f578182fd5b6000602082840312156155ca578081fd5b815161097f81615f89565b600080600080600060a086880312156155ec578283fd5b85356155f781615f89565b9450602086013561560781615f89565b93506040860135925060608601359150608086013561562581615f89565b809150509295509295909350565b600080600060608486031215615647578081fd5b833561565281615f89565b925060208401359150604084013561566981615f89565b809150509250925092565b600060208284031215615685578081fd5b61097f83836150bf565b600080604083850312156156a1578182fd5b6156ab84846150bf565b915060208301516001600160401b038111156156c5578182fd5b61498485828601614ff9565b600080600080608085870312156156e6578182fd5b84356001600160401b03808211156156fc578384fd5b615708888389016150dd565b9550602087013591508082111561571d578384fd5b5061572a87828801614f9b565b949794965050505060408301359260600135919050565b600080600060608486031215615755578081fd5b83356001600160401b0381111561576a578182fd5b615776868287016150dd565b9660208601359650604090950135949350505050565b60006020828403121561579d578081fd5b5035919050565b600080604083850312156157b6578182fd5b8251915060208301516001600160401b038111156156c5578182fd5b600080600080608085870312156157e7578182fd5b843593506020850135925060408501356001600160401b038082111561580b578384fd5b61539f88838901614ebd565b6000806000806080858703121561582c578182fd5b845193506020850151925060408501519150606085015161584c81615f89565b939692955090935050565b6000806000806080858703121561586c578182fd5b5050823594602084013594506040840135936060013592509050565b600060208284031215615899578081fd5b815161097f81615fac565b6001600160a01b03169052565b6000815180845260208085019450808401835b838110156158e0578151875295820195908201906001016158c4565b509495945050505050565b6000815180845260208085019450808401835b838110156158e05781516001600160a01b0316875295820195908201906001016158fe565b60008151808452815b818110156159485760208185018101518683018201520161592c565b818111156159595782602083870101525b50601f01601f19169290920160200192915050565b9182526001600160e01b031916602082015260240190565b6000828483379101908152919050565b61190160f01b81526002810192909252602282015260420190565b6001600160a01b0391909116815260200190565b602080825282518282018190526000919060409081850190868401855b82811015615a4f5781518051600481106159f857fe5b855280870151615a0a888701826158a4565b508581015186860152606080820151615a25828801826158a4565b505060809081015190615a3a868201836158a4565b505060a09390930192908501906001016159e2565b5091979650505050505050565b60006020825261097f60208301846158b1565b600060408252615a8260408301856158b1565b828103602084015261157281856158b1565b6000610100808352615aa88184018c6158b1565b90508281036020840152615abc818b615923565b90508860408401528281036060840152615ad681896158b1565b90508281036080840152615aea81886158b1565b90508560a084015282810360c0840152615b0481866158b1565b91505060018060a01b03831660e08301529998505050505050505050565b901515815260200190565b92151583526020830191909152604082015260600190565b90815260200190565b9283526001600160a01b03918216602084015216604082015260600190565b9586526001600160a01b0394851660208701529290931660408501526060840152608083019190915260a082015260c00190565b60006060820185835260206060818501528186518084526080860191508288019350845b81811015615be957615bd78551615f73565b83529383019391830191600101615bc5565b505084810360408601528551808252908201925081860190845b818110156135be57615c158351615f73565b85529383019391830191600101615c03565b9485526020850193909352604084019190915260608301526001600160a01b0316608082015260a00190565b600084825260606020830152615c6c6060830185615923565b9050826040830152949350505050565b9182526001600160a01b0316602082015260400190565b93845260ff9290921660208401526040830152606082015260800190565b600061010060018060a01b03808c1684528a6020850152896040850152816060850152615ce08285018a6158eb565b91508382036080850152615cf482896158b1565b96811660a08501529490941660c08301525060e001525095945050505050565b600060018060a01b03808a16835288602084015287604084015260e06060840152615d4260e08401886158eb565b8381036080850152615d5481886158b1565b9590911660a0840152505060c0015295945050505050565b60a08101615d7987615f7f565b95815260208101949094526040840192909252606083015260809091015290565b60208101615da783615f7f565b91905290565b60006020825261097f6020830184615923565b600087825260c06020830152615dd960c08301886158b1565b8281036040840152615deb81886158b1565b90508281036060840152615dff81876158b1565b90508281036080840152615e1381866158b1565b91505082151560a0830152979650505050505050565b600083825260406020830152611b0d60408301846158b1565b918252602082015260400190565b600085825284602083015260806040830152615e6f60808301856158b1565b8281036060840152615e8181856158b1565b979650505050505050565b92835260208301919091521515604082015260600190565b9283526020830191909152604082015260600190565b93845260208401929092526040830152606082015260800190565b948552602085019390935260408401919091526060830152608082015260a00190565b958652602086019490945260408501929092526060840152608083015260a082015260c00190565b60ff91909116815260200190565b6040518181016001600160401b0381118282101715615f4c57600080fd5b604052919050565b60006001600160401b03821115615f69578081fd5b5060209081020190565b6001600160a01b031690565b60038110610fbe57fe5b6001600160a01b0381168114610fbe57600080fd5b8015158114610fbe57600080fd5b60ff81168114610fbe57600080fdfea2646970667358221220567d78860fb5e32a44f1b7dcf39abc28fc1211245854270ff7f80064c0764ccb64736f6c63430007010033
[ Download: CSV Export ]
[ Download: CSV Export ]
A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.