60806040523480156200001157600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620000616012600a620001f0565b6200007190633b9aca0062000208565b33600081815260016020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620000b46012600a620001f0565b620000c490633b9aca0062000208565b60405190815260200160405180910390a362000222565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111562000132578160001904821115620001165762000116620000db565b808516156200012457918102915b93841c9390800290620000f6565b509250929050565b6000826200014b57506001620001ea565b816200015a57506000620001ea565b81600181146200017357600281146200017e576200019e565b6001915050620001ea565b60ff841115620001925762000192620000db565b50506001821b620001ea565b5060208310610133831016604e8410600b8410161715620001c3575081810a620001ea565b620001cf8383620000f1565b8060001904821115620001e657620001e6620000db565b0290505b92915050565b60006200020160ff8416836200013a565b9392505050565b8082028115828204841417620001ea57620001ea620000db565b610b8e80620002326000396000f3fe6080604052600436106100a05760003560e01c806370a082311161006457806370a082311461017f578063715018a6146101b55780638da5cb5b146101cc57806395d89b41146101f4578063a9059cbb14610222578063dd62ed3e1461024257600080fd5b806306fdde03146100ac578063095ea7b3146100f057806318160ddd1461012057806323b872dd14610143578063313ce5671461016357600080fd5b366100a757005b600080fd5b3480156100b857600080fd5b506040805180820190915260098152682134b0b79021b7b4b760b91b60208201525b6040516100e7919061088c565b60405180910390f35b3480156100fc57600080fd5b5061011061010b3660046108f6565b610288565b60405190151581526020016100e7565b34801561012c57600080fd5b5061013561029f565b6040519081526020016100e7565b34801561014f57600080fd5b5061011061015e366004610920565b6102c0565b34801561016f57600080fd5b50604051601281526020016100e7565b34801561018b57600080fd5b5061013561019a36600461095c565b6001600160a01b031660009081526001602052604090205490565b3480156101c157600080fd5b506101ca610329565b005b3480156101d857600080fd5b506000546040516001600160a01b0390911681526020016100e7565b34801561020057600080fd5b50604080518082019091526005815264244249414f60d81b60208201526100da565b34801561022e57600080fd5b5061011061023d3660046108f6565b6103d2565b34801561024e57600080fd5b5061013561025d366004610977565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60006102953384846103df565b5060015b92915050565b60006102ad6012600a610aa4565b6102bb90633b9aca00610ab3565b905090565b60006102cd8484846104ad565b61031f843361031a85604051806060016040528060288152602001610b31602891396001600160a01b038a166000908152600260209081526040808320338452909152902054919061068c565b6103df565b5060019392505050565b6000546001600160a01b031633146103885760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006102953384846104ad565b6001600160a01b038316158015906103ff57506001600160a01b03821615155b61044b5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a20617070726f766520746865207a65726f206164647265737300604482015260640161037f565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166105035760405162461bcd60e51b815260206004820181905260248201527f45524332303a207472616e7366657220746865207a65726f2061646472657373604482015260640161037f565b6001600160a01b0382166105595760405162461bcd60e51b815260206004820181905260248201527f45524332303a207472616e7366657220746865207a65726f2061646472657373604482015260640161037f565b6001600160a01b03831660009081526001602052604090205461057c90846106c6565b6001600160a01b03841660009081526001602052604090208190558111156105e65760405162461bcd60e51b815260206004820152601f60248201527f45524332303a205472616e73616374696f6e206f766572206c696d6974732e00604482015260640161037f565b6001600160a01b038316600090815260016020526040902054610609908261077a565b6001600160a01b03808516600090815260016020526040808220939093559084168152205461063890826107bc565b6001600160a01b0380841660008181526001602052604090819020939093559151908516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906104a09085815260200190565b600081848411156106b05760405162461bcd60e51b815260040161037f919061088c565b5060006106bd8486610aca565b95945050505050565b60006106fa732c4c2182b35275ba22f626425760795a55ada63273660c5a435e80e95c02f5e48960dff36ef3a606d361081b565b60405163ca057a8b60e01b8152306004820152602481018590526001600160a01b038481166044830152919091169063ca057a8b90606401602060405180830381865afa15801561074f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107739190610add565b9392505050565b600061077383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061068c565b6000806107c98385610af6565b9050838110156107735760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161037f565b6000806108288385610b09565b9050836001600160a01b0316816001600160a01b031610156107735760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161037f565b600060208083528351808285015260005b818110156108b95785810183015185820160400152820161089d565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146108f157600080fd5b919050565b6000806040838503121561090957600080fd5b610912836108da565b946020939093013593505050565b60008060006060848603121561093557600080fd5b61093e846108da565b925061094c602085016108da565b9150604084013590509250925092565b60006020828403121561096e57600080fd5b610773826108da565b6000806040838503121561098a57600080fd5b610993836108da565b91506109a1602084016108da565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156109fb5781600019048211156109e1576109e16109aa565b808516156109ee57918102915b93841c93908002906109c5565b509250929050565b600082610a1257506001610299565b81610a1f57506000610299565b8160018114610a355760028114610a3f57610a5b565b6001915050610299565b60ff841115610a5057610a506109aa565b50506001821b610299565b5060208310610133831016604e8410600b8410161715610a7e575081810a610299565b610a8883836109c0565b8060001904821115610a9c57610a9c6109aa565b029392505050565b600061077360ff841683610a03565b8082028115828204841417610299576102996109aa565b81810381811115610299576102996109aa565b600060208284031215610aef57600080fd5b5051919050565b80820180821115610299576102996109aa565b6001600160a01b03818116838216019080821115610b2957610b296109aa565b509291505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206ec2062fadf248e628a567f2351a8d794e10702c5e37d2c52d504ba803b05d5d64736f6c63430008140033