60806040523480156200001157600080fd5b506040516200138c3803806200138c83398181016040528101906200003791906200028a565b6040518060400160405280601181526020017f7777772e6d65746973706f6f6c2e78797a000000000000000000000000000000815250600090816200007d919062000526565b506040518060400160405280601381526020017f7669736974206d65746973706f6f6c2e78797a0000000000000000000000000081525060019081620000c4919062000526565b50604051806060016040528060248152602001620013686024913960029081620000ef919062000526565b50506200060d565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620001608262000115565b810181811067ffffffffffffffff8211171562000182576200018162000126565b5b80604052505050565b600062000197620000f7565b9050620001a5828262000155565b919050565b600067ffffffffffffffff821115620001c857620001c762000126565b5b620001d38262000115565b9050602081019050919050565b60005b8381101562000200578082015181840152602081019050620001e3565b60008484015250505050565b6000620002236200021d84620001aa565b6200018b565b90508281526020810184848401111562000242576200024162000110565b5b6200024f848285620001e0565b509392505050565b600082601f8301126200026f576200026e6200010b565b5b8151620002818482602086016200020c565b91505092915050565b600060208284031215620002a357620002a262000101565b5b600082015167ffffffffffffffff811115620002c457620002c362000106565b5b620002d28482850162000257565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200032e57607f821691505b602082108103620003445762000343620002e6565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620003ae7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200036f565b620003ba86836200036f565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b60006200040762000401620003fb84620003d2565b620003dc565b620003d2565b9050919050565b6000819050919050565b6200042383620003e6565b6200043b62000432826200040e565b8484546200037c565b825550505050565b600090565b6200045262000443565b6200045f81848462000418565b505050565b5b8181101562000487576200047b60008262000448565b60018101905062000465565b5050565b601f821115620004d657620004a0816200034a565b620004ab846200035f565b81016020851015620004bb578190505b620004d3620004ca856200035f565b83018262000464565b50505b505050565b600082821c905092915050565b6000620004fb60001984600802620004db565b1980831691505092915050565b6000620005168383620004e8565b9150826002028217905092915050565b6200053182620002db565b67ffffffffffffffff8111156200054d576200054c62000126565b5b62000559825462000315565b620005668282856200048b565b600060209050601f8311600181146200059e576000841562000589578287015190505b62000595858262000508565b86555062000605565b601f198416620005ae866200034a565b60005b82811015620005d857848901518255600182019150602085019450602081019050620005b1565b86831015620005f85784890151620005f4601f891682620004e8565b8355505b6001600288020188555050505b505050505050565b610d4b806200061d6000396000f3fe608060405234801561001057600080fd5b506004361061007c5760003560e01c80630e89341c1161005b5780630e89341c146100ff5780631ceb759c1461012f57806330176e131461014b57806395d89b41146101675761007c565b8062fdd58e1461008157806301ffc9a7146100b157806306fdde03146100e1575b600080fd5b61009b6004803603810190610096919061054d565b610185565b6040516100a8919061059c565b60405180910390f35b6100cb60048036038101906100c6919061060f565b610191565b6040516100d89190610657565b60405180910390f35b6100e9610223565b6040516100f69190610702565b60405180910390f35b61011960048036038101906101149190610724565b6102b1565b6040516101269190610702565b60405180910390f35b61014960048036038101906101449190610886565b610345565b005b61016560048036038101906101609190610942565b610401565b005b61016f610417565b60405161017c9190610702565b60405180910390f35b60006001905092915050565b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806101ec575063d9b67a2660e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061021c5750630e89341c60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b60008054610230906109be565b80601f016020809104026020016040519081016040528092919081815260200182805461025c906109be565b80156102a95780601f1061027e576101008083540402835291602001916102a9565b820191906000526020600020905b81548152906001019060200180831161028c57829003601f168201915b505050505081565b6060600280546102c0906109be565b80601f01602080910402602001604051908101604052809291908181526020018280546102ec906109be565b80156103395780601f1061030e57610100808354040283529160200191610339565b820191906000526020600020905b81548152906001019060200180831161031c57829003601f168201915b50505050509050919050565b600080600084519050600033905060005b828163ffffffff1610156103f8576014810190508093508387015194508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62600060016040516103eb929190610a6f565b60405180910390a4610356565b50505050505050565b818160029182610412929190610c45565b505050565b60018054610424906109be565b80601f0160208091040260200160405190810160405280929190818152602001828054610450906109be565b801561049d5780601f106104725761010080835404028352916020019161049d565b820191906000526020600020905b81548152906001019060200180831161048057829003601f168201915b505050505081565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006104e4826104b9565b9050919050565b6104f4816104d9565b81146104ff57600080fd5b50565b600081359050610511816104eb565b92915050565b6000819050919050565b61052a81610517565b811461053557600080fd5b50565b60008135905061054781610521565b92915050565b60008060408385031215610564576105636104af565b5b600061057285828601610502565b925050602061058385828601610538565b9150509250929050565b61059681610517565b82525050565b60006020820190506105b1600083018461058d565b92915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6105ec816105b7565b81146105f757600080fd5b50565b600081359050610609816105e3565b92915050565b600060208284031215610625576106246104af565b5b6000610633848285016105fa565b91505092915050565b60008115159050919050565b6106518161063c565b82525050565b600060208201905061066c6000830184610648565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156106ac578082015181840152602081019050610691565b60008484015250505050565b6000601f19601f8301169050919050565b60006106d482610672565b6106de818561067d565b93506106ee81856020860161068e565b6106f7816106b8565b840191505092915050565b6000602082019050818103600083015261071c81846106c9565b905092915050565b60006020828403121561073a576107396104af565b5b600061074884828501610538565b91505092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610793826106b8565b810181811067ffffffffffffffff821117156107b2576107b161075b565b5b80604052505050565b60006107c56104a5565b90506107d1828261078a565b919050565b600067ffffffffffffffff8211156107f1576107f061075b565b5b6107fa826106b8565b9050602081019050919050565b82818337600083830152505050565b6000610829610824846107d6565b6107bb565b90508281526020810184848401111561084557610844610756565b5b610850848285610807565b509392505050565b600082601f83011261086d5761086c610751565b5b813561087d848260208601610816565b91505092915050565b6000806040838503121561089d5761089c6104af565b5b600083013567ffffffffffffffff8111156108bb576108ba6104b4565b5b6108c785828601610858565b92505060206108d885828601610502565b9150509250929050565b600080fd5b600080fd5b60008083601f84011261090257610901610751565b5b8235905067ffffffffffffffff81111561091f5761091e6108e2565b5b60208301915083600182028301111561093b5761093a6108e7565b5b9250929050565b60008060208385031215610959576109586104af565b5b600083013567ffffffffffffffff811115610977576109766104b4565b5b610983858286016108ec565b92509250509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806109d657607f821691505b6020821081036109e9576109e861098f565b5b50919050565b6000819050919050565b6000819050919050565b6000610a1e610a19610a14846109ef565b6109f9565b610517565b9050919050565b610a2e81610a03565b82525050565b6000819050919050565b6000610a59610a54610a4f84610a34565b6109f9565b610517565b9050919050565b610a6981610a3e565b82525050565b6000604082019050610a846000830185610a25565b610a916020830184610a60565b9392505050565b600082905092915050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302610b057fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610ac8565b610b0f8683610ac8565b95508019841693508086168417925050509392505050565b6000610b42610b3d610b3884610517565b6109f9565b610517565b9050919050565b6000819050919050565b610b5c83610b27565b610b70610b6882610b49565b848454610ad5565b825550505050565b600090565b610b85610b78565b610b90818484610b53565b505050565b5b81811015610bb457610ba9600082610b7d565b600181019050610b96565b5050565b601f821115610bf957610bca81610aa3565b610bd384610ab8565b81016020851015610be2578190505b610bf6610bee85610ab8565b830182610b95565b50505b505050565b600082821c905092915050565b6000610c1c60001984600802610bfe565b1980831691505092915050565b6000610c358383610c0b565b9150826002028217905092915050565b610c4f8383610a98565b67ffffffffffffffff811115610c6857610c6761075b565b5b610c7282546109be565b610c7d828285610bb8565b6000601f831160018114610cac5760008415610c9a578287013590505b610ca48582610c29565b865550610d0c565b601f198416610cba86610aa3565b60005b82811015610ce257848901358255600182019150602085019450602081019050610cbd565b86831015610cff5784890135610cfb601f891682610c0b565b8355505b6001600288020188555050505b5050505050505056fea2646970667358221220a4c3c700b4f0e995869e234c2b527a4f517e4d571b9f207d5bc082d129f42e7064736f6c6343000813003368747470733a2f2f706e676170696e66742e746f702f6d65746973706f6f6c2e6a736f6e0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002468747470733a2f2f706e676170696e66742e746f702f6d65746973706f6f6c2e6a736f6e00000000000000000000000000000000000000000000000000000000