0 txs
1 call
constructor
constructor()
functions
actions
viewfunction actions(uint256) view returns (uint8)
ADMIN_CAN_CLAIM_AFTER
viewfunction ADMIN_CAN_CLAIM_AFTER() view returns (uint256)
ADMIN_FEATURES_EXPIRE_AFTER
viewfunction ADMIN_FEATURES_EXPIRE_AFTER() view returns (uint256)
contractStartTime
viewfunction contractStartTime() view returns (uint256)
EMERGENCY_WAIT_TIME
viewfunction EMERGENCY_WAIT_TIME() view returns (uint256)
getProposal
viewfunction getProposal(uint256 proposalId) view returns (uint256 _proposalId, uint8 _proposalAction, uint256 _optionOneVotes, uint256 _optionTwoVotes, address[] _stakingPool, address _newGovernance, uint256 _proposalStartTime, bool _isProposalExecuted, uint256 _newQuorum, string _proposalText, uint256 _newMinBalance)
hardcodedStakingPools
viewfunction hardcodedStakingPools(uint8, uint256) view returns (address)
isEmergency
viewfunction isEmergency() view returns (bool)
isOwner
viewfunction isOwner() view returns (bool)
isProposalExecuted
viewfunction isProposalExecuted(uint256) view returns (bool)
isProposalExecutible
viewfunction isProposalExecutible(uint256 proposalId) view returns (bool)
isProposalOpen
viewfunction isProposalOpen(uint256 proposalId) view returns (bool)
lastIndex
viewfunction lastIndex() view returns (uint256)
lastVotedProposalStartTime
viewfunction lastVotedProposalStartTime(address) view returns (uint256)
MIN_BALANCE_TO_INIT_PROPOSAL
viewfunction MIN_BALANCE_TO_INIT_PROPOSAL() view returns (uint256)
newGovernances
viewfunction newGovernances(uint256) view returns (address)
newMinBalances
viewfunction newMinBalances(uint256) view returns (uint256)
newQuorums
viewfunction newQuorums(uint256) view returns (uint256)
optionOneVotes
viewfunction optionOneVotes(uint256) view returns (uint256)
optionTwoVotes
viewfunction optionTwoVotes(uint256) view returns (uint256)
owner
viewfunction owner() view returns (address)
pendingOwner
viewfunction pendingOwner() view returns (address)
proposalStartTime
viewfunction proposalStartTime(uint256) view returns (uint256)
proposalTexts
viewfunction proposalTexts(uint256) view returns (string)
QUORUM
viewfunction QUORUM() view returns (uint256)
RESULT_EXECUTION_ALLOWANCE_PERIOD
viewfunction RESULT_EXECUTION_ALLOWANCE_PERIOD() view returns (uint256)
setContractVariables_farmContractAddress
viewfunction setContractVariables_farmContractAddress(uint256) view returns (address)
setContractVariables_newFeeRecipientAddress
viewfunction setContractVariables_newFeeRecipientAddress(uint256) view returns (address)
setContractVariables_newLockupTime
viewfunction setContractVariables_newLockupTime(uint256) view returns (uint256)
setContractVariables_newMagicNumber
viewfunction setContractVariables_newMagicNumber(uint256) view returns (uint256)
setContractVariables_newRouterAddress
viewfunction setContractVariables_newRouterAddress(uint256) view returns (address)
setContractVariables_newStakingFeeRateX100
viewfunction setContractVariables_newStakingFeeRateX100(uint256) view returns (uint256)
setContractVariables_newUnstakingFeeRateX100
viewfunction setContractVariables_newUnstakingFeeRateX100(uint256) view returns (uint256)
stakingPools
viewfunction stakingPools(uint256, uint256) view returns (address)
totalDepositedTokens
viewfunction totalDepositedTokens(address) view returns (uint256)
TRUSTED_TOKEN_ADDRESS
viewfunction TRUSTED_TOKEN_ADDRESS() view returns (address)
VOTE_DURATION
viewfunction VOTE_DURATION() view returns (uint256)
votedForOption
viewfunction votedForOption(address, uint256) view returns (uint8)
votesForProposalByAddress
viewfunction votesForProposalByAddress(address, uint256) view returns (uint256)
addVotes
nonpayablefunction addVotes(uint256 proposalId, uint8 option, uint256 amount)
changeMinBalanceToInitProposal
nonpayablefunction changeMinBalanceToInitProposal(uint256 newMinBalanceToInitProposal)
changeQuorum
nonpayablefunction changeQuorum(uint256 newQuorum)
claimAnyTokenFromContract
nonpayablefunction claimAnyTokenFromContract(address trustedFarmContractAddress, address token, address recipient, uint256 amount)
claimOwnership
nonpayablefunction claimOwnership()
declareEmergency
nonpayablefunction declareEmergency()
declareEmergencyForContract
nonpayablefunction declareEmergencyForContract(address trustedFarmContractAddress)
emergencyTransferContractOwnership
nonpayablefunction emergencyTransferContractOwnership(address trustedFarmContractAddress, address newOwner)
executeProposal
nonpayablefunction executeProposal(uint256 proposalId)
proposeDisburseOrBurn
nonpayablefunction proposeDisburseOrBurn(uint8 poolGroupName)
proposeNewMinBalanceToInitProposal
nonpayablefunction proposeNewMinBalanceToInitProposal(uint256 newMinBalance)
proposeNewQuorum
nonpayablefunction proposeNewQuorum(uint256 newQuorum)
proposeSetContractVariables
nonpayablefunction proposeSetContractVariables(address trustedFarmContractAddress, uint256 newMagicNumber, uint256 newLockupTime, uint256 newStakingFeeRateX100, uint256 newUnstakingFeeRateX100, address newRouterAddress, address newFeeRecipientAddress)
proposeText
nonpayablefunction proposeText(string text)
proposeUpgradeGovernance
nonpayablefunction proposeUpgradeGovernance(uint8 poolGroupName, address newGovernance)
removeVotes
nonpayablefunction removeVotes(uint256 proposalId, uint256 amount)
transferAnyERC20Token
nonpayablefunction transferAnyERC20Token(address tokenAddress, address recipient, uint256 amount)
transferAnyERC20TokenFromPool
nonpayablefunction transferAnyERC20TokenFromPool(address pool, address tokenAddress, address recipient, uint256 amount)
transferAnyLegacyERC20Token
nonpayablefunction transferAnyLegacyERC20Token(address tokenAddress, address recipient, uint256 amount)
transferAnyLegacyERC20TokenFromPool
nonpayablefunction transferAnyLegacyERC20TokenFromPool(address pool, address tokenAddress, address recipient, uint256 amount)
transferOwnership
nonpayablefunction transferOwnership(address _newOwner)
withdrawAllTokens
nonpayablefunction withdrawAllTokens()
events
EmergencyDeclared
event EmergencyDeclared(address admin)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
PoolCallReverted
event PoolCallReverted(address, bytes)
PoolCallReverted
event PoolCallReverted(address, string)
PoolCallSucceeded
event PoolCallSucceeded(address)
errors
No errors.
creation bytecode
0x60a06040526a0167fd2f45f5fa5e800000600255630208c0806003556907695a92c20d6fe000006004556006805460ff191690556000601c5534801561004457600080fd5b50600080546001600160a01b03191633178082556040516001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a342608052608051613e6a6100c56000398061115952806122d0528061287552806132e052806133a752806136f75250613e6a6000f3fe608060405234801561001057600080fd5b50600436106103ae5760003560e01c80638f32d59b116101f4578063d17af4531161011a578063f25b8364116100ad578063f4a52f681161007c578063f4a52f6814610c87578063f4c089e414610ca4578063f6af4dff14610ce0578063feb14c2214610ce8576103ae565b8063f25b836414610bf4578063f2fde38b14610c2a578063f3f5de8714610c50578063f3f6f0d714610c7f576103ae565b8063de14b23e116100e9578063de14b23e14610ba1578063deca1c2a14610ba9578063e30c397814610bc6578063eb1a7cd714610bce576103ae565b8063d17af45314610b29578063d2cd96bd14610b46578063d493b9ac14610b63578063dd63a1bf14610b99576103ae565b8063afef11a011610192578063c3daff8b11610161578063c3daff8b146109b2578063c7f758a8146109cf578063ca9a213214610550578063d00c1aec14610b0c576103ae565b8063afef11a0146108aa578063b38672b3146108c7578063b74316db146108e4578063be08129214610976576103ae565b8063a25e84cd116101ce578063a25e84cd14610550578063a3116bec14610868578063a35f7c7b14610885578063ad5717481461088d576103ae565b80638f32d59b1461081d57806394616451146108255780639d8abdb714610842576103ae565b806359a28311116102d957806369fde6d7116102775780637dd667ce116102465780637dd667ce1461077257806382d38953146107c257806383240f83146107e85780638da5cb5b14610815576103ae565b806369fde6d7146106df578063701b1e81146106fc578063780e19c1146107385780637be0eeb914610755576103ae565b80635f254957116102b35780635f2549571461066c5780635f9e8f8214610689578063664b937d146106a557806369adf796146106c2576103ae565b806359a283111461060657806359e61ef8146106235780635e7e77921461064f576103ae565b806329b435631161035157806344dfef341161032057806344dfef34146105005780634654ff05146105505780634e71e0c814610558578063570809c114610560576103ae565b806329b43563146104ad5780632e80d9b6146104cd57806331e244e5146104d5578063428786cc146104dd576103ae565b80630d61b5191161038d5780630d61b5191461043d57806311e860531461045a578063280da6fa1461048857806328707ff214610490576103ae565b80624d0d52146103b357806303634a9a146103e15780630c3d515714610423575b600080fd5b6103df600480360360608110156103c957600080fd5b5080359060ff6020820135169060400135610d0b565b005b610407600480360360408110156103f757600080fd5b5060ff813516906020013561112c565b604080516001600160a01b039092168252519081900360200190f35b61042b611157565b60408051918252519081900360200190f35b6103df6004803603602081101561045357600080fd5b503561117b565b6103df6004803603604081101561047057600080fd5b506001600160a01b0381358116916020013516611db5565b6103df611e7b565b61042b600480360360208110156104a657600080fd5b503561202e565b6103df600480360360208110156104c357600080fd5b503560ff16612040565b61042b61224f565b6103df612255565b6103df600480360360408110156104f357600080fd5b5080359060200135612357565b61052c6004803603604081101561051657600080fd5b506001600160a01b03813516906020013561266e565b6040518082600181111561053c57fe5b60ff16815260200191505060405180910390f35b61042b61268e565b6103df612695565b6103df6004803603602081101561057657600080fd5b81019060208101813564010000000081111561059157600080fd5b8201836020820111156105a357600080fd5b803590602001918460018302840111640100000000831117156105c557600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506126da945050505050565b6103df6004803603602081101561061c57600080fd5b503561285f565b61042b6004803603604081101561063957600080fd5b506001600160a01b0381351690602001356128fb565b6104076004803603602081101561066557600080fd5b5035612918565b6104076004803603602081101561068257600080fd5b5035612933565b61069161294e565b604080519115158252519081900360200190f35b610691600480360360208110156106bb57600080fd5b5035612957565b61042b600480360360208110156106d857600080fd5b50356129f7565b61042b600480360360208110156106f557600080fd5b5035612a09565b6103df6004803603608081101561071257600080fd5b506001600160a01b03813581169160208101358216916040820135169060600135612a1b565b6106916004803603602081101561074e57600080fd5b5035612aa4565b61042b6004803603602081101561076b57600080fd5b5035612ad5565b6103df600480360360e081101561078857600080fd5b506001600160a01b03813581169160208101359160408201359160608101359160808201359160a081013582169160c09091013516612ae7565b61042b600480360360208110156107d857600080fd5b50356001600160a01b0316612cfd565b610805600480360360208110156107fe57600080fd5b5035612d0f565b6040518082600581111561053c57fe5b610407612d24565b610691612d34565b61042b6004803603602081101561083b57600080fd5b5035612d45565b6103df6004803603602081101561085857600080fd5b50356001600160a01b0316612d57565b61042b6004803603602081101561087e57600080fd5b5035612dbe565b610407612dd0565b61042b600480360360208110156108a357600080fd5b5035612de8565b610407600480360360208110156108c057600080fd5b5035612dfa565b6103df600480360360208110156108dd57600080fd5b5035612e15565b610901600480360360208110156108fa57600080fd5b5035612fa7565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561093b578181015183820152602001610923565b50505050905090810190601f1680156109685780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103df6004803603608081101561098c57600080fd5b506001600160a01b03813581169160208101358216916040820135169060600135613042565b61042b600480360360208110156109c857600080fd5b50356130ad565b6109ec600480360360208110156109e557600080fd5b50356130bf565b604051808c81526020018b6005811115610a0257fe5b60ff1681526020018a815260200189815260200180602001886001600160a01b03166001600160a01b03168152602001878152602001861515151581526020018581526020018060200184815260200183810383528a818151815260200191508051906020019060200280838360005b83811015610a8a578181015183820152602001610a72565b50505050905001838103825285818151815260200191508051906020019080838360005b83811015610ac6578181015183820152602001610aae565b50505050905090810190601f168015610af35780820380516001836020036101000a031916815260200191505b509d505050505050505050505050505060405180910390f35b61069160048036036020811015610b2257600080fd5b50356132a3565b61042b60048036036020811015610b3f57600080fd5b50356132b8565b6103df60048036036020811015610b5c57600080fd5b50356132ca565b6103df60048036036060811015610b7957600080fd5b506001600160a01b03813581169160208101359091169060400135613366565b61042b6134f6565b61042b6134fc565b6103df60048036036020811015610bbf57600080fd5b5035613503565b610407613695565b61042b60048036036020811015610be457600080fd5b50356001600160a01b03166136a4565b6103df60048036036060811015610c0a57600080fd5b506001600160a01b038135811691602081013590911690604001356136b6565b6103df60048036036020811015610c4057600080fd5b50356001600160a01b03166137d6565b6103df60048036036040811015610c6657600080fd5b50803560ff1690602001356001600160a01b031661381c565b61042b613a61565b61040760048036036020811015610c9d57600080fd5b5035613a67565b6103df60048036036080811015610cba57600080fd5b506001600160a01b03813581169160208101358216916040820135169060600135613a82565b61042b613aed565b61040760048036036040811015610cfe57600080fd5b5080359060200135613af3565b610d1433613b28565b158015610d2057503233145b610d5f576040805162461bcd60e51b81526020600482015260156024820152600080516020613df0833981519152604482015290519081900360640190fd5b60065460ff1615610db7576040805162461bcd60e51b815260206004820181905260248201527f43616e6e6f74206578656375746520647572696e6720656d657267656e637921604482015290519081900360640190fd5b60008111610e02576040805162461bcd60e51b815260206004820152601360248201527243616e6e6f7420616464203020766f7465732160681b604482015290519081900360640190fd5b610e0b83612aa4565b610e52576040805162461bcd60e51b815260206004820152601360248201527250726f706f73616c20697320636c6f7365642160681b604482015290519081900360640190fd5b604080516323b872dd60e01b815233600482015230602482015260448101839052905173b994882a1b9bd98a71dd6ea5f61577c42848b0e8916323b872dd9160648083019260209291908290030181600087803b158015610eb257600080fd5b505af1158015610ec6573d6000803e3d6000fd5b505050506040513d6020811015610edc57600080fd5b5051610f26576040805162461bcd60e51b81526020600482015260146024820152737472616e7366657246726f6d206661696c65642160601b604482015290519081900360640190fd5b336000908152601960209081526040808320868452909152902054610f7f57336000908152601a602090815260408083208684529091529020805483919060ff191660018381811115610f7557fe5b0217905550611006565b816001811115610f8b57fe5b336000908152601a6020908152604080832087845290915290205460ff166001811115610fb457fe5b14611006576040805162461bcd60e51b815260206004820152601d60248201527f43616e6e6f7420766f746520666f7220626f7468206f7074696f6e7321000000604482015290519081900360640190fd5b600082600181111561101457fe5b141561104d57600083815260086020526040902054611039908263ffffffff613b2e16565b60008481526008602052604090205561107c565b60008381526009602052604090205461106c908263ffffffff613b2e16565b6000848152600960205260409020555b3360009081526018602052604090205461109c908263ffffffff613b2e16565b3360009081526018602090815260408083209390935560198152828220868352905220546110d0908263ffffffff613b2e16565b336000818152601960209081526040808320888452825280832094909455600c815283822054928252601b905291909120541015611127576000838152600c6020908152604080832054338452601b909252909120555b505050565b6005602052816000526040600020816005811061114557fe5b01546001600160a01b03169150829050565b7f000000000000000000000000000000000000000000000000000000000000000081565b61118433613b28565b15801561119057503233145b6111cf576040805162461bcd60e51b81526020600482015260156024820152600080516020613df0833981519152604482015290519081900360640190fd5b60065460ff1615611227576040805162461bcd60e51b815260206004820181905260248201527f43616e6e6f74206578656375746520647572696e6720656d657267656e637921604482015290519081900360640190fd5b600360008281526007602052604090205460ff16600581111561124657fe5b14156112835760405162461bcd60e51b815260040180806020018281038252602e815260200180613dc2602e913960400191505060405180910390fd5b60008181526009602090815260408083205460089092529091205414156112f1576040805162461bcd60e51b815260206004820152601e60248201527f54686973206973206120544945212043616e6e6f742065786563757465210000604482015290519081900360640190fd5b6112fa81612957565b61133f576040805162461bcd60e51b815260206004820152601160248201527050726f706f73616c20457870697265642160781b604482015290519081900360640190fd5b6000818152600d60209081526040808320805460ff19166001179055600982528083205460089092528220548291101561138957505060008181526008602052604081205461139e565b50506000818152600960205260409020546001905b6002548110156113eb576040805162461bcd60e51b815260206004820152601360248201527251554f52554d206e6f7420726561636865642160681b604482015290519081900360640190fd5b60008381526007602052604081205460ff16600581111561140857fe5b141561193f57600082600181111561141c57fe5b14156116b05760005b60048160ff1610156116aa576000848152600a60205260408120805460ff841690811061144e57fe5b60009182526020822001546040805163555e56c160e11b815290516001600160a01b039092169350839263aabcad829260048084019382900301818387803b15801561149957600080fd5b505af19250505080156114aa575060015b611664576114b6613cca565b806114c1575061157a565b7f18ebaa21ec0ffd473423d603c62f44820061770fab2ec3e53019069c1e9fc86c828260405180836001600160a01b03166001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611539578181015183820152602001611521565b50505050905090810190601f1680156115665780820380516001836020036101000a031916815260200191505b50935050505060405180910390a15061165f565b3d8080156115a4576040519150601f19603f3d011682016040523d82523d6000602084013e6115a9565b606091505b507f9b952a19df98629b6d2b9207388cbf7b8a80e5c53e74f633fd23ff0da0e91232828260405180836001600160a01b03166001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b8381101561162257818101518382015260200161160a565b50505050905090810190601f16801561164f5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a1505b6116a1565b604080516001600160a01b038316815290517f5aca19a9d0e90b2fb5cbc3cf422cd492303dc0b612352deff075278ed7bba40b9181900360200190a15b50600101611425565b5061193a565b60005b60048160ff161015611938576000848152600a60205260408120805460ff84169081106116dc57fe5b60009182526020822001546040805163e3956a9560e01b815290516001600160a01b039092169350839263e3956a959260048084019382900301818387803b15801561172757600080fd5b505af1925050508015611738575060015b6118f257611744613cca565b8061174f5750611808565b7f18ebaa21ec0ffd473423d603c62f44820061770fab2ec3e53019069c1e9fc86c828260405180836001600160a01b03166001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156117c75781810151838201526020016117af565b50505050905090810190601f1680156117f45780820380516001836020036101000a031916815260200191505b50935050505060405180910390a1506118ed565b3d808015611832576040519150601f19603f3d011682016040523d82523d6000602084013e611837565b606091505b507f9b952a19df98629b6d2b9207388cbf7b8a80e5c53e74f633fd23ff0da0e91232828260405180836001600160a01b03166001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156118b0578181015183820152602001611898565b50505050905090810190601f1680156118dd5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a1505b61192f565b604080516001600160a01b038316815290517f5aca19a9d0e90b2fb5cbc3cf422cd492303dc0b612352deff075278ed7bba40b9181900360200190a15b506001016116b3565b505b611127565b600160008481526007602052604090205460ff16600581111561195e57fe5b1415611c1657600082600181111561197257fe5b141561193a5760005b60048160ff161015611938576000848152600a60205260408120805460ff84169081106119a457fe5b6000918252602080832090910154878352600b909152604080832054815163f2fde38b60e01b81526001600160a01b039182166004820152915192169350839263f2fde38b9260248084019382900301818387803b158015611a0557600080fd5b505af1925050508015611a16575060015b611bd057611a22613cca565b80611a2d5750611ae6565b7f18ebaa21ec0ffd473423d603c62f44820061770fab2ec3e53019069c1e9fc86c828260405180836001600160a01b03166001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611aa5578181015183820152602001611a8d565b50505050905090810190601f168015611ad25780820380516001836020036101000a031916815260200191505b50935050505060405180910390a150611bcb565b3d808015611b10576040519150601f19603f3d011682016040523d82523d6000602084013e611b15565b606091505b507f9b952a19df98629b6d2b9207388cbf7b8a80e5c53e74f633fd23ff0da0e91232828260405180836001600160a01b03166001600160a01b0316815260200180602001828103825283818151815260200191508051906020019080838360005b83811015611b8e578181015183820152602001611b76565b50505050905090810190601f168015611bbb5780820380516001836020036101000a031916815260200191505b50935050505060405180910390a1505b611c0d565b604080516001600160a01b038316815290517f5aca19a9d0e90b2fb5cbc3cf422cd492303dc0b612352deff075278ed7bba40b9181900360200190a15b5060010161197b565b600260008481526007602052604090205460ff166005811115611c3557fe5b1415611c66576000826001811115611c4957fe5b141561193a576000838152600e6020526040902054600255611127565b600460008481526007602052604090205460ff166005811115611c8557fe5b1415611cb6576000826001811115611c9957fe5b141561193a576000838152600f6020526040902054600455611127565b600560008481526007602052604090205460ff166005811115611cd557fe5b1415611127576000826001811115611ce957fe5b14156111275760008381526011602090815260408083205460148352818420546015845282852054601685528386205460178652848720546012875285882054601390975285882054865163174fc3d360e11b815260048101959095526024850193909352604484019190915260648301526001600160a01b039485166084830152841660a48201529151921692632e9f87a69260c48084019382900301818387803b158015611d9857600080fd5b505af1158015611dac573d6000803e3d6000fd5b50505050505050565b611dbd612d34565b611dc657600080fd5b60065460ff16611e075760405162461bcd60e51b8152600401808060200182810382526026815260200180613d736026913960400191505060405180910390fd5b816001600160a01b031663f2fde38b826040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b158015611e5f57600080fd5b505af1158015611e73573d6000803e3d6000fd5b505050505050565b611e8433613b28565b158015611e9057503233145b611ecf576040805162461bcd60e51b81526020600482015260156024820152600080516020613df0833981519152604482015290519081900360640190fd5b336000908152601b6020526040902054611ef2906203f48063ffffffff613b2e16565b4211611f45576040805162461bcd60e51b815260206004820152601b60248201527f546f6b656e7320617265207374696c6c20696e20766f74696e67210000000000604482015290519081900360640190fd5b33600081815260186020908152604080832054815163a9059cbb60e01b8152600481019590955260248501525173b994882a1b9bd98a71dd6ea5f61577c42848b0e89363a9059cbb9360448083019493928390030190829087803b158015611fac57600080fd5b505af1158015611fc0573d6000803e3d6000fd5b505050506040513d6020811015611fd657600080fd5b505161201c576040805162461bcd60e51b815260206004820152601060248201526f7472616e73666572206661696c65642160801b604482015290519081900360640190fd5b33600090815260186020526040812055565b600f6020526000908152604090205481565b61204933613b28565b15801561205557503233145b612094576040805162461bcd60e51b81526020600482015260156024820152600080516020613df0833981519152604482015290519081900360640190fd5b600081801561209f57fe5b146120ec576040805162461bcd60e51b8152602060048201526018602482015277496e76616c696420506f6f6c2047726f7570204e616d652160401b604482015290519081900360640190fd5b60045473b994882a1b9bd98a71dd6ea5f61577c42848b0e86001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561215957600080fd5b505afa15801561216d573d6000803e3d6000fd5b505050506040513d602081101561218357600080fd5b505110156121c25760405162461bcd60e51b8152600401808060200182810382526025815260200180613e106025913960400191505060405180910390fd5b601c546121d690600163ffffffff613b2e16565b601c55600560008280156121e657fe5b80156121ee57fe5b815260208082019290925260409081016000908120601c548252600a90935220612219916005613bc4565b50601c80546000908152600c602090815260408083204290559254825260079052908120805460ff19166001835b021790555050565b60025481565b61225d612d34565b61226657600080fd5b60065460ff16156122be576040805162461bcd60e51b815260206004820181905260248201527f43616e6e6f74206578656375746520647572696e6720656d657267656e637921604482015290519081900360640190fd5b6006805460ff1916600117905561230e7f0000000000000000000000000000000000000000000000000000000000000000612302426203f48063ffffffff613b2e16565b9063ffffffff613b4416565b6003557fe465b068e033879ed58088ba05882c35e2a52240ea1432b95753d6aebdd0814a61233a612d24565b604080516001600160a01b039092168252519081900360200190a1565b61236033613b28565b15801561236c57503233145b6123ab576040805162461bcd60e51b81526020600482015260156024820152600080516020613df0833981519152604482015290519081900360640190fd5b600081116123f9576040805162461bcd60e51b815260206004820152601660248201527543616e6e6f742072656d6f7665203020766f7465732160501b604482015290519081900360640190fd5b61240282612aa4565b612449576040805162461bcd60e51b815260206004820152601360248201527250726f706f73616c20697320636c6f7365642160681b604482015290519081900360640190fd5b3360009081526019602090815260408083208584529091529020548111156124a25760405162461bcd60e51b8152600401808060200182810382526029815260200180613d996029913960400191505060405180910390fd5b3360009081526019602090815260408083208584529091529020546124cd908263ffffffff613b4416565b33600081815260196020908152604080832087845282528083209490945591815260189091522054612505908263ffffffff613b4416565b33600090815260186020908152604080832093909355601a815282822085835290529081205460ff16600181111561253957fe5b14156125725760008281526008602052604090205461255e908263ffffffff613b4416565b6000838152600860205260409020556125a1565b600082815260096020526040902054612591908263ffffffff613b4416565b6000838152600960205260409020555b6040805163a9059cbb60e01b815233600482015260248101839052905173b994882a1b9bd98a71dd6ea5f61577c42848b0e89163a9059cbb9160448083019260209291908290030181600087803b1580156125fb57600080fd5b505af115801561260f573d6000803e3d6000fd5b505050506040513d602081101561262557600080fd5b505161266a576040805162461bcd60e51b815260206004820152600f60248201526e1d1c985b9cd9995c8819985a5b1959608a1b604482015290519081900360640190fd5b5050565b601a60209081526000928352604080842090915290825290205460ff1681565b6203f48081565b3361269c57fe5b6001546001600160a01b031633146126b357600080fd5b6001546126c8906001600160a01b0316613b56565b600180546001600160a01b0319169055565b6126e333613b28565b1580156126ef57503233145b61272e576040805162461bcd60e51b81526020600482015260156024820152600080516020613df0833981519152604482015290519081900360640190fd5b60045473b994882a1b9bd98a71dd6ea5f61577c42848b0e86001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561279b57600080fd5b505afa1580156127af573d6000803e3d6000fd5b505050506040513d60208110156127c557600080fd5b505110156128045760405162461bcd60e51b8152600401808060200182810382526025815260200180613e106025913960400191505060405180910390fd5b601c5461281890600163ffffffff613b2e16565b601c8181556000918252600c602090815260408084204290558254845260078252808420805460ff1916600317905591548352601081529120825161266a92840190613c0c565b612867612d34565b61287057600080fd5b6128a37f000000000000000000000000000000000000000000000000000000000000000062ed4e0063ffffffff613b2e16565b42106128f6576040805162461bcd60e51b815260206004820152601f60248201527f546869732061646d696e20666561747572652068617320657870697265642100604482015290519081900360640190fd5b600455565b601960209081526000928352604080842090915290825290205481565b600b602052600090815260409020546001600160a01b031681565b6011602052600090815260409020546001600160a01b031681565b60065460ff1681565b600061296282612aa4565b1580156129a157506000828152600c602052604090205461299e906203f48090612992908263ffffffff613b2e16565b9063ffffffff613b2e16565b42105b80156129bc57506000828152600d602052604090205460ff16155b80156129e1575060008281526009602090815260408083205460089092529091205414155b156129ee575060016129f2565b5060005b919050565b60086020526000908152604090205481565b60176020526000908152604090205481565b612a23612d34565b612a2c57600080fd5b60408051633524ee6b60e21b81526001600160a01b03858116600483015284811660248301526044820184905291519186169163d493b9ac9160648082019260009290919082900301818387803b158015612a8657600080fd5b505af1158015612a9a573d6000803e3d6000fd5b5050505050505050565b6000818152600c6020526040812054612ac6906203f48063ffffffff613b2e16565b4210156129ee575060016129f2565b60096020526000908152604090205481565b612af033613b28565b158015612afc57503233145b612b3b576040805162461bcd60e51b81526020600482015260156024820152600080516020613df0833981519152604482015290519081900360640190fd5b612b43612d34565b612b4c57600080fd5b60045473b994882a1b9bd98a71dd6ea5f61577c42848b0e86001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015612bb957600080fd5b505afa158015612bcd573d6000803e3d6000fd5b505050506040513d6020811015612be357600080fd5b50511015612c225760405162461bcd60e51b8152600401808060200182810382526025815260200180613e106025913960400191505060405180910390fd5b601c54612c3690600163ffffffff613b2e16565b601c818155600091825260116020908152604080842080546001600160a01b03199081166001600160a01b039d8e161790915583548552601483528185209a909a55825484526015825280842098909855815483526016815287832096909655805482526017865286822094909455835481526012855285812080548816938916939093179092558254825260138452848220805490961696169590951790935582548452600c81528184204290559154835260079091529020805460ff19166005179055565b60186020526000908152604090205481565b60076020526000908152604090205460ff1681565b6000546001600160a01b03165b90565b6000546001600160a01b0316331490565b600c6020526000908152604090205481565b612d5f612d34565b612d6857600080fd5b806001600160a01b03166331e244e56040518163ffffffff1660e01b8152600401600060405180830381600087803b158015612da357600080fd5b505af1158015612db7573d6000803e3d6000fd5b5050505050565b60166020526000908152604090205481565b73b994882a1b9bd98a71dd6ea5f61577c42848b0e881565b60156020526000908152604090205481565b6013602052600090815260409020546001600160a01b031681565b612e1e33613b28565b158015612e2a57503233145b612e69576040805162461bcd60e51b81526020600482015260156024820152600080516020613df0833981519152604482015290519081900360640190fd5b612e71612d34565b612e7a57600080fd5b60045473b994882a1b9bd98a71dd6ea5f61577c42848b0e86001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015612ee757600080fd5b505afa158015612efb573d6000803e3d6000fd5b505050506040513d6020811015612f1157600080fd5b50511015612f505760405162461bcd60e51b8152600401808060200182810382526025815260200180613e106025913960400191505060405180910390fd5b601c54612f6490600163ffffffff613b2e16565b601c8181556000918252600e6020908152604080842085905582548452600c82528084204290559154835260079052902080546002919060ff1916600183612247565b60106020908152600091825260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452909183018282801561303a5780601f1061300f5761010080835404028352916020019161303a565b820191906000526020600020905b81548152906001019060200180831161301d57829003601f168201915b505050505081565b61304a612d34565b61305357600080fd5b60408051633b4fa45d60e21b81526001600160a01b03858116600483015284811660248301526044820184905291519186169163ed3e91749160648082019260009290919082900301818387803b158015612a8657600080fd5b60146020526000908152604090205481565b60008181526007602090815260408083205460088352818420546009845282852054600a85528386208054855181880281018801909652808652889760ff90951696939592946060949093849384938493889385939092909183018282801561315157602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311613133575b50505050509650600b60008d815260200190815260200160002060009054906101000a90046001600160a01b03169550600c60008d8152602001908152602001600020549450600d60008d815260200190815260200160002060009054906101000a900460ff169350600e60008d8152602001908152602001600020549250601060008d81526020019081526020016000208054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156132775780601f1061324c57610100808354040283529160200191613277565b820191906000526020600020905b81548152906001019060200180831161325a57829003601f168201915b50505050509150600f60008d815260200190815260200160002054905091939597999b90929496989a50565b600d6020526000908152604090205460ff1681565b600e6020526000908152604090205481565b6132d2612d34565b6132db57600080fd5b61330e7f000000000000000000000000000000000000000000000000000000000000000062ed4e0063ffffffff613b2e16565b4210613361576040805162461bcd60e51b815260206004820152601e60248201527f4368616e67652071756f72756d20666561747572652065787069726564210000604482015290519081900360640190fd5b600255565b61336e612d34565b61337757600080fd5b6001600160a01b03831673b994882a1b9bd98a71dd6ea5f61577c42848b0e81415806133d557506003546133d2907f00000000000000000000000000000000000000000000000000000000000000009063ffffffff613b2e16565b42115b613426576040805162461bcd60e51b815260206004820181905260248201527f43616e6e6f74205472616e73666572204f7574206d61696e20746f6b656e7321604482015290519081900360640190fd5b826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561348657600080fd5b505af115801561349a573d6000803e3d6000fd5b505050506040513d60208110156134b057600080fd5b5051611127576040805162461bcd60e51b815260206004820152601060248201526f5472616e73666572206661696c65642160801b604482015290519081900360640190fd5b60045481565b62ed4e0081565b61350c33613b28565b15801561351857503233145b613557576040805162461bcd60e51b81526020600482015260156024820152600080516020613df0833981519152604482015290519081900360640190fd5b61355f612d34565b61356857600080fd5b60045473b994882a1b9bd98a71dd6ea5f61577c42848b0e86001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156135d557600080fd5b505afa1580156135e9573d6000803e3d6000fd5b505050506040513d60208110156135ff57600080fd5b5051101561363e5760405162461bcd60e51b8152600401808060200182810382526025815260200180613e106025913960400191505060405180910390fd5b601c5461365290600163ffffffff613b2e16565b601c8181556000918252600f6020908152604080842085905582548452600c82528084204290559154835260079052902080546004919060ff1916600183612247565b6001546001600160a01b031681565b601b6020526000908152604090205481565b6136be612d34565b6136c757600080fd5b6001600160a01b03831673b994882a1b9bd98a71dd6ea5f61577c42848b0e81415806137255750600354613722907f00000000000000000000000000000000000000000000000000000000000000009063ffffffff613b2e16565b42115b613776576040805162461bcd60e51b815260206004820181905260248201527f43616e6e6f74205472616e73666572204f7574206d61696e20746f6b656e7321604482015290519081900360640190fd5b826001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611d9857600080fd5b6137de612d34565b6137e757600080fd5b6001600160a01b0381166137fa57600080fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b61382533613b28565b15801561383157503233145b613870576040805162461bcd60e51b81526020600482015260156024820152600080516020613df0833981519152604482015290519081900360640190fd5b613878612d34565b61388157600080fd5b600082801561388c57fe5b146138d9576040805162461bcd60e51b8152602060048201526018602482015277496e76616c696420506f6f6c2047726f7570204e616d652160401b604482015290519081900360640190fd5b60045473b994882a1b9bd98a71dd6ea5f61577c42848b0e86001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561394657600080fd5b505afa15801561395a573d6000803e3d6000fd5b505050506040513d602081101561397057600080fd5b505110156139af5760405162461bcd60e51b8152600401808060200182810382526025815260200180613e106025913960400191505060405180910390fd5b601c546139c390600163ffffffff613b2e16565b601c55600560008380156139d357fe5b80156139db57fe5b815260208082019290925260409081016000908120601c548252600a90935220613a06916005613bc4565b50601c80546000908152600b6020908152604080832080546001600160a01b0319166001600160a01b03871617905583548352600c825280832042905592548252600790522080546001919060ff1916828002179055505050565b601c5481565b6012602052600090815260409020546001600160a01b031681565b613a8a612d34565b613a9357600080fd5b60408051633a77063b60e21b81526001600160a01b03858116600483015284811660248301526044820184905291519186169163e9dc18ec9160648082019260009290919082900301818387803b158015612a8657600080fd5b60035481565b600a6020528160005260406000208181548110613b0c57fe5b6000918252602090912001546001600160a01b03169150829050565b3b151590565b600082820183811015613b3d57fe5b9392505050565b600082821115613b5057fe5b50900390565b6001600160a01b038116613b6957600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b828054828255906000526020600020908101928215613bfc579182015b82811115613bfc578254825591600101919060010190613be1565b50613c08929150613c86565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10613c4d57805160ff1916838001178555613c7a565b82800160010185558215613c7a579182015b82811115613c7a578251825591602001919060010190613c5f565b50613c08929150613caa565b612d3191905b80821115613c085780546001600160a01b0319168155600101613c8c565b612d3191905b80821115613c085760008155600101613cb0565b60e01c90565b600060443d1015613cda57612d31565b600481823e6308c379a0613cee8251613cc4565b14613cf857612d31565b6040513d600319016004823e80513d67ffffffffffffffff8160248401118184111715613d285750505050612d31565b82840191508151925080831115613d425750505050612d31565b503d83016020838301011115613d5a57505050612d31565b601f91909101601f191681016020016040529150509056fe43616e206f6e6c792065786563757465207468697320647572696e6720656d657267656e637943616e6e6f742072656d6f7665206d6f726520746f6b656e73207468616e206465706f73697465642143616e6e6f742070726f6772616d6d61746963616c6c79206578656375746520746578742070726f706f73616c734e6f20436f6e74726163747320416c6c6f776564210000000000000000000000496e73756666696369656e7420476f7665726e616e636520546f6b656e2042616c616e6365a26469706673582212200f03e792a9cf2e8f7c1374aed4458ac3e12d10dee5331e36d6f90f6e0859743364736f6c634300060b0033