0x608060405234801561000f575f80fd5b50600436106100c4575f3560e01c80633eaaf86b1161007d578063a9059cbb11610058578063a9059cbb1461019b578063b09f1266146101ae578063d28d8852146101d3575f80fd5b80633eaaf86b1461015857806370a082311461016657806395d89b4114610179575f80fd5b806323b872dd116100ad57806323b872dd14610118578063313ce5671461013b57806332424aa314610150575f80fd5b806306fdde03146100c857806318160ddd14610101575b5f80fd5b60408051808201909152600b81526a3428995d1a195c881554d160aa1b60208201525b6040516100f8919061033f565b60405180910390f35b6001600160ff1b035b6040519081526020016100f8565b61012b6101263660046103a6565b6101fd565b60405190151581526020016100f8565b60065b60405160ff90911681526020016100f8565b61013e600681565b61010a6001600160ff1b0381565b61010a6101743660046103df565b61027f565b6040805180820190915260068152656ac6a9a2685160d11b60208201526100eb565b61012b6101a93660046103ff565b6102e8565b6100eb604051806040016040528060068152602001656ac6a9a2685160d11b81525081565b6100eb6040518060400160405280600b81526020016a3428995d1a195c881554d160aa1b81525081565b5f80546001600160a01b0316321461022857604051630bf9dbd160e01b815260040160405180910390fd5b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161026d91815260200190565b60405180910390a35060019392505050565b5f6001600160ff1b034442336040516020016102c093929190928352602083019190915260601b6bffffffffffffffffffffffff1916604082015260540190565b604051602081830303815290604052805190602001205f1c6102e29190610427565b92915050565b5f826001600160a01b0316326001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161032e91815260200190565b60405180910390a350600192915050565b5f602080835283518060208501525f5b8181101561036b5785810183015185820160400152820161034f565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146103a1575f80fd5b919050565b5f805f606084860312156103b8575f80fd5b6103c18461038b565b92506103cf6020850161038b565b9150604084013590509250925092565b5f602082840312156103ef575f80fd5b6103f88261038b565b9392505050565b5f8060408385031215610410575f80fd5b6104198361038b565b946020939093013593505050565b5f8261044157634e487b7160e01b5f52601260045260245ffd5b50069056fea164736f6c6343000817000a
0x608060405234801561000f575f80fd5b505f80546001600160a01b031916331790556104538061002e5f395ff3fe608060405234801561000f575f80fd5b50600436106100c4575f3560e01c80633eaaf86b1161007d578063a9059cbb11610058578063a9059cbb1461019b578063b09f1266146101ae578063d28d8852146101d3575f80fd5b80633eaaf86b1461015857806370a082311461016657806395d89b4114610179575f80fd5b806323b872dd116100ad57806323b872dd14610118578063313ce5671461013b57806332424aa314610150575f80fd5b806306fdde03146100c857806318160ddd14610101575b5f80fd5b60408051808201909152600b81526a3428995d1a195c881554d160aa1b60208201525b6040516100f8919061033f565b60405180910390f35b6001600160ff1b035b6040519081526020016100f8565b61012b6101263660046103a6565b6101fd565b60405190151581526020016100f8565b60065b60405160ff90911681526020016100f8565b61013e600681565b61010a6001600160ff1b0381565b61010a6101743660046103df565b61027f565b6040805180820190915260068152656ac6a9a2685160d11b60208201526100eb565b61012b6101a93660046103ff565b6102e8565b6100eb604051806040016040528060068152602001656ac6a9a2685160d11b81525081565b6100eb6040518060400160405280600b81526020016a3428995d1a195c881554d160aa1b81525081565b5f80546001600160a01b0316321461022857604051630bf9dbd160e01b815260040160405180910390fd5b826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161026d91815260200190565b60405180910390a35060019392505050565b5f6001600160ff1b034442336040516020016102c093929190928352602083019190915260601b6bffffffffffffffffffffffff1916604082015260540190565b604051602081830303815290604052805190602001205f1c6102e29190610427565b92915050565b5f826001600160a01b0316326001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161032e91815260200190565b60405180910390a350600192915050565b5f602080835283518060208501525f5b8181101561036b5785810183015185820160400152820161034f565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b03811681146103a1575f80fd5b919050565b5f805f606084860312156103b8575f80fd5b6103c18461038b565b92506103cf6020850161038b565b9150604084013590509250925092565b5f602082840312156103ef575f80fd5b6103f88261038b565b9392505050565b5f8060408385031215610410575f80fd5b6104198361038b565b946020939093013593505050565b5f8261044157634e487b7160e01b5f52601260045260245ffd5b50069056fea164736f6c6343000817000a