60806040526040518060400160405280600c81526020017f52616e646f6d20546f6b656e0000000000000000000000000000000000000000815250600090805190602001906200005192919062000141565b506040518060400160405280600381526020017f52544b0000000000000000000000000000000000000000000000000000000000815250600190805190602001906200009f92919062000141565b506012600260006101000a81548160ff021916908360ff160217905550348015620000c957600080fd5b5060405162000f7938038062000f798339818101604052810190620000ef919062000208565b8060038190555080600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050620002bd565b8280546200014f906200023e565b90600052602060002090601f016020900481019282620001735760008555620001bf565b82601f106200018e57805160ff1916838001178555620001bf565b82800160010185558215620001bf579182015b82811115620001be578251825591602001919060010190620001a1565b5b509050620001ce9190620001d2565b5090565b5b80821115620001ed576000816000905550600101620001d3565b5090565b6000815190506200020281620002a3565b92915050565b6000602082840312156200021b57600080fd5b60006200022b84828501620001f1565b91505092915050565b6000819050919050565b600060028204905060018216806200025757607f821691505b602082108114156200026e576200026d62000274565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b620002ae8162000234565b8114620002ba57600080fd5b50565b610cac80620002cd6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063313ce56711610066578063313ce5671461013457806370a082311461015257806395d89b4114610182578063a9059cbb146101a0578063dd62ed3e146101d057610093565b806306fdde0314610098578063095ea7b3146100b657806318160ddd146100e657806323b872dd14610104575b600080fd5b6100a0610200565b6040516100ad91906109e1565b60405180910390f35b6100d060048036038101906100cb91906108a4565b61028e565b6040516100dd91906109c6565b60405180910390f35b6100ee61031b565b6040516100fb9190610a43565b60405180910390f35b61011e60048036038101906101199190610855565b610321565b60405161012b91906109c6565b60405180910390f35b61013c6105ae565b6040516101499190610a5e565b60405180910390f35b61016c600480360381019061016791906107f0565b6105c1565b6040516101799190610a43565b60405180910390f35b61018a6105d9565b60405161019791906109e1565b60405180910390f35b6101ba60048036038101906101b591906108a4565b610667565b6040516101c791906109c6565b60405180910390f35b6101ea60048036038101906101e59190610819565b6107a1565b6040516101f79190610a43565b60405180910390f35b6000805461020d90610ba7565b80601f016020809104026020016040519081016040528092919081815260200182805461023990610ba7565b80156102865780601f1061025b57610100808354040283529160200191610286565b820191906000526020600020905b81548152906001019060200180831161026957829003601f168201915b505050505081565b600081600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001905092915050565b60035481565b600081600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156103a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161039c90610a23565b60405180910390fd5b81600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610464576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045b90610a03565b60405180910390fd5b81600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546104b39190610aeb565b9250508190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546105099190610a95565b9250508190555081600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461059c9190610aeb565b92505081905550600190509392505050565b600260009054906101000a900460ff1681565b60046020528060005260406000206000915090505481565b600180546105e690610ba7565b80601f016020809104026020016040519081016040528092919081815260200182805461061290610ba7565b801561065f5780601f106106345761010080835404028352916020019161065f565b820191906000526020600020905b81548152906001019060200180831161064257829003601f168201915b505050505081565b600081600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410156106eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106e290610a23565b60405180910390fd5b81600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461073a9190610aeb565b9250508190555081600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546107909190610a95565b925050819055506001905092915050565b6005602052816000526040600020602052806000526040600020600091509150505481565b6000813590506107d581610c48565b92915050565b6000813590506107ea81610c5f565b92915050565b60006020828403121561080257600080fd5b6000610810848285016107c6565b91505092915050565b6000806040838503121561082c57600080fd5b600061083a858286016107c6565b925050602061084b858286016107c6565b9150509250929050565b60008060006060848603121561086a57600080fd5b6000610878868287016107c6565b9350506020610889868287016107c6565b925050604061089a868287016107db565b9150509250925092565b600080604083850312156108b757600080fd5b60006108c5858286016107c6565b92505060206108d6858286016107db565b9150509250929050565b6108e981610b31565b82525050565b60006108fa82610a79565b6109048185610a84565b9350610914818560208601610b74565b61091d81610c37565b840191505092915050565b6000610935601283610a84565b91507f416c6c6f77616e636520657863656564656400000000000000000000000000006000830152602082019050919050565b6000610975601483610a84565b91507f496e73756666696369656e742062616c616e63650000000000000000000000006000830152602082019050919050565b6109b181610b5d565b82525050565b6109c081610b67565b82525050565b60006020820190506109db60008301846108e0565b92915050565b600060208201905081810360008301526109fb81846108ef565b905092915050565b60006020820190508181036000830152610a1c81610928565b9050919050565b60006020820190508181036000830152610a3c81610968565b9050919050565b6000602082019050610a5860008301846109a8565b92915050565b6000602082019050610a7360008301846109b7565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610aa082610b5d565b9150610aab83610b5d565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610ae057610adf610bd9565b5b828201905092915050565b6000610af682610b5d565b9150610b0183610b5d565b925082821015610b1457610b13610bd9565b5b828203905092915050565b6000610b2a82610b3d565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015610b92578082015181840152602081019050610b77565b83811115610ba1576000848401525b50505050565b60006002820490506001821680610bbf57607f821691505b60208210811415610bd357610bd2610c08565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b610c5181610b1f565b8114610c5c57600080fd5b50565b610c6881610b5d565b8114610c7357600080fd5b5056fea2646970667358221220b528c6b59e22de43da7b0bcf0d9ef9bc232dd0ba6f1de0c637fc6249746dca9564736f6c6343000800003300000000000000000000000000000000000000000051109625f7ca9b163c0000