60806040526200001a678ac7230489e8000060001962000296565b6200002890600019620002b9565b6005553480156200003857600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506005543360009081526001602090815260409182902092909255600780546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155815163c45a015560e01b815291519092839263c45a015592600480830193928290030181865afa158015620000f6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200011c9190620002df565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200016a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001909190620002df565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620001de573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002049190620002df565b600880546001600160a01b0319166001600160a01b03928316179055600080549091168152600460209081526040808320805460ff1990811660019081179092553085528285208054909116909117905551678ac7230489e8000081523392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000311565b600082620002b457634e487b7160e01b600052601260045260246000fd5b500690565b600082821015620002da57634e487b7160e01b600052601160045260246000fd5b500390565b600060208284031215620002f257600080fd5b81516001600160a01b03811681146200030a57600080fd5b9392505050565b610d3380620003216000396000f3fe6080604052600436106100a05760003560e01c806370a082311161006457806370a08231146101815780638da5cb5b146101a157806395d89b41146101d3578063a9059cbb14610200578063b51449bb14610220578063dd62ed3e1461024057600080fd5b806306fdde03146100ac578063095ea7b3146100f057806318160ddd1461012057806323b872dd14610145578063313ce5671461016557600080fd5b366100a757005b600080fd5b3480156100b857600080fd5b506040805180820190915260098152684d657461766572736560b81b60208201525b6040516100e79190610b2a565b60405180910390f35b3480156100fc57600080fd5b5061011061010b366004610b9b565b610286565b60405190151581526020016100e7565b34801561012c57600080fd5b50678ac7230489e800005b6040519081526020016100e7565b34801561015157600080fd5b50610110610160366004610bc5565b61029d565b34801561017157600080fd5b50604051600881526020016100e7565b34801561018d57600080fd5b5061013761019c366004610c01565b610306565b3480156101ad57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016100e7565b3480156101df57600080fd5b506040805180820190915260048152634d45544160e01b60208201526100da565b34801561020c57600080fd5b5061011061021b366004610b9b565b610328565b34801561022c57600080fd5b506008546101bb906001600160a01b031681565b34801561024c57600080fd5b5061013761025b366004610c1c565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6000610293338484610335565b5060015b92915050565b60006102aa84848461045e565b6102fc84336102f785604051806060016040528060288152602001610cd6602891396001600160a01b038a1660009081526003602090815260408083203384529091529020549190610609565b610335565b5060019392505050565b6001600160a01b03811660009081526001602052604081205461029790610643565b600061029333848461045e565b6001600160a01b03831661039c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084015b60405180910390fd5b6001600160a01b0382166103fd5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610393565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166104c25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610393565b6001600160a01b0382166105245760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610393565b600081116105865760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610393565b6000546001600160a01b038481169116146105f9576008546001600160a01b03838116911614156105f95760405162461bcd60e51b815260206004820152601860248201527f4e6f2066697461626c652074696d6520746f20747261646500000000000000006044820152606401610393565b6106048383836106c7565b505050565b6000818484111561062d5760405162461bcd60e51b81526004016103939190610b2a565b50600061063a8486610c65565b95945050505050565b60006005548211156106aa5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610393565b60006106b46106d2565b90506106c083826106f5565b9392505050565b610604838383610737565b60008060006106df61082e565b90925090506106ee82826106f5565b9250505090565b60006106c083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061086e565b6000806000806000806107498761089c565b6001600160a01b038f16600090815260016020526040902054959b5093995091975095509350915061077b90876108f7565b6001600160a01b03808b1660009081526001602052604080822093909355908a16815220546107aa9086610939565b6001600160a01b0389166000908152600160205260409020556107cc81610998565b6107d684836109e2565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161081b91815260200190565b60405180910390a3505050505050505050565b6005546000908190678ac7230489e8000061084982826106f5565b82101561086557505060055492678ac7230489e8000092509050565b90939092509050565b6000818361088f5760405162461bcd60e51b81526004016103939190610b2a565b50600061063a8486610c7c565b60008060008060008060008060006108b78a60016009610a06565b92509250925060006108c76106d2565b905060008060006108da8e878787610a5b565b919e509c509a509598509396509194505050505091939550919395565b60006106c083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610609565b6000806109468385610c9e565b9050838110156106c05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610393565b60006109a26106d2565b905060006109b08383610aab565b306000908152600160205260409020549091506109cd9082610939565b30600090815260016020526040902055505050565b6005546109ef90836108f7565b6005556006546109ff9082610939565b6006555050565b6000808080610a206064610a1a8989610aab565b906106f5565b90506000610a336064610a1a8a89610aab565b90506000610a4b82610a458b866108f7565b906108f7565b9992985090965090945050505050565b6000808080610a6a8886610aab565b90506000610a788887610aab565b90506000610a868888610aab565b90506000610a9882610a4586866108f7565b939b939a50919850919650505050505050565b600082610aba57506000610297565b6000610ac68385610cb6565b905082610ad38583610c7c565b146106c05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610393565b600060208083528351808285015260005b81811015610b5757858101830151858201604001528201610b3b565b81811115610b69576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610b9657600080fd5b919050565b60008060408385031215610bae57600080fd5b610bb783610b7f565b946020939093013593505050565b600080600060608486031215610bda57600080fd5b610be384610b7f565b9250610bf160208501610b7f565b9150604084013590509250925092565b600060208284031215610c1357600080fd5b6106c082610b7f565b60008060408385031215610c2f57600080fd5b610c3883610b7f565b9150610c4660208401610b7f565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b600082821015610c7757610c77610c4f565b500390565b600082610c9957634e487b7160e01b600052601260045260246000fd5b500490565b60008219821115610cb157610cb1610c4f565b500190565b6000816000190483118215151615610cd057610cd0610c4f565b50029056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212206539719c2db3612c2ecd204e2a4b6430f9000794b752262e91a567222abf5c0b64736f6c634300080a0033