0x60a06040527f79d3d8832d904592c0bf9818b621522c988bb8b0c05cdc3b15aea1b6e8db0c1560001b600655620186a0600760006101000a81548163ffffffff021916908363ffffffff1602179055506003600760046101000a81548161ffff021916908361ffff1602179055506001600760066101000a81548163ffffffff021916908363ffffffff1602179055503480156200009c57600080fd5b506040516200187b3803806200187b8339818101604052810190620000c291906200040a565b33806000732ca8e0c643bde4c2e08ab1fa0da3401adad7734d8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505050600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000182576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000179906200049d565b60405180910390fd5b816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614620002095762000208816200029160201b60201c565b5b505050732ca8e0c643bde4c2e08ab1fa0da3401adad7734d600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600360146101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505062000531565b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000302576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002f9906200050f565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae127860405160405180910390a350565b600080fd5b600067ffffffffffffffff82169050919050565b620003e481620003c5565b8114620003f057600080fd5b50565b6000815190506200040481620003d9565b92915050565b600060208284031215620004235762000422620003c0565b5b60006200043384828501620003f3565b91505092915050565b600082825260208201905092915050565b7f43616e6e6f7420736574206f776e657220746f207a65726f0000000000000000600082015250565b6000620004856018836200043c565b915062000492826200044d565b602082019050919050565b60006020820190508181036000830152620004b88162000476565b9050919050565b7f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000600082015250565b6000620004f76017836200043c565b91506200050482620004bf565b602082019050919050565b600060208201905081810360008301526200052a81620004e8565b9050919050565b60805161132762000554600039600081816101c8015261021c01526113276000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c8063a168fa8911610066578063a168fa891461010c578063d8a4676f1461013d578063e0c862891461016e578063f2fde38b1461018c578063fc2a88c3146101a857610093565b80631fe543e31461009857806379ba5097146100b45780638796ba8c146100be5780638da5cb5b146100ee575b600080fd5b6100b260048036038101906100ad9190610d07565b6101c6565b005b6100bc610286565b005b6100d860048036038101906100d39190610d63565b61041b565b6040516100e59190610d9f565b60405180910390f35b6100f661043f565b6040516101039190610dfb565b60405180910390f35b61012660048036038101906101219190610d63565b610468565b604051610134929190610e31565b60405180910390f35b61015760048036038101906101529190610d63565b6104a6565b604051610165929190610f18565b60405180910390f35b6101766105d1565b6040516101839190610d9f565b60405180910390f35b6101a660048036038101906101a19190610f74565b61082a565b005b6101b061083e565b6040516101bd9190610d9f565b60405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461027857337f00000000000000000000000000000000000000000000000000000000000000006040517f1cf993f400000000000000000000000000000000000000000000000000000000815260040161026f929190610fa1565b60405180910390fd5b6102828282610844565b5050565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610316576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161030d90611027565b60405180910390fd5b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350565b6004818154811061042b57600080fd5b906000526020600020016000915090505481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60026020528060005260406000206000915090508060000160009054906101000a900460ff16908060000160019054906101000a900460ff16905082565b600060606002600084815260200190815260200160002060000160019054906101000a900460ff1661050d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050490611093565b60405180910390fd5b6000600260008581526020019081526020016000206040518060600160405290816000820160009054906101000a900460ff161515151581526020016000820160019054906101000a900460ff16151515158152602001600182018054806020026020016040519081016040528092919081815260200182805480156105b257602002820191906000526020600020905b81548152602001906001019080831161059e575b5050505050815250509050806000015181604001519250925050915091565b60006105db61093e565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635d3b1d30600654600360149054906101000a900467ffffffffffffffff16600760049054906101000a900461ffff16600760009054906101000a900463ffffffff16600760069054906101000a900463ffffffff166040518663ffffffff1660e01b815260040161068a95949392919061112b565b6020604051808303816000875af11580156106a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106cd9190611193565b90506040518060600160405280600015158152602001600115158152602001600067ffffffffffffffff81111561070757610706610bc4565b5b6040519080825280602002602001820160405280156107355781602001602082028036833780820191505090505b508152506002600083815260200190815260200160002060008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a81548160ff02191690831515021790555060408201518160010190805190602001906107a8929190610afa565b509050506004819080600181540180825580915050600190039060005260206000200160009091909190915055806005819055507fcc58b13ad3eab50626c6a6300b1d139cd6ebb1688a7cced9461c2f7e762665ee81600760069054906101000a900463ffffffff1660405161081f9291906111c0565b60405180910390a190565b61083261093e565b61083b816109ce565b50565b60055481565b6002600083815260200190815260200160002060000160019054906101000a900460ff166108a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089e90611093565b60405180910390fd5b60016002600084815260200190815260200160002060000160006101000a81548160ff02191690831515021790555080600260008481526020019081526020016000206001019080519060200190610900929190610afa565b507ffe2e2d779dba245964d4e3ef9b994be63856fd568bf7d3ca9e224755cb1bd54d82826040516109329291906111e9565b60405180910390a15050565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146109cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c390611265565b60405180910390fd5b565b3373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610a3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a33906112d1565b60405180910390fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae127860405160405180910390a350565b828054828255906000526020600020908101928215610b36579160200282015b82811115610b35578251825591602001919060010190610b1a565b5b509050610b439190610b47565b5090565b5b80821115610b60576000816000905550600101610b48565b5090565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b610b8b81610b78565b8114610b9657600080fd5b50565b600081359050610ba881610b82565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610bfc82610bb3565b810181811067ffffffffffffffff82111715610c1b57610c1a610bc4565b5b80604052505050565b6000610c2e610b64565b9050610c3a8282610bf3565b919050565b600067ffffffffffffffff821115610c5a57610c59610bc4565b5b602082029050602081019050919050565b600080fd5b6000610c83610c7e84610c3f565b610c24565b90508083825260208201905060208402830185811115610ca657610ca5610c6b565b5b835b81811015610ccf5780610cbb8882610b99565b845260208401935050602081019050610ca8565b5050509392505050565b600082601f830112610cee57610ced610bae565b5b8135610cfe848260208601610c70565b91505092915050565b60008060408385031215610d1e57610d1d610b6e565b5b6000610d2c85828601610b99565b925050602083013567ffffffffffffffff811115610d4d57610d4c610b73565b5b610d5985828601610cd9565b9150509250929050565b600060208284031215610d7957610d78610b6e565b5b6000610d8784828501610b99565b91505092915050565b610d9981610b78565b82525050565b6000602082019050610db46000830184610d90565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610de582610dba565b9050919050565b610df581610dda565b82525050565b6000602082019050610e106000830184610dec565b92915050565b60008115159050919050565b610e2b81610e16565b82525050565b6000604082019050610e466000830185610e22565b610e536020830184610e22565b9392505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b610e8f81610b78565b82525050565b6000610ea18383610e86565b60208301905092915050565b6000602082019050919050565b6000610ec582610e5a565b610ecf8185610e65565b9350610eda83610e76565b8060005b83811015610f0b578151610ef28882610e95565b9750610efd83610ead565b925050600181019050610ede565b5085935050505092915050565b6000604082019050610f2d6000830185610e22565b8181036020830152610f3f8184610eba565b90509392505050565b610f5181610dda565b8114610f5c57600080fd5b50565b600081359050610f6e81610f48565b92915050565b600060208284031215610f8a57610f89610b6e565b5b6000610f9884828501610f5f565b91505092915050565b6000604082019050610fb66000830185610dec565b610fc36020830184610dec565b9392505050565b600082825260208201905092915050565b7f4d7573742062652070726f706f736564206f776e657200000000000000000000600082015250565b6000611011601683610fca565b915061101c82610fdb565b602082019050919050565b6000602082019050818103600083015261104081611004565b9050919050565b7f72657175657374206e6f7420666f756e64000000000000000000000000000000600082015250565b600061107d601183610fca565b915061108882611047565b602082019050919050565b600060208201905081810360008301526110ac81611070565b9050919050565b6000819050919050565b6110c6816110b3565b82525050565b600067ffffffffffffffff82169050919050565b6110e9816110cc565b82525050565b600061ffff82169050919050565b611106816110ef565b82525050565b600063ffffffff82169050919050565b6111258161110c565b82525050565b600060a08201905061114060008301886110bd565b61114d60208301876110e0565b61115a60408301866110fd565b611167606083018561111c565b611174608083018461111c565b9695505050505050565b60008151905061118d81610b82565b92915050565b6000602082840312156111a9576111a8610b6e565b5b60006111b78482850161117e565b91505092915050565b60006040820190506111d56000830185610d90565b6111e2602083018461111c565b9392505050565b60006040820190506111fe6000830185610d90565b81810360208301526112108184610eba565b90509392505050565b7f4f6e6c792063616c6c61626c65206279206f776e657200000000000000000000600082015250565b600061124f601683610fca565b915061125a82611219565b602082019050919050565b6000602082019050818103600083015261127e81611242565b9050919050565b7f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000600082015250565b60006112bb601783610fca565b91506112c682611285565b602082019050919050565b600060208201905081810360008301526112ea816112ae565b905091905056fea2646970667358221220ced8a0a21df12093fc3ba2a48ed31a3a3069505d77fbf1a37a50c3e87df0225364736f6c634300080f00330000000000000000000000000000000000000000000000000000000000000003