0x6080604052348015600f57600080fd5b503380603557604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b603c816041565b506091565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6107d6806100a06000396000f3fe60806040526004361061004e5760003560e01c8063715018a61461005a5780638da5cb5b146100715780639e5d4c491461009e578063c4e3acd3146100cc578063f2fde38b146100ec57600080fd5b3661005557005b600080fd5b34801561006657600080fd5b5061006f61010c565b005b34801561007d57600080fd5b506000546040516001600160a01b0390911681526020015b60405180910390f35b3480156100aa57600080fd5b506100be6100b93660046105e8565b610120565b604051610095929190610672565b3480156100d857600080fd5b5061006f6100e73660046106c9565b610278565b3480156100f857600080fd5b5061006f6101073660046106f3565b610511565b61011461054f565b61011e600061057c565b565b6000606061012c61054f565b6001600160a01b0386166101805760405162461bcd60e51b8152602060048201526016602482015275496e76616c696420746172676574206164647265737360501b60448201526064015b60405180910390fd5b856001600160a01b031685858560405161019b929190610715565b60006040518083038185875af1925050503d80600081146101d8576040519150601f19603f3d011682016040523d82523d6000602084013e6101dd565b606091505b509092509050816102285760405162461bcd60e51b815260206004820152601560248201527410d85b1b08195e1958dd5d1a5bdb8819985a5b1959605a1b6044820152606401610177565b856001600160a01b03167fd6ccaa80f602e884644c27c8f83689468df0b077a05fb3b05cb6d2e1cb6b859c868686866040516102679493929190610725565b60405180910390a294509492505050565b61028061054f565b6001600160a01b0382166102ce5760405162461bcd60e51b8152602060048201526015602482015274496e76616c696420746f6b656e206164647265737360581b6044820152606401610177565b6000811161031e5760405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610177565b6040516370a0823160e01b815230600482015282906000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610367573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038b9190610765565b9050828110156103dd5760405162461bcd60e51b815260206004820152601a60248201527f496e73756666696369656e7420746f6b656e2062616c616e63650000000000006044820152606401610177565b6000826001600160a01b031663a9059cbb6104006000546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018790526044016020604051808303816000875af115801561044d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610471919061077e565b9050806104b25760405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606401610177565b6000546001600160a01b03166001600160a01b0316856001600160a01b03167f1d2f361398f0cd1eeefa9bd2e5d156e421a3dac8bafb57871aa221c6676631398660405161050291815260200190565b60405180910390a35050505050565b61051961054f565b6001600160a01b03811661054357604051631e4fbdf760e01b815260006004820152602401610177565b61054c8161057c565b50565b6000546001600160a01b0316331461011e5760405163118cdaa760e01b8152336004820152602401610177565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b03811681146105e357600080fd5b919050565b600080600080606085870312156105fe57600080fd5b610607856105cc565b935060208501359250604085013567ffffffffffffffff81111561062a57600080fd5b8501601f8101871361063b57600080fd5b803567ffffffffffffffff81111561065257600080fd5b87602082840101111561066457600080fd5b949793965060200194505050565b8215158152604060208201526000825180604084015260005b818110156106a8576020818601810151606086840101520161068b565b506000606082850101526060601f19601f8301168401019150509392505050565b600080604083850312156106dc57600080fd5b6106e5836105cc565b946020939093013593505050565b60006020828403121561070557600080fd5b61070e826105cc565b9392505050565b8183823760009101908152919050565b848152606060208201528260608201528284608083013760008184016080908101919091529115156040820152601f909201601f19169091010192915050565b60006020828403121561077757600080fd5b5051919050565b60006020828403121561079057600080fd5b8151801515811461070e57600080fdfea2646970667358221220ff0a0cf478eb55bf15a0eb2ef6a16d4c0032c397a3d69623883c12696146158b64736f6c634300081c0033