608060405234801561000f575f80fd5b5060405161375838038061375883398181016040528101906100319190610281565b806040518060400160405280600781526020017f4d79546f6b656e000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f4d544b0000000000000000000000000000000000000000000000000000000000815250815f90816100ac91906104e6565b5080600190816100bc91906104e6565b5050505f600b5f6101000a81548160ff0219169083151502179055505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610148575f6040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040161013f91906105c4565b60405180910390fd5b6101578161015e60201b60201c565b50506105dd565b5f600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61025082610227565b9050919050565b61026081610246565b811461026a575f80fd5b50565b5f8151905061027b81610257565b92915050565b5f6020828403121561029657610295610223565b5b5f6102a38482850161026d565b91505092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061032757607f821691505b60208210810361033a576103396102e3565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261039c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82610361565b6103a68683610361565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6103ea6103e56103e0846103be565b6103c7565b6103be565b9050919050565b5f819050919050565b610403836103d0565b61041761040f826103f1565b84845461036d565b825550505050565b5f90565b61042b61041f565b6104368184846103fa565b505050565b5b818110156104595761044e5f82610423565b60018101905061043c565b5050565b601f82111561049e5761046f81610340565b61047884610352565b81016020851015610487578190505b61049b61049385610352565b83018261043b565b50505b505050565b5f82821c905092915050565b5f6104be5f19846008026104a3565b1980831691505092915050565b5f6104d683836104af565b9150826002028217905092915050565b6104ef826102ac565b67ffffffffffffffff811115610508576105076102b6565b5b6105128254610310565b61051d82828561045d565b5f60209050601f83116001811461054e575f841561053c578287015190505b61054685826104cb565b8655506105ad565b601f19841661055c86610340565b5f5b828110156105835784890151825560018201915060208501945060208101905061055e565b868310156105a0578489015161059c601f8916826104af565b8355505b6001600288020188555050505b505050505050565b6105be81610246565b82525050565b5f6020820190506105d75f8301846105b5565b92915050565b61316e806105ea5f395ff3fe608060405260043610610165575f3560e01c80636352211e116100d0578063a22cb46511610089578063c87b56dd11610063578063c87b56dd146104fd578063cd279c7c14610539578063e985e9c514610555578063f2fde38b1461059157610165565b8063a22cb46514610485578063b41c703c146104ad578063b88d4fde146104d557610165565b80636352211e1461038d57806370a08231146103c9578063715018a6146104055780638456cb591461041b5780638da5cb5b1461043157806395d89b411461045b57610165565b80632f745c59116101225780632f745c59146102855780633f4ba83a146102c157806342842e0e146102d757806342966c68146102ff5780634f6ccce7146103275780635c975abb1461036357610165565b806301ffc9a71461016957806306fdde03146101a5578063081812fc146101cf578063095ea7b31461020b57806318160ddd1461023357806323b872dd1461025d575b5f80fd5b348015610174575f80fd5b5061018f600480360381019061018a9190612502565b6105b9565b60405161019c9190612547565b60405180910390f35b3480156101b0575f80fd5b506101b96105ca565b6040516101c691906125d0565b60405180910390f35b3480156101da575f80fd5b506101f560048036038101906101f09190612623565b610659565b604051610202919061268d565b60405180910390f35b348015610216575f80fd5b50610231600480360381019061022c91906126d0565b610674565b005b34801561023e575f80fd5b5061024761068a565b604051610254919061271d565b60405180910390f35b348015610268575f80fd5b50610283600480360381019061027e9190612736565b610696565b005b348015610290575f80fd5b506102ab60048036038101906102a691906126d0565b610795565b6040516102b8919061271d565b60405180910390f35b3480156102cc575f80fd5b506102d5610839565b005b3480156102e2575f80fd5b506102fd60048036038101906102f89190612736565b61084b565b005b34801561030a575f80fd5b5061032560048036038101906103209190612623565b61086a565b005b348015610332575f80fd5b5061034d60048036038101906103489190612623565b610880565b60405161035a919061271d565b60405180910390f35b34801561036e575f80fd5b506103776108f2565b6040516103849190612547565b60405180910390f35b348015610398575f80fd5b506103b360048036038101906103ae9190612623565b610907565b6040516103c0919061268d565b60405180910390f35b3480156103d4575f80fd5b506103ef60048036038101906103ea9190612786565b610918565b6040516103fc919061271d565b60405180910390f35b348015610410575f80fd5b506104196109ce565b005b348015610426575f80fd5b5061042f6109e1565b005b34801561043c575f80fd5b506104456109f3565b604051610452919061268d565b60405180910390f35b348015610466575f80fd5b5061046f610a1c565b60405161047c91906125d0565b60405180910390f35b348015610490575f80fd5b506104ab60048036038101906104a691906127db565b610aac565b005b3480156104b8575f80fd5b506104d360048036038101906104ce9190612786565b610ac2565b005b3480156104e0575f80fd5b506104fb60048036038101906104f69190612945565b610b7f565b005b348015610508575f80fd5b50610523600480360381019061051e9190612623565b610b9c565b60405161053091906125d0565b60405180910390f35b610553600480360381019061054e9190612a63565b610bae565b005b348015610560575f80fd5b5061057b60048036038101906105769190612acf565b610c0f565b6040516105889190612547565b60405180910390f35b34801561059c575f80fd5b506105b760048036038101906105b29190612786565b610c9d565b005b5f6105c382610d21565b9050919050565b60605f80546105d890612b3a565b80601f016020809104026020016040519081016040528092919081815260200182805461060490612b3a565b801561064f5780601f106106265761010080835404028352916020019161064f565b820191905f5260205f20905b81548152906001019060200180831161063257829003601f168201915b5050505050905090565b5f61066382610d81565b5061066d82610e07565b9050919050565b6106868282610681610e40565b610e47565b5050565b5f600880549050905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610706575f6040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016106fd919061268d565b60405180910390fd5b5f6107198383610714610e40565b610e59565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461078f578382826040517f64283d7b00000000000000000000000000000000000000000000000000000000815260040161078693929190612b6a565b60405180910390fd5b50505050565b5f61079f83610918565b82106107e45782826040517fa57d13dc0000000000000000000000000000000000000000000000000000000081526004016107db929190612b9f565b60405180910390fd5b60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f2054905092915050565b610841610e6e565b610849610ef5565b565b61086583838360405180602001604052805f815250610b7f565b505050565b61087c5f82610877610e40565b610e59565b5050565b5f61088961068a565b82106108ce575f826040517fa57d13dc0000000000000000000000000000000000000000000000000000000081526004016108c5929190612b9f565b60405180910390fd5b600882815481106108e2576108e1612bc6565b5b905f5260205f2001549050919050565b5f600b5f9054906101000a900460ff16905090565b5f61091182610d81565b9050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610989575f6040517f89c62b64000000000000000000000000000000000000000000000000000000008152600401610980919061268d565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6109d6610e6e565b6109df5f610f56565b565b6109e9610e6e565b6109f161101b565b565b5f600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054610a2b90612b3a565b80601f0160208091040260200160405190810160405280929190818152602001828054610a5790612b3a565b8015610aa25780601f10610a7957610100808354040283529160200191610aa2565b820191905f5260205f20905b815481529060010190602001808311610a8557829003601f168201915b5050505050905090565b610abe610ab7610e40565b838361107d565b5050565b610aca610e6e565b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610b38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2f90612c16565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc4790811502906040515f60405180830381858888f19350505050158015610b7b573d5f803e3d5ffd5b5050565b610b8a848484610696565b610b96848484846111e6565b50505050565b6060610ba782611398565b9050919050565b6509184e72a0003414610bf6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bed90612c7e565b60405180910390fd5b610c0083836114a3565b610c0a82826114c0565b505050565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b610ca5610e6e565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d15575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610d0c919061268d565b60405180910390fd5b610d1e81610f56565b50565b5f634906490660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610d7a5750610d798261151a565b5b9050919050565b5f80610d8c83611593565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610dfe57826040517f7e273289000000000000000000000000000000000000000000000000000000008152600401610df5919061271d565b60405180910390fd5b80915050919050565b5f60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f33905090565b610e5483838360016115cc565b505050565b5f610e6584848461178b565b90509392505050565b610e76610e40565b73ffffffffffffffffffffffffffffffffffffffff16610e946109f3565b73ffffffffffffffffffffffffffffffffffffffff1614610ef357610eb7610e40565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401610eea919061268d565b60405180910390fd5b565b610efd6117a8565b5f600b5f6101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa610f3f610e40565b604051610f4c919061268d565b60405180910390a1565b5f600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6110236117e8565b6001600b5f6101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611066610e40565b604051611073919061268d565b60405180910390a1565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036110ed57816040517f5b08ba180000000000000000000000000000000000000000000000000000000081526004016110e4919061268d565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516111d99190612547565b60405180910390a3505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b1115611392578273ffffffffffffffffffffffffffffffffffffffff1663150b7a02611229610e40565b8685856040518563ffffffff1660e01b815260040161124b9493929190612cee565b6020604051808303815f875af192505050801561128657506040513d601f19601f820116820180604052508101906112839190612d4c565b60015b611307573d805f81146112b4576040519150601f19603f3d011682016040523d82523d5f602084013e6112b9565b606091505b505f8151036112ff57836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016112f6919061268d565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461139057836040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401611387919061268d565b60405180910390fd5b505b50505050565b60606113a382610d81565b505f600a5f8481526020019081526020015f2080546113c190612b3a565b80601f01602080910402602001604051908101604052809291908181526020018280546113ed90612b3a565b80156114385780601f1061140f57610100808354040283529160200191611438565b820191905f5260205f20905b81548152906001019060200180831161141b57829003601f168201915b505050505090505f611448611829565b90505f81510361145c57819250505061149e565b5f82511115611490578082604051602001611478929190612db1565b6040516020818303038152906040529250505061149e565b61149984611849565b925050505b919050565b6114bc828260405180602001604052805f8152506118af565b5050565b80600a5f8481526020019081526020015f2090816114de9190612f71565b507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce78260405161150e919061271d565b60405180910390a15050565b5f7f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061158c575061158b826118ca565b5b9050919050565b5f60025f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b808061160457505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611736575f61161384610d81565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561167d57508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b8015611690575061168e8184610c0f565b155b156116d257826040517fa9fbf51f0000000000000000000000000000000000000000000000000000000081526004016116c9919061268d565b60405180910390fd5b811561173457838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b8360045f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b5f6117946117e8565b61179f8484846119ab565b90509392505050565b6117b06108f2565b6117e6576040517f8dfc202b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b6117f06108f2565b15611827576040517fd93c066500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b565b60606040518060600160405280603e81526020016130fb603e9139905090565b606061185482610d81565b505f61185e611829565b90505f81511161187c5760405180602001604052805f8152506118a7565b8061188684611ac5565b604051602001611897929190612db1565b6040516020818303038152906040525b915050919050565b6118b98383611b8f565b6118c55f8484846111e6565b505050565b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061199457507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806119a457506119a382611c82565b5b9050919050565b5f806119b8858585611ceb565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036119fb576119f684611ef6565b611a3a565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611a3957611a388185611f3a565b5b5b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611a7b57611a7684612084565b611aba565b8473ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611ab957611ab88585612144565b5b5b809150509392505050565b60605f6001611ad3846121c8565b0190505f8167ffffffffffffffff811115611af157611af0612821565b5b6040519080825280601f01601f191660200182016040528015611b235781602001600182028036833780820191505090505b5090505f82602001820190505b600115611b84578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611b7957611b78613040565b5b0494505f8503611b30575b819350505050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611bff575f6040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401611bf6919061268d565b60405180910390fd5b5f611c0b83835f610e59565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611c7d575f6040517f73c6ac6e000000000000000000000000000000000000000000000000000000008152600401611c74919061268d565b60405180910390fd5b505050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f80611cf684611593565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611d3757611d36818486612319565b5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611dc257611d765f855f806115cc565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614611e4157600160035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8460025f8681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b60088054905060095f8381526020019081526020015f2081905550600881908060018154018082558091505060019003905f5260205f20015f909190919091505550565b5f611f4483610918565b90505f60075f8481526020019081526020015f2054905081811461201b575f60065f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f205490508060065f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8481526020019081526020015f20819055508160075f8381526020019081526020015f2081905550505b60075f8481526020019081526020015f205f905560065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f205f905550505050565b5f6001600880549050612097919061309a565b90505f60095f8481526020019081526020015f205490505f600883815481106120c3576120c2612bc6565b5b905f5260205f200154905080600883815481106120e3576120e2612bc6565b5b905f5260205f2001819055508160095f8381526020019081526020015f208190555060095f8581526020019081526020015f205f9055600880548061212b5761212a6130cd565b5b600190038181905f5260205f20015f9055905550505050565b5f600161215084610918565b61215a919061309a565b90508160065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8381526020019081526020015f20819055508060075f8481526020019081526020015f2081905550505050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612224577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161221a57612219613040565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310612261576d04ee2d6d415b85acef8100000000838161225757612256613040565b5b0492506020810190505b662386f26fc10000831061229057662386f26fc10000838161228657612285613040565b5b0492506010810190505b6305f5e10083106122b9576305f5e10083816122af576122ae613040565b5b0492506008810190505b61271083106122de5761271083816122d4576122d3613040565b5b0492506004810190505b6064831061230157606483816122f7576122f6613040565b5b0492506002810190505b600a8310612310576001810190505b80915050919050565b6123248383836123dc565b6123d7575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361239857806040517f7e27328900000000000000000000000000000000000000000000000000000000815260040161238f919061271d565b60405180910390fd5b81816040517f177e802f0000000000000000000000000000000000000000000000000000000081526004016123ce929190612b9f565b60405180910390fd5b505050565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415801561249357508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061245457506124538484610c0f565b5b8061249257508273ffffffffffffffffffffffffffffffffffffffff1661247a83610e07565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6124e1816124ad565b81146124eb575f80fd5b50565b5f813590506124fc816124d8565b92915050565b5f60208284031215612517576125166124a5565b5b5f612524848285016124ee565b91505092915050565b5f8115159050919050565b6125418161252d565b82525050565b5f60208201905061255a5f830184612538565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6125a282612560565b6125ac818561256a565b93506125bc81856020860161257a565b6125c581612588565b840191505092915050565b5f6020820190508181035f8301526125e88184612598565b905092915050565b5f819050919050565b612602816125f0565b811461260c575f80fd5b50565b5f8135905061261d816125f9565b92915050565b5f60208284031215612638576126376124a5565b5b5f6126458482850161260f565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6126778261264e565b9050919050565b6126878161266d565b82525050565b5f6020820190506126a05f83018461267e565b92915050565b6126af8161266d565b81146126b9575f80fd5b50565b5f813590506126ca816126a6565b92915050565b5f80604083850312156126e6576126e56124a5565b5b5f6126f3858286016126bc565b92505060206127048582860161260f565b9150509250929050565b612717816125f0565b82525050565b5f6020820190506127305f83018461270e565b92915050565b5f805f6060848603121561274d5761274c6124a5565b5b5f61275a868287016126bc565b935050602061276b868287016126bc565b925050604061277c8682870161260f565b9150509250925092565b5f6020828403121561279b5761279a6124a5565b5b5f6127a8848285016126bc565b91505092915050565b6127ba8161252d565b81146127c4575f80fd5b50565b5f813590506127d5816127b1565b92915050565b5f80604083850312156127f1576127f06124a5565b5b5f6127fe858286016126bc565b925050602061280f858286016127c7565b9150509250929050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61285782612588565b810181811067ffffffffffffffff8211171561287657612875612821565b5b80604052505050565b5f61288861249c565b9050612894828261284e565b919050565b5f67ffffffffffffffff8211156128b3576128b2612821565b5b6128bc82612588565b9050602081019050919050565b828183375f83830152505050565b5f6128e96128e484612899565b61287f565b9050828152602081018484840111156129055761290461281d565b5b6129108482856128c9565b509392505050565b5f82601f83011261292c5761292b612819565b5b813561293c8482602086016128d7565b91505092915050565b5f805f806080858703121561295d5761295c6124a5565b5b5f61296a878288016126bc565b945050602061297b878288016126bc565b935050604061298c8782880161260f565b925050606085013567ffffffffffffffff8111156129ad576129ac6124a9565b5b6129b987828801612918565b91505092959194509250565b5f67ffffffffffffffff8211156129df576129de612821565b5b6129e882612588565b9050602081019050919050565b5f612a07612a02846129c5565b61287f565b905082815260208101848484011115612a2357612a2261281d565b5b612a2e8482856128c9565b509392505050565b5f82601f830112612a4a57612a49612819565b5b8135612a5a8482602086016129f5565b91505092915050565b5f805f60608486031215612a7a57612a796124a5565b5b5f612a87868287016126bc565b9350506020612a988682870161260f565b925050604084013567ffffffffffffffff811115612ab957612ab86124a9565b5b612ac586828701612a36565b9150509250925092565b5f8060408385031215612ae557612ae46124a5565b5b5f612af2858286016126bc565b9250506020612b03858286016126bc565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f6002820490506001821680612b5157607f821691505b602082108103612b6457612b63612b0d565b5b50919050565b5f606082019050612b7d5f83018661267e565b612b8a602083018561270e565b612b97604083018461267e565b949350505050565b5f604082019050612bb25f83018561267e565b612bbf602083018461270e565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b50565b5f612c015f8361256a565b9150612c0c82612bf3565b5f82019050919050565b5f6020820190508181035f830152612c2d81612bf6565b9050919050565b7f796f752063616e6e6f74206d696e7400000000000000000000000000000000005f82015250565b5f612c68600f8361256a565b9150612c7382612c34565b602082019050919050565b5f6020820190508181035f830152612c9581612c5c565b9050919050565b5f81519050919050565b5f82825260208201905092915050565b5f612cc082612c9c565b612cca8185612ca6565b9350612cda81856020860161257a565b612ce381612588565b840191505092915050565b5f608082019050612d015f83018761267e565b612d0e602083018661267e565b612d1b604083018561270e565b8181036060830152612d2d8184612cb6565b905095945050505050565b5f81519050612d46816124d8565b92915050565b5f60208284031215612d6157612d606124a5565b5b5f612d6e84828501612d38565b91505092915050565b5f81905092915050565b5f612d8b82612560565b612d958185612d77565b9350612da581856020860161257a565b80840191505092915050565b5f612dbc8285612d81565b9150612dc88284612d81565b91508190509392505050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302612e307fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612df5565b612e3a8683612df5565b95508019841693508086168417925050509392505050565b5f819050919050565b5f612e75612e70612e6b846125f0565b612e52565b6125f0565b9050919050565b5f819050919050565b612e8e83612e5b565b612ea2612e9a82612e7c565b848454612e01565b825550505050565b5f90565b612eb6612eaa565b612ec1818484612e85565b505050565b5b81811015612ee457612ed95f82612eae565b600181019050612ec7565b5050565b601f821115612f2957612efa81612dd4565b612f0384612de6565b81016020851015612f12578190505b612f26612f1e85612de6565b830182612ec6565b50505b505050565b5f82821c905092915050565b5f612f495f1984600802612f2e565b1980831691505092915050565b5f612f618383612f3a565b9150826002028217905092915050565b612f7a82612560565b67ffffffffffffffff811115612f9357612f92612821565b5b612f9d8254612b3a565b612fa8828285612ee8565b5f60209050601f831160018114612fd9575f8415612fc7578287015190505b612fd18582612f56565b865550613038565b601f198416612fe786612dd4565b5f5b8281101561300e57848901518255600182019150602085019450602081019050612fe9565b8683101561302b5784890151613027601f891682612f3a565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f6130a4826125f0565b91506130af836125f0565b92508282039050818111156130c7576130c661306d565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffdfe68747470733a2f2f746573746e6574732e6f70656e7365612e696f2f6173736574732f7365706f6c69612f3c616464726573733e2f3c746f6b656e69643ea26469706673582212203b795102e1ebf09d98307442fc0349b782cde64cc8b9508515a392d6dd61308864736f6c63430008190033000000000000000000000000e59c98e5383a317623ae5f27a625f0448cd5dc54