0x60806040526004361061016a5760003560e01c80636ddd1713116100d1578063a8aa1b311161008a578063dd62ed3e11610064578063dd62ed3e146103b3578063e96fada2146103d3578063f1d5f517146103e8578063f887ea401461040857610171565b8063a8aa1b3114610369578063a9059cbb1461037e578063dab84ee71461039e57610171565b80636ddd1713146102e857806370a08231146102fd578063715018a61461031d5780637d1db4a514610332578063893d20e81461034757806395d89b41146101a157610171565b8063313ce56711610123578063313ce56714610245578063364333f4146102675780633eaaf86b1461027e578063571ac8b0146102935780635b65b9ab146102b35780636c0a24eb146102d357610171565b80630445b6671461017657806306fdde03146101a1578063095ea7b3146101c357806318160ddd146101f057806323b872dd146102055780632f54bf6e1461022557610171565b3661017157005b600080fd5b34801561018257600080fd5b5061018b61041d565b6040516101989190611627565b60405180910390f35b3480156101ad57600080fd5b506101b6610423565b60405161019891906114c0565b3480156101cf57600080fd5b506101e36101de3660046112fe565b610441565b6040516101989190611480565b3480156101fc57600080fd5b5061018b6104ac565b34801561021157600080fd5b506101e36102203660046112be565b6104b2565b34801561023157600080fd5b506101e361024036600461124e565b610574565b34801561025157600080fd5b5061025a610588565b604051610198919061166c565b34801561027357600080fd5b5061027c61058d565b005b34801561028a57600080fd5b5061018b6105c9565b34801561029f57600080fd5b506101e36102ae36600461124e565b6105cf565b3480156102bf57600080fd5b5061027c6102ce3660046113fb565b6105dd565b3480156102df57600080fd5b5061018b610637565b3480156102f457600080fd5b506101e361063d565b34801561030957600080fd5b5061018b61031836600461124e565b61064d565b34801561032957600080fd5b5061027c610668565b34801561033e57600080fd5b5061018b6106d5565b34801561035357600080fd5b5061035c6106db565b604051610198919061146c565b34801561037557600080fd5b5061035c6106ea565b34801561038a57600080fd5b506101e36103993660046112fe565b6106f9565b3480156103aa57600080fd5b5061035c610706565b3480156103bf57600080fd5b5061018b6103ce366004611286565b610715565b3480156103df57600080fd5b5061035c610740565b3480156103f457600080fd5b5061027c6104033660046113e3565b61074f565b34801561041457600080fd5b5061035c610795565b60145481565b60408051808201909152600481526311d3d05560e21b602082015290565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061049a908690611627565b60405180910390a35060015b92915050565b60035490565b6001600160a01b03831660009081526007602090815260408083203384529091528120546000191461055f576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260078252838120338252909152919091205461053a91849061082b565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b61056a848484610865565b90505b9392505050565b6000546001600160a01b0390811691161490565b601290565b6011546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105c6573d6000803e3d6000fd5b50565b60035481565b60006104a682600019610441565b6105e633610574565b61060b5760405162461bcd60e51b815260040161060290611607565b60405180910390fd5b600c839055600b829055600d81905580610625838561167a565b61062f919061167a565b600e55505050565b60045481565b601354600160a01b900460ff1681565b6001600160a01b031660009081526006602052604090205490565b61067133610574565b61068d5760405162461bcd60e51b815260040161060290611607565b600080546001600160a01b03191681556040517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163916106cb9161146c565b60405180910390a1565b60055481565b6000546001600160a01b031690565b6013546001600160a01b031681565b600061056d338484610865565b6011546001600160a01b031681565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b6010546001600160a01b031681565b61075833610574565b6107745760405162461bcd60e51b815260040161060290611607565b6103e88160035461078591906116b2565b61078f9190611692565b60045550565b6012546001600160a01b031681565b6000826107b3575060006104a6565b60006107bf83856116b2565b9050826107cc8583611692565b1461056d5760405162461bcd60e51b8152600401610602906115c6565b600061056d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610a49565b6000818484111561084f5760405162461bcd60e51b815260040161060291906114c0565b50600061085c84866116d1565b95945050505050565b60155460009060ff16156108855761087e848484610a77565b905061056d565b6013546001600160a01b038481169116148015906108b157506002546001600160a01b03848116911614155b1561091e576001600160a01b0383166000908152600a602052604090205460ff168061090257506004546001600160a01b0384166000908152600660205260409020546108ff90849061167a565b11155b61091e5760405162461bcd60e51b815260040161060290611513565b610926610b5b565b1561093357610933610bb3565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526006909152919091205461098591849061082b565b6001600160a01b0385166000908152600660205260408120919091556109aa8561111a565b6109b457826109be565b6109be8584611139565b6001600160a01b0385166000908152600660205260409020549091506109e490826111dd565b6001600160a01b0380861660008181526006602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a36908590611627565b60405180910390a3506001949350505050565b60008183610a6a5760405162461bcd60e51b815260040161060291906114c0565b50600061085c8486611692565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600690915291822054610ac891849061082b565b6001600160a01b038086166000908152600660205260408082209390935590851681522054610af790836111dd565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b49908690611627565b60405180910390a35060019392505050565b6013546000906001600160a01b03163314801590610b7c575060155460ff16155b8015610b915750601354600160a01b900460ff165b8015610bae57506014543060009081526006602052604090205410155b905090565b6015805460ff19166001179055601454600e54600d54600091610be691600291610be091829087906107a4565b906107e9565b90506000610bf4838361120c565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610c3c57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610c9057600080fd5b505afa158015610ca4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc8919061126a565b81600181518110610ce957634e487b7160e01b600052603260045260246000fd5b6001600160a01b039290921660209283029190910182015260408051600280825260608201835260009391929091830190803683370190505090503081600181518110610d4657634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610d9a57600080fd5b505afa158015610dae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd2919061126a565b81600081518110610df357634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260125460405163791ac94760e01b81524792919091169063791ac94790610e3d908790600090889030904290600401611630565b600060405180830381600087803b158015610e5757600080fd5b505af1158015610e6b573d6000803e3d6000fd5b505050506000610e84824761120c90919063ffffffff16565b90506000610ea3600e54610be0600c54856107a490919063ffffffff16565b90506000610ec2600e54610be0600b54866107a490919063ffffffff16565b90506000610ee1600e54610be0600d54876107a490919063ffffffff16565b6011546040519192506000916001600160a01b0390911690617530908690610f0890611469565b600060405180830381858888f193505050503d8060008114610f46576040519150601f19603f3d011682016040523d82523d6000602084013e610f4b565b606091505b5050905080610f6c5760405162461bcd60e51b81526004016106029061158f565b6010546040516000916001600160a01b031690617530908690610f8e90611469565b600060405180830381858888f193505050503d8060008114610fcc576040519150601f19603f3d011682016040523d82523d6000602084013e610fd1565b606091505b5050905080610ff25760405162461bcd60e51b81526004016106029061158f565b6000601260009054906101000a90046001600160a01b03166001600160a01b0316637ff36ab58560008c601360009054906101000a90046001600160a01b0316426040518663ffffffff1660e01b8152600401611052949392919061148b565b6000604051808303818588803b15801561106b57600080fd5b505af115801561107f573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f191682016040526110a89190810190611329565b90506110f1816001815181106110ce57634e487b7160e01b600052603260045260246000fd5b6020908102919091018101513060009081526006909252604090912054906111dd565b3060009081526006602052604090205550506015805460ff191690555050505050505050505050565b6001600160a01b031660009081526009602052604090205460ff161590565b600080611157600f54610be0600e54866107a490919063ffffffff16565b3060009081526006602052604090205490915061117490826111dd565b30600081815260066020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111c3908590611627565b60405180910390a36111d5838261120c565b949350505050565b6000806111ea838561167a565b90508381101561056d5760405162461bcd60e51b815260040161060290611558565b600061056d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061082b565b60006020828403121561125f578081fd5b813561056d81611714565b60006020828403121561127b578081fd5b815161056d81611714565b60008060408385031215611298578081fd5b82356112a381611714565b915060208301356112b381611714565b809150509250929050565b6000806000606084860312156112d2578081fd5b83356112dd81611714565b925060208401356112ed81611714565b929592945050506040919091013590565b60008060408385031215611310578182fd5b823561131b81611714565b946020939093013593505050565b6000602080838503121561133b578182fd5b825167ffffffffffffffff80821115611352578384fd5b818501915085601f830112611365578384fd5b815181811115611377576113776116fe565b83810260405185828201018181108582111715611396576113966116fe565b604052828152858101935084860182860187018a10156113b4578788fd5b8795505b838610156113d65780518552600195909501949386019386016113b8565b5098975050505050505050565b6000602082840312156113f4578081fd5b5035919050565b60008060006060848603121561140f578283fd5b505081359360208301359350604090920135919050565b6000815180845260208085019450808401835b8381101561145e5781516001600160a01b031687529582019590820190600101611439565b509495945050505050565b90565b6001600160a01b0391909116815260200190565b901515815260200190565b6000858252608060208301526114a46080830186611426565b6001600160a01b03949094166040830152506060015292915050565b6000602080835283518082850152825b818110156114ec578581018301518582016040015282016114d0565b818111156114fd5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526025908201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060408201526439b4bd329760d91b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f72656365697665722072656a656374656420455448207472616e736665720000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526006908201526510a7aba722a960d11b604082015260600190565b90815260200190565b600086825285602083015260a0604083015261164f60a0830186611426565b6001600160a01b0394909416606083015250608001529392505050565b60ff91909116815260200190565b6000821982111561168d5761168d6116e8565b500190565b6000826116ad57634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156116cc576116cc6116e8565b500290565b6000828210156116e3576116e36116e8565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146105c657600080fdfea264697066735822122062730fdc52c5ffeb7a0ff7c0fb35431db168a11ca2d3b52ca7786be5eb1cd8e364736f6c63430008000033
0x6080604052600180546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556002805490911661dead179055620000486012600a62000685565b6200005790620f424062000770565b600355606460035460056200006d919062000770565b62000079919062000617565b600455620000b360646200009f60646003546200043160201b620007a41790919060201c565b6200049160201b620007e91790919060201c565b6005556001600b819055600c819055600d819055620000d38180620005fc565b620000df9190620005fc565b600e556064600f55601080546001600160a01b031990811673c95a0bf330cd40c96815a535faa8276e99e66327179091556011805490911673d955d20a2d6e00023f57fba95291ff39589fc78b1790556013805460ff60a01b1916600160a01b179055600354610258906200015690600262000770565b62000162919062000617565b6014553480156200017257600080fd5b50600080546001600160a01b03199081163317909155600154601280549092166001600160a01b0391821617918290556040805163c45a015560e01b81529051929091169163c45a015591600480820192602092909190829003018186803b158015620001de57600080fd5b505afa158015620001f3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000219919062000519565b6001600160a01b031663c9c65396601260009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200027657600080fd5b505afa1580156200028b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002b1919062000519565b306040518363ffffffff1660e01b8152600401620002d192919062000542565b602060405180830381600087803b158015620002ec57600080fd5b505af115801562000301573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000327919062000519565b601380546001600160a01b0319166001600160a01b039283161790553060009081526007602090815260408083206012548516845282528083206000199055825433845260088352818420805460ff19908116600190811790925591861680865260098552838620805484168317905560108054881687528487208054851684179055818752600a8652848720805485168417905554871686528386208054841683179055600254909616855282852080549092161790556003548484526006909252808320829055518392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91620004229190620005f3565b60405180910390a350620007a8565b60008262000442575060006200048b565b600062000450838562000770565b9050826200045f858362000617565b14620004885760405162461bcd60e51b81526004016200047f90620005b2565b60405180910390fd5b90505b92915050565b60006200048883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620004db60201b60201c565b60008183620004ff5760405162461bcd60e51b81526004016200047f91906200055c565b5060006200050e848662000617565b9150505b9392505050565b6000602082840312156200052b578081fd5b81516001600160a01b038116811462000488578182fd5b6001600160a01b0392831681529116602082015260400190565b6000602080835283518082850152825b818110156200058a578581018301518582016040015282016200056c565b818111156200059c5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b90815260200190565b6000821982111562000612576200061262000792565b500190565b6000826200063357634e487b7160e01b81526012600452602481fd5b500490565b80825b60018086116200064c57506200067c565b81870482111562000661576200066162000792565b808616156200066f57918102915b9490941c9380026200063b565b94509492505050565b60006200048860001960ff851684600082620006a45750600162000512565b81620006b35750600062000512565b8160018114620006cc5760028114620006d7576200070b565b600191505062000512565b60ff841115620006eb57620006eb62000792565b6001841b91508482111562000704576200070462000792565b5062000512565b5060208310610133831016604e8410600b841016171562000743575081810a838111156200073d576200073d62000792565b62000512565b62000752848484600162000638565b80860482111562000767576200076762000792565b02949350505050565b60008160001904831182151516156200078d576200078d62000792565b500290565b634e487b7160e01b600052601160045260246000fd5b61175f80620007b86000396000f3fe60806040526004361061016a5760003560e01c80636ddd1713116100d1578063a8aa1b311161008a578063dd62ed3e11610064578063dd62ed3e146103b3578063e96fada2146103d3578063f1d5f517146103e8578063f887ea401461040857610171565b8063a8aa1b3114610369578063a9059cbb1461037e578063dab84ee71461039e57610171565b80636ddd1713146102e857806370a08231146102fd578063715018a61461031d5780637d1db4a514610332578063893d20e81461034757806395d89b41146101a157610171565b8063313ce56711610123578063313ce56714610245578063364333f4146102675780633eaaf86b1461027e578063571ac8b0146102935780635b65b9ab146102b35780636c0a24eb146102d357610171565b80630445b6671461017657806306fdde03146101a1578063095ea7b3146101c357806318160ddd146101f057806323b872dd146102055780632f54bf6e1461022557610171565b3661017157005b600080fd5b34801561018257600080fd5b5061018b61041d565b6040516101989190611627565b60405180910390f35b3480156101ad57600080fd5b506101b6610423565b60405161019891906114c0565b3480156101cf57600080fd5b506101e36101de3660046112fe565b610441565b6040516101989190611480565b3480156101fc57600080fd5b5061018b6104ac565b34801561021157600080fd5b506101e36102203660046112be565b6104b2565b34801561023157600080fd5b506101e361024036600461124e565b610574565b34801561025157600080fd5b5061025a610588565b604051610198919061166c565b34801561027357600080fd5b5061027c61058d565b005b34801561028a57600080fd5b5061018b6105c9565b34801561029f57600080fd5b506101e36102ae36600461124e565b6105cf565b3480156102bf57600080fd5b5061027c6102ce3660046113fb565b6105dd565b3480156102df57600080fd5b5061018b610637565b3480156102f457600080fd5b506101e361063d565b34801561030957600080fd5b5061018b61031836600461124e565b61064d565b34801561032957600080fd5b5061027c610668565b34801561033e57600080fd5b5061018b6106d5565b34801561035357600080fd5b5061035c6106db565b604051610198919061146c565b34801561037557600080fd5b5061035c6106ea565b34801561038a57600080fd5b506101e36103993660046112fe565b6106f9565b3480156103aa57600080fd5b5061035c610706565b3480156103bf57600080fd5b5061018b6103ce366004611286565b610715565b3480156103df57600080fd5b5061035c610740565b3480156103f457600080fd5b5061027c6104033660046113e3565b61074f565b34801561041457600080fd5b5061035c610795565b60145481565b60408051808201909152600481526311d3d05560e21b602082015290565b3360008181526007602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061049a908690611627565b60405180910390a35060015b92915050565b60035490565b6001600160a01b03831660009081526007602090815260408083203384529091528120546000191461055f576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260078252838120338252909152919091205461053a91849061082b565b6001600160a01b03851660009081526007602090815260408083203384529091529020555b61056a848484610865565b90505b9392505050565b6000546001600160a01b0390811691161490565b601290565b6011546040516001600160a01b03909116904780156108fc02916000818181858888f193505050501580156105c6573d6000803e3d6000fd5b50565b60035481565b60006104a682600019610441565b6105e633610574565b61060b5760405162461bcd60e51b815260040161060290611607565b60405180910390fd5b600c839055600b829055600d81905580610625838561167a565b61062f919061167a565b600e55505050565b60045481565b601354600160a01b900460ff1681565b6001600160a01b031660009081526006602052604090205490565b61067133610574565b61068d5760405162461bcd60e51b815260040161060290611607565b600080546001600160a01b03191681556040517f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc686163916106cb9161146c565b60405180910390a1565b60055481565b6000546001600160a01b031690565b6013546001600160a01b031681565b600061056d338484610865565b6011546001600160a01b031681565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b6010546001600160a01b031681565b61075833610574565b6107745760405162461bcd60e51b815260040161060290611607565b6103e88160035461078591906116b2565b61078f9190611692565b60045550565b6012546001600160a01b031681565b6000826107b3575060006104a6565b60006107bf83856116b2565b9050826107cc8583611692565b1461056d5760405162461bcd60e51b8152600401610602906115c6565b600061056d83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610a49565b6000818484111561084f5760405162461bcd60e51b815260040161060291906114c0565b50600061085c84866116d1565b95945050505050565b60155460009060ff16156108855761087e848484610a77565b905061056d565b6013546001600160a01b038481169116148015906108b157506002546001600160a01b03848116911614155b1561091e576001600160a01b0383166000908152600a602052604090205460ff168061090257506004546001600160a01b0384166000908152600660205260409020546108ff90849061167a565b11155b61091e5760405162461bcd60e51b815260040161060290611513565b610926610b5b565b1561093357610933610bb3565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b03871660009081526006909152919091205461098591849061082b565b6001600160a01b0385166000908152600660205260408120919091556109aa8561111a565b6109b457826109be565b6109be8584611139565b6001600160a01b0385166000908152600660205260409020549091506109e490826111dd565b6001600160a01b0380861660008181526006602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a36908590611627565b60405180910390a3506001949350505050565b60008183610a6a5760405162461bcd60e51b815260040161060291906114c0565b50600061085c8486611692565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600690915291822054610ac891849061082b565b6001600160a01b038086166000908152600660205260408082209390935590851681522054610af790836111dd565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b49908690611627565b60405180910390a35060019392505050565b6013546000906001600160a01b03163314801590610b7c575060155460ff16155b8015610b915750601354600160a01b900460ff165b8015610bae57506014543060009081526006602052604090205410155b905090565b6015805460ff19166001179055601454600e54600d54600091610be691600291610be091829087906107a4565b906107e9565b90506000610bf4838361120c565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610c3c57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610c9057600080fd5b505afa158015610ca4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cc8919061126a565b81600181518110610ce957634e487b7160e01b600052603260045260246000fd5b6001600160a01b039290921660209283029190910182015260408051600280825260608201835260009391929091830190803683370190505090503081600181518110610d4657634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152601254604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610d9a57600080fd5b505afa158015610dae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dd2919061126a565b81600081518110610df357634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201015260125460405163791ac94760e01b81524792919091169063791ac94790610e3d908790600090889030904290600401611630565b600060405180830381600087803b158015610e5757600080fd5b505af1158015610e6b573d6000803e3d6000fd5b505050506000610e84824761120c90919063ffffffff16565b90506000610ea3600e54610be0600c54856107a490919063ffffffff16565b90506000610ec2600e54610be0600b54866107a490919063ffffffff16565b90506000610ee1600e54610be0600d54876107a490919063ffffffff16565b6011546040519192506000916001600160a01b0390911690617530908690610f0890611469565b600060405180830381858888f193505050503d8060008114610f46576040519150601f19603f3d011682016040523d82523d6000602084013e610f4b565b606091505b5050905080610f6c5760405162461bcd60e51b81526004016106029061158f565b6010546040516000916001600160a01b031690617530908690610f8e90611469565b600060405180830381858888f193505050503d8060008114610fcc576040519150601f19603f3d011682016040523d82523d6000602084013e610fd1565b606091505b5050905080610ff25760405162461bcd60e51b81526004016106029061158f565b6000601260009054906101000a90046001600160a01b03166001600160a01b0316637ff36ab58560008c601360009054906101000a90046001600160a01b0316426040518663ffffffff1660e01b8152600401611052949392919061148b565b6000604051808303818588803b15801561106b57600080fd5b505af115801561107f573d6000803e3d6000fd5b50505050506040513d6000823e601f3d908101601f191682016040526110a89190810190611329565b90506110f1816001815181106110ce57634e487b7160e01b600052603260045260246000fd5b6020908102919091018101513060009081526006909252604090912054906111dd565b3060009081526006602052604090205550506015805460ff191690555050505050505050505050565b6001600160a01b031660009081526009602052604090205460ff161590565b600080611157600f54610be0600e54866107a490919063ffffffff16565b3060009081526006602052604090205490915061117490826111dd565b30600081815260066020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111c3908590611627565b60405180910390a36111d5838261120c565b949350505050565b6000806111ea838561167a565b90508381101561056d5760405162461bcd60e51b815260040161060290611558565b600061056d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061082b565b60006020828403121561125f578081fd5b813561056d81611714565b60006020828403121561127b578081fd5b815161056d81611714565b60008060408385031215611298578081fd5b82356112a381611714565b915060208301356112b381611714565b809150509250929050565b6000806000606084860312156112d2578081fd5b83356112dd81611714565b925060208401356112ed81611714565b929592945050506040919091013590565b60008060408385031215611310578182fd5b823561131b81611714565b946020939093013593505050565b6000602080838503121561133b578182fd5b825167ffffffffffffffff80821115611352578384fd5b818501915085601f830112611365578384fd5b815181811115611377576113776116fe565b83810260405185828201018181108582111715611396576113966116fe565b604052828152858101935084860182860187018a10156113b4578788fd5b8795505b838610156113d65780518552600195909501949386019386016113b8565b5098975050505050505050565b6000602082840312156113f4578081fd5b5035919050565b60008060006060848603121561140f578283fd5b505081359360208301359350604090920135919050565b6000815180845260208085019450808401835b8381101561145e5781516001600160a01b031687529582019590820190600101611439565b509495945050505050565b90565b6001600160a01b0391909116815260200190565b901515815260200190565b6000858252608060208301526114a46080830186611426565b6001600160a01b03949094166040830152506060015292915050565b6000602080835283518082850152825b818110156114ec578581018301518582016040015282016114d0565b818111156114fd5783604083870101525b50601f01601f1916929092016040019392505050565b60208082526025908201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060408201526439b4bd329760d91b606082015260800190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f72656365697665722072656a656374656420455448207472616e736665720000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b60208082526006908201526510a7aba722a960d11b604082015260600190565b90815260200190565b600086825285602083015260a0604083015261164f60a0830186611426565b6001600160a01b0394909416606083015250608001529392505050565b60ff91909116815260200190565b6000821982111561168d5761168d6116e8565b500190565b6000826116ad57634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156116cc576116cc6116e8565b500290565b6000828210156116e3576116e36116e8565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146105c657600080fdfea264697066735822122062730fdc52c5ffeb7a0ff7c0fb35431db168a11ca2d3b52ca7786be5eb1cd8e364736f6c63430008000033