0x6080604052600436106101d3575f3560e01c8063715018a6116100fd578063d799eef111610092578063e0ff589611610062578063e0ff58961461054f578063e156afd51461056e578063e5d41c6b14610582578063f2fde38b14610597575f80fd5b8063d799eef11461049f578063dd467064146104cd578063dd62ed3e146104ec578063deaa59df14610530575f80fd5b8063a45137ee116100cd578063a45137ee1461042e578063a457c2d71461044d578063a69df4b51461046c578063a9059cbb14610480575f80fd5b8063715018a6146103d557806378109e54146103e95780638da5cb5b146103fe57806395d89b411461041a575f80fd5b8063382020901161017357806352f7c9881161014357806352f7c9881461035c578063557ed1ba1461037b578063602bc62b1461038d57806370a08231146103a1575f80fd5b806338202090146102df57806339509351146102fd57806348a464731461031c57806349bd5a5e1461033d575f80fd5b80631694505e116101ae5780631694505e1461025057806318160ddd1461028757806323b872dd146102a5578063313ce567146102c4575f80fd5b806306fdde03146101de578063095ea7b3146102085780631693e8d414610237575f80fd5b366101da57005b5f80fd5b3480156101e9575f80fd5b506101f26105b6565b6040516101ff919061161e565b60405180910390f35b348015610213575f80fd5b50610227610222366004611681565b610646565b60405190151581526020016101ff565b348015610242575f80fd5b50600a546102279060ff1681565b34801561025b575f80fd5b5060115461026f906001600160a01b031681565b6040516001600160a01b0390911681526020016101ff565b348015610292575f80fd5b506009545b6040519081526020016101ff565b3480156102b0575f80fd5b506102276102bf3660046116ab565b61065c565b3480156102cf575f80fd5b50604051601281526020016101ff565b3480156102ea575f80fd5b50600e5461022790610100900460ff1681565b348015610308575f80fd5b50610227610317366004611681565b610710565b348015610327575f80fd5b5061033b6103363660046116e9565b610746565b005b348015610348575f80fd5b5060125461026f906001600160a01b031681565b348015610367575f80fd5b5061033b610376366004611700565b610774565b348015610386575f80fd5b5042610297565b348015610398575f80fd5b50600254610297565b3480156103ac575f80fd5b506102976103bb366004611720565b6001600160a01b03165f9081526003602052604090205490565b3480156103e0575f80fd5b5061033b610810565b3480156103f4575f80fd5b5061029760105481565b348015610409575f80fd5b505f546001600160a01b031661026f565b348015610425575f80fd5b506101f261086e565b348015610439575f80fd5b5061033b61044836600461174f565b61087d565b348015610458575f80fd5b50610227610467366004611681565b6108fa565b348015610477575f80fd5b5061033b610994565b34801561048b575f80fd5b5061022761049a366004611681565b610a97565b3480156104aa575f80fd5b506102276104b9366004611720565b60046020525f908152604090205460ff1681565b3480156104d8575f80fd5b5061033b6104e73660046116e9565b610aa3565b3480156104f7575f80fd5b50610297610506366004611768565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b34801561053b575f80fd5b5061033b61054a366004611720565b610b24565b34801561055a575f80fd5b5061033b61056936600461179f565b610b75565b348015610579575f80fd5b5061033b610bc8565b34801561058d575f80fd5b50610297600f5481565b3480156105a2575f80fd5b5061033b6105b1366004611720565b610c00565b6060600780546105c5906117d2565b80601f01602080910402602001604051908101604052809291908181526020018280546105f1906117d2565b801561063c5780601f106106135761010080835404028352916020019161063c565b820191905f5260205f20905b81548152906001019060200180831161061f57829003601f168201915b5050505050905090565b5f610652338484610cd4565b5060015b92915050565b5f610668848484610df7565b6001600160a01b0384165f908152600660209081526040808320338452909152902054828110156106f15760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6107058533610700868561181e565b610cd4565b506001949350505050565b335f8181526006602090815260408083206001600160a01b03871684529091528120549091610652918590610700908690611831565b5f546001600160a01b0316331461076f5760405162461bcd60e51b81526004016106e890611844565b600f55565b5f546001600160a01b0316331461079d5760405162461bcd60e51b81526004016106e890611844565b6028821115806107ae575060288111155b6108055760405162461bcd60e51b815260206004820152602260248201527f556e61626c6520746f20736574206665657320686967686572207468656e2034604482015261302560f01b60648201526084016106e8565b600c91909155600d55565b5f546001600160a01b031633146108395760405162461bcd60e51b81526004016106e890611844565b5f80546040516001600160a01b03909116905f80516020611a3b833981519152908390a35f80546001600160a01b0319169055565b6060600880546105c5906117d2565b5f546001600160a01b031633146108a65760405162461bcd60e51b81526004016106e890611844565b600e80548215156101000261ff00199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159906108ef90831515815260200190565b60405180910390a150565b335f9081526006602090815260408083206001600160a01b03861684529091528120548281101561097b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016106e8565b61098a3385610700868561181e565b5060019392505050565b6001546001600160a01b031633146109fa5760405162461bcd60e51b815260206004820152602360248201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6044820152626f636b60e81b60648201526084016106e8565b6002544211610a4b5760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374206973206c6f636b656420756e74696c203720646179730060448201526064016106e8565b6001545f80546040516001600160a01b0393841693909116915f80516020611a3b83398151915291a36001545f80546001600160a01b0319166001600160a01b03909216919091179055565b5f610652338484610df7565b5f546001600160a01b03163314610acc5760405162461bcd60e51b81526004016106e890611844565b5f8054600180546001600160a01b03199081166001600160a01b03841617909155169055610afa8142611831565b6002555f80546040516001600160a01b03909116905f80516020611a3b833981519152908390a350565b5f546001600160a01b03163314610b4d5760405162461bcd60e51b81526004016106e890611844565b600a80546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b5f546001600160a01b03163314610b9e5760405162461bcd60e51b81526004016106e890611844565b6001600160a01b03919091165f908152600460205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610bf15760405162461bcd60e51b81526004016106e890611844565b600a805460ff19166001179055565b5f546001600160a01b03163314610c295760405162461bcd60e51b81526004016106e890611844565b6001600160a01b038116610c8e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106e8565b5f80546040516001600160a01b03808516939216915f80516020611a3b83398151915291a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610d365760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106e8565b6001600160a01b038216610d975760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106e8565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e5b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106e8565b6001600160a01b0383165f90815260036020526040902054811115610ed15760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016106e8565b826001600160a01b0316610eec5f546001600160a01b031690565b6001600160a01b03161480610f035750600a5460ff165b610f455760405162461bcd60e51b81526020600482015260136024820152721d1c98591a5b99c81a5cc8191a5cd8589b1959606a1b60448201526064016106e8565b305f90815260036020526040902054600f54600e548392918210159060ff16158015610f6e5750805b8015610f8857506012546001600160a01b03878116911614155b8015610f9b5750600e54610100900460ff165b15610fa957610fa982611207565b6012546001600160a01b0390811690871603611105576001600160a01b0385165f9081526004602052604090205460ff16158015610ff057506001600160a01b0385163014155b801561100457506001600160a01b03851615155b80156110235750600a546001600160a01b038681166101009092041614155b156110c3576001600160a01b0385165f9081526003602052604090205460105461104d8683611831565b11156110c15760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e000060648201526084016106e8565b505b6001600160a01b0385165f9081526005602052604090205460ff161580156110ee5750600e5460ff16155b15611100576110fd8685611277565b92505b611158565b6012546001600160a01b0390811690861603611158576001600160a01b0386165f9081526005602052604090205460ff161580156111465750600e5460ff16155b15611158576111558685611332565b92505b6001600160a01b0386165f908152600360205260408120805486929061117f90849061181e565b90915550506001600160a01b0385165f90815260036020526040812080548592906111ab908490611831565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516111f791815260200190565b60405180910390a3505050505050565b600e805460ff19166001179055600f548111156112235750600f545b61122c8161136a565b600a54604051479161010090046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015611268573d5f803e3d5ffd5b5050600e805460ff1916905550565b600c545f9082901561132b575f6112b5600b5460026112969190611831565b6112a190600a611959565b600c546112af9087906114ba565b90611538565b90506112c18282611579565b305f908152600360205260408120805492945083929091906112e4908490611831565b909155505060405181815230906001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505b9392505050565b600d545f9082901561132b575f6112b5600b5460026113519190611831565b61135c90600a611959565b600d546112af9087906114ba565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061139d5761139d611964565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113f4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114189190611978565b8160018151811061142b5761142b611964565b6001600160a01b0392831660209182029290920101526011546114519130911684610cd4565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906114899085905f90869030904290600401611993565b5f604051808303815f87803b1580156114a0575f80fd5b505af11580156114b2573d5f803e3d5ffd5b505050505050565b5f825f036114c957505f610656565b5f6114d48385611a04565b9050826114e18583611a1b565b1461132b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106e8565b5f61132b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115ba565b5f61132b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115ef565b5f81836115da5760405162461bcd60e51b81526004016106e8919061161e565b505f6115e68486611a1b565b95945050505050565b5f81848411156116125760405162461bcd60e51b81526004016106e8919061161e565b505f6115e6848661181e565b5f602080835283518060208501525f5b8181101561164a5785810183015185820160400152820161162e565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461167e575f80fd5b50565b5f8060408385031215611692575f80fd5b823561169d8161166a565b946020939093013593505050565b5f805f606084860312156116bd575f80fd5b83356116c88161166a565b925060208401356116d88161166a565b929592945050506040919091013590565b5f602082840312156116f9575f80fd5b5035919050565b5f8060408385031215611711575f80fd5b50508035926020909101359150565b5f60208284031215611730575f80fd5b813561132b8161166a565b8035801515811461174a575f80fd5b919050565b5f6020828403121561175f575f80fd5b61132b8261173b565b5f8060408385031215611779575f80fd5b82356117848161166a565b915060208301356117948161166a565b809150509250929050565b5f80604083850312156117b0575f80fd5b82356117bb8161166a565b91506117c96020840161173b565b90509250929050565b600181811c908216806117e657607f821691505b60208210810361180457634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156106565761065661180a565b808201808211156106565761065661180a565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181815b808511156118b357815f19048211156118995761189961180a565b808516156118a657918102915b93841c939080029061187e565b509250929050565b5f826118c957506001610656565b816118d557505f610656565b81600181146118eb57600281146118f557611911565b6001915050610656565b60ff8411156119065761190661180a565b50506001821b610656565b5060208310610133831016604e8410600b8410161715611934575081810a610656565b61193e8383611879565b805f19048211156119515761195161180a565b029392505050565b5f61132b83836118bb565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611988575f80fd5b815161132b8161166a565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119e35784516001600160a01b0316835293830193918301916001016119be565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176106565761065661180a565b5f82611a3557634e487b7160e01b5f52601260045260245ffd5b50049056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a26469706673582212206a3cd94b5e4ef1da9f4975cfeb65538860cc7b56e34a9b6bbfe5c467878662d464736f6c63430008180033
0x6080604052620000126012600a62000569565b6200002290633b9aca0062000580565b600955600a80546001600160a81b03191674cd3acdefad8578bb2616e14ef17464000272d371001790555f600b556014600c556028600d55600e805461010061ff001990911617905560126200007a90600a62000569565b6200008990620186a062000580565b600f556200009a6012600a62000569565b620000aa90630bebc20062000580565b601055348015620000b9575f80fd5b505f80546001600160a01b03191673cd3acdefad8578bb2616e14ef17464000272d37190811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360408051808201909152600b81526a14185b9857d35a59dd595b60aa1b60208201526007906200013d908262000638565b506040805180820190915260038152624d494760e81b602082015260089062000167908262000638565b505f737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001bd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001e3919062000704565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200022f573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000255919062000704565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015620002a0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620002c6919062000704565b601280546001600160a01b03199081166001600160a01b039384161790915560118054909116918316919091179055600160055f6200030c5f546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081015f908120805494151560ff199586161790553081526005909252812080549092166001908117909255600490620003635f546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182015f908120805495151560ff19968716179055600a5461010090049091168152600490925280822080548416600190811790915530835290822080549093161790915560095490600390620003d95f546001600160a01b031690565b6001600160a01b0316815260208101919091526040015f2055620004045f546001600160a01b031690565b6001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009546040516200044b91815260200190565b60405180910390a3506200072c565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620004ae57815f19048211156200049257620004926200045a565b80851615620004a057918102915b93841c939080029062000473565b509250929050565b5f82620004c65750600162000563565b81620004d457505f62000563565b8160018114620004ed5760028114620004f85762000518565b600191505062000563565b60ff8411156200050c576200050c6200045a565b50506001821b62000563565b5060208310610133831016604e8410600b84101617156200053d575081810a62000563565b6200054983836200046e565b805f19048211156200055f576200055f6200045a565b0290505b92915050565b5f6200057960ff841683620004b6565b9392505050565b80820281158282048414176200056357620005636200045a565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620005c357607f821691505b602082108103620005e257634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156200063357805f5260205f20601f840160051c810160208510156200060f5750805b601f840160051c820191505b8181101562000630575f81556001016200061b565b50505b505050565b81516001600160401b038111156200065457620006546200059a565b6200066c81620006658454620005ae565b84620005e8565b602080601f831160018114620006a2575f84156200068a5750858301515b5f19600386901b1c1916600185901b178555620006fc565b5f85815260208120601f198616915b82811015620006d257888601518255948401946001909101908401620006b1565b5085821015620006f057878501515f19600388901b60f8161c191681555b505060018460011b0185555b505050505050565b5f6020828403121562000715575f80fd5b81516001600160a01b038116811462000579575f80fd5b611a90806200073a5f395ff3fe6080604052600436106101d3575f3560e01c8063715018a6116100fd578063d799eef111610092578063e0ff589611610062578063e0ff58961461054f578063e156afd51461056e578063e5d41c6b14610582578063f2fde38b14610597575f80fd5b8063d799eef11461049f578063dd467064146104cd578063dd62ed3e146104ec578063deaa59df14610530575f80fd5b8063a45137ee116100cd578063a45137ee1461042e578063a457c2d71461044d578063a69df4b51461046c578063a9059cbb14610480575f80fd5b8063715018a6146103d557806378109e54146103e95780638da5cb5b146103fe57806395d89b411461041a575f80fd5b8063382020901161017357806352f7c9881161014357806352f7c9881461035c578063557ed1ba1461037b578063602bc62b1461038d57806370a08231146103a1575f80fd5b806338202090146102df57806339509351146102fd57806348a464731461031c57806349bd5a5e1461033d575f80fd5b80631694505e116101ae5780631694505e1461025057806318160ddd1461028757806323b872dd146102a5578063313ce567146102c4575f80fd5b806306fdde03146101de578063095ea7b3146102085780631693e8d414610237575f80fd5b366101da57005b5f80fd5b3480156101e9575f80fd5b506101f26105b6565b6040516101ff919061161e565b60405180910390f35b348015610213575f80fd5b50610227610222366004611681565b610646565b60405190151581526020016101ff565b348015610242575f80fd5b50600a546102279060ff1681565b34801561025b575f80fd5b5060115461026f906001600160a01b031681565b6040516001600160a01b0390911681526020016101ff565b348015610292575f80fd5b506009545b6040519081526020016101ff565b3480156102b0575f80fd5b506102276102bf3660046116ab565b61065c565b3480156102cf575f80fd5b50604051601281526020016101ff565b3480156102ea575f80fd5b50600e5461022790610100900460ff1681565b348015610308575f80fd5b50610227610317366004611681565b610710565b348015610327575f80fd5b5061033b6103363660046116e9565b610746565b005b348015610348575f80fd5b5060125461026f906001600160a01b031681565b348015610367575f80fd5b5061033b610376366004611700565b610774565b348015610386575f80fd5b5042610297565b348015610398575f80fd5b50600254610297565b3480156103ac575f80fd5b506102976103bb366004611720565b6001600160a01b03165f9081526003602052604090205490565b3480156103e0575f80fd5b5061033b610810565b3480156103f4575f80fd5b5061029760105481565b348015610409575f80fd5b505f546001600160a01b031661026f565b348015610425575f80fd5b506101f261086e565b348015610439575f80fd5b5061033b61044836600461174f565b61087d565b348015610458575f80fd5b50610227610467366004611681565b6108fa565b348015610477575f80fd5b5061033b610994565b34801561048b575f80fd5b5061022761049a366004611681565b610a97565b3480156104aa575f80fd5b506102276104b9366004611720565b60046020525f908152604090205460ff1681565b3480156104d8575f80fd5b5061033b6104e73660046116e9565b610aa3565b3480156104f7575f80fd5b50610297610506366004611768565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b34801561053b575f80fd5b5061033b61054a366004611720565b610b24565b34801561055a575f80fd5b5061033b61056936600461179f565b610b75565b348015610579575f80fd5b5061033b610bc8565b34801561058d575f80fd5b50610297600f5481565b3480156105a2575f80fd5b5061033b6105b1366004611720565b610c00565b6060600780546105c5906117d2565b80601f01602080910402602001604051908101604052809291908181526020018280546105f1906117d2565b801561063c5780601f106106135761010080835404028352916020019161063c565b820191905f5260205f20905b81548152906001019060200180831161061f57829003601f168201915b5050505050905090565b5f610652338484610cd4565b5060015b92915050565b5f610668848484610df7565b6001600160a01b0384165f908152600660209081526040808320338452909152902054828110156106f15760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e74206578636565647320616044820152676c6c6f77616e636560c01b60648201526084015b60405180910390fd5b6107058533610700868561181e565b610cd4565b506001949350505050565b335f8181526006602090815260408083206001600160a01b03871684529091528120549091610652918590610700908690611831565b5f546001600160a01b0316331461076f5760405162461bcd60e51b81526004016106e890611844565b600f55565b5f546001600160a01b0316331461079d5760405162461bcd60e51b81526004016106e890611844565b6028821115806107ae575060288111155b6108055760405162461bcd60e51b815260206004820152602260248201527f556e61626c6520746f20736574206665657320686967686572207468656e2034604482015261302560f01b60648201526084016106e8565b600c91909155600d55565b5f546001600160a01b031633146108395760405162461bcd60e51b81526004016106e890611844565b5f80546040516001600160a01b03909116905f80516020611a3b833981519152908390a35f80546001600160a01b0319169055565b6060600880546105c5906117d2565b5f546001600160a01b031633146108a65760405162461bcd60e51b81526004016106e890611844565b600e80548215156101000261ff00199091161790556040517f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc159906108ef90831515815260200190565b60405180910390a150565b335f9081526006602090815260408083206001600160a01b03861684529091528120548281101561097b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084016106e8565b61098a3385610700868561181e565b5060019392505050565b6001546001600160a01b031633146109fa5760405162461bcd60e51b815260206004820152602360248201527f596f7520646f6e27742068617665207065726d697373696f6e20746f20756e6c6044820152626f636b60e81b60648201526084016106e8565b6002544211610a4b5760405162461bcd60e51b815260206004820152601f60248201527f436f6e7472616374206973206c6f636b656420756e74696c203720646179730060448201526064016106e8565b6001545f80546040516001600160a01b0393841693909116915f80516020611a3b83398151915291a36001545f80546001600160a01b0319166001600160a01b03909216919091179055565b5f610652338484610df7565b5f546001600160a01b03163314610acc5760405162461bcd60e51b81526004016106e890611844565b5f8054600180546001600160a01b03199081166001600160a01b03841617909155169055610afa8142611831565b6002555f80546040516001600160a01b03909116905f80516020611a3b833981519152908390a350565b5f546001600160a01b03163314610b4d5760405162461bcd60e51b81526004016106e890611844565b600a80546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b5f546001600160a01b03163314610b9e5760405162461bcd60e51b81526004016106e890611844565b6001600160a01b03919091165f908152600460205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610bf15760405162461bcd60e51b81526004016106e890611844565b600a805460ff19166001179055565b5f546001600160a01b03163314610c295760405162461bcd60e51b81526004016106e890611844565b6001600160a01b038116610c8e5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016106e8565b5f80546040516001600160a01b03808516939216915f80516020611a3b83398151915291a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610d365760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106e8565b6001600160a01b038216610d975760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106e8565b6001600160a01b038381165f8181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610e5b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106e8565b6001600160a01b0383165f90815260036020526040902054811115610ed15760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b60648201526084016106e8565b826001600160a01b0316610eec5f546001600160a01b031690565b6001600160a01b03161480610f035750600a5460ff165b610f455760405162461bcd60e51b81526020600482015260136024820152721d1c98591a5b99c81a5cc8191a5cd8589b1959606a1b60448201526064016106e8565b305f90815260036020526040902054600f54600e548392918210159060ff16158015610f6e5750805b8015610f8857506012546001600160a01b03878116911614155b8015610f9b5750600e54610100900460ff165b15610fa957610fa982611207565b6012546001600160a01b0390811690871603611105576001600160a01b0385165f9081526004602052604090205460ff16158015610ff057506001600160a01b0385163014155b801561100457506001600160a01b03851615155b80156110235750600a546001600160a01b038681166101009092041614155b156110c3576001600160a01b0385165f9081526003602052604090205460105461104d8683611831565b11156110c15760405162461bcd60e51b815260206004820152603e60248201527f546f74616c20486f6c64696e672069732063757272656e746c79206c696d697460448201527f65642c20796f752063616e206e6f74206275792074686174206d7563682e000060648201526084016106e8565b505b6001600160a01b0385165f9081526005602052604090205460ff161580156110ee5750600e5460ff16155b15611100576110fd8685611277565b92505b611158565b6012546001600160a01b0390811690861603611158576001600160a01b0386165f9081526005602052604090205460ff161580156111465750600e5460ff16155b15611158576111558685611332565b92505b6001600160a01b0386165f908152600360205260408120805486929061117f90849061181e565b90915550506001600160a01b0385165f90815260036020526040812080548592906111ab908490611831565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516111f791815260200190565b60405180910390a3505050505050565b600e805460ff19166001179055600f548111156112235750600f545b61122c8161136a565b600a54604051479161010090046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015611268573d5f803e3d5ffd5b5050600e805460ff1916905550565b600c545f9082901561132b575f6112b5600b5460026112969190611831565b6112a190600a611959565b600c546112af9087906114ba565b90611538565b90506112c18282611579565b305f908152600360205260408120805492945083929091906112e4908490611831565b909155505060405181815230906001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505b9392505050565b600d545f9082901561132b575f6112b5600b5460026113519190611831565b61135c90600a611959565b600d546112af9087906114ba565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061139d5761139d611964565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156113f4573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906114189190611978565b8160018151811061142b5761142b611964565b6001600160a01b0392831660209182029290920101526011546114519130911684610cd4565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906114899085905f90869030904290600401611993565b5f604051808303815f87803b1580156114a0575f80fd5b505af11580156114b2573d5f803e3d5ffd5b505050505050565b5f825f036114c957505f610656565b5f6114d48385611a04565b9050826114e18583611a1b565b1461132b5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016106e8565b5f61132b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506115ba565b5f61132b83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506115ef565b5f81836115da5760405162461bcd60e51b81526004016106e8919061161e565b505f6115e68486611a1b565b95945050505050565b5f81848411156116125760405162461bcd60e51b81526004016106e8919061161e565b505f6115e6848661181e565b5f602080835283518060208501525f5b8181101561164a5785810183015185820160400152820161162e565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461167e575f80fd5b50565b5f8060408385031215611692575f80fd5b823561169d8161166a565b946020939093013593505050565b5f805f606084860312156116bd575f80fd5b83356116c88161166a565b925060208401356116d88161166a565b929592945050506040919091013590565b5f602082840312156116f9575f80fd5b5035919050565b5f8060408385031215611711575f80fd5b50508035926020909101359150565b5f60208284031215611730575f80fd5b813561132b8161166a565b8035801515811461174a575f80fd5b919050565b5f6020828403121561175f575f80fd5b61132b8261173b565b5f8060408385031215611779575f80fd5b82356117848161166a565b915060208301356117948161166a565b809150509250929050565b5f80604083850312156117b0575f80fd5b82356117bb8161166a565b91506117c96020840161173b565b90509250929050565b600181811c908216806117e657607f821691505b60208210810361180457634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156106565761065661180a565b808201808211156106565761065661180a565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600181815b808511156118b357815f19048211156118995761189961180a565b808516156118a657918102915b93841c939080029061187e565b509250929050565b5f826118c957506001610656565b816118d557505f610656565b81600181146118eb57600281146118f557611911565b6001915050610656565b60ff8411156119065761190661180a565b50506001821b610656565b5060208310610133831016604e8410600b8410161715611934575081810a610656565b61193e8383611879565b805f19048211156119515761195161180a565b029392505050565b5f61132b83836118bb565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611988575f80fd5b815161132b8161166a565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b818110156119e35784516001600160a01b0316835293830193918301916001016119be565b50506001600160a01b03969096166060850152505050608001529392505050565b80820281158282048414176106565761065661180a565b5f82611a3557634e487b7160e01b5f52601260045260245ffd5b50049056fe8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0a26469706673582212206a3cd94b5e4ef1da9f4975cfeb65538860cc7b56e34a9b6bbfe5c467878662d464736f6c63430008180033