0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063702921f51161008c5780639e34070f116100665780639e34070f14610212578063a441d0671461022f578063f2fde38b14610255578063fc0c546a1461027b576100cf565b8063702921f5146101c5578063715018a6146101e65780638da5cb5b146101ee576100cf565b8063054f7d9c146100d45780632e7ba6ef146100f05780632eb4a7ab1461017e5780634783f0ef1461019857806362a5af3b146101b55780636a28f000146101bd575b600080fd5b6100dc610283565b604080519115158252519081900360200190f35b61017c6004803603608081101561010657600080fd5b8135916001600160a01b03602082013516916040820135919081019060808101606082013564010000000081111561013d57600080fd5b82018360208201111561014f57600080fd5b8035906020019184602083028401116401000000008311171561017157600080fd5b509092509050610294565b005b610186610524565b60408051918252519081900360200190f35b61017c600480360360208110156101ae57600080fd5b503561052a565b61017c61062b565b61017c6106a4565b6101cd610716565b6040805163ffffffff9092168252519081900360200190f35b61017c610722565b6101f66107ce565b604080516001600160a01b039092168252519081900360200190f35b6100dc6004803603602081101561022857600080fd5b50356107dd565b61017c6004803603602081101561024557600080fd5b50356001600160a01b0316610805565b61017c6004803603602081101561026b57600080fd5b50356001600160a01b03166109ae565b6101f6610ab0565b600254640100000000900460ff1681565b600254640100000000900460ff16156102de5760405162461bcd60e51b8152600401808060200182810382526026815260200180610bfe6026913960400191505060405180910390fd5b6102e7856107dd565b156103235760405162461bcd60e51b8152600401808060200182810382526028815260200180610bd66028913960400191505060405180910390fd5b600085858560405160200180848152602001836001600160a01b031660601b815260140182815260200193505050506040516020818303038152906040528051906020012090506103ab838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506001549150849050610ad4565b6103e65760405162461bcd60e51b8152600401808060200182810382526021815260200180610c4b6021913960400191505060405180910390fd5b6103ef86610b7d565b7f000000000000000000000000133bb423d9248a336d2b3086b8f44a7dbff3a13c6001600160a01b031663a9059cbb86866040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561046657600080fd5b505af115801561047a573d6000803e3d6000fd5b505050506040513d602081101561049057600080fd5b50516104cd5760405162461bcd60e51b8152600401808060200182810382526023815260200180610c6c6023913960400191505060405180910390fd5b6002546040805188815260208101879052815163ffffffff909316926001600160a01b038916927fb94bf7f9302edf52a596286915a69b4b0685574cffdedd0712e3c62f2550f0ba928290030190a3505050505050565b60015481565b610532610bab565b6001600160a01b03166105436107ce565b6001600160a01b03161461058c576040805162461bcd60e51b81526020600482018190526024820152600080516020610c8f833981519152604482015290519081900360640190fd5b600254640100000000900460ff166105d55760405162461bcd60e51b8152600401808060200182810382526027815260200180610c246027913960400191505060405180910390fd5b6002805463ffffffff198116600163ffffffff92831681018316919091179283905583905560405191169082907f1bed04c7cfb61e9a21d36517a6ed73b90844dc1ea8a74ce9f96ee2599be0db3b90600090a350565b610633610bab565b6001600160a01b03166106446107ce565b6001600160a01b03161461068d576040805162461bcd60e51b81526020600482018190526024820152600080516020610c8f833981519152604482015290519081900360640190fd5b6002805464ff000000001916640100000000179055565b6106ac610bab565b6001600160a01b03166106bd6107ce565b6001600160a01b031614610706576040805162461bcd60e51b81526020600482018190526024820152600080516020610c8f833981519152604482015290519081900360640190fd5b6002805464ff0000000019169055565b60025463ffffffff1681565b61072a610bab565b6001600160a01b031661073b6107ce565b6001600160a01b031614610784576040805162461bcd60e51b81526020600482018190526024820152600080516020610c8f833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b60025463ffffffff166000908152600360209081526040808320938352929052205460ff1690565b61080d610bab565b6001600160a01b031661081e6107ce565b6001600160a01b031614610867576040805162461bcd60e51b81526020600482018190526024820152600080516020610c8f833981519152604482015290519081900360640190fd5b7f000000000000000000000000133bb423d9248a336d2b3086b8f44a7dbff3a13c6001600160a01b031663a9059cbb827f000000000000000000000000133bb423d9248a336d2b3086b8f44a7dbff3a13c6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561090457600080fd5b505afa158015610918573d6000803e3d6000fd5b505050506040513d602081101561092e57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b15801561097f57600080fd5b505af1158015610993573d6000803e3d6000fd5b505050506040513d60208110156109a957600080fd5b505050565b6109b6610bab565b6001600160a01b03166109c76107ce565b6001600160a01b031614610a10576040805162461bcd60e51b81526020600482018190526024820152600080516020610c8f833981519152604482015290519081900360640190fd5b6001600160a01b038116610a555760405162461bcd60e51b8152600401808060200182810382526026815260200180610bb06026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b7f000000000000000000000000133bb423d9248a336d2b3086b8f44a7dbff3a13c81565b600081815b8551811015610b72576000868281518110610af057fe5b60200260200101519050808311610b375782816040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209250610b69565b808360405160200180838152602001828152602001925050506040516020818303038152906040528051906020012092505b50600101610ad9565b509092149392505050565b60025463ffffffff16600090815260036020908152604080832093835292905220805460ff19166001179055565b339056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734d65726b6c654469737472696275746f723a2044726f7020616c726561647920636c61696d65642e4d65726b6c654469737472696275746f723a20436c61696d696e672069732066726f7a656e2e4d65726b6c654469737472696275746f723a20436f6e7472616374206e6f742066726f7a656e2e4d65726b6c654469737472696275746f723a20496e76616c69642070726f6f662e4d65726b6c654469737472696275746f723a205472616e73666572206661696c65642e4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220c48db701b9ef7547d1320a0bc084a5222f4bf67b2171d0b1eb68866e04fe6f1964736f6c634300060c0033
0x60a060405234801561001057600080fd5b50604051610dcd380380610dcd8339818101604052604081101561003357600080fd5b50805160209091015160006100466100b9565b600080546001600160a01b0319166001600160a01b0383169081178255604051929350917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060609190911b6001600160601b0319166080526001556002805464ffffffffff191690556100bd565b3390565b60805160601c610ce46100e9600039806103f1528061086952806108995280610ab25250610ce46000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063702921f51161008c5780639e34070f116100665780639e34070f14610212578063a441d0671461022f578063f2fde38b14610255578063fc0c546a1461027b576100cf565b8063702921f5146101c5578063715018a6146101e65780638da5cb5b146101ee576100cf565b8063054f7d9c146100d45780632e7ba6ef146100f05780632eb4a7ab1461017e5780634783f0ef1461019857806362a5af3b146101b55780636a28f000146101bd575b600080fd5b6100dc610283565b604080519115158252519081900360200190f35b61017c6004803603608081101561010657600080fd5b8135916001600160a01b03602082013516916040820135919081019060808101606082013564010000000081111561013d57600080fd5b82018360208201111561014f57600080fd5b8035906020019184602083028401116401000000008311171561017157600080fd5b509092509050610294565b005b610186610524565b60408051918252519081900360200190f35b61017c600480360360208110156101ae57600080fd5b503561052a565b61017c61062b565b61017c6106a4565b6101cd610716565b6040805163ffffffff9092168252519081900360200190f35b61017c610722565b6101f66107ce565b604080516001600160a01b039092168252519081900360200190f35b6100dc6004803603602081101561022857600080fd5b50356107dd565b61017c6004803603602081101561024557600080fd5b50356001600160a01b0316610805565b61017c6004803603602081101561026b57600080fd5b50356001600160a01b03166109ae565b6101f6610ab0565b600254640100000000900460ff1681565b600254640100000000900460ff16156102de5760405162461bcd60e51b8152600401808060200182810382526026815260200180610bfe6026913960400191505060405180910390fd5b6102e7856107dd565b156103235760405162461bcd60e51b8152600401808060200182810382526028815260200180610bd66028913960400191505060405180910390fd5b600085858560405160200180848152602001836001600160a01b031660601b815260140182815260200193505050506040516020818303038152906040528051906020012090506103ab838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506001549150849050610ad4565b6103e65760405162461bcd60e51b8152600401808060200182810382526021815260200180610c4b6021913960400191505060405180910390fd5b6103ef86610b7d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb86866040518363ffffffff1660e01b815260040180836001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561046657600080fd5b505af115801561047a573d6000803e3d6000fd5b505050506040513d602081101561049057600080fd5b50516104cd5760405162461bcd60e51b8152600401808060200182810382526023815260200180610c6c6023913960400191505060405180910390fd5b6002546040805188815260208101879052815163ffffffff909316926001600160a01b038916927fb94bf7f9302edf52a596286915a69b4b0685574cffdedd0712e3c62f2550f0ba928290030190a3505050505050565b60015481565b610532610bab565b6001600160a01b03166105436107ce565b6001600160a01b03161461058c576040805162461bcd60e51b81526020600482018190526024820152600080516020610c8f833981519152604482015290519081900360640190fd5b600254640100000000900460ff166105d55760405162461bcd60e51b8152600401808060200182810382526027815260200180610c246027913960400191505060405180910390fd5b6002805463ffffffff198116600163ffffffff92831681018316919091179283905583905560405191169082907f1bed04c7cfb61e9a21d36517a6ed73b90844dc1ea8a74ce9f96ee2599be0db3b90600090a350565b610633610bab565b6001600160a01b03166106446107ce565b6001600160a01b03161461068d576040805162461bcd60e51b81526020600482018190526024820152600080516020610c8f833981519152604482015290519081900360640190fd5b6002805464ff000000001916640100000000179055565b6106ac610bab565b6001600160a01b03166106bd6107ce565b6001600160a01b031614610706576040805162461bcd60e51b81526020600482018190526024820152600080516020610c8f833981519152604482015290519081900360640190fd5b6002805464ff0000000019169055565b60025463ffffffff1681565b61072a610bab565b6001600160a01b031661073b6107ce565b6001600160a01b031614610784576040805162461bcd60e51b81526020600482018190526024820152600080516020610c8f833981519152604482015290519081900360640190fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031690565b60025463ffffffff166000908152600360209081526040808320938352929052205460ff1690565b61080d610bab565b6001600160a01b031661081e6107ce565b6001600160a01b031614610867576040805162461bcd60e51b81526020600482018190526024820152600080516020610c8f833981519152604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663a9059cbb827f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561090457600080fd5b505afa158015610918573d6000803e3d6000fd5b505050506040513d602081101561092e57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b15801561097f57600080fd5b505af1158015610993573d6000803e3d6000fd5b505050506040513d60208110156109a957600080fd5b505050565b6109b6610bab565b6001600160a01b03166109c76107ce565b6001600160a01b031614610a10576040805162461bcd60e51b81526020600482018190526024820152600080516020610c8f833981519152604482015290519081900360640190fd5b6001600160a01b038116610a555760405162461bcd60e51b8152600401808060200182810382526026815260200180610bb06026913960400191505060405180910390fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b7f000000000000000000000000000000000000000000000000000000000000000081565b600081815b8551811015610b72576000868281518110610af057fe5b60200260200101519050808311610b375782816040516020018083815260200182815260200192505050604051602081830303815290604052805190602001209250610b69565b808360405160200180838152602001828152602001925050506040516020818303038152906040528051906020012092505b50600101610ad9565b509092149392505050565b60025463ffffffff16600090815260036020908152604080832093835292905220805460ff19166001179055565b339056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f20616464726573734d65726b6c654469737472696275746f723a2044726f7020616c726561647920636c61696d65642e4d65726b6c654469737472696275746f723a20436c61696d696e672069732066726f7a656e2e4d65726b6c654469737472696275746f723a20436f6e7472616374206e6f742066726f7a656e2e4d65726b6c654469737472696275746f723a20496e76616c69642070726f6f662e4d65726b6c654469737472696275746f723a205472616e73666572206661696c65642e4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572a2646970667358221220c48db701b9ef7547d1320a0bc084a5222f4bf67b2171d0b1eb68866e04fe6f1964736f6c634300060c0033000000000000000000000000133bb423d9248a336d2b3086b8f44a7dbff3a13cbd7c1fbea4299b411f2f9af4a50dc17234625b9ce8b4084bac21aa5e182601f3