60c06040526005805460ff60a01b191690553480156200001e57600080fd5b50604051806040016040528060048152602001634865706560e01b815250604051806040016040528060048152602001634845504560e01b81525081600390816200006a9190620003d1565b506004620000798282620003d1565b50505062000096620000906200028260201b60201c565b62000286565b737a250d5630b4cf539739df2c5dacb4c659f2488d60808190526040805163c45a015560e01b81529051829163c45a01559160048083019260209291908290030181865afa158015620000ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200011391906200049d565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000161573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018791906200049d565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620001d5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001fb91906200049d565b6001600160a01b031660a05262000232336200021a6012600a620005e4565b6200022c90653f231a70b800620005f5565b620002d8565b50336000908152600660205260408082208054600160ff199182168117909255308452828420805482168317905560a0516001600160a01b0316845291909220805490911690911790556200060f565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60028190556001600160a01b038216600081815260208181526040808320859055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200035757607f821691505b6020821081036200037857634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003cc57600081815260208120601f850160051c81016020861015620003a75750805b601f850160051c820191505b81811015620003c857828155600101620003b3565b5050505b505050565b81516001600160401b03811115620003ed57620003ed6200032c565b6200040581620003fe845462000342565b846200037e565b602080601f8311600181146200043d5760008415620004245750858301515b600019600386901b1c1916600185901b178555620003c8565b600085815260208120601f198616915b828110156200046e578886015182559484019460019091019084016200044d565b50858210156200048d5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620004b057600080fd5b81516001600160a01b0381168114620004c857600080fd5b9392505050565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620005265781600019048211156200050a576200050a620004cf565b808516156200051857918102915b93841c9390800290620004ea565b509250929050565b6000826200053f57506001620005de565b816200054e57506000620005de565b8160018114620005675760028114620005725762000592565b6001915050620005de565b60ff841115620005865762000586620004cf565b50506001821b620005de565b5060208310610133831016604e8410600b8410161715620005b7575081810a620005de565b620005c38383620004e5565b8060001904821115620005da57620005da620004cf565b0290505b92915050565b6000620004c860ff8416836200052e565b8082028115828204841417620005de57620005de620004cf565b60805160a05161101c6200063560003960006102f1015260006101ff015261101c6000f3fe6080604052600436106101445760003560e01c806349bd5a5e116100b6578063a457c2d71161006f578063a457c2d7146103b2578063a9059cbb146103d2578063bd9ff169146103f2578063be21a67f14610412578063dd62ed3e14610442578063f2fde38b1461048857600080fd5b806349bd5a5e146102df5780634ada218b1461031357806370a0823114610334578063715018a61461036a5780638da5cb5b1461037f57806395d89b411461039d57600080fd5b806318160ddd1161010857806318160ddd146102395780631c1702f31461025857806323b872dd1461026d57806327c8f8351461028d578063313ce567146102a357806339509351146102bf57600080fd5b8063012ab8cb1461015057806306fdde0314610172578063095ea7b31461019d57806311228532146101cd5780631694505e146101ed57600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5061017061016b366004610dbd565b6104a8565b005b34801561017e57600080fd5b506101876104f9565b6040516101949190610ddf565b60405180910390f35b3480156101a957600080fd5b506101bd6101b8366004610e44565b61058b565b6040519015158152602001610194565b3480156101d957600080fd5b506101706101e8366004610e6e565b6105a2565b3480156101f957600080fd5b506102217f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610194565b34801561024557600080fd5b506002545b604051908152602001610194565b34801561026457600080fd5b5061017061060a565b34801561027957600080fd5b506101bd610288366004610e87565b6106a3565b34801561029957600080fd5b5061022161dead81565b3480156102af57600080fd5b5060405160128152602001610194565b3480156102cb57600080fd5b506101bd6102da366004610e44565b610754565b3480156102eb57600080fd5b506102217f000000000000000000000000000000000000000000000000000000000000000081565b34801561031f57600080fd5b506005546101bd90600160a01b900460ff1681565b34801561034057600080fd5b5061024a61034f366004610ec3565b6001600160a01b031660009081526020819052604090205490565b34801561037657600080fd5b5061017061078b565b34801561038b57600080fd5b506005546001600160a01b0316610221565b3480156103a957600080fd5b506101876107c1565b3480156103be57600080fd5b506101bd6103cd366004610e44565b6107d0565b3480156103de57600080fd5b506101bd6103ed366004610e44565b61086b565b3480156103fe57600080fd5b5061017061040d366004610ede565b610878565b34801561041e57600080fd5b506101bd61042d366004610ec3565b60066020526000908152604090205460ff1681565b34801561044e57600080fd5b5061024a61045d366004610f11565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561049457600080fd5b506101706104a3366004610ec3565b6108cd565b6005546001600160a01b031633146104db5760405162461bcd60e51b81526004016104d290610f3b565b60405180910390fd5b60058054911515600160a01b0260ff60a01b19909216919091179055565b60606003805461050890610f70565b80601f016020809104026020016040519081016040528092919081815260200182805461053490610f70565b80156105815780601f1061055657610100808354040283529160200191610581565b820191906000526020600020905b81548152906001019060200180831161056457829003601f168201915b5050505050905090565b6000610598338484610968565b5060015b92915050565b6005546001600160a01b031633146105cc5760405162461bcd60e51b81526004016104d290610f3b565b6005546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610606573d6000803e3d6000fd5b5050565b6005546001600160a01b031633146106345760405162461bcd60e51b81526004016104d290610f3b565b600554600160a01b900460ff161561068e5760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f742072652d656e61626c652074726164696e67000000000000000060448201526064016104d2565b6005805460ff60a01b1916600160a01b179055565b60006106b0848484610a8c565b6001600160a01b0384166000908152600160209081526040808320338452909152902054828110156107355760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084016104d2565b61074985336107448685610fc0565b610968565b506001949350505050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610598918590610744908690610fd3565b6005546001600160a01b031633146107b55760405162461bcd60e51b81526004016104d290610f3b565b6107bf6000610b7e565b565b60606004805461050890610f70565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156108525760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016104d2565b61086133856107448685610fc0565b5060019392505050565b6000610598338484610a8c565b6005546001600160a01b031633146108a25760405162461bcd60e51b81526004016104d290610f3b565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6005546001600160a01b031633146108f75760405162461bcd60e51b81526004016104d290610f3b565b6001600160a01b03811661095c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104d2565b61096581610b7e565b50565b6001600160a01b0383166109ca5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104d2565b6001600160a01b038216610a2b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104d2565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60008111610aee5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104d2565b6001600160a01b03831660009081526006602052604090205460ff16610b6e57600554600160a01b900460ff16610b6e57600554600160a01b900460ff16610b6e5760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b60448201526064016104d2565b610b79838383610bd0565b505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6001600160a01b038316610c345760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104d2565b6001600160a01b038216610c965760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104d2565b6001600160a01b03831660009081526020819052604090205481811015610d0e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016104d2565b610d188282610fc0565b6001600160a01b038086166000908152602081905260408082209390935590851681529081208054849290610d4e908490610fd3565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610d9a91815260200190565b60405180910390a350505050565b80358015158114610db857600080fd5b919050565b600060208284031215610dcf57600080fd5b610dd882610da8565b9392505050565b600060208083528351808285015260005b81811015610e0c57858101830151858201604001528201610df0565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114610db857600080fd5b60008060408385031215610e5757600080fd5b610e6083610e2d565b946020939093013593505050565b600060208284031215610e8057600080fd5b5035919050565b600080600060608486031215610e9c57600080fd5b610ea584610e2d565b9250610eb360208501610e2d565b9150604084013590509250925092565b600060208284031215610ed557600080fd5b610dd882610e2d565b60008060408385031215610ef157600080fd5b610efa83610e2d565b9150610f0860208401610da8565b90509250929050565b60008060408385031215610f2457600080fd5b610f2d83610e2d565b9150610f0860208401610e2d565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181811c90821680610f8457607f821691505b602082108103610fa457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561059c5761059c610faa565b8082018082111561059c5761059c610faa56fea2646970667358221220185e0661483f87ad8b2979c22ec3ffe8f84759306d9eb720259a3b1b19a477cc64736f6c63430008110033