0x6080604052600436106100c2575f3560e01c806370a082311161007c578063af17dea611610057578063af17dea61461020c578063c9567bf914610220578063dd62ed3e14610234578063e2b9e1861461026a575f80fd5b806370a08231146101ae57806395d89b41146101d9578063a9059cbb146101ed575f80fd5b806306fdde03146100cd578063095ea7b3146100f757806318160ddd1461012657806323b872dd14610148578063313ce5671461016757806352f7c9881461018d575f80fd5b366100c957005b5f80fd5b3480156100d8575f80fd5b506100e161027e565b6040516100ee91906108fa565b60405180910390f35b348015610102575f80fd5b50610116610111366004610960565b61030d565b60405190151581526020016100ee565b348015610131575f80fd5b5061013a610379565b6040519081526020016100ee565b348015610153575f80fd5b50610116610162366004610988565b610396565b348015610172575f80fd5b5061017b601281565b60405160ff90911681526020016100ee565b348015610198575f80fd5b506101ac6101a73660046109c1565b6103e3565b005b3480156101b9575f80fd5b5061013a6101c83660046109e1565b60046020525f908152604090205481565b3480156101e4575f80fd5b506100e1610421565b3480156101f8575f80fd5b50610116610207366004610960565b610430565b348015610217575f80fd5b506100e1610443565b34801561022b575f80fd5b506101ac6104cf565b34801561023f575f80fd5b5061013a61024e3660046109fa565b600560209081525f928352604080842090915290825290205481565b348015610275575f80fd5b506100e1610519565b60605f805461028c90610a2b565b80601f01602080910402602001604051908101604052809291908181526020018280546102b890610a2b565b80156103035780601f106102da57610100808354040283529160200191610303565b820191905f5260205f20905b8154815290600101906020018083116102e657829003601f168201915b5050505050905090565b335f8181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103679086815260200190565b60405180910390a35060015b92915050565b6103856012600a610b57565b61039390633b9aca00610b65565b81565b6001600160a01b0383165f9081526005602090815260408083203384529091528120805483919083906103ca908490610b7c565b909155506103db9050848484610525565b949350505050565b3373fc18d78a40fb9ecdaed799ee6bb0e82bddb9000e1461041657604051629af2b160e81b815260040160405180910390fd5b600291909155600355565b60606001805461028c90610a2b565b5f61043c338484610525565b9392505050565b6001805461045090610a2b565b80601f016020809104026020016040519081016040528092919081815260200182805461047c90610a2b565b80156104c75780601f1061049e576101008083540402835291602001916104c7565b820191905f5260205f20905b8154815290600101906020018083116104aa57829003601f168201915b505050505081565b3373fc18d78a40fb9ecdaed799ee6bb0e82bddb9000e146104ee575f80fd5b600654600160a81b900460ff1615610504575f80fd5b6006805460ff60a81b1916600160a81b179055565b5f805461045090610a2b565b6006545f90600160a81b900460ff168061055b57506001600160a01b03841673fc18d78a40fb9ecdaed799ee6bb0e82bddb9000e145b8061058257506001600160a01b03831673fc18d78a40fb9ecdaed799ee6bb0e82bddb9000e145b61058a575f80fd5b600654600160a81b900460ff161580156105ad57506006546001600160a01b0316155b80156105b857505f82115b156105d957600680546001600160a01b0319166001600160a01b0385161790555b6001600160a01b0384165f9081526004602052604081208054849290610600908490610b7c565b90915550506006546001600160a01b03848116911614801561062c5750600654600160a01b900460ff16155b801561066b575060646106416012600a610b57565b61064f90633b9aca00610b65565b6106599190610b8f565b305f9081526004602052604090205410155b156107f5576006805460ff60a01b1916600160a01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106106b6576106b6610bae565b60200260200101906001600160a01b031690816001600160a01b03168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2816001815181106106fe576106fe610bae565b6001600160a01b0390921660209283029190910190910152737a250d5630b4cf539739df2c5dacb4c659f2488d63791ac947606461073e6012600a610b57565b61074c90633b9aca00610b65565b6107569190610b8f565b5f8430426040518663ffffffff1660e01b815260040161077a959493929190610bc2565b5f604051808303815f87803b158015610791575f80fd5b505af11580156107a3573d5f803e3d5ffd5b505060405173fc18d78a40fb9ecdaed799ee6bb0e82bddb9000e92504780156108fc029250905f818181858888f193505050501580156107e5573d5f803e3d5ffd5b50506006805460ff60a01b191690555b6001600160a01b0384163014610875576006545f906064906001600160a01b038781169116146108275760035461082b565b6002545b6108359085610b65565b61083f9190610b8f565b905061084b8184610b7c565b305f9081526004602052604081208054929550839290919061086e908490610c31565b9091555050505b6001600160a01b0383165f908152600460205260408120805484929061089c908490610c31565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516108e891815260200190565b60405180910390a35060019392505050565b5f6020808352835180828501525f5b8181101561092557858101830151858201604001528201610909565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461095b575f80fd5b919050565b5f8060408385031215610971575f80fd5b61097a83610945565b946020939093013593505050565b5f805f6060848603121561099a575f80fd5b6109a384610945565b92506109b160208501610945565b9150604084013590509250925092565b5f80604083850312156109d2575f80fd5b50508035926020909101359150565b5f602082840312156109f1575f80fd5b61043c82610945565b5f8060408385031215610a0b575f80fd5b610a1483610945565b9150610a2260208401610945565b90509250929050565b600181811c90821680610a3f57607f821691505b602082108103610a5d57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115610ab157815f1904821115610a9757610a97610a63565b80851615610aa457918102915b93841c9390800290610a7c565b509250929050565b5f82610ac757506001610373565b81610ad357505f610373565b8160018114610ae95760028114610af357610b0f565b6001915050610373565b60ff841115610b0457610b04610a63565b50506001821b610373565b5060208310610133831016604e8410600b8410161715610b32575081810a610373565b610b3c8383610a77565b805f1904821115610b4f57610b4f610a63565b029392505050565b5f61043c60ff841683610ab9565b808202811582820484141761037357610373610a63565b8181038181111561037357610373610a63565b5f82610ba957634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015610c105784516001600160a01b031683529383019391830191600101610beb565b50506001600160a01b03969096166060850152505050608001529392505050565b8082018082111561037357610373610a6356fea2646970667358221220689a65579dbdc8aa74b38912753e37427528c72d35a5fa5b04f7cdebf6349b7664736f6c63430008150033
0x60c0604052601c60809081527f457468657265756d20476f6c64204d696e696e6720436f6d70616e790000000060a0525f906200003d9082620001d2565b5060408051808201909152600481526345474d4360e01b6020820152600190620000689082620001d2565b505f6002555f6003553480156200007d575f80fd5b506200008c6012600a620003a9565b6200009c90633b9aca00620003c0565b335f8181526004602090815260408083209490945530825260058152838220737a250d5630b4cf539739df2c5dacb4c659f2488d835290529182205f199055907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200010b6012600a620003a9565b6200011b90633b9aca00620003c0565b60405190815260200160405180910390a3620003da565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806200015b57607f821691505b6020821081036200017a57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f821115620001cd575f81815260208120601f850160051c81016020861015620001a85750805b601f850160051c820191505b81811015620001c957828155600101620001b4565b5050505b505050565b81516001600160401b03811115620001ee57620001ee62000132565b6200020681620001ff845462000146565b8462000180565b602080601f8311600181146200023c575f8415620002245750858301515b5f19600386901b1c1916600185901b178555620001c9565b5f85815260208120601f198616915b828110156200026c578886015182559484019460019091019084016200024b565b50858210156200028a57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620002ee57815f1904821115620002d257620002d26200029a565b80851615620002e057918102915b93841c9390800290620002b3565b509250929050565b5f826200030657506001620003a3565b816200031457505f620003a3565b81600181146200032d5760028114620003385762000358565b6001915050620003a3565b60ff8411156200034c576200034c6200029a565b50506001821b620003a3565b5060208310610133831016604e8410600b84101617156200037d575081810a620003a3565b620003898383620002ae565b805f19048211156200039f576200039f6200029a565b0290505b92915050565b5f620003b960ff841683620002f6565b9392505050565b8082028115828204841417620003a357620003a36200029a565b610c7a80620003e85f395ff3fe6080604052600436106100c2575f3560e01c806370a082311161007c578063af17dea611610057578063af17dea61461020c578063c9567bf914610220578063dd62ed3e14610234578063e2b9e1861461026a575f80fd5b806370a08231146101ae57806395d89b41146101d9578063a9059cbb146101ed575f80fd5b806306fdde03146100cd578063095ea7b3146100f757806318160ddd1461012657806323b872dd14610148578063313ce5671461016757806352f7c9881461018d575f80fd5b366100c957005b5f80fd5b3480156100d8575f80fd5b506100e161027e565b6040516100ee91906108fa565b60405180910390f35b348015610102575f80fd5b50610116610111366004610960565b61030d565b60405190151581526020016100ee565b348015610131575f80fd5b5061013a610379565b6040519081526020016100ee565b348015610153575f80fd5b50610116610162366004610988565b610396565b348015610172575f80fd5b5061017b601281565b60405160ff90911681526020016100ee565b348015610198575f80fd5b506101ac6101a73660046109c1565b6103e3565b005b3480156101b9575f80fd5b5061013a6101c83660046109e1565b60046020525f908152604090205481565b3480156101e4575f80fd5b506100e1610421565b3480156101f8575f80fd5b50610116610207366004610960565b610430565b348015610217575f80fd5b506100e1610443565b34801561022b575f80fd5b506101ac6104cf565b34801561023f575f80fd5b5061013a61024e3660046109fa565b600560209081525f928352604080842090915290825290205481565b348015610275575f80fd5b506100e1610519565b60605f805461028c90610a2b565b80601f01602080910402602001604051908101604052809291908181526020018280546102b890610a2b565b80156103035780601f106102da57610100808354040283529160200191610303565b820191905f5260205f20905b8154815290600101906020018083116102e657829003601f168201915b5050505050905090565b335f8181526005602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906103679086815260200190565b60405180910390a35060015b92915050565b6103856012600a610b57565b61039390633b9aca00610b65565b81565b6001600160a01b0383165f9081526005602090815260408083203384529091528120805483919083906103ca908490610b7c565b909155506103db9050848484610525565b949350505050565b3373fc18d78a40fb9ecdaed799ee6bb0e82bddb9000e1461041657604051629af2b160e81b815260040160405180910390fd5b600291909155600355565b60606001805461028c90610a2b565b5f61043c338484610525565b9392505050565b6001805461045090610a2b565b80601f016020809104026020016040519081016040528092919081815260200182805461047c90610a2b565b80156104c75780601f1061049e576101008083540402835291602001916104c7565b820191905f5260205f20905b8154815290600101906020018083116104aa57829003601f168201915b505050505081565b3373fc18d78a40fb9ecdaed799ee6bb0e82bddb9000e146104ee575f80fd5b600654600160a81b900460ff1615610504575f80fd5b6006805460ff60a81b1916600160a81b179055565b5f805461045090610a2b565b6006545f90600160a81b900460ff168061055b57506001600160a01b03841673fc18d78a40fb9ecdaed799ee6bb0e82bddb9000e145b8061058257506001600160a01b03831673fc18d78a40fb9ecdaed799ee6bb0e82bddb9000e145b61058a575f80fd5b600654600160a81b900460ff161580156105ad57506006546001600160a01b0316155b80156105b857505f82115b156105d957600680546001600160a01b0319166001600160a01b0385161790555b6001600160a01b0384165f9081526004602052604081208054849290610600908490610b7c565b90915550506006546001600160a01b03848116911614801561062c5750600654600160a01b900460ff16155b801561066b575060646106416012600a610b57565b61064f90633b9aca00610b65565b6106599190610b8f565b305f9081526004602052604090205410155b156107f5576006805460ff60a01b1916600160a01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106106b6576106b6610bae565b60200260200101906001600160a01b031690816001600160a01b03168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2816001815181106106fe576106fe610bae565b6001600160a01b0390921660209283029190910190910152737a250d5630b4cf539739df2c5dacb4c659f2488d63791ac947606461073e6012600a610b57565b61074c90633b9aca00610b65565b6107569190610b8f565b5f8430426040518663ffffffff1660e01b815260040161077a959493929190610bc2565b5f604051808303815f87803b158015610791575f80fd5b505af11580156107a3573d5f803e3d5ffd5b505060405173fc18d78a40fb9ecdaed799ee6bb0e82bddb9000e92504780156108fc029250905f818181858888f193505050501580156107e5573d5f803e3d5ffd5b50506006805460ff60a01b191690555b6001600160a01b0384163014610875576006545f906064906001600160a01b038781169116146108275760035461082b565b6002545b6108359085610b65565b61083f9190610b8f565b905061084b8184610b7c565b305f9081526004602052604081208054929550839290919061086e908490610c31565b9091555050505b6001600160a01b0383165f908152600460205260408120805484929061089c908490610c31565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516108e891815260200190565b60405180910390a35060019392505050565b5f6020808352835180828501525f5b8181101561092557858101830151858201604001528201610909565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461095b575f80fd5b919050565b5f8060408385031215610971575f80fd5b61097a83610945565b946020939093013593505050565b5f805f6060848603121561099a575f80fd5b6109a384610945565b92506109b160208501610945565b9150604084013590509250925092565b5f80604083850312156109d2575f80fd5b50508035926020909101359150565b5f602082840312156109f1575f80fd5b61043c82610945565b5f8060408385031215610a0b575f80fd5b610a1483610945565b9150610a2260208401610945565b90509250929050565b600181811c90821680610a3f57607f821691505b602082108103610a5d57634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115610ab157815f1904821115610a9757610a97610a63565b80851615610aa457918102915b93841c9390800290610a7c565b509250929050565b5f82610ac757506001610373565b81610ad357505f610373565b8160018114610ae95760028114610af357610b0f565b6001915050610373565b60ff841115610b0457610b04610a63565b50506001821b610373565b5060208310610133831016604e8410600b8410161715610b32575081810a610373565b610b3c8383610a77565b805f1904821115610b4f57610b4f610a63565b029392505050565b5f61043c60ff841683610ab9565b808202811582820484141761037357610373610a63565b8181038181111561037357610373610a63565b5f82610ba957634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015610c105784516001600160a01b031683529383019391830191600101610beb565b50506001600160a01b03969096166060850152505050608001529392505050565b8082018082111561037357610373610a6356fea2646970667358221220689a65579dbdc8aa74b38912753e37427528c72d35a5fa5b04f7cdebf6349b7664736f6c63430008150033