6080604052600080546001600160a01b031990811682556004805482163317905560058054909116735b3f693efd5710106eb2eac839368364acb5a70f17905560068190556007553480156200005457600080fd5b50600062000061620000d4565b600380546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620000ce73f83f2c42d7b38394f67368c859756f10761bef42620000d8565b62000180565b3390565b620000e2620000d4565b6003546001600160a01b0390811691161462000145576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6200015b816200015e60201b62000e551760201c565b50565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6115fc80620001906000396000f3fe608060405234801561001057600080fd5b50600436106101c35760003560e01c806380faa57d116100f9578063c8f33c9111610097578063e9fad8ee11610071578063e9fad8ee146103c9578063ebe2b12b146103d1578063f2fde38b146103d9578063f7c618c1146103ff576101c3565b8063c8f33c91146103b1578063cd3daf9d146103b9578063df136d65146103c1576101c3565b80638da5cb5b116100d35780638da5cb5b1461037c5780639bfffad714610384578063a694fc3a1461038c578063b662e6c2146103a9576101c3565b806380faa57d146103285780638aee8127146103305780638b87634714610356576101c3565b80632e1a7d4d116101665780636a678a9c116101405780636a678a9c146102cc57806370a08231146102f2578063715018a6146103185780637b0a47ee14610320576101c3565b80632e1a7d4d1461028a5780633c6b16ab146102a75780633d18b912146102c4576101c3565b80630d68b761116101a25780630d68b7611461024a578063101114cf1461027257806318160ddd1461027a5780631be0528914610282576101c3565b80628cc262146101c8578063011cee36146102005780630700037d14610224575b600080fd5b6101ee600480360360208110156101de57600080fd5b50356001600160a01b0316610407565b60408051918252519081900360200190f35b610208610475565b604080516001600160a01b039092168252519081900360200190f35b6101ee6004803603602081101561023a57600080fd5b50356001600160a01b0316610484565b6102706004803603602081101561026057600080fd5b50356001600160a01b0316610496565b005b610208610510565b6101ee61051f565b6101ee610526565b610270600480360360208110156102a057600080fd5b503561052d565b610270600480360360208110156102bd57600080fd5b5035610614565b6102706106d6565b610270600480360360208110156102e257600080fd5b50356001600160a01b03166107a7565b6101ee6004803603602081101561030857600080fd5b50356001600160a01b031661080b565b610270610826565b6101ee6108c8565b6101ee6108ce565b6102706004803603602081101561034657600080fd5b50356001600160a01b03166108e1565b6101ee6004803603602081101561036c57600080fd5b50356001600160a01b031661095b565b61020861096d565b61027061097c565b610270600480360360208110156103a257600080fd5b5035610aad565b610270610b91565b6101ee610cd2565b6101ee610cd8565b6101ee610d26565b610270610d2c565b6101ee610d47565b610270600480360360208110156103ef57600080fd5b50356001600160a01b0316610d4d565b610208610e46565b6001600160a01b0381166000908152600b6020908152604080832054600a90925282205461046f919061046990670de0b6b3a764000090610463906104549061044e610cd8565b90610e77565b61045d8861080b565b90610ec0565b90610f19565b90610f5b565b92915050565b6000546001600160a01b031681565b600b6020526000908152604090205481565b61049e610fb5565b6003546001600160a01b039081169116146104ee576040805162461bcd60e51b8152602060048201819052602482015260008051602061155c833981519152604482015290519081900360640190fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b031681565b6001545b90565b62278d0081565b33610536610cd8565b6009556105416108ce565b6008556001600160a01b038116156105885761055c81610407565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b600082116105d1576040805162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b604482015290519081900360640190fd5b6105da82610fb9565b60408051838152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25050565b6004546001600160a01b0316610628610fb5565b6001600160a01b03161461066d5760405162461bcd60e51b815260040180806020018281038252602181526020018061157c6021913960400191505060405180910390fd5b6000610677610cd8565b6009556106826108ce565b6008556001600160a01b038116156106c95761069d81610407565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b6106d28261100e565b5050565b336106df610cd8565b6009556106ea6108ce565b6008556001600160a01b038116156107315761070581610407565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b600061073c33610407565b905080156106d257336000818152600b602052604081205560055461076d916001600160a01b0390911690836110ba565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25050565b6107af610fb5565b6003546001600160a01b039081169116146107ff576040805162461bcd60e51b8152602060048201819052602482015260008051602061155c833981519152604482015290519081900360640190fd5b61080881610e55565b50565b6001600160a01b031660009081526002602052604090205490565b61082e610fb5565b6003546001600160a01b0390811691161461087e576040805162461bcd60e51b8152602060048201819052602482015260008051602061155c833981519152604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b60075481565b60006108dc42600654611111565b905090565b6108e9610fb5565b6003546001600160a01b03908116911614610939576040805162461bcd60e51b8152602060048201819052602482015260008051602061155c833981519152604482015290519081900360640190fd5b600580546001600160a01b0319166001600160a01b0392909216919091179055565b600a6020526000908152604090205481565b6003546001600160a01b031690565b610984610fb5565b6003546001600160a01b039081169116146109d4576040805162461bcd60e51b8152602060048201819052602482015260008051602061155c833981519152604482015290519081900360640190fd5b60006109de610cd8565b6009556109e96108ce565b6008556001600160a01b03811615610a3057610a0481610407565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b600554604080516370a0823160e01b81523060048201529051610808926001600160a01b0316916370a08231916024808301926020929190829003018186803b158015610a7c57600080fd5b505afa158015610a90573d6000803e3d6000fd5b505050506040513d6020811015610aa657600080fd5b505161100e565b33610ab6610cd8565b600955610ac16108ce565b6008556001600160a01b03811615610b0857610adc81610407565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b60008211610b4e576040805162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b604482015290519081900360640190fd5b610b5782611127565b60408051838152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a25050565b610b99610fb5565b6003546001600160a01b03908116911614610be9576040805162461bcd60e51b8152602060048201819052602482015260008051602061155c833981519152604482015290519081900360640190fd5b6000610bf3610cd8565b600955610bfe6108ce565b6008556001600160a01b03811615610c4557610c1981610407565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b600554604080516370a0823160e01b8152306004820152905161080892610ccd92600a926001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610c9b57600080fd5b505afa158015610caf573d6000803e3d6000fd5b505050506040513d6020811015610cc557600080fd5b505190610f19565b61100e565b60085481565b6000610ce261051f565b610cef5750600954610523565b6108dc610d1d610cfd61051f565b610463670de0b6b3a764000061045d60075461045d60085461044e6108ce565b60095490610f5b565b60095481565b610d3d610d383361080b565b61052d565b610d456106d6565b565b60065481565b610d55610fb5565b6003546001600160a01b03908116911614610da5576040805162461bcd60e51b8152602060048201819052602482015260008051602061155c833981519152604482015290519081900360640190fd5b6001600160a01b038116610dea5760405162461bcd60e51b81526004018080602001828103825260268152602001806115156026913960400191505060405180910390fd5b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031681565b600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000610eb983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061117d565b9392505050565b600082610ecf5750600061046f565b82820282848281610edc57fe5b0414610eb95760405162461bcd60e51b815260040180806020018281038252602181526020018061153b6021913960400191505060405180910390fd5b6000610eb983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611214565b600082820183811015610eb9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b3390565b600154610fc69082610e77565b60015533600090815260026020526040902054610fe39082610e77565b336000818152600260205260408120929092559054610808916001600160a01b0390911690836110ba565b600654421061102c576110248162278d00610f19565b60075561106e565b60065460009061103c9042610e77565b9050600061105560075483610ec090919063ffffffff16565b905061106862278d006104638584610f5b565b60075550505b4260088190556110819062278d00610f5b565b6006556040805182815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a150565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b17905261110c908490611279565b505050565b60008183106111205781610eb9565b5090919050565b6001546111349082610f5b565b600155336000908152600260205260409020546111519082610f5b565b336000818152600260205260408120929092559054610808916001600160a01b0390911690308461132a565b6000818484111561120c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156111d15781810151838201526020016111b9565b50505050905090810190601f1680156111fe5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836112635760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156111d15781810151838201526020016111b9565b50600083858161126f57fe5b0495945050505050565b60606112ce826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661138a9092919063ffffffff16565b80519091501561110c578080602001905160208110156112ed57600080fd5b505161110c5760405162461bcd60e51b815260040180806020018281038252602a81526020018061159d602a913960400191505060405180910390fd5b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052611384908590611279565b50505050565b606061139984846000856113a1565b949350505050565b60606113ac8561150e565b6113fd576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b60006060866001600160a01b031685876040518082805190602001908083835b6020831061143c5780518252601f19909201916020918201910161141d565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d806000811461149e576040519150601f19603f3d011682016040523d82523d6000602084013e6114a3565b606091505b509150915081156114b75791506113999050565b8051156114c75780518082602001fd5b60405162461bcd60e51b81526020600482018181528651602484015286518793919283926044019190850190808383600083156111d15781810151838201526020016111b9565b3b15159056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657243616c6c6572206973206e6f742072657761726420646973747269627574696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a2646970667358221220fd4c55f8338b7ac2a8bd52a670a0145080b500a1ed44c6d91f25e9450396412864736f6c634300060c0033