0 txs
9 calls
constructor
constructor()
functions
deadAddress
viewfunction deadAddress() view returns (address)
getBNBAmountBySale
viewfunction getBNBAmountBySale(address token, uint256 tokenAmount) view returns (uint256 BNBAmount)
getBNBAmountBySaleWithFee
viewfunction getBNBAmountBySaleWithFee(address token, uint256 tokenAmount) view returns (uint256 BNBAmount, uint256 fee)
getExactBNBAmountForSale
viewfunction getExactBNBAmountForSale(address token, uint256 BNBAmount) view returns (uint256 tokenAmount)
getExactBNBAmountForSaleWithFee
viewfunction getExactBNBAmountForSaleWithFee(address token, uint256 BNBAmount) view returns (uint256 tokenAmount, uint256 fee)
getExactTokenAmountForPurchase
viewfunction getExactTokenAmountForPurchase(address token, uint256 tokenAmount) view returns (uint256 BNBAmount)
getExactTokenAmountForPurchaseWithFee
viewfunction getExactTokenAmountForPurchaseWithFee(address token, uint256 tokenAmount) view returns (uint256 BNBAmount, uint256 fee)
getPrice
viewfunction getPrice(address token) view returns (uint256)
getTokenAmountByPurchase
viewfunction getTokenAmountByPurchase(address token, uint256 BNBAmount) view returns (uint256 tokenAmount)
getTokenAmountByPurchaseWithFee
viewfunction getTokenAmountByPurchaseWithFee(address token, uint256 BNBAmount) view returns (uint256 tokenAmount, uint256 fee)
getTokenState
viewfunction getTokenState(address token) view returns (uint256)
implementation
viewfunction implementation() view returns (address)
LAUNCH_BNB_RESERVE
viewfunction LAUNCH_BNB_RESERVE() view returns (uint256)
LAUNCH_FEE
viewfunction LAUNCH_FEE() view returns (uint256)
LAUNCH_THRESHOLD
viewfunction LAUNCH_THRESHOLD() view returns (uint256)
launcher
viewfunction launcher() view returns (address)
launchFee
viewfunction launchFee() view returns (uint256)
maxPurachaseAmount
viewfunction maxPurachaseAmount() view returns (uint256)
mintFee
viewfunction mintFee() view returns (uint256)
minTxFee
viewfunction minTxFee() view returns (uint256)
operator
viewfunction operator() view returns (address)
owner
viewfunction owner() view returns (address)
pause
viewfunction pause() view returns (bool)
pendingImplementation
viewfunction pendingImplementation() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
purchaseFee
viewfunction purchaseFee() view returns (uint256)
saleFee
viewfunction saleFee() view returns (uint256)
TOKEN_SUPPLY
viewfunction TOKEN_SUPPLY() view returns (uint256)
tokenAddress
viewfunction tokenAddress(uint256) view returns (address)
tokenCount
viewfunction tokenCount() view returns (uint256)
tokenCreator
viewfunction tokenCreator(address) view returns (address)
TOTAL_SALE
viewfunction TOTAL_SALE() view returns (uint256)
v2Router
viewfunction v2Router() view returns (address)
vault
viewfunction vault() view returns (address)
VIRTUAL_BNB_RESERVE_AMOUNT
viewfunction VIRTUAL_BNB_RESERVE_AMOUNT() view returns (uint256)
VIRTUAL_TOKEN_RESERVE_AMOUNT
viewfunction VIRTUAL_TOKEN_RESERVE_AMOUNT() view returns (uint256)
virtualPools
viewfunction virtualPools(address) view returns (uint256 BNBReserve, uint256 TokenReserve, bool launched)
whitelist
viewfunction whitelist(address) view returns (bool)
whitelistEnabled
viewfunction whitelistEnabled() view returns (bool)
_becomeNewImplementation
nonpayablefunction _becomeNewImplementation(address proxy)
acceptOwner
nonpayablefunction acceptOwner()
addToWhitelist
nonpayablefunction addToWhitelist(address user)
createAndInitPurchase
payablefunction createAndInitPurchase(string name, string symbol) payable
initialize
nonpayablefunction initialize(address _vault, address _v2Router, uint256 _salefee, uint256 _purchasefee)
launchToDEXOwner
nonpayablefunction launchToDEXOwner(address token)
launchToDEXOwnerForce
nonpayablefunction launchToDEXOwnerForce(address token)
pausePad
nonpayablefunction pausePad()
purchaseToken
payablefunction purchaseToken(address token, uint256 AmountMin) payable
removeFromWhitelist
nonpayablefunction removeFromWhitelist(address user)
renounceTokenOwnership
nonpayablefunction renounceTokenOwnership(address token)
rerunPad
nonpayablefunction rerunPad()
saleToken
nonpayablefunction saleToken(address token, uint256 tokenAmount, uint256 AmountMin)
setLauncher
nonpayablefunction setLauncher(address newLauncher)
setMintAndMinTxFee
nonpayablefunction setMintAndMinTxFee(uint256 _newMintFee, uint256 _newMinTxFee)
setMintFee
nonpayablefunction setMintFee(uint256 newFee)
setMinTxFee
nonpayablefunction setMinTxFee(uint256 newFee)
setOperator
nonpayablefunction setOperator(address newOp)
setPendingOwner
nonpayablefunction setPendingOwner(address newPendingOwner)
setPurchaseFee
nonpayablefunction setPurchaseFee(uint256 _fee)
setRouter
nonpayablefunction setRouter(address _addr)
setSaleFee
nonpayablefunction setSaleFee(uint256 _fee)
setVault
nonpayablefunction setVault(address _addr)
toggleWhitelist
nonpayablefunction toggleWhitelist(bool status)
events
LauncherChanged
event LauncherChanged(address indexed oldLauncher, address indexed newLauncher)
LaunchPending
event LaunchPending(address token)
MintFeeSet
event MintFeeSet(uint256 oldFee, uint256 newFee)
MinTxFeeSet
event MinTxFeeSet(uint256 oldFee, uint256 newFee)
OperatorChanged
event OperatorChanged(address indexed oldOperator, address indexed newOperator)
OwnerChanged
event OwnerChanged(address indexed oldOwner, address indexed newOwner)
PendingOwnerSet
event PendingOwnerSet(address indexed oldPendingOwner, address indexed newPendingOwner)
PurchaseFeeSet
event PurchaseFeeSet(uint256 oldFee, uint256 newFee)
SaleFeeSet
event SaleFeeSet(uint256 oldFee, uint256 newFee)
TokenCreate
event TokenCreate(address tokenAddress, uint256 tokenIndex, address creator)
TokenLaunched
event TokenLaunched(address indexed token)
TokenPurchased
event TokenPurchased(address indexed token, address indexed buyer, uint256 bnbAmount, uint256 fee, uint256 tokenAmount, uint256 tokenReserve)
TokenSold
event TokenSold(address indexed token, address indexed seller, uint256 bnbAmount, uint256 fee, uint256 tokenAmount)
errors
No errors.
creation bytecode
0x60806040526016805460ff1916600117905534801561001c575f80fd5b505f80546001600160a01b03191633179055614c1f8061003b5f395ff3fe608060405260043610620003fa575f3560e01c80638ab1d6811162000212578063ceee6c1b116200011e578063ea8c6cf411620000aa578063eddd0d9c1162000076578063eddd0d9c1462000c3c578063f4c094c81462000c60578063fbfa77cf1462000c84578063fe29b4e81462000ca5575f80fd5b8063ea8c6cf41462000bb9578063eb990c591462000bdd578063ebbc49651462000c01578063ec1f743b1462000c18575f80fd5b8063deadbc1411620000ea578063deadbc141462000b2f578063dff051721462000b50578063e30c39781462000b74578063e43252d71462000b95575f80fd5b8063ceee6c1b1462000ac6578063cf3cf5731462000add578063d19aa2b91462000af4578063d92748ea1462000b18575f80fd5b8063afcfbbe8116200019e578063bb7b04c1116200016a578063bb7b04c11462000a36578063bdcafc551462000a5a578063c0d786551462000a7e578063c42069ec1462000aa2575f80fd5b8063afcfbbe814620009a9578063b152f6cf14620009cd578063b3ab15fb14620009ee578063b7f7e90d1462000a12575f80fd5b8063959d291711620001de578063959d2917146200090b5780639b19251a14620009285780639e6b26ba146200095a5780639f181b5e1462000992575f80fd5b80638ab1d68114620008885780638da5cb5b14620008ac578063910cffe014620008cc5780639138c3f614620008ed575f80fd5b806327c8f8351162000312578063570ca735116200029e5780636817031b116200026a5780636817031b146200080157806370bf39d8146200082557806380e3f1ad14620008495780638456cb59146200086d575f80fd5b8063570ca735146200077757806358bf639914620007985780635c60da1b14620007bc5780636402cdc314620007dd575f80fd5b80633ee09daa11620002de5780633ee09daa14620006e357806341976e091462000707578063516cf387146200072b57806351fb012d146200074b575f80fd5b806327c8f83514620006735780632f70d762146200069457806332adb10914620006ab578063396f7b2314620006c2575f80fd5b806316eebd1e11620003925780631e105689116200035e5780631e10568914620005945780631e22819214620005b857806320160b07146200061757806323774af2146200063b575f80fd5b806316eebd1e146200050c578063178021e314620005465780631cc2c911146200055d5780631d32c2da1462000574575f80fd5b80630bce386111620003d25780630bce3861146200048057806312e6c2c314620004ba57806313966db514620004de57806314b5e98114620004f5575f80fd5b806303f76476146200040657806309197a81146200042c5780630b3eb970146200045c575f80fd5b366200040257005b5f80fd5b34801562000412575f80fd5b506200042a6200042436600462003652565b62000cbc565b005b34801562000438575f80fd5b50620004496714d1120d7b16000081565b6040519081526020015b60405180910390f35b34801562000468575f80fd5b50620004496200047a36600462003652565b62000e56565b3480156200048c575f80fd5b50620004a46200049e36600462003677565b62000ee7565b6040805192835260208301919091520162000453565b348015620004c6575f80fd5b506200042a620004d8366004620036a4565b6200103c565b348015620004ea575f80fd5b5062000449600f5481565b34801562000501575f80fd5b506200044960055481565b34801562000518575f80fd5b506009546200052d906001600160a01b031681565b6040516001600160a01b03909116815260200162000453565b34801562000552575f80fd5b506200044960045481565b6200042a6200056e36600462003677565b620010e9565b34801562000580575f80fd5b50620004496aa56fa5b99019a5c800000081565b348015620005a0575f80fd5b5062000449620005b236600462003677565b62001578565b348015620005c4575f80fd5b50620005f9620005d636600462003652565b60136020525f908152604090208054600182015460029092015490919060ff1683565b60408051938452602084019290925215159082015260600162000453565b34801562000623575f80fd5b506200042a62000635366004620036c5565b620015f0565b34801562000647575f80fd5b506200052d6200065936600462003652565b60126020525f90815260409020546001600160a01b031681565b3480156200067f575f80fd5b506010546200052d906001600160a01b031681565b6200042a620006a536600462003782565b6200165e565b348015620006b7575f80fd5b506200042a62001baa565b348015620006ce575f80fd5b506003546200052d906001600160a01b031681565b348015620006ef575f80fd5b50620004496200070136600462003677565b62001c3b565b34801562000713575f80fd5b50620004496200072536600462003652565b62001cb3565b34801562000737575f80fd5b50620004496a39e7139a8c08fa0600000081565b34801562000757575f80fd5b50601654620007669060ff1681565b604051901515815260200162000453565b34801562000783575f80fd5b506008546200052d906001600160a01b031681565b348015620007a4575f80fd5b506200042a620007b636600462003652565b62001dc9565b348015620007c8575f80fd5b506002546200052d906001600160a01b031681565b348015620007e9575f80fd5b506200042a620007fb366004620036c5565b620021fd565b3480156200080d575f80fd5b506200042a6200081f36600462003652565b620022b8565b34801562000831575f80fd5b50620004496200084336600462003677565b6200235e565b34801562000855575f80fd5b506200042a62000867366004620037f7565b620023c2565b34801562000879575f80fd5b50600c54620007669060ff1681565b34801562000894575f80fd5b506200042a620008a636600462003652565b62002401565b348015620008b8575f80fd5b505f546200052d906001600160a01b031681565b348015620008d8575f80fd5b50620004496b0295be96e64066972000000081565b348015620008f9575f80fd5b50620004496801e931283ccc85000081565b34801562000917575f80fd5b506200044967796e3ea3f8ab000081565b34801562000934575f80fd5b50620007666200094636600462003652565b60156020525f908152604090205460ff1681565b34801562000966575f80fd5b506200052d62000978366004620036c5565b60116020525f90815260409020546001600160a01b031681565b3480156200099e575f80fd5b506200044960065481565b348015620009b5575f80fd5b50620004a4620009c736600462003677565b6200244d565b348015620009d9575f80fd5b50620004496b033b2e3c9fd0803ce800000081565b348015620009fa575f80fd5b506200042a62000a0c36600462003652565b62002526565b34801562000a1e575f80fd5b506200042a62000a3036600462003652565b620025ad565b34801562000a42575f80fd5b506200042a62000a5436600462003652565b620026c5565b34801562000a66575f80fd5b506200042a62000a78366004620036c5565b62002751565b34801562000a8a575f80fd5b506200042a62000a9c36600462003652565b6200280c565b34801562000aae575f80fd5b506200042a62000ac036600462003652565b620028b2565b34801562000ad2575f80fd5b5062000449600d5481565b34801562000ae9575f80fd5b5062000449600b5481565b34801562000b00575f80fd5b506200042a62000b1236600462003815565b62002939565b34801562000b24575f80fd5b506200042a62002e3e565b34801562000b3b575f80fd5b50600a546200052d906001600160a01b031681565b34801562000b5c575f80fd5b50620004a462000b6e36600462003677565b62002eca565b34801562000b80575f80fd5b506001546200052d906001600160a01b031681565b34801562000ba1575f80fd5b506200042a62000bb336600462003652565b62002fa5565b34801562000bc5575f80fd5b506200044962000bd736600462003677565b62002ff4565b34801562000be9575f80fd5b506200042a62000bfb3660046200384a565b62003053565b34801562000c0d575f80fd5b506200042a620031c2565b34801562000c24575f80fd5b50620004a462000c3636600462003677565b62003271565b34801562000c48575f80fd5b506200042a62000c5a366004620036c5565b62003345565b34801562000c6c575f80fd5b506200042a62000c7e36600462003652565b620033b3565b34801562000c90575f80fd5b506007546200052d906001600160a01b031681565b34801562000cb1575f80fd5b5062000449600e5481565b62000cc66200343a565b62000cd18162000e56565b60031462000d375760405162461bcd60e51b815260206004820152602860248201527f4f6e6c79206c61756e6368656420746f6b656e2063616e2072656e6f6e63654f6044820152670776e6572736869760c41b60648201526084015b60405180910390fd5b806001600160a01b031663c5c03af36040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000d74573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000d9a919062003892565b1562000df85760405162461bcd60e51b815260206004820152602660248201527f4f6e6c79206e6f726d616c20746f6b656e2063616e2072656e6f6e63654f776e60448201526506572736869760d41b606482015260840162000d2e565b806001600160a01b031663715018a66040518163ffffffff1660e01b81526004015f604051808303815f87803b15801562000e31575f80fd5b505af115801562000e44573d5f803e3d5ffd5b5050505062000e536001601455565b50565b6001600160a01b0381165f9081526013602090815260408083208151606081018352815481526001808301549482019490945260029091015460ff161515918101829052910362000eaa5750600392915050565b80516801e931283ccc8500001162000ec55750600292915050565b805167796e3ea3f8ab00001162000edf5750600192915050565b505f92915050565b5f80600e54831162000efe57505f90508062001035565b6127106005548462000f119190620038be565b62000f1d9190620038d8565b9050600e5481101562000f2f5750600e545b8083101562000f525760405162461bcd60e51b815260040162000d2e90620038f8565b5f62000f5f82856200392d565b6001600160a01b0386165f908152601360209081526040808320815160608101835281548152600182015493810184905260029091015460ff161515918101919091529293509003620010035762000fc08267796e3ea3f8ab000062003943565b62000fe36a39e7139a8c08fa060000006b033b2e3c9fd0803ce800000062003943565b62000fef9084620038be565b62000ffb9190620038d8565b935062001032565b80516200101290839062003943565b6020820151620010239084620038be565b6200102f9190620038d8565b93505b50505b9250929050565b6008546001600160a01b03163314620010695760405162461bcd60e51b815260040162000d2e9062003959565b600e5460408051918252602082018390527f091f43688ad4f42d7f02fb81c7e28b693ca4d5d825c27572437bc308cc46aba2910160405180910390a1600f5460408051918252602082018490527f387269377ae17304805d5f88cea4252e5ca47346783c279aeb9e8627335a49ac910160405180910390a1600e55600f55565b620010f36200343a565b600c5460ff1615620011195760405162461bcd60e51b815260040162000d2e906200397f565b620011248262000e56565b600114620011635760405162461bcd60e51b815260206004820152600b60248201526a4e6f74204f6e2053616c6560a81b604482015260640162000d2e565b600e54341015620011885760405162461bcd60e51b815260040162000d2e90620038f8565b5f612710600554346200119c9190620038be565b620011a89190620038d8565b9050600e548111620011b95750600e545b5f620011c682346200392d565b90505f80620011d6868462001578565b6001600160a01b0387165f908152601360205260409020549091506801e931283ccc850000906200120990859062003943565b1115620012bf576001600160a01b0386165f908152601360205260409020546801e931283ccc850000906200124090859062003943565b6200124c91906200392d565b91506200125f86620005b284866200392d565b6001600160a01b0387165f818152601360209081526040918290206801e931283ccc850000905590519182529192507fff274cd97aba8af276149429fbc7ea387e14da22dcd51779c691af908f4feb64910160405180910390a16200133f565b6001600160a01b0386165f9081526013602052604081208054859290620012e890849062003943565b9091555050848110156200133f5760405162461bcd60e51b815260206004820152601a60248201527f496e73756666696369656e74204f757470757420416d6f756e74000000000000604482015260640162000d2e565b6001600160a01b0386165f90815260136020526040812060010180548392906200136b9084906200392d565b909155505060405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0387169063a9059cbb906044016020604051808303815f875af1158015620013bb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620013e191906200399f565b50811562001477576040515f90339084908381818185875af1925050503d805f81146200142a576040519150601f19603f3d011682016040523d82523d5f602084013e6200142f565b606091505b5050905080620014755760405162461bcd60e51b815260206004820152601060248201526f2a3930b739b332b9103330b4b632b21760811b604482015260640162000d2e565b505b6007546040515f916001600160a01b03169086908381818185875af1925050503d805f8114620014c3576040519150601f19603f3d011682016040523d82523d5f602084013e620014c8565b606091505b5050905080620014ec5760405162461bcd60e51b815260040162000d2e90620039bd565b336001600160a01b0388167f63abb62535c21a5d221cf9c15994097b8880cc986d82faf80f57382b998dbae56200152486886200392d565b6001600160a01b038b165f908152601360209081526040918290206001015482519384529083018b9052908201879052606082015260800160405180910390a35050505050620015746001601455565b5050565b6001600160a01b0382165f9081526013602090815260408083208151606081018352815480825260018301549482019490945260029091015460ff1615159181019190915290620015cb90849062003943565b6020820151620015dc9085620038be565b620015e89190620038d8565b949350505050565b6008546001600160a01b031633146200161d5760405162461bcd60e51b815260040162000d2e9062003959565b600e5460408051918252602082018390527f091f43688ad4f42d7f02fb81c7e28b693ca4d5d825c27572437bc308cc46aba2910160405180910390a1600e55565b620016686200343a565b600c5460ff16156200168e5760405162461bcd60e51b815260040162000d2e906200397f565b60165460ff161580620016af5750335f9081526015602052604090205460ff165b620016ef5760405162461bcd60e51b815260206004820152600f60248201526e139bdd081dda1a5d195b1a5cdd1959608a1b604482015260640162000d2e565b600f54341015620017435760405162461bcd60e51b815260206004820152601860248201527f496e73756666696369656e7420424e4220746f206d696e740000000000000000604482015260640162000d2e565b5f62001750838362003495565b6001600160a01b038181165f9081526012602052604080822080546001600160a01b03191633179055600754600f54915194955091939190921691908381818185875af1925050503d805f8114620017c4576040519150601f19603f3d011682016040523d82523d5f602084013e620017c9565b606091505b5050905080620017ed5760405162461bcd60e51b815260040162000d2e90620039f4565b5f600f5434620017fe91906200392d565b90505f600e5482111562001b9b575f61271060055484620018209190620038be565b6200182c9190620038d8565b9050600e5481116200183d5750600e545b5f6200184a82856200392d565b90505f62001859878362001578565b6001600160a01b0388165f908152601360205260409020549091506801e931283ccc850000906200188c90849062003943565b111562001942576001600160a01b0387165f908152601360205260409020546801e931283ccc85000090620018c390849062003943565b620018cf91906200392d565b9350620018e287620005b286856200392d565b6001600160a01b0388165f818152601360209081526040918290206801e931283ccc850000905590519182529192507fff274cd97aba8af276149429fbc7ea387e14da22dcd51779c691af908f4feb64910160405180910390a162001971565b6001600160a01b0387165f90815260136020526040812080548492906200196b90849062003943565b90915550505b6001600160a01b0387165f90815260136020526040812060010180548392906200199d9084906200392d565b909155505060405163a9059cbb60e01b8152336004820152602481018290526001600160a01b0388169063a9059cbb906044016020604051808303815f875af1158015620019ed573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001a1391906200399f565b506007546040515f916001600160a01b03169085908381818185875af1925050503d805f811462001a60576040519150601f19603f3d011682016040523d82523d5f602084013e62001a65565b606091505b505090508062001a895760405162461bcd60e51b815260040162000d2e90620039f4565b841562001b1e576040515f90339087908381818185875af1925050503d805f811462001ad1576040519150601f19603f3d011682016040523d82523d5f602084013e62001ad6565b606091505b505090508062001b1c5760405162461bcd60e51b815260206004820152601060248201526f2a3930b739b332b9103330b4b632b21760811b604482015260640162000d2e565b505b336001600160a01b0389167f63abb62535c21a5d221cf9c15994097b8880cc986d82faf80f57382b998dbae562001b5688876200392d565b6001600160a01b038c165f908152601360209081526040918290206001015482519384529083018a9052908201879052606082015260800160405180910390a3505050505b50505050620015746001601455565b6008546001600160a01b0316331462001bd75760405162461bcd60e51b815260040162000d2e9062003959565b600c5460ff161562001c2c5760405162461bcd60e51b815260206004820152601860248201527f43616e204e6f7420506175736520506175736564205061640000000000000000604482015260640162000d2e565b600c805460ff19166001179055565b6001600160a01b0382165f908152601360209081526040808320815160608101835281548152600182015493810184905260029091015460ff161515918101919091529062001c8c9084906200392d565b815162001c9a9085620038be565b62001ca69190620038d8565b620015e890600162003943565b6001600160a01b0381165f9081526013602052604081206002015460ff16151560010362001ce257505f919050565b62001d056a39e7139a8c08fa060000006b033b2e3c9fd0803ce800000062003943565b6001600160a01b0383165f908152601360205260409020600101541480159062001d4857506001600160a01b0382165f9081526013602052604090206001015415155b1562001d8e576001600160a01b0382165f908152601360205260409020805460019091015462001d7c90620f4240620038be565b62001d889190620038d8565b92915050565b67796e3ea3f8ab000062001dba6a39e7139a8c08fa060000006b033b2e3c9fd0803ce800000062003943565b62001d7c90620f4240620038be565b62001dd36200343a565b600c5460ff161562001df95760405162461bcd60e51b815260040162000d2e906200397f565b6009546001600160a01b0316331462001e555760405162461bcd60e51b815260206004820152601d60248201527f4f6e6c79204c61756e636865722063616e204c61756e6368546f446578000000604482015260640162000d2e565b6007546040515f916001600160a01b0316906714d1120d7b160000908381818185875af1925050503d805f811462001ea9576040519150601f19603f3d011682016040523d82523d5f602084013e62001eae565b606091505b505090508062001ed25760405162461bcd60e51b815260040162000d2e90620039bd565b6001600160a01b0382165f9081526013602052604081205467796e3ea3f8ab00009062001f09906714d1120d7b160000906200392d565b62001f1591906200392d565b600a546001600160a01b038581165f818152601360205260409081902060010154905163095ea7b360e01b815292909316600483015260248201929092529192509063095ea7b3906044016020604051808303815f875af115801562001f7d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001fa391906200399f565b50600a546001600160a01b038481165f9081526013602052604081206001015490928392169063f305d719908590889062001feb906a39e7139a8c08fa06000000906200392d565b6010545f9081906001600160a01b0316620020094261025862003943565b60405160e089901b6001600160e01b03191681526001600160a01b039687166004820152602481019590955260448501939093526064840191909152909216608482015260a481019190915260c40160606040518083038185885af115801562002075573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906200209c919062003a37565b5091509150828114620020e75760405162461bcd60e51b8152602060048201526012602482015271105919081b1a5c5a5d591a5d1e4819985a5b60721b604482015260640162000d2e565b6001600160a01b0385165f8181526013602052604080822060018082018490558382556002909101805460ff19169091179055516335cb74ed60e21b815263d72dd3b4916200213c9160040190815260200190565b5f604051808303815f87803b15801562002154575f80fd5b505af115801562002167573d5f803e3d5ffd5b50505050846001600160a01b031663715018a66040518163ffffffff1660e01b81526004015f604051808303815f87803b158015620021a4575f80fd5b505af1158015620021b7573d5f803e3d5ffd5b50506040516001600160a01b03881692507f2ab676eef3f76f1bd4e765a352c6cd81e62702f7ad3d363291c8b60582a4525091505f90a25050505062000e536001601455565b6008546001600160a01b031633146200222a5760405162461bcd60e51b815260040162000d2e9062003959565b6127108110620022775760405162461bcd60e51b81526020600482015260176024820152764e6577206665652065786365656473206d6178696d756d60481b604482015260640162000d2e565b60055460408051918252602082018390527f525ad74c8a8eb66a2372d62022c6d2813136ef0f41574506841342146cf694db910160405180910390a1600555565b5f546001600160a01b03163314620022e45760405162461bcd60e51b815260040162000d2e9062003a63565b6001600160a01b0381166200233c5760405162461bcd60e51b815260206004820152601860248201527f5661756c742073686f756c64206e6f74206265205a65726f0000000000000000604482015260640162000d2e565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0382165f9081526013602090815260408083208151606081018352815480825260018301549482019490945260029091015460ff1615159181019190915290620023b19084906200392d565b602082015162001c9a9085620038be565b5f546001600160a01b03163314620023ee5760405162461bcd60e51b815260040162000d2e9062003a63565b6016805460ff1916911515919091179055565b5f546001600160a01b031633146200242d5760405162461bcd60e51b815260040162000d2e9062003a63565b6001600160a01b03165f908152601560205260409020805460ff19169055565b6001600160a01b0382165f908152601360209081526040808320815160608101835281548152600182015493810184905260029091015460ff1615159181019190915282916200249f90859062003943565b8151620024ad9086620038be565b620024b99190620038d8565b925061271060045484620024ce9190620038be565b620024da9190620038d8565b9150600e54821015620024ed57600e5491505b81831015620025105760405162461bcd60e51b815260040162000d2e90620038f8565b6200251c82846200392d565b9250509250929050565b5f546001600160a01b03163314620025525760405162461bcd60e51b815260040162000d2e9062003a63565b6008546040516001600160a01b038084169216907fd58299b712891143e76310d5e664c4203c940a67db37cf856bdaa3c5c76a802c905f90a3600880546001600160a01b0319166001600160a01b0392909216919091179055565b806001600160a01b0316638da5cb5b6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620025ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062002610919062003a86565b6001600160a01b0316336001600160a01b031614620026725760405162461bcd60e51b815260206004820152601c60248201527f6f6e6c79206f776e65722063616e206368616e676520627261696e7300000000604482015260640162000d2e565b806001600160a01b031663c1e803346040518163ffffffff1660e01b81526004015f604051808303815f87803b158015620026ab575f80fd5b505af1158015620026be573d5f803e3d5ffd5b5050505050565b620026cf6200343a565b600c5460ff1615620026f55760405162461bcd60e51b815260040162000d2e906200397f565b620027008162000e56565b60021462001df95760405162461bcd60e51b815260206004820152601d60248201527f546f6b656e206e6f7420707265706172656420666f72206c61756e6368000000604482015260640162000d2e565b6008546001600160a01b031633146200277e5760405162461bcd60e51b815260040162000d2e9062003959565b6127108110620027cb5760405162461bcd60e51b81526020600482015260176024820152764e6577206665652065786365656473206d6178696d756d60481b604482015260640162000d2e565b60045460408051918252602082018390527f3063d3516a6a2d04f3fcbbb8096b055b0976989088fe108ad8081c526a594abd910160405180910390a1600455565b5f546001600160a01b03163314620028385760405162461bcd60e51b815260040162000d2e9062003a63565b6001600160a01b038116620028905760405162461bcd60e51b815260206004820152601960248201527f526f757465722073686f756c64206e6f74206265205a65726f00000000000000604482015260640162000d2e565b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b5f546001600160a01b03163314620028de5760405162461bcd60e51b815260040162000d2e9062003a63565b6001546040516001600160a01b038084169216907fa86864fa6b65f969d5ac8391ddaac6a0eba3f41386cbf6e78c3e4d6c59eb115f905f90a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b620029436200343a565b600c5460ff1615620029695760405162461bcd60e51b815260040162000d2e906200397f565b620029748362000e56565b600114620029b35760405162461bcd60e51b815260206004820152600b60248201526a4e6f74204f6e2053616c6560a81b604482015260640162000d2e565b6040516323b872dd60e01b8152336004820152306024820152604481018390525f906001600160a01b038516906323b872dd906064016020604051808303815f875af115801562002a06573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062002a2c91906200399f565b90508062002a755760405162461bcd60e51b8152602060048201526015602482015274151bdad95b881d1c985b9cd9995c8819985a5b1959605a1b604482015260640162000d2e565b5f62002a82858562002ff4565b6001600160a01b0386165f9081526013602052604081205491925090859067796e3ea3f8ab00009062002ab79085906200392d565b101562002b0a576001600160a01b0387165f9081526013602052604090205462002aeb9067796e3ea3f8ab0000906200392d565b925062002af987846200235e565b905062002b0781876200392d565b91505b600e5483101562002b5e5760405162461bcd60e51b815260206004820152601d60248201527f546f6b656e20616d6f756e7420746f6f206c6f7720666f722073616c65000000604482015260640162000d2e565b5f6127106004548562002b729190620038be565b62002b7e9190620038d8565b9050600e5481101562002b905750600e545b5f62002b9d82866200392d565b90508681101562002bf15760405162461bcd60e51b815260206004820152601a60248201527f496e73756666696369656e74204f757470757420416d6f756e74000000000000604482015260640162000d2e565b6007546040515f916001600160a01b03169084908381818185875af1925050503d805f811462002c3d576040519150601f19603f3d011682016040523d82523d5f602084013e62002c42565b606091505b505090508062002c665760405162461bcd60e51b815260040162000d2e90620039bd565b6040515f90339084908381818185875af1925050503d805f811462002ca7576040519150601f19603f3d011682016040523d82523d5f602084013e62002cac565b606091505b505090508062002cff5760405162461bcd60e51b815260206004820152601d60248201527f424e42207472616e7366657220746f2073656c6c6572206661696c6564000000604482015260640162000d2e565b851562002d795760405163a9059cbb60e01b8152336004820152602481018790526001600160a01b038c169063a9059cbb906044016020604051808303815f875af115801562002d51573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062002d7791906200399f565b505b6001600160a01b038b165f908152601360205260408120805489929062002da29084906200392d565b90915550506001600160a01b038b165f908152601360205260408120600101805487929062002dd390849062003943565b9091555050604080518481526020810186905290810186905233906001600160a01b038d16907f9387a595ac4be9038bbb9751abad8baa3dcf219dd9e19abb81552bd521fe35469060600160405180910390a3505050505050505062002e396001601455565b505050565b5f546001600160a01b0316331462002e6a5760405162461bcd60e51b815260040162000d2e9062003a63565b600c5460ff1662002ebe5760405162461bcd60e51b815260206004820152601860248201527f43616e204e6f7420526572756e20416374697665205061640000000000000000604482015260640162000d2e565b600c805460ff19169055565b5f8060045461271062002ede91906200392d565b60045462002eed9085620038be565b62002ef99190620038d8565b62002f0690600162003943565b9050600e5481101562002f185750600e545b62002f24818462003943565b6001600160a01b0385165f908152601360209081526040918290208251606081018452815480825260018301549382019390935260029091015460ff161515928101929092529194509062002f7b9085906200392d565b602082015162002f8c9086620038be565b62002f989190620038d8565b6200251c90600162003943565b5f546001600160a01b0316331462002fd15760405162461bcd60e51b815260040162000d2e9062003a63565b6001600160a01b03165f908152601560205260409020805460ff19166001179055565b6001600160a01b0382165f908152601360209081526040808320815160608101835281548152600182015493810184905260029091015460ff16151591810191909152906200304590849062003943565b8151620015dc9085620038be565b6007546001600160a01b031615620030ae5760405162461bcd60e51b815260206004820152601860248201527f43616e206f6e6c7920696e697469616c697a65206f6e63650000000000000000604482015260640162000d2e565b6001600160a01b038416620031065760405162461bcd60e51b815260206004820152601c60248201527f5661756c7420616464726573732063616e6e6f74206265207a65726f00000000604482015260640162000d2e565b6001600160a01b0383166200315e5760405162461bcd60e51b815260206004820152601f60248201527f7632526f7574657220616464726573732063616e6e6f74206265207a65726f00604482015260640162000d2e565b600780546001600160a01b03199081166001600160a01b0396871617909155600a8054821694909516939093179093556004556005919091556010805482166001908117909155600980543390841681179091556008805490931617909155601455565b6001546001600160a01b03163314620032125760405162461bcd60e51b81526020600482015260116024820152702737ba102832b73234b7339027bbb732b960791b604482015260640162000d2e565b6001545f80546040516001600160a01b0393841693909116917fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91a36001545f80546001600160a01b0319166001600160a01b03909216919091179055565b6001600160a01b0382165f908152601360209081526040808320815160608101835281548152600182015493810184905260029091015460ff161515918101919091528291620032c39085906200392d565b8151620032d19086620038be565b620032dd9190620038d8565b620032ea90600162003943565b9250600554612710620032fe91906200392d565b6005546200330d9085620038be565b620033199190620038d8565b6200332690600162003943565b9150600e548210156200333957600e5491505b6200251c828462003943565b6008546001600160a01b03163314620033725760405162461bcd60e51b815260040162000d2e9062003959565b600f5460408051918252602082018390527f387269377ae17304805d5f88cea4252e5ca47346783c279aeb9e8627335a49ac910160405180910390a1600f55565b5f546001600160a01b03163314620033df5760405162461bcd60e51b815260040162000d2e9062003a63565b6009546040516001600160a01b038084169216907f349b3ca858f1d049aa7b4e826494f79354dbe5f1125ec5442e2d309d21646ec2905f90a3600980546001600160a01b0319166001600160a01b0392909216919091179055565b6002601454036200348e5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640162000d2e565b6002601455565b5f8083836b033b2e3c9fd0803ce8000000604051620034b4906200362f565b620034c29392919062003ae9565b604051809103905ff080158015620034dc573d5f803e3d5ffd5b50600680545f90815260116020526040812080546001600160a01b0319166001600160a01b0385161790558154929350620035178362003b22565b90915550506001600160a01b0381165f90815260136020526040902067796e3ea3f8ab00009055620035616a39e7139a8c08fa060000006b033b2e3c9fd0803ce800000062003943565b6001600160a01b0382165f81815260136020526040908190206001019290925590516335cb74ed60e21b81526002600482015263d72dd3b4906024015f604051808303815f87803b158015620035b5575f80fd5b505af1158015620035c8573d5f803e3d5ffd5b505050507f1ff0a01c8968e3551472812164f233abb579247de887db8cbb18281c149bee7a816001600654620035ff91906200392d565b604080516001600160a01b0390931683526020830191909152339082015260600160405180910390a19392505050565b6110ac8062003b3e83390190565b6001600160a01b038116811462000e53575f80fd5b5f6020828403121562003663575f80fd5b813562003670816200363d565b9392505050565b5f806040838503121562003689575f80fd5b823562003696816200363d565b946020939093013593505050565b5f8060408385031215620036b6575f80fd5b50508035926020909101359150565b5f60208284031215620036d6575f80fd5b5035919050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f83011262003701575f80fd5b813567ffffffffffffffff808211156200371f576200371f620036dd565b604051601f8301601f19908116603f011681019082821181831017156200374a576200374a620036dd565b8160405283815286602085880101111562003763575f80fd5b836020870160208301375f602085830101528094505050505092915050565b5f806040838503121562003794575f80fd5b823567ffffffffffffffff80821115620037ac575f80fd5b620037ba86838701620036f1565b93506020850135915080821115620037d0575f80fd5b50620037df85828601620036f1565b9150509250929050565b801515811462000e53575f80fd5b5f6020828403121562003808575f80fd5b81356200367081620037e9565b5f805f6060848603121562003828575f80fd5b833562003835816200363d565b95602085013595506040909401359392505050565b5f805f80608085870312156200385e575f80fd5b84356200386b816200363d565b935060208501356200387d816200363d565b93969395505050506040820135916060013590565b5f60208284031215620038a3575f80fd5b5051919050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141762001d885762001d88620038aa565b5f82620038f357634e487b7160e01b5f52601260045260245ffd5b500490565b6020808252818101527f496e73756666696369656e7420424e4220666f72207472616e73616374696f6e604082015260600190565b8181038181111562001d885762001d88620038aa565b8082018082111562001d885762001d88620038aa565b6020808252600c908201526b2737ba1027b832b930ba37b960a11b604082015260600190565b60208082526006908201526514185d5cd95960d21b604082015260600190565b5f60208284031215620039b0575f80fd5b81516200367081620037e9565b6020808252601c908201527f466565207472616e7366657220746f207661756c74206661696c656400000000604082015260600190565b60208082526023908201527f5472616e73666572206661696c65642064756520746f207661756c742061636360408201526265737360e81b606082015260800190565b5f805f6060848603121562003a4a575f80fd5b8351925060208401519150604084015190509250925092565b6020808252600990820152682737ba1027bbb732b960b91b604082015260600190565b5f6020828403121562003a97575f80fd5b815162003670816200363d565b5f81518084525f5b8181101562003aca5760208185018101518683018201520162003aac565b505f602082860101526020601f19601f83011685010191505092915050565b606081525f62003afd606083018662003aa4565b828103602084015262003b11818662003aa4565b915050826040830152949350505050565b5f6001820162003b365762003b36620038aa565b506001019056fe608060405234801562000010575f80fd5b50604051620010ac380380620010ac83398101604081905262000033916200035f565b8282600362000043838262000456565b50600462000052828262000456565b5050506200006f620000696200009b60201b60201c565b6200009f565b6200008d620000866005546001600160a01b031690565b82620000f0565b505060016006555062000548565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0382166200014c5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064015b60405180910390fd5b620001595f8383620001c2565b8060025f8282546200016c919062000522565b90915550506001600160a01b0382165f81815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600160065403620002165760405162461bcd60e51b815260206004820152601d60248201527f546f6b656e3a205472616e736665722069732072657374726963746564000000604482015260640162000143565b60026006540362000299576005546001600160a01b03848116911614806200024b57506005546001600160a01b038381169116145b620002995760405162461bcd60e51b815260206004820152601760248201527f546f6b656e3a20496e76616c6964207472616e73666572000000000000000000604482015260640162000143565b505050565b634e487b7160e01b5f52604160045260245ffd5b5f82601f830112620002c2575f80fd5b81516001600160401b0380821115620002df57620002df6200029e565b604051601f8301601f19908116603f011681019082821181831017156200030a576200030a6200029e565b816040528381526020925086602085880101111562000327575f80fd5b5f91505b838210156200034a57858201830151818301840152908201906200032b565b5f602085830101528094505050505092915050565b5f805f6060848603121562000372575f80fd5b83516001600160401b038082111562000389575f80fd5b6200039787838801620002b2565b94506020860151915080821115620003ad575f80fd5b50620003bc86828701620002b2565b925050604084015190509250925092565b600181811c90821680620003e257607f821691505b6020821081036200040157634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200029957805f5260205f20601f840160051c810160208510156200042e5750805b601f840160051c820191505b818110156200044f575f81556001016200043a565b5050505050565b81516001600160401b038111156200047257620004726200029e565b6200048a81620004838454620003cd565b8462000407565b602080601f831160018114620004c0575f8415620004a85750858301515b5f19600386901b1c1916600185901b1785556200051a565b5f85815260208120601f198616915b82811015620004f057888601518255948401946001909101908401620004cf565b50858210156200050e57878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b808201808211156200054257634e487b7160e01b5f52601160045260245ffd5b92915050565b610b5680620005565f395ff3fe608060405234801561000f575f80fd5b506004361061011c575f3560e01c806370a08231116100a9578063a9059cbb1161006e578063a9059cbb14610227578063c5c03af31461023a578063d72dd3b414610243578063dd62ed3e14610256578063f2fde38b14610269575f80fd5b806370a08231146101bf578063715018a6146101e75780638da5cb5b146101f157806395d89b411461020c578063a457c2d714610214575f80fd5b806323b872dd116100ef57806323b872dd1461017b578063313ce5671461018e57806332be63301461019d57806339509351146101a55780633af3d783146101b8575f80fd5b806306fdde0314610120578063095ea7b31461013e57806318160ddd146101615780631c8fc2c014610173575b5f80fd5b61012861027c565b6040516101359190610999565b60405180910390f35b61015161014c366004610a00565b61030c565b6040519015158152602001610135565b6002545b604051908152602001610135565b610165600181565b610151610189366004610a28565b610325565b60405160128152602001610135565b610165600281565b6101516101b3366004610a00565b610348565b6101655f81565b6101656101cd366004610a61565b6001600160a01b03165f9081526020819052604090205490565b6101ef610369565b005b6005546040516001600160a01b039091168152602001610135565b61012861037c565b610151610222366004610a00565b61038b565b610151610235366004610a00565b61040a565b61016560065481565b6101ef610251366004610a81565b610417565b610165610264366004610a98565b610430565b6101ef610277366004610a61565b61045a565b60606003805461028b90610ac9565b80601f01602080910402602001604051908101604052809291908181526020018280546102b790610ac9565b80156103025780601f106102d957610100808354040283529160200191610302565b820191905f5260205f20905b8154815290600101906020018083116102e557829003601f168201915b5050505050905090565b5f336103198185856104d0565b60019150505b92915050565b5f336103328582856105f3565b61033d85858561066b565b506001949350505050565b5f3361031981858561035a8383610430565b6103649190610b01565b6104d0565b610371610818565b61037a5f610872565b565b60606004805461028b90610ac9565b5f33816103988286610430565b9050838110156103fd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b61033d82868684036104d0565b5f3361031981858561066b565b61041f610818565b6006541561042d5760068190555b50565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b610462610818565b6001600160a01b0381166104c75760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103f4565b61042d81610872565b6001600160a01b0383166105325760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103f4565b6001600160a01b0382166105935760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103f4565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6105fe8484610430565b90505f19811461066557818110156106585760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064016103f4565b61066584848484036104d0565b50505050565b6001600160a01b0383166106cf5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103f4565b6001600160a01b0382166107315760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103f4565b61073c8383836108c3565b6001600160a01b0383165f90815260208190526040902054818110156107b35760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016103f4565b6001600160a01b038481165f81815260208181526040808320878703905593871680835291849020805487019055925185815290927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3610665565b6005546001600160a01b0316331461037a5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103f4565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600654036109155760405162461bcd60e51b815260206004820152601d60248201527f546f6b656e3a205472616e73666572206973207265737472696374656400000060448201526064016103f4565b600260065403610994576005546001600160a01b038481169116148061094857506005546001600160a01b038381169116145b6109945760405162461bcd60e51b815260206004820152601760248201527f546f6b656e3a20496e76616c6964207472616e7366657200000000000000000060448201526064016103f4565b505050565b5f602080835283518060208501525f5b818110156109c5578581018301518582016040015282016109a9565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146109fb575f80fd5b919050565b5f8060408385031215610a11575f80fd5b610a1a836109e5565b946020939093013593505050565b5f805f60608486031215610a3a575f80fd5b610a43846109e5565b9250610a51602085016109e5565b9150604084013590509250925092565b5f60208284031215610a71575f80fd5b610a7a826109e5565b9392505050565b5f60208284031215610a91575f80fd5b5035919050565b5f8060408385031215610aa9575f80fd5b610ab2836109e5565b9150610ac0602084016109e5565b90509250929050565b600181811c90821680610add57607f821691505b602082108103610afb57634e487b7160e01b5f52602260045260245ffd5b50919050565b8082018082111561031f57634e487b7160e01b5f52601160045260245ffdfea2646970667358221220872b4d259ca1f1bbb910bf8ee3713ab9ec0b722fdd67a1e8a1d13b3aa66c1faa64736f6c63430008180033a2646970667358221220de529de4fc8be035ce1a752d8dd489a931966afb7b9e5ec136203afa5bf5c56764736f6c63430008180033