0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6107158061007e6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c806382eac7f01161005b57806382eac7f0146100cf5780638da5cb5b146100e2578063ed0e4193146100f3578063f2fde38b1461011457600080fd5b806344596ff6146100825780636e37f84914610097578063715018a6146100c7575b600080fd5b61009561009036600461056c565b610127565b005b6100aa6100a53660046105f6565b6101b6565b6040516001600160a01b0390911681526020015b60405180910390f35b6100956102bd565b6100aa6100dd36600461061a565b6102d1565b6000546001600160a01b03166100aa565b610106610101366004610633565b6102fb565b6040519081526020016100be565b6100956101223660046105f6565b610412565b61012f610490565b61013b6001600061053a565b60005b818110156101b157600183838381811061015a5761015a61066c565b905060200201602081019061016f91906105f6565b81546001810183556000928352602090922090910180546001600160a01b0319166001600160a01b039092169190911790556101aa81610682565b905061013e565b505050565b6000805b6001548110156102b4576000600182815481106101d9576101d961066c565b9060005260206000200160009054906101000a90046001600160a01b03169050836001600160a01b0316816001600160a01b031663dc4c90d36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610241573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061026591906106a9565b6001600160a01b0316036102a357600182815481106102865761028661066c565b6000918252602090912001546001600160a01b0316949350505050565b506102ad81610682565b90506101ba565b50600092915050565b6102c5610490565b6102cf60006104ea565b565b600181815481106102e157600080fd5b6000918252602090912001546001600160a01b0316905081565b600080829050836001600160a01b0316816001600160a01b031663dc4c90d36040518163ffffffff1660e01b8152600401602060405180830381865afa158015610349573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036d91906106a9565b6001600160a01b03160361038557600091505061040c565b6040516385e7c72d60e01b81526001600160a01b038581166004830152600091908316906385e7c72d90602401602060405180830381865afa1580156103cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103f391906106c6565b9050801561040457915061040c9050565b610400925050505b92915050565b61041a610490565b6001600160a01b0381166104845760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61048d816104ea565b50565b6000546001600160a01b031633146102cf5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161047b565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b508054600082559060005260206000209081019061048d91905b808211156105685760008155600101610554565b5090565b6000806020838503121561057f57600080fd5b823567ffffffffffffffff8082111561059757600080fd5b818501915085601f8301126105ab57600080fd5b8135818111156105ba57600080fd5b8660208260051b85010111156105cf57600080fd5b60209290920196919550909350505050565b6001600160a01b038116811461048d57600080fd5b60006020828403121561060857600080fd5b8135610613816105e1565b9392505050565b60006020828403121561062c57600080fd5b5035919050565b6000806040838503121561064657600080fd5b8235610651816105e1565b91506020830135610661816105e1565b809150509250929050565b634e487b7160e01b600052603260045260246000fd5b6000600182016106a257634e487b7160e01b600052601160045260246000fd5b5060010190565b6000602082840312156106bb57600080fd5b8151610613816105e1565b6000602082840312156106d857600080fd5b505191905056fea264697066735822122055ff0b5fd2b3db7cbc76ccd6805963cb62fc3a5d4afd6df048cf7c5bbc14ae3364736f6c63430008130033