0x6080604052600436106101fd5760003560e01c8063837d7e3e1161010d578063a9059cbb116100a0578063c867d60b1161006f578063c867d60b146105f0578063da00097d14610620578063dd62ed3e14610641578063ddda39ee14610687578063fa2f7a8f146106a157600080fd5b8063a9059cbb1461055e578063b742f19d1461057e578063c49b9a80146105ae578063c816841b146105d057600080fd5b8063a073d37f116100dc578063a073d37f146104fd578063a08e671f14610512578063a457c2d714610528578063a83f53a71461054857600080fd5b8063837d7e3e146104755780638b42507f1461049a5780638da5cb5b146104ca57806395d89b41146104e857600080fd5b806347633bcf1161019057806361a23c691161015f57806361a23c69146103cd57806370a08231146103e35780637d1db4a514610419578063807c2d9c1461042f57806381190fa31461044557600080fd5b806347633bcf146103325780634a74bb02146103665780635342acb41461038757806357a5802f146103b757600080fd5b806323b872dd116101cc57806323b872dd146102bb5780632b112e49146102db578063313ce567146102f0578063395093511461031257600080fd5b806306fdde0314610209578063095ea7b3146102345780631694505e1461026457806318160ddd1461029c57600080fd5b3661020457005b600080fd5b34801561021557600080fd5b5061021e6106b6565b60405161022b9190611708565b60405180910390f35b34801561024057600080fd5b5061025461024f36600461176e565b610748565b604051901515815260200161022b565b34801561027057600080fd5b50601554610284906001600160a01b031681565b6040516001600160a01b03909116815260200161022b565b3480156102a857600080fd5b506011545b60405190815260200161022b565b3480156102c757600080fd5b506102546102d636600461179a565b61075f565b3480156102e757600080fd5b506102ad6107ca565b3480156102fc57600080fd5b5060045460405160ff909116815260200161022b565b34801561031e57600080fd5b5061025461032d36600461176e565b610814565b34801561033e57600080fd5b506102847f000000000000000000000000000000000000000000000000000000000000dead81565b34801561037257600080fd5b5060165461025490600160a81b900460ff1681565b34801561039357600080fd5b506102546103a23660046117db565b60076020526000908152604090205460ff1681565b3480156103c357600080fd5b506102ad600d5481565b3480156103d957600080fd5b506102ad600e5481565b3480156103ef57600080fd5b506102ad6103fe3660046117db565b6001600160a01b031660009081526005602052604090205490565b34801561042557600080fd5b506102ad60125481565b34801561043b57600080fd5b506102ad60135481565b34801561045157600080fd5b506102546104603660046117db565b600b6020526000908152604090205460ff1681565b34801561048157600080fd5b506004546102849061010090046001600160a01b031681565b3480156104a657600080fd5b506102546104b53660046117db565b60096020526000908152604090205460ff1681565b3480156104d657600080fd5b506000546001600160a01b0316610284565b3480156104f457600080fd5b5061021e61084a565b34801561050957600080fd5b506014546102ad565b34801561051e57600080fd5b506102ad60105481565b34801561053457600080fd5b5061025461054336600461176e565b610859565b34801561055457600080fd5b506102ad600f5481565b34801561056a57600080fd5b5061025461057936600461176e565b6108a8565b34801561058a57600080fd5b506102546105993660046117db565b600a6020526000908152604090205460ff1681565b3480156105ba57600080fd5b506105ce6105c93660046117f8565b6108b5565b005b3480156105dc57600080fd5b50601654610284906001600160a01b031681565b3480156105fc57600080fd5b5061025461060b3660046117db565b60086020526000908152604090205460ff1681565b34801561062c57600080fd5b5060165461025490600160b01b900460ff1681565b34801561064d57600080fd5b506102ad61065c36600461181a565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561069357600080fd5b50600c546102549060ff1681565b3480156106ad57600080fd5b506105ce61096c565b6060600280546106c590611853565b80601f01602080910402602001604051908101604052809291908181526020018280546106f190611853565b801561073e5780601f106107135761010080835404028352916020019161073e565b820191906000526020600020905b81548152906001019060200180831161072157829003601f168201915b5050505050905090565b6000610755338484610a6f565b5060015b92915050565b600061076c848484610b93565b506107bf84336107ba85604051806060016040528060288152602001611a05602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610fb0565b610a6f565b5060015b9392505050565b7f000000000000000000000000000000000000000000000000000000000000dead6001600160a01b031660009081526005602052604081205460115461080f91610fea565b905090565b3360008181526006602090815260408083206001600160a01b038716845290915281205490916107559185906107ba9086610a10565b6060600380546106c590611853565b600061075533846107ba85604051806060016040528060258152602001611a2d602591393360009081526006602090815260408083206001600160a01b038d1684529091529020549190610fb0565b60006107bf338484610b93565b6000546001600160a01b031633146109145760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b60168054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061096190831515815260200190565b60405180910390a150565b6000546001600160a01b031633146109c65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161090b565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600080610a1d83856118a3565b9050838110156107c35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161090b565b6001600160a01b038316610ad15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161090b565b6001600160a01b038216610b325760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161090b565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610bf95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161090b565b6001600160a01b038316610c5b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161090b565b601654600160a01b900460ff1615610c7f57610c7884848461102c565b90506107c3565b6001600160a01b03841660009081526009602052604090205460ff16158015610cc157506001600160a01b03831660009081526009602052604090205460ff16155b15610d2957601254821115610d295760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b606482015260840161090b565b3060009081526005602052604090205460145481108015908190610d575750601654600160a01b900460ff16155b8015610d7c57506001600160a01b0386166000908152600a602052604090205460ff16155b8015610d915750601654600160a81b900460ff165b15610db757601654600160b01b900460ff1615610dae5760145491505b610db782611112565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038916600090815260059091529190912054610e09918690610fb0565b6001600160a01b038716600090815260056020908152604080832093909355600790529081205460ff1680610e5657506001600160a01b03861660009081526007602052604090205460ff165b15610ec0576001600160a01b0386166000908152600b602052604090205460ff168015610e9b57506001600160a01b0387166000908152600a602052604090205460ff165b15610eb957600c805460ff19169055610eb2611252565b9050610ece565b5083610ece565b610ecb87878761126a565b90505b6001600160a01b03861660009081526008602052604090205460ff16610f2557601354610f1a82610f14896001600160a01b031660009081526005602052604090205490565b90610a10565b1115610f2557600080fd5b6001600160a01b038616600090815260056020526040902054610f489082610a10565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f9c9085815260200190565b60405180910390a3600193505050506107c3565b60008184841115610fd45760405162461bcd60e51b815260040161090b9190611708565b506000610fe184866118b6565b95945050505050565b60006107c383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fb0565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260059091529182205461107d918490610fb0565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546110ac9083610a10565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111009086815260200190565b60405180910390a35060019392505050565b6016805460ff60a01b1916600160a01b179055601054600d54600091611148916002916111429182908790611373565b906113f5565b905060006111568383610fea565b905061116181611437565b600d544790600090611181906111789060026113f5565b60105490610fea565b905060006111a3600261114284611142600d548861137390919063ffffffff16565b905060006111c083611142600f548761137390919063ffffffff16565b905060006111d8826111d28786610fea565b90610fea565b905080156111fb576004546111fb9061010090046001600160a01b0316826115ca565b811561121c5760045461121c9061010090046001600160a01b0316836115ca565b60008311801561122c5750600087115b1561123b5761123b8784611605565b50506016805460ff60a01b19169055505050505050565b600061080f61125f6107ca565b600160ff1b90610fea565b6001600160a01b0383166000908152600a6020526040812054819060ff16156112a05761129d6064611142856000611373565b90505b6001600160a01b0384166000908152600a602052604090205460ff161561136957600c5460ff16156112e3576112dc6064611142856000611373565b9050611369565b6112f260016111428582611373565b3060009081526005602052604090205490915061130f9082610a10565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113609085815260200190565b60405180910390a35b610fe18382610fea565b60008260000361138557506000610759565b600061139183856118c9565b90508261139e85836118e0565b146107c35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161090b565b60006107c383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116da565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061146c5761146c611902565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e99190611918565b816001815181106114fc576114fc611902565b6001600160a01b0392831660209182029290920101526015546115229130911684610a6f565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac9479061155b908590600090869030904290600401611979565b600060405180830381600087803b15801561157557600080fd5b505af1158015611589573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516115be9291906119b5565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611600573d6000803e3d6000fd5b505050565b60155461161d9030906001600160a01b031684610a6f565b6015546001600160a01b031663f305d7198230856000806116466000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156116ae573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116d391906119d6565b5050505050565b600081836116fb5760405162461bcd60e51b815260040161090b9190611708565b506000610fe184866118e0565b600060208083528351808285015260005b8181101561173557858101830151858201604001528201611719565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461176b57600080fd5b50565b6000806040838503121561178157600080fd5b823561178c81611756565b946020939093013593505050565b6000806000606084860312156117af57600080fd5b83356117ba81611756565b925060208401356117ca81611756565b929592945050506040919091013590565b6000602082840312156117ed57600080fd5b81356107c381611756565b60006020828403121561180a57600080fd5b813580151581146107c357600080fd5b6000806040838503121561182d57600080fd5b823561183881611756565b9150602083013561184881611756565b809150509250929050565b600181811c9082168061186757607f821691505b60208210810361188757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156107595761075961188d565b818103818111156107595761075961188d565b80820281158282048414176107595761075961188d565b6000826118fd57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561192a57600080fd5b81516107c381611756565b600081518084526020808501945080840160005b8381101561196e5781516001600160a01b031687529582019590820190600101611949565b509495945050505050565b85815284602082015260a06040820152600061199860a0830186611935565b6001600160a01b0394909416606083015250608001529392505050565b8281526040602082015260006119ce6040830184611935565b949350505050565b6000806000606084860312156119eb57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c6a6d8f546df073cdcfa7968de74e2d77e42fd76b72441e1aebfe5a283e904c564736f6c63430008110033
0x60e0604052600a60a09081526950756c7365205045504560b01b60c0526002906200002b90826200069b565b50604080518082019091526007815266504c535045504560c81b60208201526003906200005990826200069b565b50600480546001600160a81b03191674a89184b8e2a2f28d6aa138f613be85d44b3f68160917815561dead608052600c805460ff19166001908117909155600d819055600e556002600f55601055620000b56009600a6200087a565b620000c490620f424062000892565b601155600454620000da9060ff16600a6200087a565b620000e990620f424062000892565b601255600454620000ff9060ff16600a6200087a565b6200010e90620f424062000892565b601355600454620001249060ff16600a6200087a565b6200013390620f424062000892565b6014556016805461ffff60a81b1916600160a81b1790553480156200015757600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002179190620008ac565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000265573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200028b9190620008ac565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002d9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ff9190620008ac565b601680546001600160a01b039283166001600160a01b03199182161790915560158054928416929091168217905560115430600090815260066020908152604080832094835293905291822055600190600790620003656000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff1995861617905530815260078352208054909216600117909155600f54600e54600d54620003db93620003c7929062000a1062000587821b17901c565b6200058760201b62000a101790919060201c565b601055600160086000620003f76000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790556016549091168152600890925280822080548416600190811790915530835290822080549093168117909255600990620004676000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055308152600984528281208054861660019081179091556016549092168152600a90935290822080549093168117909255600b90620004db6000546001600160a01b031690565b6001600160a01b0316815260208101919091526040016000908120805460ff19169215159290921790915560115490600590620005153390565b6001600160a01b03168152602081019190915260400160002055336001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6011546040516200057891815260200190565b60405180910390a350620008ed565b600080620005968385620008d7565b905083811015620005ed5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200062157607f821691505b6020821081036200064257634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200069657600081815260208120601f850160051c81016020861015620006715750805b601f850160051c820191505b8181101562000692578281556001016200067d565b5050505b505050565b81516001600160401b03811115620006b757620006b7620005f6565b620006cf81620006c884546200060c565b8462000648565b602080601f831160018114620007075760008415620006ee5750858301515b600019600386901b1c1916600185901b17855562000692565b600085815260208120601f198616915b82811015620007385788860151825594840194600190910190840162000717565b5085821015620007575787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620007be578160001904821115620007a257620007a262000767565b80851615620007b057918102915b93841c939080029062000782565b509250929050565b600082620007d757506001620005f0565b81620007e657506000620005f0565b8160018114620007ff57600281146200080a576200082a565b6001915050620005f0565b60ff8411156200081e576200081e62000767565b50506001821b620005f0565b5060208310610133831016604e8410600b84101617156200084f575081810a620005f0565b6200085b83836200077d565b806000190482111562000872576200087262000767565b029392505050565b60006200088b60ff841683620007c6565b9392505050565b8082028115828204841417620005f057620005f062000767565b600060208284031215620008bf57600080fd5b81516001600160a01b0381168114620005ed57600080fd5b80820180821115620005f057620005f062000767565b608051611a87620009106000396000818161034401526107cc0152611a876000f3fe6080604052600436106101fd5760003560e01c8063837d7e3e1161010d578063a9059cbb116100a0578063c867d60b1161006f578063c867d60b146105f0578063da00097d14610620578063dd62ed3e14610641578063ddda39ee14610687578063fa2f7a8f146106a157600080fd5b8063a9059cbb1461055e578063b742f19d1461057e578063c49b9a80146105ae578063c816841b146105d057600080fd5b8063a073d37f116100dc578063a073d37f146104fd578063a08e671f14610512578063a457c2d714610528578063a83f53a71461054857600080fd5b8063837d7e3e146104755780638b42507f1461049a5780638da5cb5b146104ca57806395d89b41146104e857600080fd5b806347633bcf1161019057806361a23c691161015f57806361a23c69146103cd57806370a08231146103e35780637d1db4a514610419578063807c2d9c1461042f57806381190fa31461044557600080fd5b806347633bcf146103325780634a74bb02146103665780635342acb41461038757806357a5802f146103b757600080fd5b806323b872dd116101cc57806323b872dd146102bb5780632b112e49146102db578063313ce567146102f0578063395093511461031257600080fd5b806306fdde0314610209578063095ea7b3146102345780631694505e1461026457806318160ddd1461029c57600080fd5b3661020457005b600080fd5b34801561021557600080fd5b5061021e6106b6565b60405161022b9190611708565b60405180910390f35b34801561024057600080fd5b5061025461024f36600461176e565b610748565b604051901515815260200161022b565b34801561027057600080fd5b50601554610284906001600160a01b031681565b6040516001600160a01b03909116815260200161022b565b3480156102a857600080fd5b506011545b60405190815260200161022b565b3480156102c757600080fd5b506102546102d636600461179a565b61075f565b3480156102e757600080fd5b506102ad6107ca565b3480156102fc57600080fd5b5060045460405160ff909116815260200161022b565b34801561031e57600080fd5b5061025461032d36600461176e565b610814565b34801561033e57600080fd5b506102847f000000000000000000000000000000000000000000000000000000000000000081565b34801561037257600080fd5b5060165461025490600160a81b900460ff1681565b34801561039357600080fd5b506102546103a23660046117db565b60076020526000908152604090205460ff1681565b3480156103c357600080fd5b506102ad600d5481565b3480156103d957600080fd5b506102ad600e5481565b3480156103ef57600080fd5b506102ad6103fe3660046117db565b6001600160a01b031660009081526005602052604090205490565b34801561042557600080fd5b506102ad60125481565b34801561043b57600080fd5b506102ad60135481565b34801561045157600080fd5b506102546104603660046117db565b600b6020526000908152604090205460ff1681565b34801561048157600080fd5b506004546102849061010090046001600160a01b031681565b3480156104a657600080fd5b506102546104b53660046117db565b60096020526000908152604090205460ff1681565b3480156104d657600080fd5b506000546001600160a01b0316610284565b3480156104f457600080fd5b5061021e61084a565b34801561050957600080fd5b506014546102ad565b34801561051e57600080fd5b506102ad60105481565b34801561053457600080fd5b5061025461054336600461176e565b610859565b34801561055457600080fd5b506102ad600f5481565b34801561056a57600080fd5b5061025461057936600461176e565b6108a8565b34801561058a57600080fd5b506102546105993660046117db565b600a6020526000908152604090205460ff1681565b3480156105ba57600080fd5b506105ce6105c93660046117f8565b6108b5565b005b3480156105dc57600080fd5b50601654610284906001600160a01b031681565b3480156105fc57600080fd5b5061025461060b3660046117db565b60086020526000908152604090205460ff1681565b34801561062c57600080fd5b5060165461025490600160b01b900460ff1681565b34801561064d57600080fd5b506102ad61065c36600461181a565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561069357600080fd5b50600c546102549060ff1681565b3480156106ad57600080fd5b506105ce61096c565b6060600280546106c590611853565b80601f01602080910402602001604051908101604052809291908181526020018280546106f190611853565b801561073e5780601f106107135761010080835404028352916020019161073e565b820191906000526020600020905b81548152906001019060200180831161072157829003601f168201915b5050505050905090565b6000610755338484610a6f565b5060015b92915050565b600061076c848484610b93565b506107bf84336107ba85604051806060016040528060288152602001611a05602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610fb0565b610a6f565b5060015b9392505050565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031660009081526005602052604081205460115461080f91610fea565b905090565b3360008181526006602090815260408083206001600160a01b038716845290915281205490916107559185906107ba9086610a10565b6060600380546106c590611853565b600061075533846107ba85604051806060016040528060258152602001611a2d602591393360009081526006602090815260408083206001600160a01b038d1684529091529020549190610fb0565b60006107bf338484610b93565b6000546001600160a01b031633146109145760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b60168054821515600160a81b0260ff60a81b199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc1599061096190831515815260200190565b60405180910390a150565b6000546001600160a01b031633146109c65760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161090b565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b600080610a1d83856118a3565b9050838110156107c35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161090b565b6001600160a01b038316610ad15760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161090b565b6001600160a01b038216610b325760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161090b565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610bf95760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161090b565b6001600160a01b038316610c5b5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161090b565b601654600160a01b900460ff1615610c7f57610c7884848461102c565b90506107c3565b6001600160a01b03841660009081526009602052604090205460ff16158015610cc157506001600160a01b03831660009081526009602052604090205460ff16155b15610d2957601254821115610d295760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b606482015260840161090b565b3060009081526005602052604090205460145481108015908190610d575750601654600160a01b900460ff16155b8015610d7c57506001600160a01b0386166000908152600a602052604090205460ff16155b8015610d915750601654600160a81b900460ff165b15610db757601654600160b01b900460ff1615610dae5760145491505b610db782611112565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038916600090815260059091529190912054610e09918690610fb0565b6001600160a01b038716600090815260056020908152604080832093909355600790529081205460ff1680610e5657506001600160a01b03861660009081526007602052604090205460ff165b15610ec0576001600160a01b0386166000908152600b602052604090205460ff168015610e9b57506001600160a01b0387166000908152600a602052604090205460ff165b15610eb957600c805460ff19169055610eb2611252565b9050610ece565b5083610ece565b610ecb87878761126a565b90505b6001600160a01b03861660009081526008602052604090205460ff16610f2557601354610f1a82610f14896001600160a01b031660009081526005602052604090205490565b90610a10565b1115610f2557600080fd5b6001600160a01b038616600090815260056020526040902054610f489082610a10565b6001600160a01b0380881660008181526005602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f9c9085815260200190565b60405180910390a3600193505050506107c3565b60008184841115610fd45760405162461bcd60e51b815260040161090b9190611708565b506000610fe184866118b6565b95945050505050565b60006107c383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610fb0565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038616600090815260059091529182205461107d918490610fb0565b6001600160a01b0380861660009081526005602052604080822093909355908516815220546110ac9083610a10565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111009086815260200190565b60405180910390a35060019392505050565b6016805460ff60a01b1916600160a01b179055601054600d54600091611148916002916111429182908790611373565b906113f5565b905060006111568383610fea565b905061116181611437565b600d544790600090611181906111789060026113f5565b60105490610fea565b905060006111a3600261114284611142600d548861137390919063ffffffff16565b905060006111c083611142600f548761137390919063ffffffff16565b905060006111d8826111d28786610fea565b90610fea565b905080156111fb576004546111fb9061010090046001600160a01b0316826115ca565b811561121c5760045461121c9061010090046001600160a01b0316836115ca565b60008311801561122c5750600087115b1561123b5761123b8784611605565b50506016805460ff60a01b19169055505050505050565b600061080f61125f6107ca565b600160ff1b90610fea565b6001600160a01b0383166000908152600a6020526040812054819060ff16156112a05761129d6064611142856000611373565b90505b6001600160a01b0384166000908152600a602052604090205460ff161561136957600c5460ff16156112e3576112dc6064611142856000611373565b9050611369565b6112f260016111428582611373565b3060009081526005602052604090205490915061130f9082610a10565b30600081815260056020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113609085815260200190565b60405180910390a35b610fe18382610fea565b60008260000361138557506000610759565b600061139183856118c9565b90508261139e85836118e0565b146107c35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161090b565b60006107c383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506116da565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061146c5761146c611902565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156114c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114e99190611918565b816001815181106114fc576114fc611902565b6001600160a01b0392831660209182029290920101526015546115229130911684610a6f565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac9479061155b908590600090869030904290600401611979565b600060405180830381600087803b15801561157557600080fd5b505af1158015611589573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a782826040516115be9291906119b5565b60405180910390a15050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611600573d6000803e3d6000fd5b505050565b60155461161d9030906001600160a01b031684610a6f565b6015546001600160a01b031663f305d7198230856000806116466000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156116ae573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906116d391906119d6565b5050505050565b600081836116fb5760405162461bcd60e51b815260040161090b9190611708565b506000610fe184866118e0565b600060208083528351808285015260005b8181101561173557858101830151858201604001528201611719565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461176b57600080fd5b50565b6000806040838503121561178157600080fd5b823561178c81611756565b946020939093013593505050565b6000806000606084860312156117af57600080fd5b83356117ba81611756565b925060208401356117ca81611756565b929592945050506040919091013590565b6000602082840312156117ed57600080fd5b81356107c381611756565b60006020828403121561180a57600080fd5b813580151581146107c357600080fd5b6000806040838503121561182d57600080fd5b823561183881611756565b9150602083013561184881611756565b809150509250929050565b600181811c9082168061186757607f821691505b60208210810361188757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156107595761075961188d565b818103818111156107595761075961188d565b80820281158282048414176107595761075961188d565b6000826118fd57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561192a57600080fd5b81516107c381611756565b600081518084526020808501945080840160005b8381101561196e5781516001600160a01b031687529582019590820190600101611949565b509495945050505050565b85815284602082015260a06040820152600061199860a0830186611935565b6001600160a01b0394909416606083015250608001529392505050565b8281526040602082015260006119ce6040830184611935565b949350505050565b6000806000606084860312156119eb57600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220c6a6d8f546df073cdcfa7968de74e2d77e42fd76b72441e1aebfe5a283e904c564736f6c63430008110033