0 txs
0 calls
constructor
constructor(address _weth, address _factory, address _nonfungiblePositionManager, address _swapRouter)
functions
accountBalances
viewfunction accountBalances(address, address) view returns (uint256)
accountTokens
viewfunction accountTokens(address, uint256) view returns (uint256)
balanceOf
viewfunction balanceOf(address account) view returns (uint256 balance)
compounderBonusX64
viewfunction compounderBonusX64() view returns (uint64)
factory
viewfunction factory() view returns (address)
MAX_BONUS_X64
viewfunction MAX_BONUS_X64() view returns (uint64)
MAX_POSITIONS_PER_ADDRESS
viewfunction MAX_POSITIONS_PER_ADDRESS() view returns (uint32)
maxTWAPTickDifference
viewfunction maxTWAPTickDifference() view returns (uint32)
nonfungiblePositionManager
viewfunction nonfungiblePositionManager() view returns (address)
owner
viewfunction owner() view returns (address)
ownerOf
viewfunction ownerOf(uint256) view returns (address)
swapRouter
viewfunction swapRouter() view returns (address)
totalBonusX64
viewfunction totalBonusX64() view returns (uint64)
TWAPSeconds
viewfunction TWAPSeconds() view returns (uint32)
weth
viewfunction weth() view returns (address)
autoCompound
nonpayablefunction autoCompound(tuple params) returns (uint256 bonus0, uint256 bonus1, uint256 compounded0, uint256 compounded1)
collect
nonpayablefunction collect(tuple params) returns (uint256 amount0, uint256 amount1)
decreaseLiquidityAndCollect
nonpayablefunction decreaseLiquidityAndCollect(tuple params) returns (uint256 amount0, uint256 amount1)
multicall
nonpayablefunction multicall(bytes[] data) returns (bytes[] results)
onERC721Received
nonpayablefunction onERC721Received(address, address from, uint256 tokenId, bytes) returns (bytes4)
renounceOwnership
nonpayablefunction renounceOwnership()
setBonus
nonpayablefunction setBonus(uint64 _totalBonusX64, uint64 _compounderBonusX64)
setTWAPConfig
nonpayablefunction setTWAPConfig(uint32 _maxTWAPTickDifference, uint32 _TWAPSeconds)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdrawBalance
nonpayablefunction withdrawBalance(address token, address to, uint256 amount)
withdrawToken
nonpayablefunction withdrawToken(uint256 tokenId, address to, bool withdrawBalances, bytes data)
events
AutoCompounded
event AutoCompounded(address account, uint256 tokenId, uint256 amountAdded0, uint256 amountAdded1, uint256 bonus0, uint256 bonus1, address token0, address token1)
BalanceAdded
event BalanceAdded(address account, address token, uint256 amount)
BalanceRemoved
event BalanceRemoved(address account, address token, uint256 amount)
BalanceWithdrawn
event BalanceWithdrawn(address account, address token, address to, uint256 amount)
BonusUpdated
event BonusUpdated(address account, uint64 totalBonusX64, uint64 compounderBonusX64)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
TokenDeposited
event TokenDeposited(address account, uint256 tokenId)
TokenWithdrawn
event TokenWithdrawn(address account, address to, uint256 tokenId)
TWAPConfigUpdated
event TWAPConfigUpdated(address account, uint32 maxTWAPTickDifference, uint32 TWAPSeconds)
errors
No errors.
creation bytecode
0x608060405260018054600160a01b600160e01b03191666a3d70a3d70a3d760a31b179055600267051eb851eb851eb8600280546001600160401b031916929091046001600160401b03169190911763ffffffff60401b1916686400000000000000001763ffffffff60601b19166c3c0000000000000000000000001790553480156200008a57600080fd5b506040516200590f3803806200590f833981016040819052620000ad9162000164565b60016000908155620000be62000160565b600180546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600380546001600160a01b039586166001600160a01b0319918216179091556004805494861694821694909417909355600580549285169284169290921790915560068054919093169116179055620001e4565b3390565b600080600080608085870312156200017a578384fd5b84516200018781620001cb565b60208601519094506200019a81620001cb565b6040860151909350620001ad81620001cb565b6060860151909250620001c081620001cb565b939692955090935050565b6001600160a01b0381168114620001e157600080fd5b50565b61571b80620001f46000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c80636352211e116100ee578063acf5e73a11610097578063c45a015511610071578063c45a015514610353578063d99d78f61461035b578063f2fde38b1461036e578063fc6f786514610381576101ae565b8063acf5e73a1461033b578063b44a272214610343578063c31c9c071461034b576101ae565b80638da5cb5b116100c85780638da5cb5b146103005780639001a1dd14610308578063ac9650d81461031b576101ae565b80636352211e146102d257806370a08231146102e5578063715018a6146102f8576101ae565b80632b51ca161161015b57806345d9a1ce1161013557806345d9a1ce1461029c57806355b86dad146102af5780635a9ff33f146102b75780636242da2f146102bf576101ae565b80632b51ca161461025e5780632b73f3ae146102665780633fc8cef314610287576101ae565b806312ea21951161018c57806312ea219514610206578063150b7a021461021b57806318f3fd4d1461023b576101ae565b80630c66bc6a146101b35780630d334380146101c85780631242e5fd146101e6575b600080fd5b6101c66101c1366004614be2565b610394565b005b6101d06105b7565b6040516101dd91906154d5565b60405180910390f35b6101f96101f4366004614690565b6105cf565b6040516101dd91906154a3565b61020e6105ec565b6040516101dd91906154e6565b61022e610229366004614708565b6105fc565b6040516101dd919061508c565b61024e610249366004614904565b610739565b6040516101dd94939291906154ba565b6101d06110c7565b610279610274366004614993565b6110cc565b6040516101dd9291906154ac565b61028f6113c3565b6040516101dd9190614db9565b6101c66102aa3660046146c8565b6113df565b6101d06114d5565b61020e6114f1565b6101f96102cd3660046147a2565b6114fd565b61028f6102e0366004614a89565b61152e565b6101f96102f3366004614658565b611556565b6101c6611582565b61028f611699565b6101c6610316366004614ab9565b6116b5565b61032e6103293660046147cd565b611984565b6040516101dd9190614fc4565b61020e611a62565b61028f611a8a565b61028f611aa6565b61028f611ac2565b6101c6610369366004614bb0565b611ade565b6101c661037c366004614658565b611c30565b61027961038f36600461497c565b611dd2565b61039c611f60565b73ffffffffffffffffffffffffffffffffffffffff166103ba611699565b73ffffffffffffffffffffffffffffffffffffffff161461043c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60015467ffffffffffffffff74010000000000000000000000000000000000000000909104811690831611156104a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049e9061515c565b60405180910390fd5b8167ffffffffffffffff168167ffffffffffffffff1611156104f5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049e906150b9565b600180547fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000067ffffffffffffffff8581169190910291909117909155600280547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000169183169190911790556040517f6bf5eac09393e139ddf7cf518865661d7035e774bfb280d4226cbe4ef0652ed7906105ab90339085908590614ecb565b60405180910390a15050565b60025468010000000000000000900463ffffffff1681565b600960209081526000928352604080842090915290825290205481565b60025467ffffffffffffffff1681565b60006002600054141561067057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260005560055473ffffffffffffffffffffffffffffffffffffffff1633146106c6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049e90615125565b6106d08486611f64565b7fbc7c8a4d8049a3f99a02f2a20640c206a2e4d3f2fa54fd20da9f01fda3620cda8585604051610701929190614f9e565b60405180910390a1507f150b7a0200000000000000000000000000000000000000000000000000000000600160005595945050505050565b600080600080600260005414156107b157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000908155855181526007602052604090205473ffffffffffffffffffffffffffffffffffffffff16610812576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049e90615238565b61081a6143f3565b60055460408051608081018252885181523060208201526fffffffffffffffffffffffffffffffff818301819052606082015290517ffc6f786500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9092169163fc6f78659161089d91600401615354565b6040805180830381600087803b1580156108b657600080fd5b505af11580156108ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108ee9190614b8d565b6020830152815260055486516040517f99fbab8800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909216916399fbab889161094b916004016154a3565b6101806040518083038186803b15801561096457600080fd5b505afa158015610978573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061099c9190614c0b565b5050505050600290810b810b61018089015290810b900b61016087015262ffffff1661014086015273ffffffffffffffffffffffffffffffffffffffff90811661012086015290811661010085019081528951600090815260076020908152604080832054851660e08901819052835260098252808320935190941682529190915220548351610a2e935091506120f8565b815260e081015173ffffffffffffffffffffffffffffffffffffffff908116600090815260096020908152604080832061012086015190941683529281529190205490820151610a7d916120f8565b60208201528051151580610a95575060008160200151115b1561104857600060405180610160016040528083610100015173ffffffffffffffffffffffffffffffffffffffff16815260200183610120015173ffffffffffffffffffffffffffffffffffffffff16815260200183610140015162ffffff16815260200183610160015160020b815260200183610180015160020b8152602001836000015181526020018360200151815260200142815260200188602001516002811115610b4057fe5b815260e084015173ffffffffffffffffffffffffffffffffffffffff1633146020820152606089015115156040909101529050610b7c81612173565b60608701526040860181905260c08601919091526020850191909152908352151580610bac575060008260600151115b15610c91576005546040805160c0810182528951815284820151602082015260608086015182840152600090820181905260808201524260a082015290517f219f5d1700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9092169163219f5d1791610c389160040161545f565b606060405180830381600087803b158015610c5257600080fd5b505af1158015610c66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c8a91906149c0565b9095509350505b60e082015173ffffffffffffffffffffffffffffffffffffffff163314610ead57600087602001516002811115610cc457fe5b1415610d5d57600154610d0f906801000000000000000090610d0990879074010000000000000000000000000000000000000000900467ffffffffffffffff16612a97565b90612b0a565b6080830152600154610d53906801000000000000000090610d0990869074010000000000000000000000000000000000000000900467ffffffffffffffff16612a97565b60a0830152610ead565b60c0820151600090610d8b90610d8490610d09876c01000000000000000000000000612a97565b86906120f8565b9050600188602001516002811115610d9f57fe5b1415610e1757600154610de4906801000000000000000090610d0990849074010000000000000000000000000000000000000000900467ffffffffffffffff16612a97565b60808401528251610df59086612b8b565b83608001511115610e12578251610e0c9086612b8b565b60808401525b610eab565b60015460c0840151610e77916801000000000000000091610d099174010000000000000000000000000000000000000000900467ffffffffffffffff1690610e71906c010000000000000000000000009084908890612a97565b90612a97565b60a08401526020830151610e8b9085612b8b565b8360a001511115610eab576020830151610ea59085612b8b565b60a08401525b505b610ee58260e00151836101000151610ee08560800151610eda898860000151612b8b90919063ffffffff16565b90612b8b565b612c02565b610f128260e00151836101200151610ee08560a00151610eda888860200151612b8b90919063ffffffff16565b60e082015173ffffffffffffffffffffffffffffffffffffffff16331415610f41576000955060009450611046565b600254600154608084015167ffffffffffffffff92831674010000000000000000000000000000000000000000909204831691820392600092610f8c929091610d0991908616612a97565b60015460a0860151919250600091610fce9167ffffffffffffffff74010000000000000000000000000000000000000000909104811691610d09918716612a97565b6080860151909150610fe09083612b8b565b60a0860151909950610ff29082612b8b565b9750611004338661010001518b612d43565b611014338661012001518a612d43565b61102b61101f611699565b86610100015184612d43565b611042611036611699565b86610120015183612d43565b5050505b505b8560400151156110675761106781610100015182610120015133612df7565b85516101008201516101208301516040517f85058548e7a7243b0976c561ca5316398d5368a87260205c952f2dc35aadc4ea936110b09333939192899289928d928d9290614e42565b60405180910390a150600160005592949193509190565b606481565b6000806002600054141561114157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000908155833581526007602052604090205473ffffffffffffffffffffffffffffffffffffffff1633146111a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049e9061526f565b6005546040805160a0810182528535815273ffffffffffffffffffffffffffffffffffffffff90921691630c49ccbe916020808301916111e9919089019089016149a4565b6fffffffffffffffffffffffffffffffff168152602001866040013581526020018660600135815260200186608001358152506040518263ffffffff1660e01b815260040161123891906153ad565b6040805180830381600087803b15801561125157600080fd5b505af1158015611265573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112899190614b8d565b6040805160808101909152853581529193509150600090602081016112b460c0870160a08801614658565b73ffffffffffffffffffffffffffffffffffffffff1681526020016112d885612e84565b6fffffffffffffffffffffffffffffffff1681526020016112f884612e84565b6fffffffffffffffffffffffffffffffff1690526005546040517ffc6f786500000000000000000000000000000000000000000000000000000000815291925073ffffffffffffffffffffffffffffffffffffffff169063fc6f786590611363908490600401615354565b6040805180830381600087803b15801561137c57600080fd5b505af1158015611390573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113b49190614b8d565b50506001600055509092909150565b60035473ffffffffffffffffffffffffffffffffffffffff1681565b6002600054141561145157604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000558061148d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049e906152a6565b33600090815260096020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091529020546114ca84848385612ea3565b505060016000555050565b6002546c01000000000000000000000000900463ffffffff1681565b67051eb851eb851eb881565b6008602052816000526040600020818154811061151957600080fd5b90600052602060002001600091509150505481565b60076020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600860205260409020545b919050565b61158a611f60565b73ffffffffffffffffffffffffffffffffffffffff166115a8611699565b73ffffffffffffffffffffffffffffffffffffffff161461162a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b60015460405160009173ffffffffffffffffffffffffffffffffffffffff16907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055565b60015473ffffffffffffffffffffffffffffffffffffffff1690565b6002600054141561172757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600260005573ffffffffffffffffffffffffffffffffffffffff831630141561177c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049e90615201565b60008481526007602052604090205473ffffffffffffffffffffffffffffffffffffffff1633146117d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049e9061526f565b6117e33385612fc7565b6005546040517fb88d4fde00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063b88d4fde9061183f903090879089908790600401614f5f565b600060405180830381600087803b15801561185957600080fd5b505af115801561186d573d6000803e3d6000fd5b505050507f8210728e7c071f615b840ee026032693858fbcd5e5359e67e438c890f59e56203384866040516118a493929190614e11565b60405180910390a181156114ca576005546040517f99fbab88000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff909116906399fbab889061190d9089906004016154a3565b6101806040518083038186803b15801561192657600080fd5b505afa15801561193a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061195e9190614c0b565b5050505050505050935093505050611977828287612df7565b5050505060016000555050565b60608167ffffffffffffffff8111801561199d57600080fd5b506040519080825280602002602001820160405280156119d157816020015b60608152602001906001900390816119bc5790505b50905060005b82811015611a5a57611a3b308585848181106119ef57fe5b9050602002810190611a0191906154fb565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061317892505050565b828281518110611a4757fe5b60209081029190910101526001016119d7565b505b92915050565b60015474010000000000000000000000000000000000000000900467ffffffffffffffff1681565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b60045473ffffffffffffffffffffffffffffffffffffffff1681565b611ae6611f60565b73ffffffffffffffffffffffffffffffffffffffff16611b04611699565b73ffffffffffffffffffffffffffffffffffffffff1614611b8657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6002805463ffffffff8381166c01000000000000000000000000027fffffffffffffffffffffffffffffffff00000000ffffffffffffffffffffffff91861668010000000000000000027fffffffffffffffffffffffffffffffffffffffff00000000ffffffffffffffff90931692909217161790556040517f6407e737599e73d88c23c05e1445b8be97a1ba0093234c3b0318836a24ae33c2906105ab90339085908590614e97565b611c38611f60565b73ffffffffffffffffffffffffffffffffffffffff16611c56611699565b73ffffffffffffffffffffffffffffffffffffffff1614611cd857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b73ffffffffffffffffffffffffffffffffffffffff8116611d44576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806155f26026913960400191505060405180910390fd5b60015460405173ffffffffffffffffffffffffffffffffffffffff8084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60008060026000541415611e4757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60026000908155833581526007602052604090205473ffffffffffffffffffffffffffffffffffffffff163314611eaa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049e9061526f565b6005546040517ffc6f786500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063fc6f786590611f009086906004016152dd565b6040805180830381600087803b158015611f1957600080fd5b505af1158015611f2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f519190614b8d565b60016000559094909350915050565b3390565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260086020526040902054606411611fc3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049e906151ca565b6005546040517f99fbab88000000000000000000000000000000000000000000000000000000008152600091829173ffffffffffffffffffffffffffffffffffffffff909116906399fbab889061201e9087906004016154a3565b6101806040518083038186803b15801561203757600080fd5b505afa15801561204b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061206f9190614c0b565b5050505050505050935093505050612087828261319d565b505073ffffffffffffffffffffffffffffffffffffffff166000818152600860209081526040808320805460018101825590845282842001859055938252600790529190912080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169091179055565b60008282018381101561216c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60008060008060006121836144a8565b60a087015160c0880151600480548a5160208c01516040808e015190517f1698ee82000000000000000000000000000000000000000000000000000000008152969c50949a5060009573ffffffffffffffffffffffffffffffffffffffff90931694631698ee82946121f59401614f2a565b60206040518083038186803b15801561220d57600080fd5b505afa158015612221573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122459190614674565b90508073ffffffffffffffffffffffffffffffffffffffff16633850c7bd6040518163ffffffff1660e01b815260040160e06040518083038186803b15801561228d57600080fd5b505afa1580156122a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122c591906149f6565b5050505050600290810b810b608085015273ffffffffffffffffffffffffffffffffffffffff90911660c08401525463ffffffff6c010000000000000000000000009091041680156123685761231b8282613417565b1580156101a0860152600291820b90910b60a085015261235f5761235a83608001518460a00151600260089054906101000a900463ffffffff166135a6565b612368565b60006101408a01525b60c08301516123a0906c0100000000000000000000000090610d099073ffffffffffffffffffffffffffffffffffffffff1680612a97565b6001549096506123fe906801000000000000000090610d099074010000000000000000000000000000000000000000900467ffffffffffffffff16610e716123f78b848e6c01000000000000000000000000612a97565b8d906120f8565b6101c0840152610140890151156128ff5761241c8960600151613636565b73ffffffffffffffffffffffffffffffffffffffff1660e0840152608089015161244590613636565b73ffffffffffffffffffffffffffffffffffffffff16610100840181905260c084015160e0850151612484926c010000000000000000000000006139c9565b6060850152604084018190526124a95761014083018890526001610180840152612608565b60608301516124e0576124cd86610d09896c01000000000000000000000000612a97565b6101408401526000610180840152612608565b606083015160408401516125069190610d09906c01000000000000000000000000612a97565b610120840152612523886c01000000000000000000000000612a97565b6101208401516125339089612a97565b106101808401819052156125aa5761012083015161259f90612574906c010000000000000000000000009061256e908290610d09908c612a97565b906120f8565b610120850151610d0990612588908b612a97565b610eda8c6c01000000000000000000000000612a97565b610140840152612608565b610120830151612601906125d7906c010000000000000000000000009061256e908290610d09908c612a97565b610d096125f18b6c01000000000000000000000000612a97565b610120870151610eda908c612a97565b6101408401525b8861012001516127d2576001896101000151600281111561262557fe5b1415612701576101c083015183526101808301511561269857826101c001518361014001511061266f576101c083015161014084015161266491612b8b565b610140840152612693565b6101408301516101c084015161268491612b8b565b61014084015260006101808401525b6126fc565b6101c08301516101408401516126ad916120f8565b6101408401526126ce86610d09896c01000000000000000000000000612a97565b83610140015111156126fc576126f586610d09896c01000000000000000000000000612a97565b6101408401525b6127d2565b6002896101000151600281111561271457fe5b14156127d2576101c083015161273d906c0100000000000000000000000090610d099089612a97565b60208401526101808301516127a557826101c001518361014001511061277d576101c083015161014084015161277291612b8b565b6101408401526126fc565b6101408301516101c084015161279291612b8b565b61014084015260016101808401526127d2565b6101c08301516101408401516127ba916120f8565b61014084018190528810156127d25761014083018890525b610140830151156128fa578261018001511561285b57600061282d8a600001518b604001518c6020015160405160200161280e93929190614d53565b6040516020818303038152906040528561014001518c60e00151613ab3565b90506128478461014001518a612b8b90919063ffffffff16565b985061285388826120f8565b9750506128fa565b61014083015161287e906c0100000000000000000000000090610d099089612a97565b6101608401819052156128fa5760006128d08a602001518b604001518c600001516040516020016128b193929190614d53565b6040516020818303038152906040528561016001518c60e00151613ab3565b90506128dc89826120f8565b98506128f684610160015189612b8b90919063ffffffff16565b9750505b612971565b886101200151612971576001896101000151600281111561291c57fe5b141561292f576101c08301518352612971565b6002896101000151600281111561294257fe5b1415612971576101c083015161296b906c0100000000000000000000000090610d099089612a97565b60208401525b8861012001511561298757879450869350612a8b565b6000896101000151600281111561299a57fe5b1415612a48576001546129ef906129dc9074010000000000000000000000000000000000000000900467ffffffffffffffff16680100000000000000006120f8565b610d098a68010000000000000000612a97565b600154909550612a4190612a2e9074010000000000000000000000000000000000000000900467ffffffffffffffff16680100000000000000006120f8565b610d098968010000000000000000612a97565b9350612a8b565b82518811612a57576000612a64565b8251612a64908990612b8b565b945082602001518711612a78576000612a88565b6020830151612a88908890612b8b565b93505b50505091939590929450565b600082612aa657506000611a5c565b82820282848281612ab357fe5b041461216c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260218152602001806156186021913960400191505060405180910390fd5b6000808211612b7a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b818381612b8357fe5b049392505050565b600082821115612bfc57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b73ffffffffffffffffffffffffffffffffffffffff80841660009081526009602090815260408083209386168352929052205480821115612cbb5773ffffffffffffffffffffffffffffffffffffffff80851660009081526009602090815260408083209387168352929052208290557fe1cb6ff87f969a5417674b37becf2a6b22fe022e53b42589f26de8c7beaf467e8484612c9f8585612b8b565b604051612cae93929190614e11565b60405180910390a1612d3d565b80821015612d3d5773ffffffffffffffffffffffffffffffffffffffff80851660009081526009602090815260408083209387168352929052208290557fdc00da755aafba62cce1ed2ae8d6cc2004d2d2414ee2d571d190574ae4598a8b8484612d258486612b8b565b604051612d3493929190614e11565b60405180910390a15b50505050565b73ffffffffffffffffffffffffffffffffffffffff808416600090815260096020908152604080832093861683529290522054612d8090826120f8565b73ffffffffffffffffffffffffffffffffffffffff8085166000908152600960209081526040808320938716835292905281902091909155517fe1cb6ff87f969a5417674b37becf2a6b22fe022e53b42589f26de8c7beaf467e90612dea90859085908590614e11565b60405180910390a1505050565b33600090815260096020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091529020548015612e3a57612e3a84838384612ea3565b33600090815260096020908152604080832073ffffffffffffffffffffffffffffffffffffffff871684529091529020548015612e7d57612e7d84848384612ea3565b5050505050565b806fffffffffffffffffffffffffffffffff8116811461157d57600080fd5b81811115612edd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049e906150ee565b33600090815260096020908152604080832073ffffffffffffffffffffffffffffffffffffffff88168452909152902054612f189082612b8b565b33600081815260096020908152604080832073ffffffffffffffffffffffffffffffffffffffff8a168452909152908190209290925590517fdc00da755aafba62cce1ed2ae8d6cc2004d2d2414ee2d571d190574ae4598a8b91612f7f9187908590614e11565b60405180910390a1612f92848483613b8f565b7fadd3a6320dd54346ddf0c55851727ae3d93433722e55d17a42451c6c0ae66f9b33858584604051612d349493929190614dda565b73ffffffffffffffffffffffffffffffffffffffff821660009081526008602090815260408083208054825181850281018501909352808352919290919083018282801561303457602002820191906000526020600020905b815481526020019060010190808311613020575b5050835193945083925060009150505b82811015613077578484828151811061305957fe5b6020026020010151141561306f57809150613077565b600101613044565b5081811061308157fe5b73ffffffffffffffffffffffffffffffffffffffff85166000908152600860205260409020805481907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81019081106130d657fe5b90600052602060002001548183815481106130ed57fe5b90600052602060002001819055508080548061310557fe5b6000828152602080822083017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810183905590920190925595815260079095525050604090922080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055505050565b606061216c838360405180606001604052806027815260200161563960279139613c1c565b6005546040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff8086169263dd62ed3e926131f9923092911690600401614f03565b60206040518083038186803b15801561321157600080fd5b505afa158015613225573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906132499190614aa1565b9050806132da5760055461329590849073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613d63565b6006546132da90849073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613d63565b6005546040517fdd62ed3e00000000000000000000000000000000000000000000000000000000815260009173ffffffffffffffffffffffffffffffffffffffff8086169263dd62ed3e92613336923092911690600401614f03565b60206040518083038186803b15801561334e57600080fd5b505afa158015613362573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133869190614aa1565b905080612d3d576005546133d290849073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613d63565b600654612d3d90849073ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff613d63565b60408051600280825260608201835260009283928392909160208301908036833701905050905060008160008151811061344d57fe5b602002602001019063ffffffff16908163ffffffff1681525050838160018151811061347557fe5b63ffffffff909216602092830291909101909101526040517f883bdbfd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff86169063883bdbfd906134dc908490600401615042565b60006040518083038186803b1580156134f457600080fd5b505afa92505050801561354757506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201604052613544919081019061483c565b60015b61355857600080925092505061359f565b8563ffffffff168260018151811061356c57fe5b60200260200101518360008151811061358157fe5b60200260200101510360060b8161359457fe5b056001945094505050505b9250929050565b8260020b8260020b1380156135cd57508063ffffffff1683830360020b65ffffffffffff16105b806135fb57508260020b8260020b131580156135fb57508063ffffffff1682840360020b65ffffffffffff16105b613631576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161049e90615193565b505050565b60008060008360020b1261364d578260020b613655565b8260020b6000035b9050620d89e88111156136c957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600160248201527f5400000000000000000000000000000000000000000000000000000000000000604482015290519081900360640190fd5b6000600182166136ea577001000000000000000000000000000000006136fc565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615613730576ffff97272373d413259a46990580e213a0260801c5b600482161561374f576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b600882161561376e576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b601082161561378d576fffcb9843d60f6159c9db58835c9266440260801c5b60208216156137ac576fff973b41fa98c081472e6896dfb254c00260801c5b60408216156137cb576fff2ea16466c96a3843ec78b326b528610260801c5b60808216156137ea576ffe5dee046a99a2a811c461f1969c30530260801c5b61010082161561380a576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b61020082161561382a576ff987a7253ac413176f2b074cf7815e540260801c5b61040082161561384a576ff3392b0822b70005940c7a398e4b70f30260801c5b61080082161561386a576fe7159475a2c29b7443b29c7fa6e889d90260801c5b61100082161561388a576fd097f3bdfd2022b8845ad8f792aa58250260801c5b6120008216156138aa576fa9f746462d870fdf8a65dc1f90e061e50260801c5b6140008216156138ca576f70d869a156d2a1b890bb3df62baf32f70260801c5b6180008216156138ea576f31be135f97d08fd981231505542fcfa60260801c5b6201000082161561390b576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561392b576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561394a576d2216e584f5fa1ea926041bedfe980260801c5b62080000821615613967576b048a170391f7dc42444e8fa20260801c5b60008460020b13156139a057807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8161399c57fe5b0490505b6401000000008106156139b45760016139b7565b60005b60ff16602082901c0192505050919050565b6000808373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161115613a04579293925b8473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1611613a4957613a42858585613ef1565b9150613aaa565b8373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161015613a9c57613a88868585613ef1565b9150613a95858785613fa4565b9050613aaa565b613aa7858585613fa4565b90505b94509492505050565b6000821561216c576006546040805160a081018252868152306020820152808201859052606081018690526000608082015290517fc04b8d5900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9092169163c04b8d5991613b35916004016153f9565b602060405180830381600087803b158015613b4f57600080fd5b505af1158015613b63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b879190614aa1565b949350505050565b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000179052613631908490614020565b6060613c27846140f8565b613c7c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260268152602001806156606026913960400191505060405180910390fd5b6000808573ffffffffffffffffffffffffffffffffffffffff16856040518082805190602001908083835b60208310613ce457805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101613ca7565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855af49150503d8060008114613d44576040519150601f19603f3d011682016040523d82523d6000602084013e613d49565b606091505b5091509150613d598282866140fe565b9695505050505050565b801580613e0f5750604080517fdd62ed3e00000000000000000000000000000000000000000000000000000000815230600482015273ffffffffffffffffffffffffffffffffffffffff848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b158015613de157600080fd5b505afa158015613df5573d6000803e3d6000fd5b505050506040513d6020811015613e0b57600080fd5b5051155b613e64576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260368152602001806156b06036913960400191505060405180910390fd5b6040805173ffffffffffffffffffffffffffffffffffffffff8416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f095ea7b300000000000000000000000000000000000000000000000000000000179052613631908490614020565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161115613f2b579192915b8373ffffffffffffffffffffffffffffffffffffffff16613f94606060ff16846fffffffffffffffffffffffffffffffff16901b86860373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff166141bc565b81613f9b57fe5b04949350505050565b60008273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161115613fde579192915b613b87826fffffffffffffffffffffffffffffffff1685850373ffffffffffffffffffffffffffffffffffffffff166c010000000000000000000000006141bc565b6000614082826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166142899092919063ffffffff16565b805190915015613631578080602001905160208110156140a157600080fd5b5051613631576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040180806020018281038252602a815260200180615686602a913960400191505060405180910390fd5b3b151590565b6060831561410d57508161216c565b82511561411d5782518084602001fd5b816040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b83811015614181578181015183820152602001614169565b50505050905090810190601f1680156141ae5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b600080807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85870986860292508281109083900303905080614210576000841161420557600080fd5b50829004905061216c565b80841161421c57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b6060613b8784846000858561429d856140f8565b61430857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040518082805190602001908083835b6020831061437157805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101614334565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146143d3576040519150601f19603f3d011682016040523d82523d6000602084013e6143d8565b606091505b50915091506143e88282866140fe565b979650505050505050565b604051806101a0016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600062ffffff168152602001600060020b8152602001600060020b81525090565b604051806101e0016040528060008152602001600081526020016000815260200160008152602001600060020b8152602001600060020b8152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001600081526020016000815260200160008152602001600015158152602001600015158152602001600081525090565b805161157d816155a0565b600082601f830112614585578081fd5b8151602061459a61459583615582565b61555e565b82815281810190858301838502870184018810156145b6578586fd5b855b858110156145dd5781516145cb816155a0565b845292840192908401906001016145b8565b5090979650505050505050565b8051600281900b811461157d57600080fd5b805161157d816155d3565b805161ffff8116811461157d57600080fd5b805162ffffff8116811461157d57600080fd5b803563ffffffff8116811461157d57600080fd5b803567ffffffffffffffff8116811461157d57600080fd5b600060208284031215614669578081fd5b813561216c816155a0565b600060208284031215614685578081fd5b815161216c816155a0565b600080604083850312156146a2578081fd5b82356146ad816155a0565b915060208301356146bd816155a0565b809150509250929050565b6000806000606084860312156146dc578081fd5b83356146e7816155a0565b925060208401356146f7816155a0565b929592945050506040919091013590565b60008060008060006080868803121561471f578283fd5b853561472a816155a0565b9450602086013561473a816155a0565b935060408601359250606086013567ffffffffffffffff8082111561475d578283fd5b818801915088601f830112614770578283fd5b81358181111561477e578384fd5b89602082850101111561478f578384fd5b9699959850939650602001949392505050565b600080604083850312156147b4578182fd5b82356147bf816155a0565b946020939093013593505050565b600080602083850312156147df578182fd5b823567ffffffffffffffff808211156147f6578384fd5b818501915085601f830112614809578384fd5b813581811115614817578485fd5b866020808302850101111561482a578485fd5b60209290920196919550909350505050565b6000806040838503121561484e578182fd5b825167ffffffffffffffff80821115614865578384fd5b818501915085601f830112614878578384fd5b8151602061488861459583615582565b82815281810190858301838502870184018b10156148a4578889fd5b8896505b848710156148d45780518060060b81146148c057898afd5b8352600196909601959183019183016148a8565b50918801519196509093505050808211156148ed578283fd5b506148fa85828601614575565b9150509250929050565b600060808284031215614915578081fd5b6040516080810181811067ffffffffffffffff8211171561493257fe5b6040528235815260208301356003811061494a578283fd5b6020820152604083013561495d816155c5565b60408201526060830135614970816155c5565b60608201529392505050565b60006080828403121561498d578081fd5b50919050565b600060c0828403121561498d578081fd5b6000602082840312156149b5578081fd5b813561216c816155d3565b6000806000606084860312156149d4578081fd5b83516149df816155d3565b602085015160409095015190969495509392505050565b600080600080600080600060e0888a031215614a10578485fd5b8751614a1b816155a0565b9650614a29602089016145ea565b9550614a3760408901614607565b9450614a4560608901614607565b9350614a5360808901614607565b925060a088015160ff81168114614a68578283fd5b60c0890151909250614a79816155c5565b8091505092959891949750929550565b600060208284031215614a9a578081fd5b5035919050565b600060208284031215614ab2578081fd5b5051919050565b60008060008060808587031215614ace578182fd5b84359350602080860135614ae1816155a0565b93506040860135614af1816155c5565b9250606086013567ffffffffffffffff80821115614b0d578384fd5b818801915088601f830112614b20578384fd5b813581811115614b2c57fe5b614b5c847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160161555e565b91508082528984828501011115614b71578485fd5b8084840185840137810190920192909252939692955090935050565b60008060408385031215614b9f578182fd5b505080516020909101519092909150565b60008060408385031215614bc2578182fd5b614bcb8361462c565b9150614bd96020840161462c565b90509250929050565b60008060408385031215614bf4578182fd5b614bfd83614640565b9150614bd960208401614640565b6000806000806000806000806000806000806101808d8f031215614c2d578586fd5b8c516bffffffffffffffffffffffff81168114614c48578687fd5b9b50614c5660208e0161456a565b9a50614c6460408e0161456a565b9950614c7260608e0161456a565b9850614c8060808e01614619565b9750614c8e60a08e016145ea565b9650614c9c60c08e016145ea565b9550614caa60e08e016145fc565b94506101008d015193506101208d01519250614cc96101408e016145fc565b9150614cd86101608e016145fc565b90509295989b509295989b509295989b565b60008151808452815b81811015614d0f57602081850181015186830182015201614cf3565b81811115614d205782602083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b606093841b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000908116825260e89390931b7fffffff0000000000000000000000000000000000000000000000000000000000166014820152921b166017820152602b0190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b73ffffffffffffffffffffffffffffffffffffffff9485168152928416602084015292166040820152606081019190915260800190565b73ffffffffffffffffffffffffffffffffffffffff9384168152919092166020820152604081019190915260600190565b73ffffffffffffffffffffffffffffffffffffffff9889168152602081019790975260408701959095526060860193909352608085019190915260a0840152831660c083015290911660e08201526101000190565b73ffffffffffffffffffffffffffffffffffffffff93909316835263ffffffff918216602084015216604082015260600190565b73ffffffffffffffffffffffffffffffffffffffff93909316835267ffffffffffffffff918216602084015216604082015260600190565b73ffffffffffffffffffffffffffffffffffffffff92831681529116602082015260400190565b73ffffffffffffffffffffffffffffffffffffffff938416815291909216602082015262ffffff909116604082015260600190565b600073ffffffffffffffffffffffffffffffffffffffff808716835280861660208401525083604083015260806060830152613d596080830184614cea565b73ffffffffffffffffffffffffffffffffffffffff929092168252602082015260400190565b6000602080830181845280855180835260408601915060408482028701019250838701855b82811015615035577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc0888603018452615023858351614cea565b94509285019290850190600101614fe9565b5092979650505050505050565b6020808252825182820181905260009190848201906040850190845b8181101561508057835163ffffffff168352928401929184019160010161505e565b50909695505050505050565b7fffffffff0000000000000000000000000000000000000000000000000000000091909116815260200190565b6020808252818101527f636f6d706f756e646572426f6e75735836343e746f74616c426f6e7573583634604082015260600190565b6020808252600e908201527f616d6f756e743e62616c616e6365000000000000000000000000000000000000604082015260600190565b6020808252600a908201527f21756e69763320706f7300000000000000000000000000000000000000000000604082015260600190565b6020808252600e908201527f3e746f74616c426f6e7573583634000000000000000000000000000000000000604082015260600190565b60208082526009908201527f7072696365206572720000000000000000000000000000000000000000000000604082015260600190565b60208082526015908201527f6d617820706f736974696f6e7320726561636865640000000000000000000000604082015260600190565b60208082526008908201527f746f3d3d74686973000000000000000000000000000000000000000000000000604082015260600190565b60208082526006908201527f21666f756e640000000000000000000000000000000000000000000000000000604082015260600190565b60208082526006908201527f216f776e65720000000000000000000000000000000000000000000000000000604082015260600190565b60208082526009908201527f616d6f756e743d3d300000000000000000000000000000000000000000000000604082015260600190565b813581526080810160208301356152f3816155a0565b73ffffffffffffffffffffffffffffffffffffffff166020830152604083013561531c816155d3565b6fffffffffffffffffffffffffffffffff9081166040840152606084013590615344826155d3565b8082166060850152505092915050565b8151815260208083015173ffffffffffffffffffffffffffffffffffffffff16908201526040808301516fffffffffffffffffffffffffffffffff90811691830191909152606092830151169181019190915260800190565b600060a082019050825182526fffffffffffffffffffffffffffffffff602084015116602083015260408301516040830152606083015160608301526080830151608083015292915050565b600060208252825160a0602084015261541560c0840182614cea565b905073ffffffffffffffffffffffffffffffffffffffff60208501511660408401526040840151606084015260608401516080840152608084015160a08401528091505092915050565b600060c082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a083015160a083015292915050565b90815260200190565b918252602082015260400190565b93845260208401929092526040830152606082015260800190565b63ffffffff91909116815260200190565b67ffffffffffffffff91909116815260200190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261552f578283fd5b83018035915067ffffffffffffffff821115615549578283fd5b60200191503681900382131561359f57600080fd5b60405181810167ffffffffffffffff8111828210171561557a57fe5b604052919050565b600067ffffffffffffffff82111561559657fe5b5060209081020190565b73ffffffffffffffffffffffffffffffffffffffff811681146155c257600080fd5b50565b80151581146155c257600080fd5b6fffffffffffffffffffffffffffffffff811681146155c257600080fdfe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6e74726163745361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a26469706673582212209ea1142f420fa84e6f84a8ad26adfcd00cde3762f1b69b7693e7acd5fe8b454e64736f6c634300070600330000000000000000000000000d500b1d8e8ef31e21c99d1db9a6444d3adf12700000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f984000000000000000000000000c36442b4a4522e871399cd717abdd847ab11fe88000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564