0x6080604052600280546001600160581b03191661140a17905534801561002457600080fd5b5061002e33610033565b610083565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6109e3806100926000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063715018a611610066578063715018a61461015f5780638da5cb5b1461016757806395fa3c5414610178578063c25b7532146101a8578063f2fde38b146101c757600080fd5b806310082c75146100a357806310bb9908146100c157806319f59e5f1461010d5780633cef22021461013757806356f46fe41461014c575b600080fd5b6100ab6101da565b6040516100b8919061074c565b60405180910390f35b6100f56100cf3660046107a1565b60036020908152600092835260408084209091529082529020546001600160a01b031681565b6040516001600160a01b0390911681526020016100b8565b61012061011b3660046107c3565b610268565b6040805192835260ff9091166020830152016100b8565b61014a610145366004610804565b610495565b005b61014a61015a366004610844565b610543565b61014a610615565b6000546001600160a01b03166100f5565b6002546101909061010090046001600160501b031681565b6040516001600160501b0390911681526020016100b8565b6002546101b59060ff1681565b60405160ff90911681526020016100b8565b61014a6101d5366004610879565b610629565b600180546101e790610894565b80601f016020809104026020016040519081016040528092919081815260200182805461021390610894565b80156102605780601f1061023557610100808354040283529160200191610260565b820191906000526020600020905b81548152906001019060200180831161024357829003601f168201915b505050505081565b600083815260036020908152604080832085845290915281205481906001600160a01b0316806102df5760405162461bcd60e51b815260206004820152601860248201527f436861696e6c696e6b3a204e6f2061676772656761746f72000000000000000060448201526064015b60405180910390fd5b6000816001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa15801561031f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061034391906108ce565b509293506001925050505b6002546001600160501b03610100909104811690821611610426576000806001600160a01b038516639a6fc8f5610385858761093c565b6040516001600160e01b031960e084901b1681526001600160501b03909116600482015260240160a060405180830381865afa1580156103c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103ed91906108ce565b509350509250508781111580156104045750600081115b1561041157509450610426565b5050808061041e90610964565b91505061034e565b50816001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015610465573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610489919061098a565b92505050935093915050565b61049d6106a2565b6000816001600160501b03161180156104c057506014816001600160501b031611155b6105185760405162461bcd60e51b8152602060048201526024808201527f4e756d204974722073686f756c6420626520696e2030203c206e756d4974722060448201526303c2032360e41b60648201526084016102d6565b600280546001600160501b03909216610100026affffffffffffffffffff0019909216919091179055565b61054b6106a2565b6001600160a01b0381163b6105a25760405162461bcd60e51b815260206004820152601d60248201527f436861696e6c696e6b3a20496e76616c69642061676772656761746f7200000060448201526064016102d6565b600083815260036020908152604080832085845282529182902080546001600160a01b0319166001600160a01b038516908117909155825130815291820152839185917facf3a5e25db6b12c6f987caff5ffa1bb52a3bb717741973d4263934bd3369fb8910160405180910390a3505050565b61061d6106a2565b61062760006106fc565b565b6106316106a2565b6001600160a01b0381166106965760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102d6565b61069f816106fc565b50565b6000546001600160a01b031633146106275760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016102d6565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b600060208083528351808285015260005b818110156107795785810183015185820160400152820161075d565b8181111561078b576000604083870101525b50601f01601f1916929092016040019392505050565b600080604083850312156107b457600080fd5b50508035926020909101359150565b6000806000606084860312156107d857600080fd5b505081359360208301359350604090920135919050565b6001600160501b038116811461069f57600080fd5b60006020828403121561081657600080fd5b8135610821816107ef565b9392505050565b80356001600160a01b038116811461083f57600080fd5b919050565b60008060006060848603121561085957600080fd5b833592506020840135915061087060408501610828565b90509250925092565b60006020828403121561088b57600080fd5b61082182610828565b600181811c908216806108a857607f821691505b6020821081036108c857634e487b7160e01b600052602260045260246000fd5b50919050565b600080600080600060a086880312156108e657600080fd5b85516108f1816107ef565b809550506020860151935060408601519250606086015191506080860151610918816107ef565b809150509295509295909350565b634e487b7160e01b600052601160045260246000fd5b60006001600160501b038381169083168181101561095c5761095c610926565b039392505050565b60006001600160501b0380831681810361098057610980610926565b6001019392505050565b60006020828403121561099c57600080fd5b815160ff8116811461082157600080fdfea264697066735822122015bb01ace5a01bf3011d88d80c00de85a0e5932ee511f59d1a8910e63e4de86e64736f6c634300080d0033