0x6080604052600060015534801561001557600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350610c38806100666000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806386e5142711610097578063eaa6fe6a11610066578063eaa6fe6a146101e2578063f2fde38b146101eb578063f3308db0146101fe578063fd660d191461021157600080fd5b806386e51427146101905780638da5cb5b146101ab578063b5ab58dc146101bc578063b633620c146101cf57600080fd5b806350d25bcd116100d357806350d25bcd14610170578063668a0f0214610178578063715018a6146101805780638205bf6a1461018857600080fd5b806305ecd003146101055780631494e5901461012057806322a1584814610135578063245a7bfc14610168575b600080fd5b61010d610224565b6040519081526020015b60405180910390f35b61013361012e3660046109fc565b6102aa565b005b61015073f4030086522a5beea4988f8ca5b36dbc97bee88c81565b6040516001600160a01b039091168152602001610117565b610150610319565b61010d610391565b61010d6104c1565b610133610550565b61010d6105c4565b6101507385c4f855bc0609d2584405819edaea3adabfe97d81565b6000546001600160a01b0316610150565b61010d6101ca3660046109fc565b610647565b61010d6101dd3660046109fc565b6106d7565b61010d60015481565b6101336101f9366004610a2d565b610766565b61013361020c366004610a2d565b610850565b600254610150906001600160a01b031681565b60006102a5600260009054906101000a90046001600160a01b03166001600160a01b03166305ecd0036040518163ffffffff1660e01b8152600401602060405180830381865afa15801561027c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102a09190610a51565b6108c8565b905090565b6000546001600160a01b031633146102dd5760405162461bcd60e51b81526004016102d490610a6a565b60405180910390fd5b60018190556040518181527f905a12ca4ef68fe3be3c5ecaa06db3d77bf4dec31ee71fd14ac4a9bbd7b5187b906020015b60405180910390a150565b60007385c4f855bc0609d2584405819edaea3adabfe97d6001600160a01b03166347043b006040518163ffffffff1660e01b8152600401602060405180830381865afa15801561036d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102a59190610a9f565b60008061039c610932565b9050600060646103ad836066610ad2565b6103b79190610b57565b905060007385c4f855bc0609d2584405819edaea3adabfe97d6001600160a01b03166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610429575060408051601f3d908101601f1916820190925261042691810190610a51565b60015b610463576305f5e1008361043b610224565b6104459190610ad2565b61044f9190610b57565b905061045b81836109aa565b935050505090565b61046c816109c4565b156104a8576305f5e1008461047f610224565b6104899190610ad2565b6104939190610b57565b915061049f82846109aa565b94505050505090565b6305f5e1006104b78583610ad2565b61049f9190610b57565b6000807385c4f855bc0609d2584405819edaea3adabfe97d6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610516573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061053a9190610bb2565b69ffffffffffffffffffff169695505050505050565b6000546001600160a01b0316331461057a5760405162461bcd60e51b81526004016102d490610a6a565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000807385c4f855bc0609d2584405819edaea3adabfe97d6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610619573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063d9190610bb2565b5095945050505050565b604051639a6fc8f560e01b815269ffffffffffffffffffff8216600482015260009081907385c4f855bc0609d2584405819edaea3adabfe97d90639a6fc8f59060240160a060405180830381865afa1580156106a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cb9190610bb2565b50919695505050505050565b604051639a6fc8f560e01b815269ffffffffffffffffffff8216600482015260009081907385c4f855bc0609d2584405819edaea3adabfe97d90639a6fc8f59060240160a060405180830381865afa158015610737573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075b9190610bb2565b509695505050505050565b6000546001600160a01b031633146107905760405162461bcd60e51b81526004016102d490610a6a565b6001600160a01b0381166107f55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016102d4565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461087a5760405162461bcd60e51b81526004016102d490610a6a565b600280546001600160a01b0319166001600160a01b0383169081179091556040519081527f88ce5f5cfd128a4dbca2fd4d2f2820830ad58b6f88034c984dc954c8261963979060200161030e565b6000600160ff1b821061092e5760405162461bcd60e51b815260206004820152602860248201527f53616665436173743a2076616c756520646f65736e27742066697420696e2061604482015267371034b73a191a9b60c11b60648201526084016102d4565b5090565b600073f4030086522a5beea4988f8ca5b36dbc97bee88c6001600160a01b03166350d25bcd6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610986573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102a59190610a51565b6000818313156109bb5750806109be565b50815b92915050565b600080600154600014156109dd575063061465806109e2565b506001545b808313156109f35750600192915050565b50600092915050565b600060208284031215610a0e57600080fd5b5035919050565b6001600160a01b0381168114610a2a57600080fd5b50565b600060208284031215610a3f57600080fd5b8135610a4a81610a15565b9392505050565b600060208284031215610a6357600080fd5b5051919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215610ab157600080fd5b8151610a4a81610a15565b634e487b7160e01b600052601160045260246000fd5b60006001600160ff1b0381841382841380821686840486111615610af857610af8610abc565b600160ff1b6000871282811687830589121615610b1757610b17610abc565b60008712925087820587128484161615610b3357610b33610abc565b87850587128184161615610b4957610b49610abc565b505050929093029392505050565b600082610b7457634e487b7160e01b600052601260045260246000fd5b600160ff1b821460001984141615610b8e57610b8e610abc565b500590565b805169ffffffffffffffffffff81168114610bad57600080fd5b919050565b600080600080600060a08688031215610bca57600080fd5b610bd386610b93565b9450602086015193506040860151925060608601519150610bf660808701610b93565b9050929550929590935056fea264697066735822122082752fe24d813f08d70bec5a081b68f33b02dc0725023e529ad282c7e515fd0264736f6c634300080a0033