0x6080604052600436106100955760003560e01c80638c21b290116100595780638c21b2901461015357806391b8f68114610173578063dad2e3a814610193578063f4293890146101b3578063fbecd525146101c8576100b8565b806320800a00146100d4578063430fdd3f146100e957806349bc17e91461010957806351bc3c851461011e578063839006f214610133576100b8565b366100b8573260009081526003602052604090205460ff166100b657600080fd5b005b3260009081526003602052604090205460ff166100b657600080fd5b3480156100e057600080fd5b506100b66101e8565b3480156100f557600080fd5b506100b6610104366004610b7b565b610233565b34801561011557600080fd5b506100b66102a5565b34801561012a57600080fd5b506100b661051c565b34801561013f57600080fd5b506100b661014e366004610bc6565b6105b0565b34801561015f57600080fd5b506100b661016e366004610bea565b6106e7565b34801561017f57600080fd5b506100b661018e366004610c19565b610777565b34801561019f57600080fd5b506100b66101ae366004610cde565b6107fb565b3480156101bf57600080fd5b506100b661088a565b3480156101d457600080fd5b506100b66101e3366004610d15565b610904565b3360009081526003602052604090205460ff1661020457600080fd5b60405133904780156108fc02916000818181858888f19350505050158015610230573d6000803e3d6000fd5b50565b6000546001600160a01b031633146102665760405162461bcd60e51b815260040161025d90610d41565b60405180910390fd5b600480546001600160a01b039485166001600160a01b031991821617909155600180549385169382169390931790925560028054919093169116179055565b3360009081526003602052604090205460ff166102c157600080fd5b6001546040805163313ce56760e01b815290516000926001600160a01b03169163313ce5679160048083019260209291908290030181865afa15801561030b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032f9190610d76565b61033a906001610da5565b6001546002546040516370a0823160e01b81526001600160a01b0391821660048201529116906370a0823190602401602060405180830381865afa158015610386573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103aa9190610d76565b6103b49190610dc2565b6001546002546040516323b872dd60e01b81526001600160a01b0391821660048201523060248201526044810184905292935016906323b872dd906064016020604051808303816000875af1158015610411573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104359190610dd5565b50600260009054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561048657600080fd5b505af115801561049a573d6000803e3d6000fd5b50506001546040516370a0823160e01b8152306004820152600093506001600160a01b0390911691506370a0823190602401602060405180830381865afa1580156104e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050d9190610d76565b90506105188161095b565b5050565b6000546001600160a01b031633146105465760405162461bcd60e51b815260040161025d90610d41565b600160009054906101000a90046001600160a01b03166001600160a01b03166351bc3c856040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561059657600080fd5b505af11580156105aa573d6000803e3d6000fd5b50505050565b3360009081526003602052604090205460ff166105cc57600080fd5b6001600160a01b0381166106065760405133904780156108fc02916000818181858888f19350505050158015610518573d6000803e3d6000fd5b6040516370a0823160e01b81523060048201526001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610654573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106789190610d76565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156106c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105189190610dd5565b3360009081526003602052604090205460ff1661070357600080fd5b60015460405163144dfddd60e01b815230600482015260248101839052600060448201526001600160a01b039091169063144dfddd90606401600060405180830381600087803b15801561075657600080fd5b505af115801561076a573d6000803e3d6000fd5b505050506102308161095b565b3360009081526003602052604090205460ff1661079357600080fd5b60005b8151811015610518576001600360008484815181106107b7576107b7610df7565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107f381610e0d565b915050610796565b3360009081526003602052604090205460ff1661081757600080fd5b60405163a9059cbb60e01b81526001600160a01b0382811660048301526024820184905284169063a9059cbb906044016020604051808303816000875af1158015610866573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105aa9190610dd5565b6000546001600160a01b031633146108b45760405162461bcd60e51b815260040161025d90610d41565b600160009054906101000a90046001600160a01b03166001600160a01b0316636fc3eaec6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561059657600080fd5b3360009081526003602052604090205460ff1661092057600080fd5b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610956573d6000803e3d6000fd5b505050565b604080516002808252606082018352600092602083019080368337505060015482519293506001600160a01b03169183915060009061099c5761099c610df7565b60200260200101906001600160a01b031690816001600160a01b031681525050600460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a339190610e26565b81600181518110610a4657610a46610df7565b6001600160a01b0392831660209182029290920101526001546004805460405163095ea7b360e01b815290841691810191909152600019602482015291169063095ea7b3906044016020604051808303816000875af1158015610aad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad19190610dd5565b50600454600080546001600160a01b039283169263791ac9479286929091869116610b0042633b9aca00610e43565b6040518663ffffffff1660e01b8152600401610b20959493929190610e56565b600060405180830381600087803b158015610b3a57600080fd5b505af1158015610b4e573d6000803e3d6000fd5b505050505050565b6001600160a01b038116811461023057600080fd5b8035610b7681610b56565b919050565b600080600060608486031215610b9057600080fd5b8335610b9b81610b56565b92506020840135610bab81610b56565b91506040840135610bbb81610b56565b809150509250925092565b600060208284031215610bd857600080fd5b8135610be381610b56565b9392505050565b600060208284031215610bfc57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215610c2c57600080fd5b823567ffffffffffffffff80821115610c4457600080fd5b818501915085601f830112610c5857600080fd5b813581811115610c6a57610c6a610c03565b8060051b604051601f19603f83011681018181108582111715610c8f57610c8f610c03565b604052918252848201925083810185019188831115610cad57600080fd5b938501935b82851015610cd257610cc385610b6b565b84529385019392850192610cb2565b98975050505050505050565b600080600060608486031215610cf357600080fd5b8335610cfe81610b56565b9250602084013591506040840135610bbb81610b56565b60008060408385031215610d2857600080fd5b8235610d3381610b56565b946020939093013593505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215610d8857600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610dbc57610dbc610d8f565b92915050565b81810381811115610dbc57610dbc610d8f565b600060208284031215610de757600080fd5b81518015158114610be357600080fd5b634e487b7160e01b600052603260045260246000fd5b600060018201610e1f57610e1f610d8f565b5060010190565b600060208284031215610e3857600080fd5b8151610be381610b56565b80820180821115610dbc57610dbc610d8f565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015610ea65784516001600160a01b031683529383019391830191600101610e81565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220f6e05dcedad271ab2f6ed6e0137efea77166924c4afebb9e88bf24a71154a1d764736f6c63430008130033
0x608060405234801561001057600080fd5b50600080546001600160a01b0319338181169190921617811782558152600360205260409020805460ff19166001179055610efd806100506000396000f3fe6080604052600436106100955760003560e01c80638c21b290116100595780638c21b2901461015357806391b8f68114610173578063dad2e3a814610193578063f4293890146101b3578063fbecd525146101c8576100b8565b806320800a00146100d4578063430fdd3f146100e957806349bc17e91461010957806351bc3c851461011e578063839006f214610133576100b8565b366100b8573260009081526003602052604090205460ff166100b657600080fd5b005b3260009081526003602052604090205460ff166100b657600080fd5b3480156100e057600080fd5b506100b66101e8565b3480156100f557600080fd5b506100b6610104366004610b7b565b610233565b34801561011557600080fd5b506100b66102a5565b34801561012a57600080fd5b506100b661051c565b34801561013f57600080fd5b506100b661014e366004610bc6565b6105b0565b34801561015f57600080fd5b506100b661016e366004610bea565b6106e7565b34801561017f57600080fd5b506100b661018e366004610c19565b610777565b34801561019f57600080fd5b506100b66101ae366004610cde565b6107fb565b3480156101bf57600080fd5b506100b661088a565b3480156101d457600080fd5b506100b66101e3366004610d15565b610904565b3360009081526003602052604090205460ff1661020457600080fd5b60405133904780156108fc02916000818181858888f19350505050158015610230573d6000803e3d6000fd5b50565b6000546001600160a01b031633146102665760405162461bcd60e51b815260040161025d90610d41565b60405180910390fd5b600480546001600160a01b039485166001600160a01b031991821617909155600180549385169382169390931790925560028054919093169116179055565b3360009081526003602052604090205460ff166102c157600080fd5b6001546040805163313ce56760e01b815290516000926001600160a01b03169163313ce5679160048083019260209291908290030181865afa15801561030b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061032f9190610d76565b61033a906001610da5565b6001546002546040516370a0823160e01b81526001600160a01b0391821660048201529116906370a0823190602401602060405180830381865afa158015610386573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103aa9190610d76565b6103b49190610dc2565b6001546002546040516323b872dd60e01b81526001600160a01b0391821660048201523060248201526044810184905292935016906323b872dd906064016020604051808303816000875af1158015610411573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104359190610dd5565b50600260009054906101000a90046001600160a01b03166001600160a01b031663fff6cae96040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561048657600080fd5b505af115801561049a573d6000803e3d6000fd5b50506001546040516370a0823160e01b8152306004820152600093506001600160a01b0390911691506370a0823190602401602060405180830381865afa1580156104e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061050d9190610d76565b90506105188161095b565b5050565b6000546001600160a01b031633146105465760405162461bcd60e51b815260040161025d90610d41565b600160009054906101000a90046001600160a01b03166001600160a01b03166351bc3c856040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561059657600080fd5b505af11580156105aa573d6000803e3d6000fd5b50505050565b3360009081526003602052604090205460ff166105cc57600080fd5b6001600160a01b0381166106065760405133904780156108fc02916000818181858888f19350505050158015610518573d6000803e3d6000fd5b6040516370a0823160e01b81523060048201526001600160a01b0382169063a9059cbb90339083906370a0823190602401602060405180830381865afa158015610654573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106789190610d76565b6040516001600160e01b031960e085901b1681526001600160a01b03909216600483015260248201526044016020604051808303816000875af11580156106c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105189190610dd5565b3360009081526003602052604090205460ff1661070357600080fd5b60015460405163144dfddd60e01b815230600482015260248101839052600060448201526001600160a01b039091169063144dfddd90606401600060405180830381600087803b15801561075657600080fd5b505af115801561076a573d6000803e3d6000fd5b505050506102308161095b565b3360009081526003602052604090205460ff1661079357600080fd5b60005b8151811015610518576001600360008484815181106107b7576107b7610df7565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806107f381610e0d565b915050610796565b3360009081526003602052604090205460ff1661081757600080fd5b60405163a9059cbb60e01b81526001600160a01b0382811660048301526024820184905284169063a9059cbb906044016020604051808303816000875af1158015610866573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105aa9190610dd5565b6000546001600160a01b031633146108b45760405162461bcd60e51b815260040161025d90610d41565b600160009054906101000a90046001600160a01b03166001600160a01b0316636fc3eaec6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561059657600080fd5b3360009081526003602052604090205460ff1661092057600080fd5b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610956573d6000803e3d6000fd5b505050565b604080516002808252606082018352600092602083019080368337505060015482519293506001600160a01b03169183915060009061099c5761099c610df7565b60200260200101906001600160a01b031690816001600160a01b031681525050600460009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a339190610e26565b81600181518110610a4657610a46610df7565b6001600160a01b0392831660209182029290920101526001546004805460405163095ea7b360e01b815290841691810191909152600019602482015291169063095ea7b3906044016020604051808303816000875af1158015610aad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ad19190610dd5565b50600454600080546001600160a01b039283169263791ac9479286929091869116610b0042633b9aca00610e43565b6040518663ffffffff1660e01b8152600401610b20959493929190610e56565b600060405180830381600087803b158015610b3a57600080fd5b505af1158015610b4e573d6000803e3d6000fd5b505050505050565b6001600160a01b038116811461023057600080fd5b8035610b7681610b56565b919050565b600080600060608486031215610b9057600080fd5b8335610b9b81610b56565b92506020840135610bab81610b56565b91506040840135610bbb81610b56565b809150509250925092565b600060208284031215610bd857600080fd5b8135610be381610b56565b9392505050565b600060208284031215610bfc57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b60006020808385031215610c2c57600080fd5b823567ffffffffffffffff80821115610c4457600080fd5b818501915085601f830112610c5857600080fd5b813581811115610c6a57610c6a610c03565b8060051b604051601f19603f83011681018181108582111715610c8f57610c8f610c03565b604052918252848201925083810185019188831115610cad57600080fd5b938501935b82851015610cd257610cc385610b6b565b84529385019392850192610cb2565b98975050505050505050565b600080600060608486031215610cf357600080fd5b8335610cfe81610b56565b9250602084013591506040840135610bbb81610b56565b60008060408385031215610d2857600080fd5b8235610d3381610b56565b946020939093013593505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215610d8857600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610dbc57610dbc610d8f565b92915050565b81810381811115610dbc57610dbc610d8f565b600060208284031215610de757600080fd5b81518015158114610be357600080fd5b634e487b7160e01b600052603260045260246000fd5b600060018201610e1f57610e1f610d8f565b5060010190565b600060208284031215610e3857600080fd5b8151610be381610b56565b80820180821115610dbc57610dbc610d8f565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015610ea65784516001600160a01b031683529383019391830191600101610e81565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220f6e05dcedad271ab2f6ed6e0137efea77166924c4afebb9e88bf24a71154a1d764736f6c63430008130033