60c06040526064620000146012600a62000454565b62000024906305f5e1006200046c565b6200003091906200048e565b600155600a60068190556064600781905560088190556000600955815460ff60a01b1916600160a01b178255906200006b9060129062000454565b6200007b906305f5e1006200046c565b6200008791906200048e565b600b553480156200009757600080fd5b5060008054336001600160a01b031991821617909155600a8054737a250d5630b4cf539739df2c5dacb4c659f2488d921682179055604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa15801562000108573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200012e9190620004b1565b6001600160a01b03908116608052600a546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa1580156200017f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a59190620004b1565b6080516040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af1158015620001f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021d9190620004b1565b6001600160a01b0390811660a052306000818152600360209081526040808320600a8054909616845282528083206000199055338352600482528083208054600160ff199182168117909255600590935281842080548416821790559383528220805482168417905561dead9091527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba80549091169091179055620002c59060129062000454565b620002d5906305f5e1006200046c565b33600081815260026020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003186012600a62000454565b62000328906305f5e1006200046c565b60405190815260200160405180910390a3620004dc565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003965781600019048211156200037a576200037a6200033f565b808516156200038857918102915b93841c93908002906200035a565b509250929050565b600082620003af575060016200044e565b81620003be575060006200044e565b8160018114620003d75760028114620003e25762000402565b60019150506200044e565b60ff841115620003f657620003f66200033f565b50506001821b6200044e565b5060208310610133831016604e8410600b841016171562000427575081810a6200044e565b62000433838362000355565b80600019048211156200044a576200044a6200033f565b0290505b92915050565b60006200046560ff8416836200039e565b9392505050565b60008160001904831182151516156200048957620004896200033f565b500290565b600082620004ac57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620004c457600080fd5b81516001600160a01b03811681146200046557600080fd5b60805160a0516115b36200051e600039600081816104a501528181610aa601528181610d9f01528181610f480152610f8b01526000610e6901526115b36000f3fe60806040526004361061019a5760003560e01c80635d0044ca116100e1578063893d20e81161008a578063a9059cbb11610064578063a9059cbb146104c7578063c867d60b146104e7578063dd62ed3e14610517578063f887ea401461055d57600080fd5b8063893d20e81461042e57806395d89b4114610460578063a8aa1b311461049357600080fd5b806370a08231116100bb57806370a08231146103d6578063715018a61461040357806378109e541461041857600080fd5b80635d0044ca146103755780636ddd1713146103955780636f50f507146103b657600080fd5b80632b112e49116101435780633f4218e01161011d5780633f4218e01461030e57806351bc3c851461033e578063571ac8b01461035557600080fd5b80632b112e49146102a35780632f54bf6e146102b8578063313ce567146102e757600080fd5b806318160ddd1161017457806318160ddd146102585780631df4ccfc1461026d57806323b872dd1461028357600080fd5b806306fdde03146101a6578063095ea7b314610205578063180b0d7e1461023557600080fd5b366101a157005b600080fd5b3480156101b257600080fd5b506101ef6040518060400160405280600e81526020017f5370696465724d616e203230393900000000000000000000000000000000000081525081565b6040516101fc919061121d565b60405180910390f35b34801561021157600080fd5b5061022561022036600461128e565b61057d565b60405190151581526020016101fc565b34801561024157600080fd5b5061024a606481565b6040519081526020016101fc565b34801561026457600080fd5b5061024a6105ea565b34801561027957600080fd5b5061024a60065481565b34801561028f57600080fd5b5061022561029e3660046112b8565b610607565b3480156102af57600080fd5b5061024a6106d0565b3480156102c457600080fd5b506102256102d33660046112f4565b6000546001600160a01b0391821691161490565b3480156102f357600080fd5b506102fc601281565b60405160ff90911681526020016101fc565b34801561031a57600080fd5b506102256103293660046112f4565b60046020526000908152604090205460ff1681565b34801561034a57600080fd5b50610353610757565b005b34801561036157600080fd5b506102256103703660046112f4565b6107ce565b34801561038157600080fd5b5061035361039036600461130f565b6107dc565b3480156103a157600080fd5b50600a5461022590600160a01b900460ff1681565b3480156103c257600080fd5b506103536103d1366004611328565b6108a7565b3480156103e257600080fd5b5061024a6103f13660046112f4565b60026020526000908152604090205481565b34801561040f57600080fd5b50610353610992565b34801561042457600080fd5b5061024a60015481565b34801561043a57600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101fc565b34801561046c57600080fd5b506101ef6040518060400160405280600781526020016609135251d5515360ca1b81525081565b34801561049f57600080fd5b506104487f000000000000000000000000000000000000000000000000000000000000000081565b3480156104d357600080fd5b506102256104e236600461128e565b6109f4565b3480156104f357600080fd5b506102256105023660046112f4565b60056020526000908152604090205460ff1681565b34801561052357600080fd5b5061024a61053236600461134a565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561056957600080fd5b50600a54610448906001600160a01b031681565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906105d89086815260200190565b60405180910390a35060015b92915050565b6105f66012600a611477565b610604906305f5e100611486565b81565b6001600160a01b0383166000908152600360209081526040808320338452909152812054600019146106bb57604080518082018252601681527f496e73756666696369656e7420416c6c6f77616e6365000000000000000000006020808301919091526001600160a01b0387166000908152600382528381203382529091529190912054610696918490610a01565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b6106c6848484610a3b565b90505b9392505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc549091906107306012600a611477565b61073e906305f5e100611486565b61074891906114a5565b61075291906114a5565b905090565b6000546001600160a01b0316331461079f5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b60448201526064015b60405180910390fd5b60405133904780156108fc02916000818181858888f193505050501580156107cb573d6000803e3d6000fd5b50565b60006105e48260001961057d565b6000546001600160a01b0316331461081f5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401610796565b60018110156108705760405162461bcd60e51b815260206004820152601c60248201527f43616e7420736574206d61782077616c6c65742062656c6f77203125000000006044820152606401610796565b60648161087f6012600a611477565b61088d906305f5e100611486565b6108979190611486565b6108a191906114bc565b60015550565b6000546001600160a01b031633146108ea5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401610796565b6097821061093a5760405162461bcd60e51b815260206004820152601660248201527f4d617820627579207461782063616e20626520313525000000000000000000006044820152606401610796565b6097811061098a5760405162461bcd60e51b815260206004820152601760248201527f4d61782073656c6c207461782063616e206265203135250000000000000000006044820152606401610796565b600855600755565b6000546001600160a01b031633146109d55760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b6044820152606401610796565b6000805473ffffffffffffffffffffffffffffffffffffffff19169055565b60006106c9338484610a3b565b60008184841115610a255760405162461bcd60e51b8152600401610796919061121d565b506000610a3284866114a5565b95945050505050565b600c5460009060ff1615610a5b57610a54848484610cac565b90506106c9565b6001600160a01b03841660009081526005602052604090205460ff16158015610a9d57506001600160a01b03831660009081526005602052604090205460ff16155b8015610adb57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b15610b55576001546001600160a01b038416600090815260026020526040902054610b079084906114de565b1115610b555760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d6974207265616368656400000000000000006044820152606401610796565b610b5d610d92565b15610b6a57610b6a610e05565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260029091529190912054610bbc918490610a01565b6001600160a01b038516600090815260026020908152604080832093909355600490529081205460ff1680610c0957506001600160a01b03841660009081526004602052604090205460ff165b610c1d57610c18858486610f24565b610c1f565b825b6001600160a01b038516600090815260026020526040902054909150610c45908261108d565b6001600160a01b0380861660008181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c999085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600290915291822054610cfd918490610a01565b6001600160a01b038086166000908152600260205260408082209390935590851681522054610d2c908361108d565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d809086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610dd05750600c5460ff16155b8015610de55750600a54600160a01b900460ff165b8015610752575050600b5430600090815260026020526040902054101590565b600c805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610e4757610e476114f6565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610e9b57610e9b6114f6565b6001600160a01b039283166020918202929092010152600a54600b5460405163791ac94760e01b8152919092169163791ac94791610ee5919060009086903090429060040161150c565b600060405180830381600087803b158015610eff57600080fd5b505af1158015610f13573d6000803e3d6000fd5b5050600c805460ff19169055505050565b6000821580610f335750600654155b15610f3f5750816106c9565b600060095490507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161415610f895750600854610fc8565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b03161415610fc857506007545b6000610ffd610fd8606480611486565b610ff784610ff16006548a6110ec90919063ffffffff16565b906110ec565b9061116b565b90508015611079573060009081526002602052604090205461101f908261108d565b30600081815260026020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110709085815260200190565b60405180910390a35b61108385826111ad565b9695505050505050565b60008061109a83856114de565b9050838110156106c95760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610796565b6000826110fb575060006105e4565b60006111078385611486565b90508261111485836114bc565b146106c95760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610796565b60006106c983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506111ef565b60006106c983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a01565b600081836112105760405162461bcd60e51b8152600401610796919061121d565b506000610a3284866114bc565b600060208083528351808285015260005b8181101561124a5785810183015185820160400152820161122e565b8181111561125c576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461128957600080fd5b919050565b600080604083850312156112a157600080fd5b6112aa83611272565b946020939093013593505050565b6000806000606084860312156112cd57600080fd5b6112d684611272565b92506112e460208501611272565b9150604084013590509250925092565b60006020828403121561130657600080fd5b6106c982611272565b60006020828403121561132157600080fd5b5035919050565b6000806040838503121561133b57600080fd5b50508035926020909101359150565b6000806040838503121561135d57600080fd5b61136683611272565b915061137460208401611272565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156113ce5781600019048211156113b4576113b461137d565b808516156113c157918102915b93841c9390800290611398565b509250929050565b6000826113e5575060016105e4565b816113f2575060006105e4565b816001811461140857600281146114125761142e565b60019150506105e4565b60ff8411156114235761142361137d565b50506001821b6105e4565b5060208310610133831016604e8410600b8410161715611451575081810a6105e4565b61145b8383611393565b806000190482111561146f5761146f61137d565b029392505050565b60006106c960ff8416836113d6565b60008160001904831182151516156114a0576114a061137d565b500290565b6000828210156114b7576114b761137d565b500390565b6000826114d957634e487b7160e01b600052601260045260246000fd5b500490565b600082198211156114f1576114f161137d565b500190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561155c5784516001600160a01b031683529383019391830191600101611537565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220efab3892d612359d6950ae72963a4aed9f4283ef943ba8d95a70bacdd1cbdacf64736f6c634300080c0033