0x608060405234801561001057600080fd5b50600436106101215760003560e01c8063a3f4df7e116100ad578063f2fde38b11610071578063f2fde38b1461036b578063f41e60c514610391578063f5074f41146103b0578063f76f8d78146103d6578063f851a440146103de57610121565b8063a3f4df7e14610266578063a53ba959146102e3578063a9059cbb146102eb578063dd62ed3e14610317578063e3d670d71461034557610121565b80632e0f2625116100f45780632e0f2625146101e25780635c6581651461020057806370a082311461022e57806383197ef01461025457806394a08c691461025e57610121565b8063095ea7b31461012657806318160ddd146101665780631a88f3061461018057806323b872dd146101ac575b600080fd5b6101526004803603604081101561013c57600080fd5b506001600160a01b038135169060200135610402565b604080519115158252519081900360200190f35b61016e610477565b60408051918252519081900360200190f35b6101526004803603604081101561019657600080fd5b506001600160a01b03813516906020013561047d565b610152600480360360608110156101c257600080fd5b506001600160a01b038135811691602081013590911690604001356104da565b6101ea610551565b6040805160ff9092168252519081900360200190f35b61016e6004803603604081101561021657600080fd5b506001600160a01b0381358116916020013516610556565b61016e6004803603602081101561024457600080fd5b50356001600160a01b0316610573565b61025c61058e565b005b61016e6105ec565b61026e6105f2565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102a8578181015183820152602001610290565b50505050905090810190601f1680156102d55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61015261062b565b6101526004803603604081101561030157600080fd5b506001600160a01b03813516906020013561063b565b61016e6004803603604081101561032d57600080fd5b506001600160a01b038135811691602001351661069f565b61016e6004803603602081101561035b57600080fd5b50356001600160a01b03166106ca565b61025c6004803603602081101561038157600080fd5b50356001600160a01b03166106dc565b61025c600480360360208110156103a757600080fd5b503515156107ac565b61025c600480360360208110156103c657600080fd5b50356001600160a01b031661082b565b61026e610887565b6103e66108a9565b604080516001600160a01b039092168252519081900360200190f35b600254600090600160a01b900460ff166104665760408051600160e51b62461bcd02815260206004820152601d60248201527f5472616e736665727320617265206e6f7420616c6c6f77656420796574000000604482015290519081900360640190fd5b61047083836108b8565b9392505050565b60035490565b6002546000906001600160a01b031633146104d05760408051600160e51b62461bcd02815260206004820152601a6024820152600080516020610d52833981519152604482015290519081900360640190fd5b610470838361097f565b600254600090600160a01b900460ff1661053e5760408051600160e51b62461bcd02815260206004820152601d60248201527f5472616e736665727320617265206e6f7420616c6c6f77656420796574000000604482015290519081900360640190fd5b610549848484610a85565b949350505050565b601281565b600160209081526000928352604080842090915290825290205481565b6001600160a01b031660009081526020819052604090205490565b6002546001600160a01b031633146105de5760408051600160e51b62461bcd02815260206004820152601a6024820152600080516020610d52833981519152604482015290519081900360640190fd5b6002546001600160a01b0316ff5b60035481565b6040518060400160405280600c81526020017f436f696e7374616e74696e65000000000000000000000000000000000000000081525081565b600254600160a01b900460ff1681565b600254600090600160a01b900460ff166104d05760408051600160e51b62461bcd02815260206004820152601d60248201527f5472616e736665727320617265206e6f7420616c6c6f77656420796574000000604482015290519081900360640190fd5b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60006020819052908152604090205481565b6002546001600160a01b0316331461072c5760408051600160e51b62461bcd02815260206004820152601a6024820152600080516020610d52833981519152604482015290519081900360640190fd5b6001600160a01b03811661078a5760408051600160e51b62461bcd02815260206004820152601760248201527f4e65772061646d696e2063616e2774206265206e756c6c000000000000000000604482015290519081900360640190fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b031633146107fc5760408051600160e51b62461bcd02815260206004820152601a6024820152600080516020610d52833981519152604482015290519081900360640190fd5b60028054911515600160a01b0274ff000000000000000000000000000000000000000019909216919091179055565b6002546001600160a01b0316331461087b5760408051600160e51b62461bcd02815260206004820152601a6024820152600080516020610d52833981519152604482015290519081900360640190fd5b806001600160a01b0316ff5b604051806040016040528060038152602001600160e91b6221a9a70281525081565b6002546001600160a01b031681565b60006001600160a01b0383166109185760408051600160e51b62461bcd02815260206004820152601560248201527f7370656e6465722063616e2774206265206e756c6c0000000000000000000000604482015290519081900360640190fd5b3360008181526001602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60006001600160a01b0383166109d75760408051600160e51b62461bcd0281526020600482015260126024820152600160721b7110d85b89dd081cd95b99081d1bc81b9d5b1b02604482015290519081900360640190fd5b336000908152602081905260409020546109f7908363ffffffff610d2416565b33600090815260208190526040808220929092556001600160a01b03851681522054610a29908363ffffffff610d3616565b6001600160a01b038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b60006001600160a01b038316610add5760408051600160e51b62461bcd0281526020600482015260126024820152600160721b7110d85b89dd081cd95b99081d1bc81b9d5b1b02604482015290519081900360640190fd5b6001600160a01b038316301415610b3e5760408051600160e51b62461bcd02815260206004820152601660248201527f43616e27742073656e6420746f20636f6e747261637400000000000000000000604482015290519081900360640190fd5b6001600160a01b03841660009081526001602090815260408083203384529091529020548083111580610b7957506001600160a01b03851633145b610bcd5760408051600160e51b62461bcd02815260206004820152601d60248201527f4e6f7420616c6c6f77656420746f2073656e642074686174206d756368000000604482015290519081900360640190fd5b6001600160a01b038416600090815260208190526040902054610bf6908463ffffffff610d3616565b6001600160a01b038086166000908152602081905260408082209390935590871681522054610c2b908463ffffffff610d2416565b6001600160a01b03861660009081526020818152604080832093909355600181528282203383529052205460001914801590610c7057506001600160a01b0385163314155b15610cce576001600160a01b0385166000908152600160209081526040808320338452909152902054610ca9908463ffffffff610d2416565b6001600160a01b03861660009081526001602090815260408083203384529091529020555b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3506001949350505050565b600082821115610d3057fe5b50900390565b6000828201838110801590610d4b5750828110155b61047057fefe46756e6374696f6e20726573657276656420746f2061646d696e000000000000a165627a7a723058203be3dfa21d64f028a34318becd82ed451782ac9df4cd1c5ed717ba08eaa6769e0029
0x608060405260028054600160a01b60ff02191690556a52b7d2dcc80cd2e400000060035534801561002f57600080fd5b506002805474010000000000000000000000000000000000000000336001600160a01b03199092168217600160a01b60ff02191617909155600354600091825260208290526040822055610d9d90819061008990396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c8063a3f4df7e116100ad578063f2fde38b11610071578063f2fde38b1461036b578063f41e60c514610391578063f5074f41146103b0578063f76f8d78146103d6578063f851a440146103de57610121565b8063a3f4df7e14610266578063a53ba959146102e3578063a9059cbb146102eb578063dd62ed3e14610317578063e3d670d71461034557610121565b80632e0f2625116100f45780632e0f2625146101e25780635c6581651461020057806370a082311461022e57806383197ef01461025457806394a08c691461025e57610121565b8063095ea7b31461012657806318160ddd146101665780631a88f3061461018057806323b872dd146101ac575b600080fd5b6101526004803603604081101561013c57600080fd5b506001600160a01b038135169060200135610402565b604080519115158252519081900360200190f35b61016e610477565b60408051918252519081900360200190f35b6101526004803603604081101561019657600080fd5b506001600160a01b03813516906020013561047d565b610152600480360360608110156101c257600080fd5b506001600160a01b038135811691602081013590911690604001356104da565b6101ea610551565b6040805160ff9092168252519081900360200190f35b61016e6004803603604081101561021657600080fd5b506001600160a01b0381358116916020013516610556565b61016e6004803603602081101561024457600080fd5b50356001600160a01b0316610573565b61025c61058e565b005b61016e6105ec565b61026e6105f2565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102a8578181015183820152602001610290565b50505050905090810190601f1680156102d55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61015261062b565b6101526004803603604081101561030157600080fd5b506001600160a01b03813516906020013561063b565b61016e6004803603604081101561032d57600080fd5b506001600160a01b038135811691602001351661069f565b61016e6004803603602081101561035b57600080fd5b50356001600160a01b03166106ca565b61025c6004803603602081101561038157600080fd5b50356001600160a01b03166106dc565b61025c600480360360208110156103a757600080fd5b503515156107ac565b61025c600480360360208110156103c657600080fd5b50356001600160a01b031661082b565b61026e610887565b6103e66108a9565b604080516001600160a01b039092168252519081900360200190f35b600254600090600160a01b900460ff166104665760408051600160e51b62461bcd02815260206004820152601d60248201527f5472616e736665727320617265206e6f7420616c6c6f77656420796574000000604482015290519081900360640190fd5b61047083836108b8565b9392505050565b60035490565b6002546000906001600160a01b031633146104d05760408051600160e51b62461bcd02815260206004820152601a6024820152600080516020610d52833981519152604482015290519081900360640190fd5b610470838361097f565b600254600090600160a01b900460ff1661053e5760408051600160e51b62461bcd02815260206004820152601d60248201527f5472616e736665727320617265206e6f7420616c6c6f77656420796574000000604482015290519081900360640190fd5b610549848484610a85565b949350505050565b601281565b600160209081526000928352604080842090915290825290205481565b6001600160a01b031660009081526020819052604090205490565b6002546001600160a01b031633146105de5760408051600160e51b62461bcd02815260206004820152601a6024820152600080516020610d52833981519152604482015290519081900360640190fd5b6002546001600160a01b0316ff5b60035481565b6040518060400160405280600c81526020017f436f696e7374616e74696e65000000000000000000000000000000000000000081525081565b600254600160a01b900460ff1681565b600254600090600160a01b900460ff166104d05760408051600160e51b62461bcd02815260206004820152601d60248201527f5472616e736665727320617265206e6f7420616c6c6f77656420796574000000604482015290519081900360640190fd5b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60006020819052908152604090205481565b6002546001600160a01b0316331461072c5760408051600160e51b62461bcd02815260206004820152601a6024820152600080516020610d52833981519152604482015290519081900360640190fd5b6001600160a01b03811661078a5760408051600160e51b62461bcd02815260206004820152601760248201527f4e65772061646d696e2063616e2774206265206e756c6c000000000000000000604482015290519081900360640190fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b031633146107fc5760408051600160e51b62461bcd02815260206004820152601a6024820152600080516020610d52833981519152604482015290519081900360640190fd5b60028054911515600160a01b0274ff000000000000000000000000000000000000000019909216919091179055565b6002546001600160a01b0316331461087b5760408051600160e51b62461bcd02815260206004820152601a6024820152600080516020610d52833981519152604482015290519081900360640190fd5b806001600160a01b0316ff5b604051806040016040528060038152602001600160e91b6221a9a70281525081565b6002546001600160a01b031681565b60006001600160a01b0383166109185760408051600160e51b62461bcd02815260206004820152601560248201527f7370656e6465722063616e2774206265206e756c6c0000000000000000000000604482015290519081900360640190fd5b3360008181526001602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60006001600160a01b0383166109d75760408051600160e51b62461bcd0281526020600482015260126024820152600160721b7110d85b89dd081cd95b99081d1bc81b9d5b1b02604482015290519081900360640190fd5b336000908152602081905260409020546109f7908363ffffffff610d2416565b33600090815260208190526040808220929092556001600160a01b03851681522054610a29908363ffffffff610d3616565b6001600160a01b038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b60006001600160a01b038316610add5760408051600160e51b62461bcd0281526020600482015260126024820152600160721b7110d85b89dd081cd95b99081d1bc81b9d5b1b02604482015290519081900360640190fd5b6001600160a01b038316301415610b3e5760408051600160e51b62461bcd02815260206004820152601660248201527f43616e27742073656e6420746f20636f6e747261637400000000000000000000604482015290519081900360640190fd5b6001600160a01b03841660009081526001602090815260408083203384529091529020548083111580610b7957506001600160a01b03851633145b610bcd5760408051600160e51b62461bcd02815260206004820152601d60248201527f4e6f7420616c6c6f77656420746f2073656e642074686174206d756368000000604482015290519081900360640190fd5b6001600160a01b038416600090815260208190526040902054610bf6908463ffffffff610d3616565b6001600160a01b038086166000908152602081905260408082209390935590871681522054610c2b908463ffffffff610d2416565b6001600160a01b03861660009081526020818152604080832093909355600181528282203383529052205460001914801590610c7057506001600160a01b0385163314155b15610cce576001600160a01b0385166000908152600160209081526040808320338452909152902054610ca9908463ffffffff610d2416565b6001600160a01b03861660009081526001602090815260408083203384529091529020555b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3506001949350505050565b600082821115610d3057fe5b50900390565b6000828201838110801590610d4b5750828110155b61047057fefe46756e6374696f6e20726573657276656420746f2061646d696e000000000000a165627a7a723058203be3dfa21d64f028a34318becd82ed451782ac9df4cd1c5ed717ba08eaa6769e0029