0x608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c3578063a9059cbb1161007c578063a9059cbb146102a0578063b09f1266146102b3578063d28d8852146102bb578063d7666de6146102c3578063d8feb48e146102d6578063dd62ed3e146102e957600080fd5b806370a0823114610243578063715018a61461026c578063893d20e8146102745780638da5cb5b1461027457806395d89b4114610285578063a457c2d71461028d57600080fd5b806323b872dd1161011557806323b872dd146101e5578063313ce567146101f857806332424aa314610211578063395093511461021e5780633b124fe7146102315780636bc87c3a1461023a57600080fd5b806306fdde0314610152578063095ea7b3146101705780631235acbe14610193578063123a775f146101be57806318160ddd146101d3575b600080fd5b61015a610322565b6040516101679190610ad6565b60405180910390f35b61018361017e366004610b47565b6103b4565b6040519015158152602001610167565b6007546101a6906001600160a01b031681565b6040516001600160a01b039091168152602001610167565b6101d16101cc366004610b71565b6103ca565b005b6003545b604051908152602001610167565b6101836101f3366004610b8a565b610415565b60045460ff165b60405160ff9091168152602001610167565b6004546101ff9060ff1681565b61018361022c366004610b47565b61047e565b6101d760085481565b6101d7600a5481565b6101d7610251366004610bc6565b6001600160a01b031660009081526001602052604090205490565b6101d16104b4565b6000546001600160a01b03166101a6565b61015a61051a565b61018361029b366004610b47565b610529565b6101836102ae366004610b47565b610578565b61015a610585565b61015a610613565b6101d16102d1366004610b71565b610620565b6101d16102e4366004610bc6565b61064f565b6101d76102f7366004610be1565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60606006805461033190610c14565b80601f016020809104026020016040519081016040528092919081815260200182805461035d90610c14565b80156103aa5780601f1061037f576101008083540402835291602001916103aa565b820191906000526020600020905b81548152906001019060200180831161038d57829003601f168201915b5050505050905090565b60006103c133848461069b565b50600192915050565b600b5481146104105760405162461bcd60e51b815260206004820152600d60248201526c6572726f72206d65737361676560981b60448201526064015b60405180910390fd5b600855565b60006104228484846107c0565b610474843361046f85604051806060016040528060288152602001610d31602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906109f4565b61069b565b5060019392505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916103c191859061046f9086610a2e565b6000546001600160a01b031633146104de5760405162461bcd60e51b815260040161040790610c4f565b600080546001600160a01b031916815560405181907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3565b60606005805461033190610c14565b60006103c1338461046f85604051806060016040528060258152602001610d59602591393360009081526002602090815260408083206001600160a01b038d16845290915290205491906109f4565b60006103c13384846107c0565b6005805461059290610c14565b80601f01602080910402602001604051908101604052809291908181526020018280546105be90610c14565b801561060b5780601f106105e05761010080835404028352916020019161060b565b820191906000526020600020905b8154815290600101906020018083116105ee57829003601f168201915b505050505081565b6006805461059290610c14565b6000546001600160a01b0316331461064a5760405162461bcd60e51b815260040161040790610c4f565b600a55565b6000546001600160a01b031633146106795760405162461bcd60e51b815260040161040790610c4f565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166106fd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610407565b6001600160a01b03821661075e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610407565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166108245760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610407565b6001600160a01b0382166108865760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610407565b6108c381604051806060016040528060268152602001610d0b602691396001600160a01b03861660009081526001602052604090205491906109f4565b6001600160a01b0380851660009081526001602052604080822093909355908416815220546108f29082610a2e565b6001600160a01b038316600090815260016020526040902055600a546109469061091d606484610c9a565b6109279190610cbc565b6001600160a01b03841660009081526001602052604090205490610a94565b6001600160a01b03831660009081526001602052604090205560085461099c90610971606484610c9a565b61097b9190610cbc565b6007546001600160a01b031660009081526001602052604090205490610a2e565b6007546001600160a01b03908116600090815260016020908152604091829020939093555183815284821692918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016107b3565b60008184841115610a185760405162461bcd60e51b81526004016104079190610ad6565b506000610a258486610cdb565b95945050505050565b600080610a3b8385610cf2565b905083811015610a8d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610407565b9392505050565b6000610a8d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506109f4565b600060208083528351808285015260005b81811015610b0357858101830151858201604001528201610ae7565b81811115610b15576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610b4257600080fd5b919050565b60008060408385031215610b5a57600080fd5b610b6383610b2b565b946020939093013593505050565b600060208284031215610b8357600080fd5b5035919050565b600080600060608486031215610b9f57600080fd5b610ba884610b2b565b9250610bb660208501610b2b565b9150604084013590509250925092565b600060208284031215610bd857600080fd5b610a8d82610b2b565b60008060408385031215610bf457600080fd5b610bfd83610b2b565b9150610c0b60208401610b2b565b90509250929050565b600181811c90821680610c2857607f821691505b60208210811415610c4957634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082610cb757634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610cd657610cd6610c84565b500290565b600082821015610ced57610ced610c84565b500390565b60008219821115610d0557610d05610c84565b50019056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122062f01c7efdb7c311e95c16ecd630be67ce6e086d03491d3f6bbc8e199f32e60264736f6c634300080a0033
0x608060405260006008556008546009556000600a55620f68ce600b553480156200002857600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506040805180820190915260098082526853757a756d65496e7560b81b60209092019182526200009c916006916200013d565b50604080518082019091526004808252635a494d5560e01b6020909201918252620000ca916005916200013d565b506004805460ff19166009179055683635c9adc5dea0000060038190553360008181526001602052604080822084905551919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916200012f9190815260200190565b60405180910390a362000220565b8280546200014b90620001e3565b90600052602060002090601f0160209004810192826200016f5760008555620001ba565b82601f106200018a57805160ff1916838001178555620001ba565b82800160010185558215620001ba579182015b82811115620001ba5782518255916020019190600101906200019d565b50620001c8929150620001cc565b5090565b5b80821115620001c85760008155600101620001cd565b600181811c90821680620001f857607f821691505b602082108114156200021a57634e487b7160e01b600052602260045260246000fd5b50919050565b610db380620002306000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806370a08231116100c3578063a9059cbb1161007c578063a9059cbb146102a0578063b09f1266146102b3578063d28d8852146102bb578063d7666de6146102c3578063d8feb48e146102d6578063dd62ed3e146102e957600080fd5b806370a0823114610243578063715018a61461026c578063893d20e8146102745780638da5cb5b1461027457806395d89b4114610285578063a457c2d71461028d57600080fd5b806323b872dd1161011557806323b872dd146101e5578063313ce567146101f857806332424aa314610211578063395093511461021e5780633b124fe7146102315780636bc87c3a1461023a57600080fd5b806306fdde0314610152578063095ea7b3146101705780631235acbe14610193578063123a775f146101be57806318160ddd146101d3575b600080fd5b61015a610322565b6040516101679190610ad6565b60405180910390f35b61018361017e366004610b47565b6103b4565b6040519015158152602001610167565b6007546101a6906001600160a01b031681565b6040516001600160a01b039091168152602001610167565b6101d16101cc366004610b71565b6103ca565b005b6003545b604051908152602001610167565b6101836101f3366004610b8a565b610415565b60045460ff165b60405160ff9091168152602001610167565b6004546101ff9060ff1681565b61018361022c366004610b47565b61047e565b6101d760085481565b6101d7600a5481565b6101d7610251366004610bc6565b6001600160a01b031660009081526001602052604090205490565b6101d16104b4565b6000546001600160a01b03166101a6565b61015a61051a565b61018361029b366004610b47565b610529565b6101836102ae366004610b47565b610578565b61015a610585565b61015a610613565b6101d16102d1366004610b71565b610620565b6101d16102e4366004610bc6565b61064f565b6101d76102f7366004610be1565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b60606006805461033190610c14565b80601f016020809104026020016040519081016040528092919081815260200182805461035d90610c14565b80156103aa5780601f1061037f576101008083540402835291602001916103aa565b820191906000526020600020905b81548152906001019060200180831161038d57829003601f168201915b5050505050905090565b60006103c133848461069b565b50600192915050565b600b5481146104105760405162461bcd60e51b815260206004820152600d60248201526c6572726f72206d65737361676560981b60448201526064015b60405180910390fd5b600855565b60006104228484846107c0565b610474843361046f85604051806060016040528060288152602001610d31602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906109f4565b61069b565b5060019392505050565b3360008181526002602090815260408083206001600160a01b038716845290915281205490916103c191859061046f9086610a2e565b6000546001600160a01b031633146104de5760405162461bcd60e51b815260040161040790610c4f565b600080546001600160a01b031916815560405181907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3565b60606005805461033190610c14565b60006103c1338461046f85604051806060016040528060258152602001610d59602591393360009081526002602090815260408083206001600160a01b038d16845290915290205491906109f4565b60006103c13384846107c0565b6005805461059290610c14565b80601f01602080910402602001604051908101604052809291908181526020018280546105be90610c14565b801561060b5780601f106105e05761010080835404028352916020019161060b565b820191906000526020600020905b8154815290600101906020018083116105ee57829003601f168201915b505050505081565b6006805461059290610c14565b6000546001600160a01b0316331461064a5760405162461bcd60e51b815260040161040790610c4f565b600a55565b6000546001600160a01b031633146106795760405162461bcd60e51b815260040161040790610c4f565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166106fd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610407565b6001600160a01b03821661075e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610407565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166108245760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610407565b6001600160a01b0382166108865760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610407565b6108c381604051806060016040528060268152602001610d0b602691396001600160a01b03861660009081526001602052604090205491906109f4565b6001600160a01b0380851660009081526001602052604080822093909355908416815220546108f29082610a2e565b6001600160a01b038316600090815260016020526040902055600a546109469061091d606484610c9a565b6109279190610cbc565b6001600160a01b03841660009081526001602052604090205490610a94565b6001600160a01b03831660009081526001602052604090205560085461099c90610971606484610c9a565b61097b9190610cbc565b6007546001600160a01b031660009081526001602052604090205490610a2e565b6007546001600160a01b03908116600090815260016020908152604091829020939093555183815284821692918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91016107b3565b60008184841115610a185760405162461bcd60e51b81526004016104079190610ad6565b506000610a258486610cdb565b95945050505050565b600080610a3b8385610cf2565b905083811015610a8d5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610407565b9392505050565b6000610a8d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506109f4565b600060208083528351808285015260005b81811015610b0357858101830151858201604001528201610ae7565b81811115610b15576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b0381168114610b4257600080fd5b919050565b60008060408385031215610b5a57600080fd5b610b6383610b2b565b946020939093013593505050565b600060208284031215610b8357600080fd5b5035919050565b600080600060608486031215610b9f57600080fd5b610ba884610b2b565b9250610bb660208501610b2b565b9150604084013590509250925092565b600060208284031215610bd857600080fd5b610a8d82610b2b565b60008060408385031215610bf457600080fd5b610bfd83610b2b565b9150610c0b60208401610b2b565b90509250929050565b600181811c90821680610c2857607f821691505b60208210811415610c4957634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082610cb757634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610cd657610cd6610c84565b500290565b600082821015610ced57610ced610c84565b500390565b60008219821115610d0557610d05610c84565b50019056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122062f01c7efdb7c311e95c16ecd630be67ce6e086d03491d3f6bbc8e199f32e60264736f6c634300080a0033