0 txs
0 calls
constructor
constructor(address _seeder)
functions
divisor
viewfunction divisor() view returns (uint256)
getSeedAmount
viewfunction getSeedAmount(address feeToken, uint256 feeAmount) view returns (uint256)
owner
viewfunction owner() view returns (address)
seeder
viewfunction seeder() view returns (address)
exactBuy
nonpayablefunction exactBuy(bytes data, address callTarget, address allowanceTarget, address sellToken, address buyToken, uint256 sellAmountMax, uint256 buyAmount)
exactBuyWithBuyFee
nonpayablefunction exactBuyWithBuyFee(bytes data, address callTarget, address allowanceTarget, address sellToken, address buyToken, uint256 sellAmountMax, uint256 buyAmount, uint256 feePercentage)
exactBuyWithSellFee
nonpayablefunction exactBuyWithSellFee(bytes data, address callTarget, address allowanceTarget, address sellToken, address buyToken, uint256 sellAmountMax, uint256 buyAmount, uint256 feeAmount)
exactSell
nonpayablefunction exactSell(bytes data, address callTarget, address allowanceTarget, address sellToken, address buyToken, uint256 buyAmountMin, uint256 sellAmount)
exactSellWithBuyFee
nonpayablefunction exactSellWithBuyFee(bytes data, address callTarget, address allowanceTarget, address sellToken, address buyToken, uint256 sellAmount, uint256 feePercentage)
exactSellWithBuyNative
nonpayablefunction exactSellWithBuyNative(bytes data, address callTarget, address allowanceTarget, address sellToken, uint256 buyAmountMin, uint256 sellAmount)
exactSellWithSellFee
nonpayablefunction exactSellWithSellFee(bytes data, address callTarget, address allowanceTarget, address sellToken, address buyToken, uint256 sellAmount, uint256 feeAmount)
exactSellWithSellNative
payablefunction exactSellWithSellNative(bytes data, address callTarget, address buyToken, uint256 buyAmountMin) payable
renounceOwnership
nonpayablefunction renounceOwnership()
sendNative
nonpayablefunction sendNative(address _to)
sendTokens
nonpayablefunction sendTokens(address _tokenAddress, address _to)
setSeeder
nonpayablefunction setSeeder(address _seeder)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
events
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
Swap
event Swap(address indexed swapper, address sellToken, address buyToken, uint256 sellAmount, uint256 buyAmount, uint256 climateFee)
errors
No errors.
creation bytecode
0x60a06040526127106080908152503480156200001a57600080fd5b5060405162004659380380620046598339818101604052810190620000409190620001e5565b6200006062000054620000af60201b60201c565b620000b760201b60201c565b6001808190555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505062000217565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620001ad8262000180565b9050919050565b620001bf81620001a0565b8114620001cb57600080fd5b50565b600081519050620001df81620001b4565b92915050565b600060208284031215620001fe57620001fd6200017b565b5b60006200020e84828501620001ce565b91505092915050565b608051614418620002416000396000818161092e01528181610e0c015261215e01526144186000f3fe6080604052600436106101025760003560e01c806391118b4c11610095578063ba7db29711610064578063ba7db297146102f5578063ca1af7fd1461031e578063cc6560d214610347578063d50b31eb14610370578063f2fde38b1461039957610109565b806391118b4c1461025e578063aa9ecff51461027a578063ab6b917e146102a3578063b7c082ea146102cc57610109565b8063684931ed116100d1578063684931ed146101c8578063715018a6146101f35780638718e62e1461020a5780638da5cb5b1461023357610109565b80631888d7121461010e5780631bb07b3e146101375780631f2dc5ef146101605780634eb3cedc1461018b57610109565b3661010957005b600080fd5b34801561011a57600080fd5b50610135600480360381019061013091906135ca565b6103c2565b005b34801561014357600080fd5b5061015e6004803603810190610159919061370e565b6104ee565b005b34801561016c57600080fd5b5061017561092c565b60405161018291906137df565b60405180910390f35b34801561019757600080fd5b506101b260048036038101906101ad91906137fa565b610950565b6040516101bf91906137df565b60405180910390f35b3480156101d457600080fd5b506101dd610a16565b6040516101ea9190613849565b60405180910390f35b3480156101ff57600080fd5b50610208610a3c565b005b34801561021657600080fd5b50610231600480360381019061022c919061370e565b610ac4565b005b34801561023f57600080fd5b50610248610f5e565b6040516102559190613849565b60405180910390f35b61027860048036038101906102739190613864565b610f87565b005b34801561028657600080fd5b506102a1600480360381019061029c91906138ec565b6113a5565b005b3480156102af57600080fd5b506102ca60048036038101906102c5919061392c565b6114d8565b005b3480156102d857600080fd5b506102f360048036038101906102ee919061370e565b611991565b005b34801561030157600080fd5b5061031c6004803603810190610317919061392c565b611de1565b005b34801561032a57600080fd5b506103456004803603810190610340919061370e565b6122c3565b005b34801561035357600080fd5b5061036e60048036038101906103699190613a02565b612746565b005b34801561037c57600080fd5b5061039760048036038101906103929190613ab1565b612c62565b005b3480156103a557600080fd5b506103c060048036038101906103bb9190613ab1565b612d22565b005b6103ca612e1a565b73ffffffffffffffffffffffffffffffffffffffff166103e8610f5e565b73ffffffffffffffffffffffffffffffffffffffff161461043e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161043590613b3b565b60405180910390fd5b60008173ffffffffffffffffffffffffffffffffffffffff164760405161046490613b8c565b60006040518083038185875af1925050503d80600081146104a1576040519150601f19603f3d011682016040523d82523d6000602084013e6104a6565b606091505b50509050806104ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e190613bed565b60405180910390fd5b5050565b60026001541415610534576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052b90613c59565b60405180910390fd5b600260018190555060008473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016105779190613849565b60206040518083038186803b15801561058f57600080fd5b505afa1580156105a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c79190613c8e565b90506105f63330858873ffffffffffffffffffffffffffffffffffffffff16612e22909392919063ffffffff16565b61062186848773ffffffffffffffffffffffffffffffffffffffff16612eab9092919063ffffffff16565b60008773ffffffffffffffffffffffffffffffffffffffff168a8a60405161064a929190613cef565b6000604051808303816000865af19150503d8060008114610687576040519150601f19603f3d011682016040523d82523d6000602084013e61068c565b606091505b50509050806106d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c790613d54565b60405180910390fd5b6106fb33848773ffffffffffffffffffffffffffffffffffffffff16612fcc9092919063ffffffff16565b60008673ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016107369190613849565b60206040518083038186803b15801561074e57600080fd5b505afa158015610762573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107869190613c8e565b90506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630b96cb89896040518263ffffffff1660e01b81526004016107e59190613849565b60206040518083038186803b1580156107fd57600080fd5b505afa158015610811573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108359190613dac565b9050600061084c858461305290919063ffffffff16565b905060008261085c57600061085e565b815b9050600061086c8b83610950565b11156108815761087c8a82613068565b6108ad565b6108ac33838c73ffffffffffffffffffffffffffffffffffffffff16612fcc9092919063ffffffff16565b5b3373ffffffffffffffffffffffffffffffffffffffff167fd6d34547c69c5ee3d2667625c188acf1006abb93e0ee7cf03925c67cf77604138b8b6108fa868d61305290919063ffffffff16565b8b8660405161090d959493929190613dd9565b60405180910390a2505050505050600180819055505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000808211610960576000610a0e565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634eb3cedc84846040518363ffffffff1660e01b81526004016109bd929190613e2c565b60206040518083038186803b1580156109d557600080fd5b505afa1580156109e9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a0d9190613c8e565b5b905092915050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610a44612e1a565b73ffffffffffffffffffffffffffffffffffffffff16610a62610f5e565b73ffffffffffffffffffffffffffffffffffffffff1614610ab8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aaf90613b3b565b60405180910390fd5b610ac26000613154565b565b60026001541415610b0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b0190613c59565b60405180910390fd5b600260018190555060008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610b4d9190613849565b60206040518083038186803b158015610b6557600080fd5b505afa158015610b79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b9d9190613c8e565b9050610bcc3330858873ffffffffffffffffffffffffffffffffffffffff16612e22909392919063ffffffff16565b610bf786848773ffffffffffffffffffffffffffffffffffffffff16612eab9092919063ffffffff16565b60008773ffffffffffffffffffffffffffffffffffffffff168a8a604051610c20929190613cef565b6000604051808303816000865af19150503d8060008114610c5d576040519150601f19603f3d011682016040523d82523d6000602084013e610c62565b606091505b5050905080610ca6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c9d90613d54565b60405180910390fd5b60008573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401610ce19190613849565b60206040518083038186803b158015610cf957600080fd5b505afa158015610d0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d319190613c8e565b90506000610d48848361305290919063ffffffff16565b90506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630b96cb89896040518263ffffffff1660e01b8152600401610da79190613849565b60206040518083038186803b158015610dbf57600080fd5b505afa158015610dd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610df79190613dac565b9050600081610e07576000610e4d565b610e4c7f0000000000000000000000000000000000000000000000000000000000000000610e3e898661321890919063ffffffff16565b61322e90919063ffffffff16565b5b90506000610e5b8a83610950565b1115610eb3576000610e76828561305290919063ffffffff16565b9050610ea333828c73ffffffffffffffffffffffffffffffffffffffff16612fcc9092919063ffffffff16565b610ead8a83613068565b50610edf565b610ede33848b73ffffffffffffffffffffffffffffffffffffffff16612fcc9092919063ffffffff16565b5b3373ffffffffffffffffffffffffffffffffffffffff167fd6d34547c69c5ee3d2667625c188acf1006abb93e0ee7cf03925c67cf77604138b8b8b610f2d868961305290919063ffffffff16565b86604051610f3f959493929190613dd9565b60405180910390a2505050505050600180819055505050505050505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60026001541415610fcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc490613c59565b60405180910390fd5b600260018190555060008273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016110109190613849565b60206040518083038186803b15801561102857600080fd5b505afa15801561103c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110609190613c8e565b905060008473ffffffffffffffffffffffffffffffffffffffff1634888860405161108c929190613cef565b60006040518083038185875af1925050503d80600081146110c9576040519150601f19603f3d011682016040523d82523d6000602084013e6110ce565b606091505b5050905080611112576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110990613d54565b60405180910390fd5b60008473ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161114d9190613849565b60206040518083038186803b15801561116557600080fd5b505afa158015611179573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061119d9190613c8e565b905060006111b4848361305290919063ffffffff16565b90506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630b96cb89886040518263ffffffff1660e01b81526004016112139190613849565b60206040518083038186803b15801561122b57600080fd5b505afa15801561123f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112639190613dac565b9050600081611273576000611287565b611286878461305290919063ffffffff16565b5b905060006112a973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee83610950565b11156112e9576112da33888a73ffffffffffffffffffffffffffffffffffffffff16612fcc9092919063ffffffff16565b6112e48882613068565b611315565b61131433848a73ffffffffffffffffffffffffffffffffffffffff16612fcc9092919063ffffffff16565b5b3373ffffffffffffffffffffffffffffffffffffffff167fd6d34547c69c5ee3d2667625c188acf1006abb93e0ee7cf03925c67cf776041373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8a34611377868961305290919063ffffffff16565b86604051611389959493929190613dd9565b60405180910390a2505050505050600180819055505050505050565b6113ad612e1a565b73ffffffffffffffffffffffffffffffffffffffff166113cb610f5e565b73ffffffffffffffffffffffffffffffffffffffff1614611421576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141890613b3b565b60405180910390fd5b6114d4818373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161145e9190613849565b60206040518083038186803b15801561147657600080fd5b505afa15801561148a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114ae9190613c8e565b8473ffffffffffffffffffffffffffffffffffffffff16612fcc9092919063ffffffff16565b5050565b6002600154141561151e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151590613c59565b60405180910390fd5b600260018190555060008573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016115619190613849565b60206040518083038186803b15801561157957600080fd5b505afa15801561158d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b19190613c8e565b90506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630b96cb89886040518263ffffffff1660e01b81526004016116109190613849565b60206040518083038186803b15801561162857600080fd5b505afa15801561163c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116609190613dac565b9050600081611670576000611672565b835b905060006116808983610950565b111561170557600061169b858861324490919063ffffffff16565b90506116ca3330838c73ffffffffffffffffffffffffffffffffffffffff16612e22909392919063ffffffff16565b6116f58a888b73ffffffffffffffffffffffffffffffffffffffff16612eab9092919063ffffffff16565b6116ff8983613068565b5061175e565b6117323330888b73ffffffffffffffffffffffffffffffffffffffff16612e22909392919063ffffffff16565b61175d89878a73ffffffffffffffffffffffffffffffffffffffff16612eab9092919063ffffffff16565b5b60008a73ffffffffffffffffffffffffffffffffffffffff168d8d604051611787929190613cef565b6000604051808303816000865af19150503d80600081146117c4576040519150601f19603f3d011682016040523d82523d6000602084013e6117c9565b606091505b505090508061180d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180490613d54565b60405180910390fd5b5061183933868973ffffffffffffffffffffffffffffffffffffffff16612fcc9092919063ffffffff16565b60008873ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016118749190613849565b60206040518083038186803b15801561188c57600080fd5b505afa1580156118a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118c49190613c8e565b905060006118db858361305290919063ffffffff16565b905060008111156119125761191133828c73ffffffffffffffffffffffffffffffffffffffff16612fcc9092919063ffffffff16565b5b3373ffffffffffffffffffffffffffffffffffffffff167fd6d34547c69c5ee3d2667625c188acf1006abb93e0ee7cf03925c67cf77604138b8b61195f858d61305290919063ffffffff16565b8b88604051611972959493929190613dd9565b60405180910390a2505050505060018081905550505050505050505050565b600260015414156119d7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ce90613c59565b60405180910390fd5b600260018190555060008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611a1a9190613849565b60206040518083038186803b158015611a3257600080fd5b505afa158015611a46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a6a9190613c8e565b9050611a993330848873ffffffffffffffffffffffffffffffffffffffff16612e22909392919063ffffffff16565b611ac486838773ffffffffffffffffffffffffffffffffffffffff16612eab9092919063ffffffff16565b60008773ffffffffffffffffffffffffffffffffffffffff168a8a604051611aed929190613cef565b6000604051808303816000865af19150503d8060008114611b2a576040519150601f19603f3d011682016040523d82523d6000602084013e611b2f565b606091505b5050905080611b73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6a90613d54565b60405180910390fd5b60008573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611bae9190613849565b60206040518083038186803b158015611bc657600080fd5b505afa158015611bda573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bfe9190613c8e565b90506000611c15848361305290919063ffffffff16565b90506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630b96cb89896040518263ffffffff1660e01b8152600401611c749190613849565b60206040518083038186803b158015611c8c57600080fd5b505afa158015611ca0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cc49190613dac565b9050600081611cd4576000611ce8565b611ce7888461305290919063ffffffff16565b5b90506000611cf68a83610950565b1115611d3657611d2733898b73ffffffffffffffffffffffffffffffffffffffff16612fcc9092919063ffffffff16565b611d318982613068565b611d62565b611d6133848b73ffffffffffffffffffffffffffffffffffffffff16612fcc9092919063ffffffff16565b5b3373ffffffffffffffffffffffffffffffffffffffff167fd6d34547c69c5ee3d2667625c188acf1006abb93e0ee7cf03925c67cf77604138b8b8a611db0868961305290919063ffffffff16565b86604051611dc2959493929190613dd9565b60405180910390a2505050505050600180819055505050505050505050565b60026001541415611e27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1e90613c59565b60405180910390fd5b600260018190555060008573ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611e6a9190613849565b60206040518083038186803b158015611e8257600080fd5b505afa158015611e96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eba9190613c8e565b9050611ee93330868973ffffffffffffffffffffffffffffffffffffffff16612e22909392919063ffffffff16565b611f1487858873ffffffffffffffffffffffffffffffffffffffff16612eab9092919063ffffffff16565b60008873ffffffffffffffffffffffffffffffffffffffff168b8b604051611f3d929190613cef565b6000604051808303816000865af19150503d8060008114611f7a576040519150601f19603f3d011682016040523d82523d6000602084013e611f7f565b606091505b5050905080611fc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fba90613d54565b60405180910390fd5b60008773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b8152600401611ffe9190613849565b60206040518083038186803b15801561201657600080fd5b505afa15801561202a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061204e9190613c8e565b90506000612065848361305290919063ffffffff16565b9050600081111561209c5761209b33828b73ffffffffffffffffffffffffffffffffffffffff16612fcc9092919063ffffffff16565b5b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630b96cb898a6040518263ffffffff1660e01b81526004016120f99190613849565b60206040518083038186803b15801561211157600080fd5b505afa158015612125573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121499190613dac565b905060008161215957600061219f565b61219e7f0000000000000000000000000000000000000000000000000000000000000000612190898b61321890919063ffffffff16565b61322e90919063ffffffff16565b5b905060006121ad8b83610950565b11156122055760006121c8828a61305290919063ffffffff16565b90506121d48b83613068565b6121ff33828d73ffffffffffffffffffffffffffffffffffffffff16612fcc9092919063ffffffff16565b50612231565b61223033898c73ffffffffffffffffffffffffffffffffffffffff16612fcc9092919063ffffffff16565b5b3373ffffffffffffffffffffffffffffffffffffffff167fd6d34547c69c5ee3d2667625c188acf1006abb93e0ee7cf03925c67cf77604138c8c61227e878e61305290919063ffffffff16565b612291868e61305290919063ffffffff16565b866040516122a3959493929190613dd9565b60405180910390a250505050505060018081905550505050505050505050565b60026001541415612309576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230090613c59565b60405180910390fd5b600260018190555060008373ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b815260040161234c9190613849565b60206040518083038186803b15801561236457600080fd5b505afa158015612378573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061239c9190613c8e565b90506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630b96cb89876040518263ffffffff1660e01b81526004016123fb9190613849565b60206040518083038186803b15801561241357600080fd5b505afa158015612427573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061244b9190613dac565b905060008161245b57600061245d565b835b9050600061246b8883610950565b11156124f0576000612486858761324490919063ffffffff16565b90506124b53330838b73ffffffffffffffffffffffffffffffffffffffff16612e22909392919063ffffffff16565b6124e089878a73ffffffffffffffffffffffffffffffffffffffff16612eab9092919063ffffffff16565b6124ea8883613068565b50612549565b61251d3330878a73ffffffffffffffffffffffffffffffffffffffff16612e22909392919063ffffffff16565b61254888868973ffffffffffffffffffffffffffffffffffffffff16612eab9092919063ffffffff16565b5b60008973ffffffffffffffffffffffffffffffffffffffff168c8c604051612572929190613cef565b6000604051808303816000865af19150503d80600081146125af576040519150601f19603f3d011682016040523d82523d6000602084013e6125b4565b606091505b50509050806125f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125ef90613d54565b60405180910390fd5b60008773ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016126339190613849565b60206040518083038186803b15801561264b57600080fd5b505afa15801561265f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126839190613c8e565b9050600061269a868361305290919063ffffffff16565b90506126c733828b73ffffffffffffffffffffffffffffffffffffffff16612fcc9092919063ffffffff16565b3373ffffffffffffffffffffffffffffffffffffffff167fd6d34547c69c5ee3d2667625c188acf1006abb93e0ee7cf03925c67cf77604138b8b612714888d61305290919063ffffffff16565b8589604051612727959493929190613dd9565b60405180910390a2505050505050600180819055505050505050505050565b6002600154141561278c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161278390613c59565b60405180910390fd5b600260018190555060004790506127c63330848773ffffffffffffffffffffffffffffffffffffffff16612e22909392919063ffffffff16565b6127f185838673ffffffffffffffffffffffffffffffffffffffff16612eab9092919063ffffffff16565b60008673ffffffffffffffffffffffffffffffffffffffff16898960405161281a929190613cef565b6000604051808303816000865af19150503d8060008114612857576040519150601f19603f3d011682016040523d82523d6000602084013e61285c565b606091505b50509050806128a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161289790613d54565b60405180910390fd5b600047905060006128ba848361305290919063ffffffff16565b90506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630b96cb8973eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee6040518263ffffffff1660e01b815260040161292d9190613849565b60206040518083038186803b15801561294557600080fd5b505afa158015612959573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061297d9190613dac565b905060008161298d5760006129a1565b6129a0888461305290919063ffffffff16565b5b905060006129c373eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee83610950565b1115612ad35760003373ffffffffffffffffffffffffffffffffffffffff1689600067ffffffffffffffff8111156129fe576129fd613e55565b5b6040519080825280601f01601f191660200182016040528015612a305781602001600182028036833780820191505090505b50604051612a3e9190613ef3565b60006040518083038185875af1925050503d8060008114612a7b576040519150601f19603f3d011682016040523d82523d6000602084013e612a80565b606091505b5050905080612ac4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612abb90613f56565b60405180910390fd5b612acd8261325a565b50612bd0565b60003373ffffffffffffffffffffffffffffffffffffffff1684600067ffffffffffffffff811115612b0857612b07613e55565b5b6040519080825280601f01601f191660200182016040528015612b3a5781602001600182028036833780820191505090505b50604051612b489190613ef3565b60006040518083038185875af1925050503d8060008114612b85576040519150601f19603f3d011682016040523d82523d6000602084013e612b8a565b606091505b5050905080612bce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612bc590613f56565b60405180910390fd5b505b3373ffffffffffffffffffffffffffffffffffffffff167fd6d34547c69c5ee3d2667625c188acf1006abb93e0ee7cf03925c67cf77604138a73eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee8a612c32868961305290919063ffffffff16565b86604051612c44959493929190613dd9565b60405180910390a25050505050506001808190555050505050505050565b612c6a612e1a565b73ffffffffffffffffffffffffffffffffffffffff16612c88610f5e565b73ffffffffffffffffffffffffffffffffffffffff1614612cde576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612cd590613b3b565b60405180910390fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b612d2a612e1a565b73ffffffffffffffffffffffffffffffffffffffff16612d48610f5e565b73ffffffffffffffffffffffffffffffffffffffff1614612d9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d9590613b3b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612e0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e0590613fe8565b60405180910390fd5b612e1781613154565b50565b600033905090565b612ea5846323b872dd60e01b858585604051602401612e4393929190614008565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506132f5565b50505050565b6000818473ffffffffffffffffffffffffffffffffffffffff1663dd62ed3e30866040518363ffffffff1660e01b8152600401612ee992919061403f565b60206040518083038186803b158015612f0157600080fd5b505afa158015612f15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f399190613c8e565b612f439190614097565b9050612fc68463095ea7b360e01b8584604051602401612f64929190613e2c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506132f5565b50505050565b61304d8363a9059cbb60e01b8484604051602401612feb929190613e2c565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506132f5565b505050565b6000818361306091906140ed565b905092915050565b6000811115613150576130be600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828473ffffffffffffffffffffffffffffffffffffffff16612eab9092919063ffffffff16565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663398bf7e03384846040518463ffffffff1660e01b815260040161311d93929190614008565b600060405180830381600087803b15801561313757600080fd5b505af115801561314b573d6000803e3d6000fd5b505050505b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600081836132269190614121565b905092915050565b6000818361323c91906141aa565b905092915050565b600081836132529190614097565b905092915050565b60008111156132f257600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ef76d2ff82336040518363ffffffff1660e01b81526004016132bf9190613849565b6000604051808303818588803b1580156132d857600080fd5b505af11580156132ec573d6000803e3d6000fd5b50505050505b50565b6000613357826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166133bc9092919063ffffffff16565b90506000815111156133b757808060200190518101906133779190613dac565b6133b6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133ad9061424d565b60405180910390fd5b5b505050565b60606133cb84846000856133d4565b90509392505050565b606082471015613419576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613410906142df565b60405180910390fd5b613422856134e8565b613461576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134589061434b565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161348a9190613ef3565b60006040518083038185875af1925050503d80600081146134c7576040519150601f19603f3d011682016040523d82523d6000602084013e6134cc565b606091505b50915091506134dc8282866134fb565b92505050949350505050565b600080823b905060008111915050919050565b6060831561350b5782905061355b565b60008351111561351e5782518084602001fd5b816040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161355291906143c0565b60405180910390fd5b9392505050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006135978261356c565b9050919050565b6135a78161358c565b81146135b257600080fd5b50565b6000813590506135c48161359e565b92915050565b6000602082840312156135e0576135df613562565b5b60006135ee848285016135b5565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f84011261361c5761361b6135f7565b5b8235905067ffffffffffffffff811115613639576136386135fc565b5b60208301915083600182028301111561365557613654613601565b5b9250929050565b60006136678261356c565b9050919050565b6136778161365c565b811461368257600080fd5b50565b6000813590506136948161366e565b92915050565b60006136a58261365c565b9050919050565b6136b58161369a565b81146136c057600080fd5b50565b6000813590506136d2816136ac565b92915050565b6000819050919050565b6136eb816136d8565b81146136f657600080fd5b50565b600081359050613708816136e2565b92915050565b60008060008060008060008060e0898b03121561372e5761372d613562565b5b600089013567ffffffffffffffff81111561374c5761374b613567565b5b6137588b828c01613606565b9850985050602061376b8b828c01613685565b965050604061377c8b828c01613685565b955050606061378d8b828c016136c3565b945050608061379e8b828c016136c3565b93505060a06137af8b828c016136f9565b92505060c06137c08b828c016136f9565b9150509295985092959890939650565b6137d9816136d8565b82525050565b60006020820190506137f460008301846137d0565b92915050565b6000806040838503121561381157613810613562565b5b600061381f85828601613685565b9250506020613830858286016136f9565b9150509250929050565b6138438161365c565b82525050565b600060208201905061385e600083018461383a565b92915050565b6000806000806000608086880312156138805761387f613562565b5b600086013567ffffffffffffffff81111561389e5761389d613567565b5b6138aa88828901613606565b955095505060206138bd88828901613685565b93505060406138ce888289016136c3565b92505060606138df888289016136f9565b9150509295509295909350565b6000806040838503121561390357613902613562565b5b6000613911858286016136c3565b925050602061392285828601613685565b9150509250929050565b60008060008060008060008060006101008a8c03121561394f5761394e613562565b5b60008a013567ffffffffffffffff81111561396d5761396c613567565b5b6139798c828d01613606565b9950995050602061398c8c828d01613685565b975050604061399d8c828d01613685565b96505060606139ae8c828d016136c3565b95505060806139bf8c828d016136c3565b94505060a06139d08c828d016136f9565b93505060c06139e18c828d016136f9565b92505060e06139f28c828d016136f9565b9150509295985092959850929598565b600080600080600080600060c0888a031215613a2157613a20613562565b5b600088013567ffffffffffffffff811115613a3f57613a3e613567565b5b613a4b8a828b01613606565b97509750506020613a5e8a828b01613685565b9550506040613a6f8a828b01613685565b9450506060613a808a828b016136c3565b9350506080613a918a828b016136f9565b92505060a0613aa28a828b016136f9565b91505092959891949750929550565b600060208284031215613ac757613ac6613562565b5b6000613ad584828501613685565b91505092915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613b25602083613ade565b9150613b3082613aef565b602082019050919050565b60006020820190508181036000830152613b5481613b18565b9050919050565b600081905092915050565b50565b6000613b76600083613b5b565b9150613b8182613b66565b600082019050919050565b6000613b9782613b69565b9150819050919050565b7f4661696c656420746f2073656e64204574686572000000000000000000000000600082015250565b6000613bd7601483613ade565b9150613be282613ba1565b602082019050919050565b60006020820190508181036000830152613c0681613bca565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000613c43601f83613ade565b9150613c4e82613c0d565b602082019050919050565b60006020820190508181036000830152613c7281613c36565b9050919050565b600081519050613c88816136e2565b92915050565b600060208284031215613ca457613ca3613562565b5b6000613cb284828501613c79565b91505092915050565b82818337600083830152505050565b6000613cd68385613b5b565b9350613ce3838584613cbb565b82840190509392505050565b6000613cfc828486613cca565b91508190509392505050565b7f63616c6c206e6f74207375636365737366756c00000000000000000000000000600082015250565b6000613d3e601383613ade565b9150613d4982613d08565b602082019050919050565b60006020820190508181036000830152613d6d81613d31565b9050919050565b60008115159050919050565b613d8981613d74565b8114613d9457600080fd5b50565b600081519050613da681613d80565b92915050565b600060208284031215613dc257613dc1613562565b5b6000613dd084828501613d97565b91505092915050565b600060a082019050613dee600083018861383a565b613dfb602083018761383a565b613e0860408301866137d0565b613e1560608301856137d0565b613e2260808301846137d0565b9695505050505050565b6000604082019050613e41600083018561383a565b613e4e60208301846137d0565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050919050565b60005b83811015613ead578082015181840152602081019050613e92565b83811115613ebc576000848401525b50505050565b6000613ecd82613e84565b613ed78185613b5b565b9350613ee7818560208601613e8f565b80840191505092915050565b6000613eff8284613ec2565b915081905092915050565b7f4e617469766520546f6b656e207472616e73666572206661696c656400000000600082015250565b6000613f40601c83613ade565b9150613f4b82613f0a565b602082019050919050565b60006020820190508181036000830152613f6f81613f33565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613fd2602683613ade565b9150613fdd82613f76565b604082019050919050565b6000602082019050818103600083015261400181613fc5565b9050919050565b600060608201905061401d600083018661383a565b61402a602083018561383a565b61403760408301846137d0565b949350505050565b6000604082019050614054600083018561383a565b614061602083018461383a565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006140a2826136d8565b91506140ad836136d8565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156140e2576140e1614068565b5b828201905092915050565b60006140f8826136d8565b9150614103836136d8565b92508282101561411657614115614068565b5b828203905092915050565b600061412c826136d8565b9150614137836136d8565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156141705761416f614068565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006141b5826136d8565b91506141c0836136d8565b9250826141d0576141cf61417b565b5b828204905092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000614237602a83613ade565b9150614242826141db565b604082019050919050565b600060208201905081810360008301526142668161422a565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006142c9602683613ade565b91506142d48261426d565b604082019050919050565b600060208201905081810360008301526142f8816142bc565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000614335601d83613ade565b9150614340826142ff565b602082019050919050565b6000602082019050818103600083015261436481614328565b9050919050565b600081519050919050565b6000601f19601f8301169050919050565b60006143928261436b565b61439c8185613ade565b93506143ac818560208601613e8f565b6143b581614376565b840191505092915050565b600060208201905081810360008301526143da8184614387565b90509291505056fea2646970667358221220855f57bbecebd39a0aa240e9e9c5b00789e9f633606b75700db84874514dac1264736f6c63430008090033000000000000000000000000030773e34f192c81c63e24edfd97595727c8303b