0x608060405234801561001057600080fd5b5061001a3361001f565b61006f565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6107b38061007e6000396000f3fe6080604052600436106100845760003560e01c8063715018a611610056578063715018a6146101135780638980f11f146101285780638da5cb5b14610148578063c3825f4b14610170578063f2fde38b146101a857005b806322e011921461008d5780632b66d72e146100c05780632e1a7d4d146100d3578063524f3889146100f357005b3661008b57005b005b34801561009957600080fd5b506100ad6100a8366004610699565b6101c8565b6040519081526020015b60405180910390f35b61008b6100ce36600461065c565b610246565b3480156100df57600080fd5b5061008b6100ee3660046106de565b6102cc565b3480156100ff57600080fd5b506100ad61010e36600461065c565b610333565b34801561011f57600080fd5b5061008b61035b565b34801561013457600080fd5b5061008b610143366004610610565b610391565b34801561015457600080fd5b506000546040516001600160a01b0390911681526020016100b7565b34801561017c57600080fd5b506100ad61018b36600461065c565b805160208183018101805160018252928201919093012091525481565b3480156101b457600080fd5b5061008b6101c33660046105ee565b610461565b600080546001600160a01b031633146101fc5760405162461bcd60e51b81526004016101f390610732565b60405180910390fd5b8160018460405161020d91906106f7565b90815260200160405180910390208190555060018360405161022f91906106f7565b908152602001604051809103902054905092915050565b6000546001600160a01b031633148061027d575060018160405161026a91906106f7565b9081526020016040518091039020543410155b6102c95760405162461bcd60e51b815260206004820181905260248201527f5365727669636550726f76696465723a20496e636f727265637420707269636560448201526064016101f3565b50565b6000546001600160a01b031633146102f65760405162461bcd60e51b81526004016101f390610732565b600080546040516001600160a01b039091169183156108fc02918491818181858888f1935050505015801561032f573d6000803e3d6000fd5b5050565b600060018260405161034591906106f7565b9081526020016040518091039020549050919050565b6000546001600160a01b031633146103855760405162461bcd60e51b81526004016101f390610732565b61038f60006104f5565b565b6000546001600160a01b031633146103bb5760405162461bcd60e51b81526004016101f390610732565b816001600160a01b031663a9059cbb6103dc6000546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101849052604401602060405180830381600087803b15801561042457600080fd5b505af1158015610438573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061045c919061063a565b505050565b6000546001600160a01b0316331461048b5760405162461bcd60e51b81526004016101f390610732565b6001600160a01b0381166104f05760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016101f3565b6102c9815b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b038116811461055c57600080fd5b919050565b600082601f83011261057257600080fd5b813567ffffffffffffffff8082111561058d5761058d610767565b604051601f8301601f19908116603f011681019082821181831017156105b5576105b5610767565b816040528381528660208588010111156105ce57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60006020828403121561060057600080fd5b61060982610545565b9392505050565b6000806040838503121561062357600080fd5b61062c83610545565b946020939093013593505050565b60006020828403121561064c57600080fd5b8151801515811461060957600080fd5b60006020828403121561066e57600080fd5b813567ffffffffffffffff81111561068557600080fd5b61069184828501610561565b949350505050565b600080604083850312156106ac57600080fd5b823567ffffffffffffffff8111156106c357600080fd5b6106cf85828601610561565b95602094909401359450505050565b6000602082840312156106f057600080fd5b5035919050565b6000825160005b8181101561071857602081860181015185830152016106fe565b81811115610727576000828501525b509190910192915050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052604160045260246000fdfea2646970667358221220f287b5c81f41cd3de10777409d09b3b686ef1e117543779acb8393924f826f9d64736f6c63430008060033