0x60806040526040518060400160405280601181526020017f5363726f6c6c205465737420546f6b656e0000000000000000000000000000008152505f908162000049919062000323565b506040518060400160405280600381526020017f53545400000000000000000000000000000000000000000000000000000000008152506001908162000090919062000323565b50601260025f6101000a81548160ff021916908360ff160217905550348015620000b8575f80fd5b5062000407565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200013b57607f821691505b602082108103620001515762000150620000f6565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620001b57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000178565b620001c1868362000178565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6200020b62000205620001ff84620001d9565b620001e2565b620001d9565b9050919050565b5f819050919050565b6200022683620001eb565b6200023e620002358262000212565b84845462000184565b825550505050565b5f90565b6200025462000246565b620002618184846200021b565b505050565b5b8181101562000288576200027c5f826200024a565b60018101905062000267565b5050565b601f821115620002d757620002a18162000157565b620002ac8462000169565b81016020851015620002bc578190505b620002d4620002cb8562000169565b83018262000266565b50505b505050565b5f82821c905092915050565b5f620002f95f1984600802620002dc565b1980831691505092915050565b5f620003138383620002e8565b9150826002028217905092915050565b6200032e82620000bf565b67ffffffffffffffff8111156200034a5762000349620000c9565b5b62000356825462000123565b620003638282856200028c565b5f60209050601f83116001811462000399575f841562000384578287015190505b62000390858262000306565b865550620003ff565b601f198416620003a98662000157565b5f5b82811015620003d257848901518255600182019150602085019450602081019050620003ab565b86831015620003f25784890151620003ee601f891682620002e8565b8355505b6001600288020188555050505b505050505050565b610fd180620004155f395ff3fe608060405234801561000f575f80fd5b506004361061009c575f3560e01c806370a082311161006457806370a082311461015a57806395d89b411461018a578063a9059cbb146101a8578063dd62ed3e146101d8578063de5f72fd146102085761009c565b806306fdde03146100a0578063095ea7b3146100be57806318160ddd146100ee57806323b872dd1461010c578063313ce5671461013c575b5f80fd5b6100a8610226565b6040516100b59190610b49565b60405180910390f35b6100d860048036038101906100d39190610bfa565b6102b5565b6040516100e59190610c52565b60405180910390f35b6100f66103a2565b6040516101039190610c7a565b60405180910390f35b61012660048036038101906101219190610c93565b6103ab565b6040516101339190610c52565b60405180910390f35b610144610670565b6040516101519190610cfe565b60405180910390f35b610174600480360381019061016f9190610d17565b610685565b6040516101819190610c7a565b60405180910390f35b6101926106cb565b60405161019f9190610b49565b60405180910390f35b6101c260048036038101906101bd9190610bfa565b61075b565b6040516101cf9190610c52565b60405180910390f35b6101f260048036038101906101ed9190610d42565b6108df565b6040516101ff9190610c7a565b60405180910390f35b610210610961565b60405161021d9190610c52565b60405180910390f35b60605f805461023490610dad565b80601f016020809104026020016040519081016040528092919081815260200182805461026090610dad565b80156102ab5780601f10610282576101008083540402835291602001916102ab565b820191905f5260205f20905b81548152906001019060200180831161028e57829003601f168201915b5050505050905090565b5f8160065f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516103909190610c7a565b60405180910390a36001905092915050565b5f600354905090565b5f8160065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015610467576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161045e90610e27565b60405180910390fd5b8160055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156104e7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104de90610e8f565b60405180910390fd5b8160065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055508160055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055508160055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161065d9190610c7a565b60405180910390a3600190509392505050565b5f60025f9054906101000a900460ff16905090565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6060600180546106da90610dad565b80601f016020809104026020016040519081016040528092919081815260200182805461070690610dad565b80156107515780601f1061072857610100808354040283529160200191610751565b820191905f5260205f20905b81548152906001019060200180831161073457829003601f168201915b5050505050905090565b5f8160055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156107dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d390610e8f565b60405180910390fd5b8160055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055508160055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516108cd9190610c7a565b60405180910390a36001905092915050565b5f60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b5f80151560045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff161515146109f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e890610f1d565b60405180910390fd5b600160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055505f6103e890508060055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f828254610a989190610f68565b925050819055508060035f828254610ab09190610f68565b92505081905550600191505090565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015610af6578082015181840152602081019050610adb565b5f8484015250505050565b5f601f19601f8301169050919050565b5f610b1b82610abf565b610b258185610ac9565b9350610b35818560208601610ad9565b610b3e81610b01565b840191505092915050565b5f6020820190508181035f830152610b618184610b11565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610b9682610b6d565b9050919050565b610ba681610b8c565b8114610bb0575f80fd5b50565b5f81359050610bc181610b9d565b92915050565b5f819050919050565b610bd981610bc7565b8114610be3575f80fd5b50565b5f81359050610bf481610bd0565b92915050565b5f8060408385031215610c1057610c0f610b69565b5b5f610c1d85828601610bb3565b9250506020610c2e85828601610be6565b9150509250929050565b5f8115159050919050565b610c4c81610c38565b82525050565b5f602082019050610c655f830184610c43565b92915050565b610c7481610bc7565b82525050565b5f602082019050610c8d5f830184610c6b565b92915050565b5f805f60608486031215610caa57610ca9610b69565b5b5f610cb786828701610bb3565b9350506020610cc886828701610bb3565b9250506040610cd986828701610be6565b9150509250925092565b5f60ff82169050919050565b610cf881610ce3565b82525050565b5f602082019050610d115f830184610cef565b92915050565b5f60208284031215610d2c57610d2b610b69565b5b5f610d3984828501610bb3565b91505092915050565b5f8060408385031215610d5857610d57610b69565b5b5f610d6585828601610bb3565b9250506020610d7685828601610bb3565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680610dc457607f821691505b602082108103610dd757610dd6610d80565b5b50919050565b7f496e73756666696369656e7420616c6c6f77616e6365000000000000000000005f82015250565b5f610e11601683610ac9565b9150610e1c82610ddd565b602082019050919050565b5f6020820190508181035f830152610e3e81610e05565b9050919050565b7f416d6f756e7420657863656564732062616c616e6365000000000000000000005f82015250565b5f610e79601683610ac9565b9150610e8482610e45565b602082019050919050565b5f6020820190508181035f830152610ea681610e6d565b9050919050565b7f4661756365742068617320616c7265616479206265656e2075736564206279205f8201527f7468697320616464726573730000000000000000000000000000000000000000602082015250565b5f610f07602c83610ac9565b9150610f1282610ead565b604082019050919050565b5f6020820190508181035f830152610f3481610efb565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f610f7282610bc7565b9150610f7d83610bc7565b9250828201905080821115610f9557610f94610f3b565b5b9291505056fea2646970667358221220d5138b2543a977ca32b063c79011def0a1954424cb774fe7e6a1f2c70a7ef10864736f6c63430008160033