0x608060405234801561001057600080fd5b50600436106101215760003560e01c806352649d47116100ad5780639dc29fac116100715780639dc29fac1461038f578063a457c2d7146103bb578063a9059cbb146103e7578063dd62ed3e14610413578063f3fef3a31461044157610121565b806352649d47146102f157806370a08231146103155780638426e6c11461033b57806385540ae61461036157806395d89b411461038757610121565b806323b872dd116100f457806323b872dd146102235780632647620414610259578063284bfd8214610281578063313ce567146102a757806339509351146102c557610121565b806306fdde0314610126578063095ea7b3146101a357806318160ddd146101e357806318a5bbdc146101fd575b600080fd5b61012e61046d565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf600480360360408110156101b957600080fd5b506001600160a01b038135169060200135610503565b604080519115158252519081900360200190f35b6101eb610521565b60408051918252519081900360200190f35b6101cf6004803603602081101561021357600080fd5b50356001600160a01b0316610527565b6101cf6004803603606081101561023957600080fd5b506001600160a01b0381358116916020810135909116906040013561053c565b61027f6004803603602081101561026f57600080fd5b50356001600160a01b03166105c9565b005b61027f6004803603602081101561029757600080fd5b50356001600160a01b0316610621565b6102af61068e565b6040805160ff9092168252519081900360200190f35b6101cf600480360360408110156102db57600080fd5b506001600160a01b038135169060200135610697565b6102f96106eb565b604080516001600160a01b039092168252519081900360200190f35b6101eb6004803603602081101561032b57600080fd5b50356001600160a01b03166106ff565b6101cf6004803603602081101561035157600080fd5b50356001600160a01b031661071a565b61027f6004803603602081101561037757600080fd5b50356001600160a01b031661072f565b61012e61079f565b61027f600480360360408110156103a557600080fd5b506001600160a01b038135169060200135610800565b6101cf600480360360408110156103d157600080fd5b506001600160a01b03813516906020013561085a565b6101cf600480360360408110156103fd57600080fd5b506001600160a01b0381351690602001356108c8565b6101eb6004803603604081101561042957600080fd5b506001600160a01b03813581169160200135166108dc565b61027f6004803603604081101561045757600080fd5b506001600160a01b038135169060200135610907565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104f95780601f106104ce576101008083540402835291602001916104f9565b820191906000526020600020905b8154815290600101906020018083116104dc57829003601f168201915b5050505050905090565b600061051761051061095d565b8484610961565b5060015b92915050565b60025490565b60076020526000908152604090205460ff1681565b6000610549848484610a4d565b6105bf8461055561095d565b6105ba85604051806060016040528060288152602001611272602891396001600160a01b038a1660009081526001602052604081209061059361095d565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610b3c16565b610961565b5060019392505050565b3360009081526006602052604090205460ff16610615576040805162461bcd60e51b815260206004820152600560248201526432b93937b960d91b604482015290519081900360640190fd5b61061e81610bd3565b50565b3360009081526006602052604090205460ff1661066d576040805162461bcd60e51b815260206004820152600560248201526432b93937b960d91b604482015290519081900360640190fd5b6001600160a01b03166000908152600760205260409020805460ff19169055565b60055460ff1690565b60006105176106a461095d565b846105ba85600160006106b561095d565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610bed16565b60055461010090046001600160a01b031681565b6001600160a01b031660009081526020819052604090205490565b60066020526000908152604090205460ff1681565b3360009081526006602052604090205460ff1661077b576040805162461bcd60e51b815260206004820152600560248201526432b93937b960d91b604482015290519081900360640190fd5b6001600160a01b03166000908152600760205260409020805460ff19166001179055565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104f95780601f106104ce576101008083540402835291602001916104f9565b3360009081526006602052604090205460ff1661084c576040805162461bcd60e51b815260206004820152600560248201526432b93937b960d91b604482015290519081900360640190fd5b6108568282610c4e565b5050565b600061051761086761095d565b846105ba856040518060600160405280602581526020016112e3602591396001600061089161095d565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610b3c16565b60006105176108d561095d565b8484610a4d565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3360009081526006602052604090205460ff16610953576040805162461bcd60e51b815260206004820152600560248201526432b93937b960d91b604482015290519081900360640190fd5b6108568282610d08565b3390565b6001600160a01b0383166109a65760405162461bcd60e51b81526004018080602001828103825260248152602001806112bf6024913960400191505060405180910390fd5b6001600160a01b0382166109eb5760405162461bcd60e51b81526004018080602001828103825260228152602001806111e56022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b604080516370a0823160e01b81526001600160a01b0385166004820152905130916370a08231916024808301926020929190829003018186803b158015610a9357600080fd5b505afa158015610aa7573d6000803e3d6000fd5b505050506040513d6020811015610abd57600080fd5b5051811115610afb576040805162461bcd60e51b815260206004820152600560248201526432b93937b960d91b604482015290519081900360640190fd5b6001600160a01b03831660009081526007602052604090205460ff1615610b2c57610b27838383610d4d565b610b37565b610b37838383610ea9565b505050565b60008184841115610bcb5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b90578181015183820152602001610b78565b50505050905090810190601f168015610bbd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b0316600090815260208190526040812055565b600082820183811015610c47576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610ca9576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254610cbc908263ffffffff610bed16565b6002556001600160a01b038216600090815260208190526040902054610ce8908263ffffffff610bed16565b6001600160a01b0390921660009081526020819052604090209190915550565b6001600160a01b038216610ca95760405162461bcd60e51b815260040180806020018281038252602481526020018061122d6024913960400191505060405180910390fd5b6001600160a01b038316610d925760405162461bcd60e51b815260040180806020018281038252602581526020018061129a6025913960400191505060405180910390fd5b6001600160a01b038216610dd75760405162461bcd60e51b81526004018080602001828103825260238152602001806111c26023913960400191505060405180910390fd5b610e1a81604051806060016040528060268152602001611207602691396001600160a01b038616600090815260208190526040902054919063ffffffff610b3c16565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610e4f908263ffffffff610bed16565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6001600160a01b038316610eee5760405162461bcd60e51b815260040180806020018281038252602581526020018061129a6025913960400191505060405180910390fd5b6001600160a01b038216610f335760405162461bcd60e51b81526004018080602001828103825260238152602001806111c26023913960400191505060405180910390fd5b6000610f576064610f4b84600b63ffffffff61107f16565b9063ffffffff6110d816565b90506000610f6b838363ffffffff61111a16565b9050600061dead9050610fb783604051806060016040528060268152602001611207602691396001600160a01b038916600090815260208190526040902054919063ffffffff610b3c16565b6001600160a01b038088166000908152602081905260408082209390935590871681522054610fec908463ffffffff610bed16565b6001600160a01b038087166000908152602081905260408082209390935590831681522054611021908363ffffffff610bed16565b6001600160a01b0380831660009081526020818152604091829020939093558051868152905188831693928a16927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef928290030190a3505050505050565b60008261108e5750600061051b565b8282028284828161109b57fe5b0414610c475760405162461bcd60e51b81526004018080602001828103825260218152602001806112516021913960400191505060405180910390fd5b6000610c4783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061115c565b6000610c4783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b3c565b600081836111ab5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b90578181015183820152602001610b78565b5060008385816111b757fe5b049594505050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a205f776974686472617720746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a723158203838e237e402d8515827e31f9a2968ddf7c969a07dd8d7f9f2972af14316f56f64736f6c63430005110032
0x608060405260058054610100600160a81b031916747a250d5630b4cf539739df2c5dacb4c659f2488d001790553480156200003957600080fd5b50604080518082018252601081526f426c7565205946492046696e616e636560801b6020808301918252835180850190945260048452634259464960e01b908401528151919291601291620000929160039190620002a9565b508151620000a8906004906020850190620002a9565b506005805460ff191660ff9290921691909117905550620000e5905033620000cf6200013c565b60ff16600a0a6101f4026200014660201b60201c565b336000908152600660209081526040808320805460ff1990811660019081179092556007909352818420805484168217905560055461010090046001600160a01b031684529220805490911690911790556200034b565b60055460ff165b90565b6001600160a01b038216620001a2576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b620001be816002546200024760201b62000bed1790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620001f191839062000bed62000247821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600082820183811015620002a2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002ec57805160ff19168380011785556200031c565b828001600101855582156200031c579182015b828111156200031c578251825591602001919060010190620002ff565b506200032a9291506200032e565b5090565b6200014391905b808211156200032a576000815560010162000335565b61133c806200035b6000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806352649d47116100ad5780639dc29fac116100715780639dc29fac1461038f578063a457c2d7146103bb578063a9059cbb146103e7578063dd62ed3e14610413578063f3fef3a31461044157610121565b806352649d47146102f157806370a08231146103155780638426e6c11461033b57806385540ae61461036157806395d89b411461038757610121565b806323b872dd116100f457806323b872dd146102235780632647620414610259578063284bfd8214610281578063313ce567146102a757806339509351146102c557610121565b806306fdde0314610126578063095ea7b3146101a357806318160ddd146101e357806318a5bbdc146101fd575b600080fd5b61012e61046d565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf600480360360408110156101b957600080fd5b506001600160a01b038135169060200135610503565b604080519115158252519081900360200190f35b6101eb610521565b60408051918252519081900360200190f35b6101cf6004803603602081101561021357600080fd5b50356001600160a01b0316610527565b6101cf6004803603606081101561023957600080fd5b506001600160a01b0381358116916020810135909116906040013561053c565b61027f6004803603602081101561026f57600080fd5b50356001600160a01b03166105c9565b005b61027f6004803603602081101561029757600080fd5b50356001600160a01b0316610621565b6102af61068e565b6040805160ff9092168252519081900360200190f35b6101cf600480360360408110156102db57600080fd5b506001600160a01b038135169060200135610697565b6102f96106eb565b604080516001600160a01b039092168252519081900360200190f35b6101eb6004803603602081101561032b57600080fd5b50356001600160a01b03166106ff565b6101cf6004803603602081101561035157600080fd5b50356001600160a01b031661071a565b61027f6004803603602081101561037757600080fd5b50356001600160a01b031661072f565b61012e61079f565b61027f600480360360408110156103a557600080fd5b506001600160a01b038135169060200135610800565b6101cf600480360360408110156103d157600080fd5b506001600160a01b03813516906020013561085a565b6101cf600480360360408110156103fd57600080fd5b506001600160a01b0381351690602001356108c8565b6101eb6004803603604081101561042957600080fd5b506001600160a01b03813581169160200135166108dc565b61027f6004803603604081101561045757600080fd5b506001600160a01b038135169060200135610907565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104f95780601f106104ce576101008083540402835291602001916104f9565b820191906000526020600020905b8154815290600101906020018083116104dc57829003601f168201915b5050505050905090565b600061051761051061095d565b8484610961565b5060015b92915050565b60025490565b60076020526000908152604090205460ff1681565b6000610549848484610a4d565b6105bf8461055561095d565b6105ba85604051806060016040528060288152602001611272602891396001600160a01b038a1660009081526001602052604081209061059361095d565b6001600160a01b03168152602081019190915260400160002054919063ffffffff610b3c16565b610961565b5060019392505050565b3360009081526006602052604090205460ff16610615576040805162461bcd60e51b815260206004820152600560248201526432b93937b960d91b604482015290519081900360640190fd5b61061e81610bd3565b50565b3360009081526006602052604090205460ff1661066d576040805162461bcd60e51b815260206004820152600560248201526432b93937b960d91b604482015290519081900360640190fd5b6001600160a01b03166000908152600760205260409020805460ff19169055565b60055460ff1690565b60006105176106a461095d565b846105ba85600160006106b561095d565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549063ffffffff610bed16565b60055461010090046001600160a01b031681565b6001600160a01b031660009081526020819052604090205490565b60066020526000908152604090205460ff1681565b3360009081526006602052604090205460ff1661077b576040805162461bcd60e51b815260206004820152600560248201526432b93937b960d91b604482015290519081900360640190fd5b6001600160a01b03166000908152600760205260409020805460ff19166001179055565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156104f95780601f106104ce576101008083540402835291602001916104f9565b3360009081526006602052604090205460ff1661084c576040805162461bcd60e51b815260206004820152600560248201526432b93937b960d91b604482015290519081900360640190fd5b6108568282610c4e565b5050565b600061051761086761095d565b846105ba856040518060600160405280602581526020016112e3602591396001600061089161095d565b6001600160a01b03908116825260208083019390935260409182016000908120918d1681529252902054919063ffffffff610b3c16565b60006105176108d561095d565b8484610a4d565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b3360009081526006602052604090205460ff16610953576040805162461bcd60e51b815260206004820152600560248201526432b93937b960d91b604482015290519081900360640190fd5b6108568282610d08565b3390565b6001600160a01b0383166109a65760405162461bcd60e51b81526004018080602001828103825260248152602001806112bf6024913960400191505060405180910390fd5b6001600160a01b0382166109eb5760405162461bcd60e51b81526004018080602001828103825260228152602001806111e56022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b604080516370a0823160e01b81526001600160a01b0385166004820152905130916370a08231916024808301926020929190829003018186803b158015610a9357600080fd5b505afa158015610aa7573d6000803e3d6000fd5b505050506040513d6020811015610abd57600080fd5b5051811115610afb576040805162461bcd60e51b815260206004820152600560248201526432b93937b960d91b604482015290519081900360640190fd5b6001600160a01b03831660009081526007602052604090205460ff1615610b2c57610b27838383610d4d565b610b37565b610b37838383610ea9565b505050565b60008184841115610bcb5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610b90578181015183820152602001610b78565b50505050905090810190601f168015610bbd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b0316600090815260208190526040812055565b600082820183811015610c47576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b038216610ca9576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254610cbc908263ffffffff610bed16565b6002556001600160a01b038216600090815260208190526040902054610ce8908263ffffffff610bed16565b6001600160a01b0390921660009081526020819052604090209190915550565b6001600160a01b038216610ca95760405162461bcd60e51b815260040180806020018281038252602481526020018061122d6024913960400191505060405180910390fd5b6001600160a01b038316610d925760405162461bcd60e51b815260040180806020018281038252602581526020018061129a6025913960400191505060405180910390fd5b6001600160a01b038216610dd75760405162461bcd60e51b81526004018080602001828103825260238152602001806111c26023913960400191505060405180910390fd5b610e1a81604051806060016040528060268152602001611207602691396001600160a01b038616600090815260208190526040902054919063ffffffff610b3c16565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610e4f908263ffffffff610bed16565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6001600160a01b038316610eee5760405162461bcd60e51b815260040180806020018281038252602581526020018061129a6025913960400191505060405180910390fd5b6001600160a01b038216610f335760405162461bcd60e51b81526004018080602001828103825260238152602001806111c26023913960400191505060405180910390fd5b6000610f576064610f4b84600b63ffffffff61107f16565b9063ffffffff6110d816565b90506000610f6b838363ffffffff61111a16565b9050600061dead9050610fb783604051806060016040528060268152602001611207602691396001600160a01b038916600090815260208190526040902054919063ffffffff610b3c16565b6001600160a01b038088166000908152602081905260408082209390935590871681522054610fec908463ffffffff610bed16565b6001600160a01b038087166000908152602081905260408082209390935590831681522054611021908363ffffffff610bed16565b6001600160a01b0380831660009081526020818152604091829020939093558051868152905188831693928a16927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef928290030190a3505050505050565b60008261108e5750600061051b565b8282028284828161109b57fe5b0414610c475760405162461bcd60e51b81526004018080602001828103825260218152602001806112516021913960400191505060405180910390fd5b6000610c4783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061115c565b6000610c4783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610b3c565b600081836111ab5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610b90578181015183820152602001610b78565b5060008385816111b757fe5b049594505050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a205f776974686472617720746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa265627a7a723158203838e237e402d8515827e31f9a2968ddf7c969a07dd8d7f9f2972af14316f56f64736f6c63430005110032