608060405234801561000f575f80fd5b50336040518060400160405280601481526020017f40746865626c6f636b636861696e636f646572730000000000000000000000008152506040518060400160405280600481526020017f4054424300000000000000000000000000000000000000000000000000000000815250815f908161008b9190610420565b50806001908161009b9190610420565b5050505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361010e575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610105919061052e565b60405180910390fd5b61011d8161012360201b60201c565b50610547565b5f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061026157607f821691505b6020821081036102745761027361021d565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026102d67fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261029b565b6102e0868361029b565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61032461031f61031a846102f8565b610301565b6102f8565b9050919050565b5f819050919050565b61033d8361030a565b6103516103498261032b565b8484546102a7565b825550505050565b5f90565b610365610359565b610370818484610334565b505050565b5b81811015610393576103885f8261035d565b600181019050610376565b5050565b601f8211156103d8576103a98161027a565b6103b28461028c565b810160208510156103c1578190505b6103d56103cd8561028c565b830182610375565b50505b505050565b5f82821c905092915050565b5f6103f85f19846008026103dd565b1980831691505092915050565b5f61041083836103e9565b9150826002028217905092915050565b610429826101e6565b67ffffffffffffffff811115610442576104416101f0565b5b61044c825461024a565b610457828285610397565b5f60209050601f831160018114610488575f8415610476578287015190505b6104808582610405565b8655506104e7565b601f1984166104968661027a565b5f5b828110156104bd57848901518255600182019150602085019450602081019050610498565b868310156104da57848901516104d6601f8916826103e9565b8355505b6001600288020188555050505b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610518826104ef565b9050919050565b6105288161050e565b82525050565b5f6020820190506105415f83018461051f565b92915050565b612b2c806105545f395ff3fe608060405234801561000f575f80fd5b506004361061011f575f3560e01c8063715018a6116100ab578063bd68b1171161006f578063bd68b117146102f1578063c87b56dd14610321578063d85d3d2714610351578063e985e9c514610381578063f2fde38b146103b15761011f565b8063715018a6146102735780638da5cb5b1461027d57806395d89b411461029b578063a22cb465146102b9578063b88d4fde146102d55761011f565b806323b872dd116100f257806323b872dd146101bd5780633f0e317b146101d957806342842e0e146101f75780636352211e1461021357806370a08231146102435761011f565b806301ffc9a71461012357806306fdde0314610153578063081812fc14610171578063095ea7b3146101a1575b5f80fd5b61013d60048036038101906101389190611ef8565b6103cd565b60405161014a9190611f3d565b60405180910390f35b61015b61042d565b6040516101689190611fc6565b60405180910390f35b61018b60048036038101906101869190612019565b6104bc565b6040516101989190612083565b60405180910390f35b6101bb60048036038101906101b691906120c6565b6104d7565b005b6101d760048036038101906101d29190612104565b6104ed565b005b6101e16105ec565b6040516101ee91906122c2565b60405180910390f35b610211600480360381019061020c9190612104565b610736565b005b61022d60048036038101906102289190612019565b610755565b60405161023a9190612083565b60405180910390f35b61025d600480360381019061025891906122e2565b610766565b60405161026a919061231c565b60405180910390f35b61027b61081c565b005b61028561082f565b6040516102929190612083565b60405180910390f35b6102a3610857565b6040516102b09190611fc6565b60405180910390f35b6102d360048036038101906102ce919061235f565b6108e7565b005b6102ef60048036038101906102ea91906124c9565b6108fd565b005b61030b600480360381019061030691906122e2565b61091a565b60405161031891906122c2565b60405180910390f35b61033b60048036038101906103369190612019565b610aa1565b6040516103489190611fc6565b60405180910390f35b61036b600480360381019061036691906125e7565b610bac565b604051610378919061231c565b60405180910390f35b61039b6004803603810190610396919061262e565b610d6f565b6040516103a89190611f3d565b60405180910390f35b6103cb60048036038101906103c691906122e2565b610dfd565b005b5f634906490660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610426575061042582610e81565b5b9050919050565b60605f805461043b90612699565b80601f016020809104026020016040519081016040528092919081815260200182805461046790612699565b80156104b25780601f10610489576101008083540402835291602001916104b2565b820191905f5260205f20905b81548152906001019060200180831161049557829003601f168201915b5050505050905090565b5f6104c682610f62565b506104d082610fe8565b9050919050565b6104e982826104e4611021565b611028565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361055d575f6040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016105549190612083565b60405180910390fd5b5f610570838361056b611021565b61103a565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146105e6578382826040517f64283d7b0000000000000000000000000000000000000000000000000000000081526004016105dd939291906126c9565b60405180910390fd5b50505050565b60606009805480602002602001604051908101604052809291908181526020015f905b8282101561072d578382905f5260205f2090600302016040518060600160405290815f8201548152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201805461069e90612699565b80601f01602080910402602001604051908101604052809291908181526020018280546106ca90612699565b80156107155780601f106106ec57610100808354040283529160200191610715565b820191905f5260205f20905b8154815290600101906020018083116106f857829003601f168201915b5050505050815250508152602001906001019061060f565b50505050905090565b61075083838360405180602001604052805f8152506108fd565b505050565b5f61075f82610f62565b9050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107d7575f6040517f89c62b640000000000000000000000000000000000000000000000000000000081526004016107ce9190612083565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610824611245565b61082d5f6112cc565b565b5f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606001805461086690612699565b80601f016020809104026020016040519081016040528092919081815260200182805461089290612699565b80156108dd5780601f106108b4576101008083540402835291602001916108dd565b820191905f5260205f20905b8154815290600101906020018083116108c057829003601f168201915b5050505050905090565b6108f96108f2611021565b838361138f565b5050565b6109088484846104ed565b610914848484846114f8565b50505050565b6060600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805480602002602001604051908101604052809291908181526020015f905b82821015610a96578382905f5260205f2090600302016040518060600160405290815f8201548152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282018054610a0790612699565b80601f0160208091040260200160405190810160405280929190818152602001828054610a3390612699565b8015610a7e5780601f10610a5557610100808354040283529160200191610a7e565b820191905f5260205f20905b815481529060010190602001808311610a6157829003601f168201915b50505050508152505081526020019060010190610978565b505050509050919050565b6060610aac82610f62565b505f60065f8481526020019081526020015f208054610aca90612699565b80601f0160208091040260200160405190810160405280929190818152602001828054610af690612699565b8015610b415780601f10610b1857610100808354040283529160200191610b41565b820191905f5260205f20905b815481529060010190602001808311610b2457829003601f168201915b505050505090505f610b516116aa565b90505f815103610b65578192505050610ba7565b5f82511115610b99578082604051602001610b81929190612738565b60405160208183030381529060405292505050610ba7565b610ba2846116c0565b925050505b919050565b5f610bb76008611726565b5f610bc2600861173a565b9050610bce3382611746565b610bd88184611839565b5f60405180606001604052808381526020013373ffffffffffffffffffffffffffffffffffffffff168152602001858152509050600981908060018154018082558091505060019003905f5260205f2090600302015f909190919091505f820151815f01556020820151816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040820151816002019081610c9891906128f8565b505050600a5f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081908060018154018082558091505060019003905f5260205f2090600302015f909190919091505f820151815f01556020820151816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040820151816002019081610d6291906128f8565b5050508192505050919050565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b610e05611245565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e75575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610e6c9190612083565b60405180910390fd5b610e7e816112cc565b50565b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610f4b57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610f5b5750610f5a82611893565b5b9050919050565b5f80610f6d836118fc565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610fdf57826040517f7e273289000000000000000000000000000000000000000000000000000000008152600401610fd6919061231c565b60405180910390fd5b80915050919050565b5f60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f33905090565b6110358383836001611935565b505050565b5f80611045846118fc565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461108657611085818486611af4565b5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611111576110c55f855f80611935565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461119057600160035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8460025f8681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b61124d611021565b73ffffffffffffffffffffffffffffffffffffffff1661126b61082f565b73ffffffffffffffffffffffffffffffffffffffff16146112ca5761128e611021565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016112c19190612083565b60405180910390fd5b565b5f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113ff57816040517f5b08ba180000000000000000000000000000000000000000000000000000000081526004016113f69190612083565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516114eb9190611f3d565b60405180910390a3505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b11156116a4578273ffffffffffffffffffffffffffffffffffffffff1663150b7a0261153b611021565b8685856040518563ffffffff1660e01b815260040161155d9493929190612a19565b6020604051808303815f875af192505050801561159857506040513d601f19601f820116820180604052508101906115959190612a77565b60015b611619573d805f81146115c6576040519150601f19603f3d011682016040523d82523d5f602084013e6115cb565b606091505b505f81510361161157836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016116089190612083565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146116a257836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016116999190612083565b60405180910390fd5b505b50505050565b606060405180602001604052805f815250905090565b60606116cb82610f62565b505f6116d56116aa565b90505f8151116116f35760405180602001604052805f81525061171e565b806116fd84611bb7565b60405160200161170e929190612738565b6040516020818303038152906040525b915050919050565b6001815f015f828254019250508190555050565b5f815f01549050919050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036117b6575f6040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016117ad9190612083565b60405180910390fd5b5f6117c283835f61103a565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611834575f6040517f73c6ac6e00000000000000000000000000000000000000000000000000000000815260040161182b9190612083565b60405180910390fd5b505050565b8060065f8481526020019081526020015f20908161185791906128f8565b507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce782604051611887919061231c565b60405180910390a15050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f60025f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b808061196d57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611a9f575f61197c84610f62565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156119e657508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156119f957506119f78184610d6f565b155b15611a3b57826040517fa9fbf51f000000000000000000000000000000000000000000000000000000008152600401611a329190612083565b60405180910390fd5b8115611a9d57838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b8360045f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b611aff838383611c81565b611bb2575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b7357806040517f7e273289000000000000000000000000000000000000000000000000000000008152600401611b6a919061231c565b60405180910390fd5b81816040517f177e802f000000000000000000000000000000000000000000000000000000008152600401611ba9929190612aa2565b60405180910390fd5b505050565b60605f6001611bc584611d41565b0190505f8167ffffffffffffffff811115611be357611be26123a5565b5b6040519080825280601f01601f191660200182016040528015611c155781602001600182028036833780820191505090505b5090505f82602001820190505b600115611c76578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611c6b57611c6a612ac9565b5b0494505f8503611c22575b819350505050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611d3857508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611cf95750611cf88484610d6f565b5b80611d3757508273ffffffffffffffffffffffffffffffffffffffff16611d1f83610fe8565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611d9d577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381611d9357611d92612ac9565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611dda576d04ee2d6d415b85acef81000000008381611dd057611dcf612ac9565b5b0492506020810190505b662386f26fc100008310611e0957662386f26fc100008381611dff57611dfe612ac9565b5b0492506010810190505b6305f5e1008310611e32576305f5e1008381611e2857611e27612ac9565b5b0492506008810190505b6127108310611e57576127108381611e4d57611e4c612ac9565b5b0492506004810190505b60648310611e7a5760648381611e7057611e6f612ac9565b5b0492506002810190505b600a8310611e89576001810190505b80915050919050565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611ed781611ea3565b8114611ee1575f80fd5b50565b5f81359050611ef281611ece565b92915050565b5f60208284031215611f0d57611f0c611e9b565b5b5f611f1a84828501611ee4565b91505092915050565b5f8115159050919050565b611f3781611f23565b82525050565b5f602082019050611f505f830184611f2e565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f611f9882611f56565b611fa28185611f60565b9350611fb2818560208601611f70565b611fbb81611f7e565b840191505092915050565b5f6020820190508181035f830152611fde8184611f8e565b905092915050565b5f819050919050565b611ff881611fe6565b8114612002575f80fd5b50565b5f8135905061201381611fef565b92915050565b5f6020828403121561202e5761202d611e9b565b5b5f61203b84828501612005565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61206d82612044565b9050919050565b61207d81612063565b82525050565b5f6020820190506120965f830184612074565b92915050565b6120a581612063565b81146120af575f80fd5b50565b5f813590506120c08161209c565b92915050565b5f80604083850312156120dc576120db611e9b565b5b5f6120e9858286016120b2565b92505060206120fa85828601612005565b9150509250929050565b5f805f6060848603121561211b5761211a611e9b565b5b5f612128868287016120b2565b9350506020612139868287016120b2565b925050604061214a86828701612005565b9150509250925092565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61218681611fe6565b82525050565b61219581612063565b82525050565b5f82825260208201905092915050565b5f6121b582611f56565b6121bf818561219b565b93506121cf818560208601611f70565b6121d881611f7e565b840191505092915050565b5f606083015f8301516121f85f86018261217d565b50602083015161220b602086018261218c565b506040830151848203604086015261222382826121ab565b9150508091505092915050565b5f61223b83836121e3565b905092915050565b5f602082019050919050565b5f61225982612154565b612263818561215e565b9350836020820285016122758561216e565b805f5b858110156122b057848403895281516122918582612230565b945061229c83612243565b925060208a01995050600181019050612278565b50829750879550505050505092915050565b5f6020820190508181035f8301526122da818461224f565b905092915050565b5f602082840312156122f7576122f6611e9b565b5b5f612304848285016120b2565b91505092915050565b61231681611fe6565b82525050565b5f60208201905061232f5f83018461230d565b92915050565b61233e81611f23565b8114612348575f80fd5b50565b5f8135905061235981612335565b92915050565b5f806040838503121561237557612374611e9b565b5b5f612382858286016120b2565b92505060206123938582860161234b565b9150509250929050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6123db82611f7e565b810181811067ffffffffffffffff821117156123fa576123f96123a5565b5b80604052505050565b5f61240c611e92565b905061241882826123d2565b919050565b5f67ffffffffffffffff821115612437576124366123a5565b5b61244082611f7e565b9050602081019050919050565b828183375f83830152505050565b5f61246d6124688461241d565b612403565b905082815260208101848484011115612489576124886123a1565b5b61249484828561244d565b509392505050565b5f82601f8301126124b0576124af61239d565b5b81356124c084826020860161245b565b91505092915050565b5f805f80608085870312156124e1576124e0611e9b565b5b5f6124ee878288016120b2565b94505060206124ff878288016120b2565b935050604061251087828801612005565b925050606085013567ffffffffffffffff81111561253157612530611e9f565b5b61253d8782880161249c565b91505092959194509250565b5f67ffffffffffffffff821115612563576125626123a5565b5b61256c82611f7e565b9050602081019050919050565b5f61258b61258684612549565b612403565b9050828152602081018484840111156125a7576125a66123a1565b5b6125b284828561244d565b509392505050565b5f82601f8301126125ce576125cd61239d565b5b81356125de848260208601612579565b91505092915050565b5f602082840312156125fc576125fb611e9b565b5b5f82013567ffffffffffffffff81111561261957612618611e9f565b5b612625848285016125ba565b91505092915050565b5f806040838503121561264457612643611e9b565b5b5f612651858286016120b2565b9250506020612662858286016120b2565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806126b057607f821691505b6020821081036126c3576126c261266c565b5b50919050565b5f6060820190506126dc5f830186612074565b6126e9602083018561230d565b6126f66040830184612074565b949350505050565b5f81905092915050565b5f61271282611f56565b61271c81856126fe565b935061272c818560208601611f70565b80840191505092915050565b5f6127438285612708565b915061274f8284612708565b91508190509392505050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026127b77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261277c565b6127c1868361277c565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6127fc6127f76127f284611fe6565b6127d9565b611fe6565b9050919050565b5f819050919050565b612815836127e2565b61282961282182612803565b848454612788565b825550505050565b5f90565b61283d612831565b61284881848461280c565b505050565b5b8181101561286b576128605f82612835565b60018101905061284e565b5050565b601f8211156128b0576128818161275b565b61288a8461276d565b81016020851015612899578190505b6128ad6128a58561276d565b83018261284d565b50505b505050565b5f82821c905092915050565b5f6128d05f19846008026128b5565b1980831691505092915050565b5f6128e883836128c1565b9150826002028217905092915050565b61290182611f56565b67ffffffffffffffff81111561291a576129196123a5565b5b6129248254612699565b61292f82828561286f565b5f60209050601f831160018114612960575f841561294e578287015190505b61295885826128dd565b8655506129bf565b601f19841661296e8661275b565b5f5b8281101561299557848901518255600182019150602085019450602081019050612970565b868310156129b257848901516129ae601f8916826128c1565b8355505b6001600288020188555050505b505050505050565b5f81519050919050565b5f82825260208201905092915050565b5f6129eb826129c7565b6129f581856129d1565b9350612a05818560208601611f70565b612a0e81611f7e565b840191505092915050565b5f608082019050612a2c5f830187612074565b612a396020830186612074565b612a46604083018561230d565b8181036060830152612a5881846129e1565b905095945050505050565b5f81519050612a7181611ece565b92915050565b5f60208284031215612a8c57612a8b611e9b565b5b5f612a9984828501612a63565b91505092915050565b5f604082019050612ab55f830185612074565b612ac2602083018461230d565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffdfea26469706673582212205689031b6859f5a78c15dfff44dcea45efae4dbe0bc723daae19246c5ea37e6664736f6c634300081a0033