60806040526008805460ff60a01b1916600160a01b1790553480156200002457600080fd5b5060405162001354380380620013548339810160408190526200004791620001d6565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620000966009600a6200033a565b620000a590620f424062000352565b336000908152600160208190526040822092909255600390620000d06000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905590861681526004909252902080548216600117905560058054821690556007805490911690556200012c3390565b600880546001600160a01b0319166001600160a01b03929092169190911790556005805461ff00191661010060ff8416021781556200016c908262000374565b6200017990600a6200033a565b6006553360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620001ae6009600a6200033a565b620001bd90620f424062000352565b60405190815260200160405180910390a35050620003a5565b60008060408385031215620001ea57600080fd5b82516001600160a01b03811681146200020257600080fd5b602084015190925060ff811681146200021a57600080fd5b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200027c57816000190482111562000260576200026062000225565b808516156200026e57918102915b93841c939080029062000240565b509250929050565b600082620002955750600162000334565b81620002a45750600062000334565b8160018114620002bd5760028114620002c857620002e8565b600191505062000334565b60ff841115620002dc57620002dc62000225565b50506001821b62000334565b5060208310610133831016604e8410600b84101617156200030d575081810a62000334565b6200031983836200023b565b806000190482111562000330576200033062000225565b0290505b92915050565b60006200034b60ff84168362000284565b9392505050565b60008160001904831182151516156200036f576200036f62000225565b500290565b600060ff8316806200039657634e487b7160e01b600052601260045260246000fd5b8060ff84160491505092915050565b610f9f80620003b56000396000f3fe6080604052600436106100ec5760003560e01c8063715018a61161008a578063a9059cbb11610059578063a9059cbb146102bb578063b0dc78c5146102db578063dd62ed3e146102f1578063e50542e2146102db57600080fd5b8063715018a6146102395780638da5cb5b1461025057806392250ffb1461026e57806395d89b411461028e57600080fd5b806323b872dd116100c657806323b872dd1461018f578063313ce567146101af5780635975904f146101cb57806370a082311461020357600080fd5b806306fdde03146100f8578063095ea7b31461013c57806318160ddd1461016c57600080fd5b366100f357005b600080fd5b34801561010457600080fd5b506040805180820190915260098152685368696261466f726b60b81b60208201525b6040516101339190610ca3565b60405180910390f35b34801561014857600080fd5b5061015c610157366004610d14565b610337565b6040519015158152602001610133565b34801561017857600080fd5b5061018161034e565b604051908152602001610133565b34801561019b57600080fd5b5061015c6101aa366004610d3e565b61036e565b3480156101bb57600080fd5b5060405160098152602001610133565b3480156101d757600080fd5b506009546101eb906001600160a01b031681565b6040516001600160a01b039091168152602001610133565b34801561020f57600080fd5b5061018161021e366004610d7a565b6001600160a01b031660009081526001602052604090205490565b34801561024557600080fd5b5061024e6103d7565b005b34801561025c57600080fd5b506000546001600160a01b03166101eb565b34801561027a57600080fd5b506008546101eb906001600160a01b031681565b34801561029a57600080fd5b50604080518082019091526004815263534f524b60e01b6020820152610126565b3480156102c757600080fd5b5061015c6102d6366004610d14565b610480565b3480156102e757600080fd5b506101eb61dead81565b3480156102fd57600080fd5b5061018161030c366004610d95565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b600061034433848461048d565b5060015b92915050565b600061035c6009600a610ec2565b61036990620f4240610ed1565b905090565b600061037b8484846105b2565b6103cd84336103c885604051806060016040528060288152602001610f42602891396001600160a01b038a1660009081526002602090815260408083203384529091529020549190610a66565b61048d565b5060019392505050565b6000546001600160a01b031633146104365760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b60006103443384846105b2565b6001600160a01b0383166104ef5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161042d565b6001600160a01b0382166105505760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161042d565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316158015906105d257506001600160a01b03821615155b61061e5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a207472616e73666572207a65726f20616464726573732e000000604482015260640161042d565b6000811161065d5760405162461bcd60e51b815260206004820152600c60248201526b2d32b9379030b6b7bab73a1760a11b604482015260640161042d565b6000546001600160a01b0384811691161480159061068957506000546001600160a01b03838116911614155b156109b5576001600160a01b03831660009081526003602052604090205460ff161580156106d057506001600160a01b03821660009081526003602052604090205460ff16155b1561081c576001600160a01b03821660009081526004602052604081205460ff161580159061072357600980546001600160a01b0319166001600160a01b0387161790556007805460ff19168215151790555b60075460ff166107755760405162461bcd60e51b815260206004820152601a60248201527f54726164652077696c6c206265206f70656e656420736f6f6e2e000000000000604482015260640161042d565b600954610790906001600160a01b0387811691161484610aa0565b6001600160a01b0386166000908152600160205260409020549092506107b69084610b15565b6001600160a01b0386166000908152600160205260409020556107fb6107dc8484610b15565b6001600160a01b03861660009081526001602052604090205490610b57565b6001600160a01b03851660009081526001602052604090205550610a219050565b6009546000906001600160a01b03858116911614801561085457506001600160a01b03831660009081526003602052604090205460ff165b15610913575060065430600090815260016020526040902054600854600160a01b900460ff1680156108865750600081115b15610911576108af610899826001610b15565b3060009081526001602052604090205490610b15565b306000908152600160208190526040909120919091556108f5906108d4908390610b15565b6008546001600160a01b031660009081526001602052604090205490610b57565b6008546001600160a01b03166000908152600160205260409020555b505b801561094457306000908152600160205260409020546109339082610b57565b306000908152600160205260409020555b6001600160a01b0384166000908152600160205260409020546109679083610b15565b6001600160a01b0380861660009081526001602052604080822093909355908516815220546109969083610b57565b6001600160a01b03841660009081526001602052604090205550610a21565b6001600160a01b0383166000908152600160205260409020546109d89082610b15565b6001600160a01b038085166000908152600160205260408082209390935590841681522054610a079082610b57565b6001600160a01b0383166000908152600160205260409020555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516105a591815260200190565b60008184841115610a8a5760405162461bcd60e51b815260040161042d9190610ca3565b506000610a978486610ef0565b95945050505050565b6000808315610ace57600554610ac790606490610ac190869060ff16610bb6565b90610c38565b9050610b0e565b306000908152600160205260409020541515610b0a6064610ac183610af4576000610b00565b600554610100900460ff165b879060ff16610bb6565b9150505b9392505050565b6000610b0e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a66565b600080610b648385610f07565b905083811015610b0e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161042d565b600082600003610bc857506000610348565b6000610bd48385610ed1565b905082610be18583610f1f565b14610b0e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161042d565b6000610b0e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060008183610c965760405162461bcd60e51b815260040161042d9190610ca3565b506000610a978486610f1f565b600060208083528351808285015260005b81811015610cd057858101830151858201604001528201610cb4565b81811115610ce2576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610d0f57600080fd5b919050565b60008060408385031215610d2757600080fd5b610d3083610cf8565b946020939093013593505050565b600080600060608486031215610d5357600080fd5b610d5c84610cf8565b9250610d6a60208501610cf8565b9150604084013590509250925092565b600060208284031215610d8c57600080fd5b610b0e82610cf8565b60008060408385031215610da857600080fd5b610db183610cf8565b9150610dbf60208401610cf8565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115610e19578160001904821115610dff57610dff610dc8565b80851615610e0c57918102915b93841c9390800290610de3565b509250929050565b600082610e3057506001610348565b81610e3d57506000610348565b8160018114610e535760028114610e5d57610e79565b6001915050610348565b60ff841115610e6e57610e6e610dc8565b50506001821b610348565b5060208310610133831016604e8410600b8410161715610e9c575081810a610348565b610ea68383610dde565b8060001904821115610eba57610eba610dc8565b029392505050565b6000610b0e60ff841683610e21565b6000816000190483118215151615610eeb57610eeb610dc8565b500290565b600082821015610f0257610f02610dc8565b500390565b60008219821115610f1a57610f1a610dc8565b500190565b600082610f3c57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220e4292c76f87ad3c6b3c2c5f2a1b9eb74cf25445aa3ad2ad61c5f286db5f7c66964736f6c634300080f00330000000000000000000000000db907e7030cdf841aa457632cc1e422878f34710000000000000000000000000000000000000000000000000000000000000064