60806040526040518060400160405280601681526020017f5b20313938205d2044414f4556454e54202e20434f4d00000000000000000000815250600190805190602001906200005192919062000259565b506040518060400160405280600381526020017f4e45540000000000000000000000000000000000000000000000000000000000815250600290805190602001906200009f92919062000259565b5060405180606001604052806035815260200162000fb26035913960039080519060200190620000d192919062000259565b5073f5eb8019384a5050916751055e6991c26d4b5ad7600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200013457600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a33373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62600060016040516200024b929190620003a3565b60405180910390a462000434565b8280546200026790620003ff565b90600052602060002090601f0160209004810192826200028b5760008555620002d7565b82601f10620002a657805160ff1916838001178555620002d7565b82800160010185558215620002d7579182015b82811115620002d6578251825591602001919060010190620002b9565b5b509050620002e69190620002ea565b5090565b5b8082111562000305576000816000905550600101620002eb565b5090565b6000819050919050565b6000819050919050565b6000819050919050565b600062000348620003426200033c8462000309565b6200031d565b62000313565b9050919050565b6200035a8162000327565b82525050565b6000819050919050565b60006200038b620003856200037f8462000360565b6200031d565b62000313565b9050919050565b6200039d816200036a565b82525050565b6000604082019050620003ba60008301856200034f565b620003c9602083018462000392565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200041857607f821691505b6020821081036200042e576200042d620003d0565b5b50919050565b610b6e80620004446000396000f3fe608060405234801561001057600080fd5b50600436106100615760003560e01c8062fdd58e1461006657806301ffc9a71461009657806306fdde03146100c65780630e89341c146100e45780632c10c1121461011457806395d89b4114610130575b600080fd5b610080600480360381019061007b919061057f565b61014e565b60405161008d91906105ce565b60405180910390f35b6100b060048036038101906100ab9190610641565b61015a565b6040516100bd9190610689565b60405180910390f35b6100ce6101bc565b6040516100db919061073d565b60405180910390f35b6100fe60048036038101906100f9919061075f565b61024a565b60405161010b919061073d565b60405180910390f35b61012e600480360381019061012991906108d4565b6102de565b005b610138610449565b604051610145919061073d565b60405180910390f35b60006001905092915050565b600063d9b67a2660e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806101b55750630e89341c60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b600180546101c99061094c565b80601f01602080910402602001604051908101604052809291908181526020018280546101f59061094c565b80156102425780601f1061021757610100808354040283529160200191610242565b820191906000526020600020905b81548152906001019060200180831161022557829003601f168201915b505050505081565b6060600380546102599061094c565b80601f01602080910402602001604051908101604052809291908181526020018280546102859061094c565b80156102d25780601f106102a7576101008083540402835291602001916102d2565b820191906000526020600020905b8154815290600101906020018083116102b557829003601f168201915b50505050509050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461036c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610363906109c9565b60405180910390fd5b60005b81518110156104455781818151811061038b5761038a6109e9565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff16600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f626000600160405161042c929190610a98565b60405180910390a48061043e90610af0565b905061036f565b5050565b600280546104569061094c565b80601f01602080910402602001604051908101604052809291908181526020018280546104829061094c565b80156104cf5780601f106104a4576101008083540402835291602001916104cf565b820191906000526020600020905b8154815290600101906020018083116104b257829003601f168201915b505050505081565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610516826104eb565b9050919050565b6105268161050b565b811461053157600080fd5b50565b6000813590506105438161051d565b92915050565b6000819050919050565b61055c81610549565b811461056757600080fd5b50565b60008135905061057981610553565b92915050565b60008060408385031215610596576105956104e1565b5b60006105a485828601610534565b92505060206105b58582860161056a565b9150509250929050565b6105c881610549565b82525050565b60006020820190506105e360008301846105bf565b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61061e816105e9565b811461062957600080fd5b50565b60008135905061063b81610615565b92915050565b600060208284031215610657576106566104e1565b5b60006106658482850161062c565b91505092915050565b60008115159050919050565b6106838161066e565b82525050565b600060208201905061069e600083018461067a565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156106de5780820151818401526020810190506106c3565b838111156106ed576000848401525b50505050565b6000601f19601f8301169050919050565b600061070f826106a4565b61071981856106af565b93506107298185602086016106c0565b610732816106f3565b840191505092915050565b600060208201905081810360008301526107578184610704565b905092915050565b600060208284031215610775576107746104e1565b5b60006107838482850161056a565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6107c9826106f3565b810181811067ffffffffffffffff821117156107e8576107e7610791565b5b80604052505050565b60006107fb6104d7565b905061080782826107c0565b919050565b600067ffffffffffffffff82111561082757610826610791565b5b602082029050602081019050919050565b600080fd5b600061085061084b8461080c565b6107f1565b9050808382526020820190506020840283018581111561087357610872610838565b5b835b8181101561089c57806108888882610534565b845260208401935050602081019050610875565b5050509392505050565b600082601f8301126108bb576108ba61078c565b5b81356108cb84826020860161083d565b91505092915050565b6000602082840312156108ea576108e96104e1565b5b600082013567ffffffffffffffff811115610908576109076104e6565b5b610914848285016108a6565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061096457607f821691505b6020821081036109775761097661091d565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006109b36020836106af565b91506109be8261097d565b602082019050919050565b600060208201905081810360008301526109e2816109a6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000819050919050565b6000819050919050565b6000610a47610a42610a3d84610a18565b610a22565b610549565b9050919050565b610a5781610a2c565b82525050565b6000819050919050565b6000610a82610a7d610a7884610a5d565b610a22565b610549565b9050919050565b610a9281610a67565b82525050565b6000604082019050610aad6000830185610a4e565b610aba6020830184610a89565b9392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610afb82610549565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610b2d57610b2c610ac1565b5b60018201905091905056fea26469706673582212204402728e2221e449f5e76ef58217072a5c3d734c901291e7e078e39c1de17e2064736f6c634300080d0033697066733a2f2f516d516e32783466694d6f6557566e544d77715a384b515556417362477662735a504c45685a6a6248327558524b