60806040819052600080546001600160a01b03191633178082556001600160a01b0316917f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd9908290a361062c806100576000396000f3fe60806040526004361061007b5760003560e01c80635e55d96f1161004e5780635e55d96f146101445780638f4a3bcd146101775780639965b3d6146101a0578063f1739cae146101b55761007b565b8063025313a2146100b45780630add8140146100e55780633659cfe6146100fa5780635c60da1b1461012f575b6002546001600160a01b03168061009157600080fd5b604051363d82373d3d3683855af43d806000843e8180156100b0578184f35b8184fd5b3480156100c057600080fd5b506100c96101e8565b604080516001600160a01b039092168252519081900360200190f35b3480156100f157600080fd5b506100c96101f7565b34801561010657600080fd5b5061012d6004803603602081101561011d57600080fd5b50356001600160a01b0316610206565b005b34801561013b57600080fd5b506100c96102fc565b34801561015057600080fd5b5061012d6004803603602081101561016757600080fd5b50356001600160a01b031661030b565b34801561018357600080fd5b5061018c6103c0565b604080519115158252519081900360200190f35b3480156101ac57600080fd5b5061012d6103d1565b3480156101c157600080fd5b5061012d600480360360208110156101d857600080fd5b50356001600160a01b03166103dc565b6000546001600160a01b031690565b6001546001600160a01b031690565b61020e6103c0565b6102625760408051600160e51b62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6002546001600160a01b03828116911614156102b257604051600160e51b62461bcd02815260040180806020018281038252602c8152602001806105d5602c913960400191505060405180910390fd5b600280546001600160a01b0319166001600160a01b0383169081179091556040517fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b6002546001600160a01b031681565b6000546001600160a01b03161561036c5760408051600160e51b62461bcd02815260206004820152601660248201527f4f776e61626c653a20616c7265616479206f776e656400000000000000000000604482015290519081900360640190fd5b6001600160a01b0381166103b457604051600160e51b62461bcd0281526004018080602001828103825260268152602001806105af6026913960400191505060405180910390fd5b6103bd8161047d565b50565b6000546001600160a01b0316331490565b6103da336104e7565b565b6103e46103c0565b6104385760408051600160e51b62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6104418161047d565b600080546040516001600160a01b03808516939216917fb3d55174552271a4f1aaf36b72f50381e892171636b3fb5447fe00e995e7a37b91a350565b6001600160a01b0381166104c557604051600160e51b62461bcd0281526004018080602001828103825260268152602001806105af6026913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b0382811691161461054c5760408051600160e51b62461bcd02815260206004820152601860248201527f436c61696d65642062792077726f6e6720616464726573730000000000000000604482015290519081900360640190fd5b600080546040516001600160a01b03808516939216917f5a3e66efaa1e445ebd894728a69d6959842ea1e97bd79b892797106e270efcd991a3600080546001600160a01b039092166001600160a01b031992831617905560018054909116905556fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734e657720696d706c656d656e746174696f6e2063616e6e6f74206265207468652073616d65206173206f6c64a165627a7a723058206ab544a2d5bea8abff86dc08ff8f7a6bdce11680535220fcad58aa9a5dd7b4a90029