0x608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063782d6fe111610104578063b4b5ea57116100a2578063e7a324dc11610071578063e7a324dc146105df578063f1127ed8146105e7578063f2fde38b14610639578063f46eccc41461065f576101cf565b8063b4b5ea571461053c578063c3cda52014610562578063cf309012146105a9578063dd62ed3e146105b1576101cf565b806395d89b41116100de57806395d89b41146104b6578063983b2d56146104be578063a457c2d7146104e4578063a9059cbb14610510576101cf565b8063782d6fe11461045c5780637ecebe00146104885780638da5cb5b146104ae576101cf565b806339509351116101715780635c19a95c1161014b5780635c19a95c146103c95780636fcfff45146103ef57806370a082311461042e578063715018a614610454576101cf565b8063395093511461032f57806340c10f191461035b578063587cde1e14610387576101cf565b806320606b70116101ad57806320606b70146102ab57806323b872dd146102b35780633092afd5146102e9578063313ce56714610311576101cf565b806306fdde03146101d4578063095ea7b31461025157806318160ddd14610291575b600080fd5b6101dc610685565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102165781810151838201526020016101fe565b50505050905090810190601f1680156102435780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61027d6004803603604081101561026757600080fd5b506001600160a01b03813516906020013561071b565b604080519115158252519081900360200190f35b610299610739565b60408051918252519081900360200190f35b61029961073f565b61027d600480360360608110156102c957600080fd5b506001600160a01b03813581169160208101359091169060400135610763565b61030f600480360360208110156102ff57600080fd5b50356001600160a01b03166107ea565b005b610319610869565b6040805160ff9092168252519081900360200190f35b61027d6004803603604081101561034557600080fd5b506001600160a01b038135169060200135610872565b61030f6004803603604081101561037157600080fd5b506001600160a01b0381351690602001356108c0565b6103ad6004803603602081101561039d57600080fd5b50356001600160a01b03166109ad565b604080516001600160a01b039092168252519081900360200190f35b61030f600480360360208110156103df57600080fd5b50356001600160a01b03166109cb565b6104156004803603602081101561040557600080fd5b50356001600160a01b03166109d8565b6040805163ffffffff9092168252519081900360200190f35b6102996004803603602081101561044457600080fd5b50356001600160a01b03166109f0565b61030f610a0b565b6102996004803603604081101561047257600080fd5b506001600160a01b038135169060200135610abb565b6102996004803603602081101561049e57600080fd5b50356001600160a01b0316610cc3565b6103ad610cd5565b6101dc610cea565b61030f600480360360208110156104d457600080fd5b50356001600160a01b0316610d4b565b61027d600480360360408110156104fa57600080fd5b506001600160a01b038135169060200135610dcd565b61027d6004803603604081101561052657600080fd5b506001600160a01b038135169060200135610e35565b6102996004803603602081101561055257600080fd5b50356001600160a01b0316610e49565b61030f600480360360c081101561057857600080fd5b506001600160a01b038135169060208101359060408101359060ff6060820135169060808101359060a00135610ead565b61027d611120565b610299600480360360408110156105c757600080fd5b506001600160a01b038135811691602001351661112e565b610299611159565b610619600480360360408110156105fd57600080fd5b5080356001600160a01b0316906020013563ffffffff1661117d565b6040805163ffffffff909316835260208301919091528051918290030190f35b61030f6004803603602081101561064f57600080fd5b50356001600160a01b03166111aa565b61027d6004803603602081101561067557600080fd5b50356001600160a01b03166112b7565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107115780601f106106e657610100808354040283529160200191610711565b820191906000526020600020905b8154815290600101906020018083116106f457829003601f168201915b5050505050905090565b600061072f6107286112cc565b84846112d0565b5060015b92915050565b60025490565b7f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681565b60006107708484846113bc565b6107e08461077c6112cc565b6107db85604051806060016040528060288152602001611c04602891396001600160a01b038a166000908152600160205260408120906107ba6112cc565b6001600160a01b031681526020810191909152604001600020549190611517565b6112d0565b5060019392505050565b6107f26112cc565b6005546201000090046001600160a01b03908116911614610848576040805162461bcd60e51b81526020600482018190526024820152600080516020611c2c833981519152604482015290519081900360640190fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b60055460ff1690565b600061072f61087f6112cc565b846107db85600160006108906112cc565b6001600160a01b03908116825260208083019390935260409182016000908120918c1681529252902054906115ae565b3360009081526006602052604090205460ff1661091d576040805162461bcd60e51b81526020600482015260166024820152752932b9ba3934b1ba32b2103a379036b4b73a32b9399760511b604482015290519081900360640190fd5b6007546109328261092c610739565b906115ae565b111561097a576040805162461bcd60e51b815260206004820152601260248201527113585e081cdd5c1c1b1e481c995858da195960721b604482015290519081900360640190fd5b6109848282611608565b6001600160a01b038083166000908152600860205260408120546109a99216836116f8565b5050565b6001600160a01b039081166000908152600860205260409020541690565b6109d5338261183a565b50565b600a6020526000908152604090205463ffffffff1681565b6001600160a01b031660009081526020819052604090205490565b610a136112cc565b6005546201000090046001600160a01b03908116911614610a69576040805162461bcd60e51b81526020600482018190526024820152600080516020611c2c833981519152604482015290519081900360640190fd5b6005546040516000916201000090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36005805462010000600160b01b0319169055565b6000438210610afb5760405162461bcd60e51b8152600401808060200182810382526028815260200180611cb86028913960400191505060405180910390fd5b6001600160a01b0383166000908152600a602052604090205463ffffffff1680610b29576000915050610733565b6001600160a01b038416600090815260096020908152604080832063ffffffff600019860181168552925290912054168310610b98576001600160a01b03841660009081526009602090815260408083206000199490940163ffffffff16835292905220600101549050610733565b6001600160a01b038416600090815260096020908152604080832083805290915290205463ffffffff16831015610bd3576000915050610733565b600060001982015b8163ffffffff168163ffffffff161115610c8c57600282820363ffffffff16048103610c05611ad8565b506001600160a01b038716600090815260096020908152604080832063ffffffff808616855290835292819020815180830190925280549093168082526001909301549181019190915290871415610c67576020015194506107339350505050565b805163ffffffff16871115610c7e57819350610c85565b6001820392505b5050610bdb565b506001600160a01b038516600090815260096020908152604080832063ffffffff9094168352929052206001015491505092915050565b600b6020526000908152604090205481565b6005546201000090046001600160a01b031690565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107115780601f106106e657610100808354040283529160200191610711565b610d536112cc565b6005546201000090046001600160a01b03908116911614610da9576040805162461bcd60e51b81526020600482018190526024820152600080516020611c2c833981519152604482015290519081900360640190fd5b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b600061072f610dda6112cc565b846107db85604051806060016040528060258152602001611ce06025913960016000610e046112cc565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611517565b600061072f610e426112cc565b84846113bc565b6001600160a01b0381166000908152600a602052604081205463ffffffff1680610e74576000610ea6565b6001600160a01b038316600090815260096020908152604080832063ffffffff60001986011684529091529020600101545b9392505050565b60007f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a866610ed8610685565b80519060200120610ee76118cf565b60408051602080820195909552808201939093526060830191909152306080808401919091528151808403909101815260a0830182528051908401207fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60c08401526001600160a01b038b1660e084015261010083018a90526101208084018a9052825180850390910181526101408401835280519085012061190160f01b6101608501526101628401829052610182808501829052835180860390910181526101a285018085528151918701919091206000918290526101c2860180865281905260ff8b166101e287015261020286018a90526102228601899052935192965090949293909260019261024280840193601f198301929081900390910190855afa15801561101a573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661106c5760405162461bcd60e51b8152600401808060200182810382526027815260200180611bb76027913960400191505060405180910390fd5b6001600160a01b0381166000908152600b6020526040902080546001810190915589146110ca5760405162461bcd60e51b8152600401808060200182810382526023815260200180611c4c6023913960400191505060405180910390fd5b874211156111095760405162461bcd60e51b8152600401808060200182810382526027815260200180611b486027913960400191505060405180910390fd5b611113818b61183a565b505050505b505050505050565b600554610100900460ff1681565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b7fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf81565b60096020908152600092835260408084209091529082529020805460019091015463ffffffff9091169082565b6111b26112cc565b6005546201000090046001600160a01b03908116911614611208576040805162461bcd60e51b81526020600482018190526024820152600080516020611c2c833981519152604482015290519081900360640190fd5b6001600160a01b03811661124d5760405162461bcd60e51b8152600401808060200182810382526026815260200180611b6f6026913960400191505060405180910390fd5b6005546040516001600160a01b038084169262010000900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b60066020526000908152604090205460ff1681565b3390565b6001600160a01b0383166113155760405162461bcd60e51b8152600401808060200182810382526024815260200180611c946024913960400191505060405180910390fd5b6001600160a01b03821661135a5760405162461bcd60e51b8152600401808060200182810382526022815260200180611b956022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166114015760405162461bcd60e51b8152600401808060200182810382526025815260200180611c6f6025913960400191505060405180910390fd5b6001600160a01b0382166114465760405162461bcd60e51b8152600401808060200182810382526023815260200180611af06023913960400191505060405180910390fd5b611451838383611835565b61148e81604051806060016040528060268152602001611bde602691396001600160a01b0386166000908152602081905260409020549190611517565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546114bd90826115ae565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156115a65760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561156b578181015183820152602001611553565b50505050905090810190601f1680156115985780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610ea6576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b038216611663576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61166f60008383611835565b60025461167c90826115ae565b6002556001600160a01b0382166000908152602081905260409020546116a290826115ae565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b816001600160a01b0316836001600160a01b03161415801561171a5750600081115b15611835576001600160a01b038316156117ac576001600160a01b0383166000908152600a602052604081205463ffffffff16908161175a57600061178c565b6001600160a01b038516600090815260096020908152604080832063ffffffff60001987011684529091529020600101545b9050600061179a82856118d3565b90506117a886848484611915565b5050505b6001600160a01b03821615611835576001600160a01b0382166000908152600a602052604081205463ffffffff1690816117e7576000611819565b6001600160a01b038416600090815260096020908152604080832063ffffffff60001987011684529091529020600101545b9050600061182782856115ae565b905061111885848484611915565b505050565b6001600160a01b0380831660009081526008602052604081205490911690611861846109f0565b6001600160a01b0385811660008181526008602052604080822080546001600160a01b031916898616908117909155905194955093928616927f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a46118c98284836116f8565b50505050565b4690565b6000610ea683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611517565b600061193943604051806060016040528060358152602001611b1360359139611a7a565b905060008463ffffffff1611801561198257506001600160a01b038516600090815260096020908152604080832063ffffffff6000198901811685529252909120548282169116145b156119bf576001600160a01b038516600090815260096020908152604080832063ffffffff60001989011684529091529020600101829055611a30565b60408051808201825263ffffffff808416825260208083018681526001600160a01b038a166000818152600984528681208b8616825284528681209551865490861663ffffffff199182161787559251600196870155908152600a9092529390208054928801909116919092161790555b604080518481526020810184905281516001600160a01b038816927fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724928290030190a25050505050565b6000816401000000008410611ad05760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561156b578181015183820152602001611553565b509192915050565b60408051808201909152600080825260208201529056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737354454752413a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d6265722065786365656473203332206269747354454752413a3a64656c656761746542795369673a207369676e617475726520657870697265644f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737354454752413a3a64656c656761746542795369673a20696e76616c6964207369676e617475726545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657254454752413a3a64656c656761746542795369673a20696e76616c6964206e6f6e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737354454752413a3a6765745072696f72566f7465733a206e6f74207965742064657465726d696e656445524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122014910049b2f9677fc726fab3d439b5d1501cb6698105e09e527dce5a00e73fa864736f6c634300060c0033
0x608060405269054b40b1f852bda000006007553480156200001f57600080fd5b50604080518082018252600d81526c54454752412046696e616e636560981b602080830191825283518085019094526005845264544547524160d81b908401528151919291620000729160039162000106565b5080516200008890600490602084019062000106565b50506005805460ff19166012179055506000620000a462000102565b6005805462010000600160b01b031916620100006001600160a01b03841690810291909117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620001a2565b3390565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200014957805160ff191683800117855562000179565b8280016001018555821562000179579182015b82811115620001795782518255916020019190600101906200015c565b50620001879291506200018b565b5090565b5b808211156200018757600081556001016200018c565b611d3a80620001b26000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063782d6fe111610104578063b4b5ea57116100a2578063e7a324dc11610071578063e7a324dc146105df578063f1127ed8146105e7578063f2fde38b14610639578063f46eccc41461065f576101cf565b8063b4b5ea571461053c578063c3cda52014610562578063cf309012146105a9578063dd62ed3e146105b1576101cf565b806395d89b41116100de57806395d89b41146104b6578063983b2d56146104be578063a457c2d7146104e4578063a9059cbb14610510576101cf565b8063782d6fe11461045c5780637ecebe00146104885780638da5cb5b146104ae576101cf565b806339509351116101715780635c19a95c1161014b5780635c19a95c146103c95780636fcfff45146103ef57806370a082311461042e578063715018a614610454576101cf565b8063395093511461032f57806340c10f191461035b578063587cde1e14610387576101cf565b806320606b70116101ad57806320606b70146102ab57806323b872dd146102b35780633092afd5146102e9578063313ce56714610311576101cf565b806306fdde03146101d4578063095ea7b31461025157806318160ddd14610291575b600080fd5b6101dc610685565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102165781810151838201526020016101fe565b50505050905090810190601f1680156102435780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61027d6004803603604081101561026757600080fd5b506001600160a01b03813516906020013561071b565b604080519115158252519081900360200190f35b610299610739565b60408051918252519081900360200190f35b61029961073f565b61027d600480360360608110156102c957600080fd5b506001600160a01b03813581169160208101359091169060400135610763565b61030f600480360360208110156102ff57600080fd5b50356001600160a01b03166107ea565b005b610319610869565b6040805160ff9092168252519081900360200190f35b61027d6004803603604081101561034557600080fd5b506001600160a01b038135169060200135610872565b61030f6004803603604081101561037157600080fd5b506001600160a01b0381351690602001356108c0565b6103ad6004803603602081101561039d57600080fd5b50356001600160a01b03166109ad565b604080516001600160a01b039092168252519081900360200190f35b61030f600480360360208110156103df57600080fd5b50356001600160a01b03166109cb565b6104156004803603602081101561040557600080fd5b50356001600160a01b03166109d8565b6040805163ffffffff9092168252519081900360200190f35b6102996004803603602081101561044457600080fd5b50356001600160a01b03166109f0565b61030f610a0b565b6102996004803603604081101561047257600080fd5b506001600160a01b038135169060200135610abb565b6102996004803603602081101561049e57600080fd5b50356001600160a01b0316610cc3565b6103ad610cd5565b6101dc610cea565b61030f600480360360208110156104d457600080fd5b50356001600160a01b0316610d4b565b61027d600480360360408110156104fa57600080fd5b506001600160a01b038135169060200135610dcd565b61027d6004803603604081101561052657600080fd5b506001600160a01b038135169060200135610e35565b6102996004803603602081101561055257600080fd5b50356001600160a01b0316610e49565b61030f600480360360c081101561057857600080fd5b506001600160a01b038135169060208101359060408101359060ff6060820135169060808101359060a00135610ead565b61027d611120565b610299600480360360408110156105c757600080fd5b506001600160a01b038135811691602001351661112e565b610299611159565b610619600480360360408110156105fd57600080fd5b5080356001600160a01b0316906020013563ffffffff1661117d565b6040805163ffffffff909316835260208301919091528051918290030190f35b61030f6004803603602081101561064f57600080fd5b50356001600160a01b03166111aa565b61027d6004803603602081101561067557600080fd5b50356001600160a01b03166112b7565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107115780601f106106e657610100808354040283529160200191610711565b820191906000526020600020905b8154815290600101906020018083116106f457829003601f168201915b5050505050905090565b600061072f6107286112cc565b84846112d0565b5060015b92915050565b60025490565b7f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a86681565b60006107708484846113bc565b6107e08461077c6112cc565b6107db85604051806060016040528060288152602001611c04602891396001600160a01b038a166000908152600160205260408120906107ba6112cc565b6001600160a01b031681526020810191909152604001600020549190611517565b6112d0565b5060019392505050565b6107f26112cc565b6005546201000090046001600160a01b03908116911614610848576040805162461bcd60e51b81526020600482018190526024820152600080516020611c2c833981519152604482015290519081900360640190fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b60055460ff1690565b600061072f61087f6112cc565b846107db85600160006108906112cc565b6001600160a01b03908116825260208083019390935260409182016000908120918c1681529252902054906115ae565b3360009081526006602052604090205460ff1661091d576040805162461bcd60e51b81526020600482015260166024820152752932b9ba3934b1ba32b2103a379036b4b73a32b9399760511b604482015290519081900360640190fd5b6007546109328261092c610739565b906115ae565b111561097a576040805162461bcd60e51b815260206004820152601260248201527113585e081cdd5c1c1b1e481c995858da195960721b604482015290519081900360640190fd5b6109848282611608565b6001600160a01b038083166000908152600860205260408120546109a99216836116f8565b5050565b6001600160a01b039081166000908152600860205260409020541690565b6109d5338261183a565b50565b600a6020526000908152604090205463ffffffff1681565b6001600160a01b031660009081526020819052604090205490565b610a136112cc565b6005546201000090046001600160a01b03908116911614610a69576040805162461bcd60e51b81526020600482018190526024820152600080516020611c2c833981519152604482015290519081900360640190fd5b6005546040516000916201000090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36005805462010000600160b01b0319169055565b6000438210610afb5760405162461bcd60e51b8152600401808060200182810382526028815260200180611cb86028913960400191505060405180910390fd5b6001600160a01b0383166000908152600a602052604090205463ffffffff1680610b29576000915050610733565b6001600160a01b038416600090815260096020908152604080832063ffffffff600019860181168552925290912054168310610b98576001600160a01b03841660009081526009602090815260408083206000199490940163ffffffff16835292905220600101549050610733565b6001600160a01b038416600090815260096020908152604080832083805290915290205463ffffffff16831015610bd3576000915050610733565b600060001982015b8163ffffffff168163ffffffff161115610c8c57600282820363ffffffff16048103610c05611ad8565b506001600160a01b038716600090815260096020908152604080832063ffffffff808616855290835292819020815180830190925280549093168082526001909301549181019190915290871415610c67576020015194506107339350505050565b805163ffffffff16871115610c7e57819350610c85565b6001820392505b5050610bdb565b506001600160a01b038516600090815260096020908152604080832063ffffffff9094168352929052206001015491505092915050565b600b6020526000908152604090205481565b6005546201000090046001600160a01b031690565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156107115780601f106106e657610100808354040283529160200191610711565b610d536112cc565b6005546201000090046001600160a01b03908116911614610da9576040805162461bcd60e51b81526020600482018190526024820152600080516020611c2c833981519152604482015290519081900360640190fd5b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b600061072f610dda6112cc565b846107db85604051806060016040528060258152602001611ce06025913960016000610e046112cc565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611517565b600061072f610e426112cc565b84846113bc565b6001600160a01b0381166000908152600a602052604081205463ffffffff1680610e74576000610ea6565b6001600160a01b038316600090815260096020908152604080832063ffffffff60001986011684529091529020600101545b9392505050565b60007f8cad95687ba82c2ce50e74f7b754645e5117c3a5bec8151c0726d5857980a866610ed8610685565b80519060200120610ee76118cf565b60408051602080820195909552808201939093526060830191909152306080808401919091528151808403909101815260a0830182528051908401207fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf60c08401526001600160a01b038b1660e084015261010083018a90526101208084018a9052825180850390910181526101408401835280519085012061190160f01b6101608501526101628401829052610182808501829052835180860390910181526101a285018085528151918701919091206000918290526101c2860180865281905260ff8b166101e287015261020286018a90526102228601899052935192965090949293909260019261024280840193601f198301929081900390910190855afa15801561101a573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661106c5760405162461bcd60e51b8152600401808060200182810382526027815260200180611bb76027913960400191505060405180910390fd5b6001600160a01b0381166000908152600b6020526040902080546001810190915589146110ca5760405162461bcd60e51b8152600401808060200182810382526023815260200180611c4c6023913960400191505060405180910390fd5b874211156111095760405162461bcd60e51b8152600401808060200182810382526027815260200180611b486027913960400191505060405180910390fd5b611113818b61183a565b505050505b505050505050565b600554610100900460ff1681565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b7fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf81565b60096020908152600092835260408084209091529082529020805460019091015463ffffffff9091169082565b6111b26112cc565b6005546201000090046001600160a01b03908116911614611208576040805162461bcd60e51b81526020600482018190526024820152600080516020611c2c833981519152604482015290519081900360640190fd5b6001600160a01b03811661124d5760405162461bcd60e51b8152600401808060200182810382526026815260200180611b6f6026913960400191505060405180910390fd5b6005546040516001600160a01b038084169262010000900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b03909216620100000262010000600160b01b0319909216919091179055565b60066020526000908152604090205460ff1681565b3390565b6001600160a01b0383166113155760405162461bcd60e51b8152600401808060200182810382526024815260200180611c946024913960400191505060405180910390fd5b6001600160a01b03821661135a5760405162461bcd60e51b8152600401808060200182810382526022815260200180611b956022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166114015760405162461bcd60e51b8152600401808060200182810382526025815260200180611c6f6025913960400191505060405180910390fd5b6001600160a01b0382166114465760405162461bcd60e51b8152600401808060200182810382526023815260200180611af06023913960400191505060405180910390fd5b611451838383611835565b61148e81604051806060016040528060268152602001611bde602691396001600160a01b0386166000908152602081905260409020549190611517565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546114bd90826115ae565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156115a65760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561156b578181015183820152602001611553565b50505050905090810190601f1680156115985780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600082820183811015610ea6576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6001600160a01b038216611663576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61166f60008383611835565b60025461167c90826115ae565b6002556001600160a01b0382166000908152602081905260409020546116a290826115ae565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b816001600160a01b0316836001600160a01b03161415801561171a5750600081115b15611835576001600160a01b038316156117ac576001600160a01b0383166000908152600a602052604081205463ffffffff16908161175a57600061178c565b6001600160a01b038516600090815260096020908152604080832063ffffffff60001987011684529091529020600101545b9050600061179a82856118d3565b90506117a886848484611915565b5050505b6001600160a01b03821615611835576001600160a01b0382166000908152600a602052604081205463ffffffff1690816117e7576000611819565b6001600160a01b038416600090815260096020908152604080832063ffffffff60001987011684529091529020600101545b9050600061182782856115ae565b905061111885848484611915565b505050565b6001600160a01b0380831660009081526008602052604081205490911690611861846109f0565b6001600160a01b0385811660008181526008602052604080822080546001600160a01b031916898616908117909155905194955093928616927f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f9190a46118c98284836116f8565b50505050565b4690565b6000610ea683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611517565b600061193943604051806060016040528060358152602001611b1360359139611a7a565b905060008463ffffffff1611801561198257506001600160a01b038516600090815260096020908152604080832063ffffffff6000198901811685529252909120548282169116145b156119bf576001600160a01b038516600090815260096020908152604080832063ffffffff60001989011684529091529020600101829055611a30565b60408051808201825263ffffffff808416825260208083018681526001600160a01b038a166000818152600984528681208b8616825284528681209551865490861663ffffffff199182161787559251600196870155908152600a9092529390208054928801909116919092161790555b604080518481526020810184905281516001600160a01b038816927fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a724928290030190a25050505050565b6000816401000000008410611ad05760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561156b578181015183820152602001611553565b509192915050565b60408051808201909152600080825260208201529056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737354454752413a3a5f7772697465436865636b706f696e743a20626c6f636b206e756d6265722065786365656473203332206269747354454752413a3a64656c656761746542795369673a207369676e617475726520657870697265644f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737354454752413a3a64656c656761746542795369673a20696e76616c6964207369676e617475726545524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657254454752413a3a64656c656761746542795369673a20696e76616c6964206e6f6e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737354454752413a3a6765745072696f72566f7465733a206e6f74207965742064657465726d696e656445524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122014910049b2f9677fc726fab3d439b5d1501cb6698105e09e527dce5a00e73fa864736f6c634300060c0033