0x60806040523480156200001157600080fd5b506040518060400160405280600781526020017f425443204e4654000000000000000000000000000000000000000000000000008152506000908162000058919062000320565b506040518060400160405280600681526020017f4254434e46540000000000000000000000000000000000000000000000000000815250600190816200009f919062000320565b5062000407565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200012857607f821691505b6020821081036200013e576200013d620000e0565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620001a87fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000169565b620001b4868362000169565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000201620001fb620001f584620001cc565b620001d6565b620001cc565b9050919050565b6000819050919050565b6200021d83620001e0565b620002356200022c8262000208565b84845462000176565b825550505050565b600090565b6200024c6200023d565b6200025981848462000212565b505050565b5b8181101562000281576200027560008262000242565b6001810190506200025f565b5050565b601f821115620002d0576200029a8162000144565b620002a58462000159565b81016020851015620002b5578190505b620002cd620002c48562000159565b8301826200025e565b50505b505050565b600082821c905092915050565b6000620002f560001984600802620002d5565b1980831691505092915050565b6000620003108383620002e2565b9150826002028217905092915050565b6200032b82620000a6565b67ffffffffffffffff811115620003475762000346620000b1565b5b6200035382546200010f565b6200036082828562000285565b600060209050601f83116001811462000398576000841562000383578287015190505b6200038f858262000302565b865550620003ff565b601f198416620003a88662000144565b60005b82811015620003d257848901518255600182019150602085019450602081019050620003ab565b86831015620003f25784890151620003ee601f891682620002e2565b8355505b6001600288020188555050505b505050505050565b610f5580620004176000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c806370a082311161005b57806370a08231146100ec57806395d89b411461011c578063a9059cbb1461013a578063c87b56dd146101565761007d565b806306fdde031461008257806340c10f19146100a05780636352211e146100bc575b600080fd5b61008a610186565b60405161009791906109bf565b60405180910390f35b6100ba60048036038101906100b59190610a7a565b610218565b005b6100d660048036038101906100d19190610aba565b6103db565b6040516100e39190610af6565b60405180910390f35b61010660048036038101906101019190610b11565b61048c565b6040516101139190610b4d565b60405180910390f35b61012461059c565b60405161013191906109bf565b60405180910390f35b610154600480360381019061014f9190610a7a565b61062e565b005b610170600480360381019061016b9190610aba565b610864565b60405161017d91906109bf565b60405180910390f35b60606000805461019590610b97565b80601f01602080910402602001604051908101604052809291908181526020018280546101c190610b97565b801561020e5780601f106101e35761010080835404028352916020019161020e565b820191906000526020600020905b8154815290600101906020018083116101f157829003601f168201915b5050505050905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161027e90610c14565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610329576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161032090610c80565b60405180910390fd5b816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610483576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047a90610cec565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036104fc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104f390610d58565b60405180910390fd5b6000805b610100811015610592578373ffffffffffffffffffffffffffffffffffffffff166002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff160361057f57818061057b90610da7565b9250505b808061058a90610da7565b915050610500565b5080915050919050565b6060600180546105ab90610b97565b80601f01602080910402602001604051908101604052809291908181526020018280546105d790610b97565b80156106245780601f106105f957610100808354040283529160200191610624565b820191906000526020600020905b81548152906001019060200180831161060757829003601f168201915b5050505050905090565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036106d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106cc90610cec565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610743576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073a90610e3b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036107b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a990610c14565b60405180910390fd5b826002600084815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6060600073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610908576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ff90610cec565b60405180910390fd5b816040516020016109199190610ef9565b6040516020818303038152906040529050919050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561096957808201518184015260208101905061094e565b60008484015250505050565b6000601f19601f8301169050919050565b60006109918261092f565b61099b818561093a565b93506109ab81856020860161094b565b6109b481610975565b840191505092915050565b600060208201905081810360008301526109d98184610986565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610a11826109e6565b9050919050565b610a2181610a06565b8114610a2c57600080fd5b50565b600081359050610a3e81610a18565b92915050565b6000819050919050565b610a5781610a44565b8114610a6257600080fd5b50565b600081359050610a7481610a4e565b92915050565b60008060408385031215610a9157610a906109e1565b5b6000610a9f85828601610a2f565b9250506020610ab085828601610a65565b9150509250929050565b600060208284031215610ad057610acf6109e1565b5b6000610ade84828501610a65565b91505092915050565b610af081610a06565b82525050565b6000602082019050610b0b6000830184610ae7565b92915050565b600060208284031215610b2757610b266109e1565b5b6000610b3584828501610a2f565b91505092915050565b610b4781610a44565b82525050565b6000602082019050610b626000830184610b3e565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610baf57607f821691505b602082108103610bc257610bc1610b68565b5b50919050565b7f496e76616c696420726563697069656e74206164647265737300000000000000600082015250565b6000610bfe60198361093a565b9150610c0982610bc8565b602082019050919050565b60006020820190508181036000830152610c2d81610bf1565b9050919050565b7f546f6b656e20616c7265616479206d696e746564000000000000000000000000600082015250565b6000610c6a60148361093a565b9150610c7582610c34565b602082019050919050565b60006020820190508181036000830152610c9981610c5d565b9050919050565b7f546f6b656e20646f6573206e6f74206578697374000000000000000000000000600082015250565b6000610cd660148361093a565b9150610ce182610ca0565b602082019050919050565b60006020820190508181036000830152610d0581610cc9565b9050919050565b7f496e76616c696420616464726573730000000000000000000000000000000000600082015250565b6000610d42600f8361093a565b9150610d4d82610d0c565b602082019050919050565b60006020820190508181036000830152610d7181610d35565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610db282610a44565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610de457610de3610d78565b5b600182019050919050565b7f53656e646572206973206e6f7420746865206f776e6572000000000000000000600082015250565b6000610e2560178361093a565b9150610e3082610def565b602082019050919050565b60006020820190508181036000830152610e5481610e18565b9050919050565b600081905092915050565b7f68747470733a2f2f6578706c6f7265722e77686974656269742e6e6574776f7260008201527f6b2f746573746e65742f746f6b656e2f00000000000000000000000000000000602082015250565b6000610ec2603083610e5b565b9150610ecd82610e66565b603082019050919050565b6000819050919050565b610ef3610eee82610a44565b610ed8565b82525050565b6000610f0482610eb5565b9150610f108284610ee2565b6020820191508190509291505056fea2646970667358221220108d0a3093660ea686d83d927a9c358e6a6ce81597f4245859d5e4aaa819ca3464736f6c63430008110033