60806040526001600955348015610014575f80fd5b506040518060400160405280600881526020017f4861696b754e46540000000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f4841494b55000000000000000000000000000000000000000000000000000000815250815f908161008f91906102e1565b50806001908161009f91906102e1565b5050506103b0565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061012257607f821691505b602082108103610135576101346100de565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026101977fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8261015c565b6101a1868361015c565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f6101e56101e06101db846101b9565b6101c2565b6101b9565b9050919050565b5f819050919050565b6101fe836101cb565b61021261020a826101ec565b848454610168565b825550505050565b5f90565b61022661021a565b6102318184846101f5565b505050565b5b81811015610254576102495f8261021e565b600181019050610237565b5050565b601f8211156102995761026a8161013b565b6102738461014d565b81016020851015610282578190505b61029661028e8561014d565b830182610236565b50505b505050565b5f82821c905092915050565b5f6102b95f198460080261029e565b1980831691505092915050565b5f6102d183836102aa565b9150826002028217905092915050565b6102ea826100a7565b67ffffffffffffffff811115610303576103026100b1565b5b61030d825461010b565b610318828285610258565b5f60209050601f831160018114610349575f8415610337578287015190505b61034185826102c6565b8655506103a8565b601f1984166103578661013b565b5f5b8281101561037e57848901518255600182019150602085019450602081019050610359565b8683101561039b5784890151610397601f8916826102aa565b8355505b6001600288020188555050505b505050505050565b612e6c806103bd5f395ff3fe608060405234801561000f575f80fd5b506004361061011f575f3560e01c806361bc221a116100ab57806397afe82d1161006f57806397afe82d1461031a578063a22cb4651461034a578063b88d4fde14610366578063c87b56dd14610382578063e985e9c5146103b25761011f565b806361bc221a1461024b5780636352211e1461026957806370a08231146102995780637cb82b2a146102c957806395d89b41146102fc5761011f565b8063095ea7b3116100f2578063095ea7b3146101bd57806323b872dd146101d9578063350fe165146101f557806342842e0e1461021157806349af5bfe1461022d5761011f565b806301ffc9a71461012357806306fdde0314610153578063081812fc146101715780630884d540146101a1575b5f80fd5b61013d60048036038101906101389190612052565b6103e2565b60405161014a9190612097565b60405180910390f35b61015b6104c3565b6040516101689190612120565b60405180910390f35b61018b60048036038101906101869190612173565b610552565b60405161019891906121dd565b60405180910390f35b6101bb60048036038101906101b69190612220565b61056d565b005b6101d760048036038101906101d29190612220565b610683565b005b6101f360048036038101906101ee919061225e565b610699565b005b61020f600480360381019061020a91906123da565b610798565b005b61022b6004803603810190610226919061225e565b610a55565b005b610235610a74565b60405161024291906125fe565b60405180910390f35b610253610e0e565b604051610260919061262d565b60405180910390f35b610283600480360381019061027e9190612173565b610e14565b60405161029091906121dd565b60405180910390f35b6102b360048036038101906102ae9190612646565b610e25565b6040516102c0919061262d565b60405180910390f35b6102e360048036038101906102de9190612173565b610edb565b6040516102f39493929190612671565b60405180910390f35b6103046110c7565b6040516103119190612120565b60405180910390f35b610334600480360381019061032f9190612220565b611157565b604051610341919061262d565b60405180910390f35b610364600480360381019061035f91906126f3565b611182565b005b610380600480360381019061037b91906127cf565b611198565b005b61039c60048036038101906103979190612173565b6111b5565b6040516103a99190612120565b60405180910390f35b6103cc60048036038101906103c7919061284f565b61121b565b6040516103d99190612097565b60405180910390f35b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806104ac57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806104bc57506104bb826112a9565b5b9050919050565b60605f80546104d1906128ba565b80601f01602080910402602001604051908101604052809291908181526020018280546104fd906128ba565b80156105485780601f1061051f57610100808354040283529160200191610548565b820191905f5260205f20905b81548152906001019060200180831161052b57829003601f168201915b5050505050905090565b5f61055c82611312565b5061056682611398565b9050919050565b3373ffffffffffffffffffffffffffffffffffffffff1660068281548110610598576105976128ea565b5b905f5260205f2090600402015f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461061e57806040517f03ce4e32000000000000000000000000000000000000000000000000000000008152600401610615919061262d565b60405180910390fd5b60075f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081908060018154018082558091505060019003905f5260205f20015f90919091909150555050565b61069582826106906113d1565b6113d8565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610709575f6040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161070091906121dd565b60405180910390fd5b5f61071c83836107176113d1565b6113ea565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610792578382826040517f64283d7b00000000000000000000000000000000000000000000000000000000815260040161078993929190612917565b60405180910390fd5b50505050565b600b60095411156107de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107d590612996565b60405180910390fd5b6008836040516107ee91906129ee565b90815260200160405180910390205f9054906101000a900460ff168061083b575060088260405161081f91906129ee565b90815260200160405180910390205f9054906101000a900460ff165b8061086d575060088160405161085191906129ee565b90815260200160405180910390205f9054906101000a900460ff165b156108a4576040517f693a889e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016008846040516108b691906129ee565b90815260200160405180910390205f6101000a81548160ff02191690831515021790555060016008836040516108ec91906129ee565b90815260200160405180910390205f6101000a81548160ff021916908315150217905550600160088260405161092291906129ee565b90815260200160405180910390205f6101000a81548160ff021916908315150217905550600660405180608001604052803373ffffffffffffffffffffffffffffffffffffffff16815260200185815260200184815260200183815250908060018154018082558091505060019003905f5260205f2090600402015f909190919091505f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010190816109fe9190612ba1565b506040820151816002019081610a149190612ba1565b506060820151816003019081610a2a9190612ba1565b505050610a39336009546115f5565b60095f815480929190610a4b90612c9d565b9190505550505050565b610a6f83838360405180602001604052805f815250611198565b505050565b60605f60075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208054905090505f8103610af3576040517ff8826a6900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8167ffffffffffffffff811115610b0e57610b0d6122b6565b5b604051908082528060200260200182016040528015610b4757816020015b610b34611faf565b815260200190600190039081610b2c5790505b5090505f5b82811015610e0557600660075f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208281548110610ba557610ba46128ea565b5b905f5260205f20015481548110610bbf57610bbe6128ea565b5b905f5260205f2090600402016040518060800160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182018054610c3a906128ba565b80601f0160208091040260200160405190810160405280929190818152602001828054610c66906128ba565b8015610cb15780601f10610c8857610100808354040283529160200191610cb1565b820191905f5260205f20905b815481529060010190602001808311610c9457829003601f168201915b50505050508152602001600282018054610cca906128ba565b80601f0160208091040260200160405190810160405280929190818152602001828054610cf6906128ba565b8015610d415780601f10610d1857610100808354040283529160200191610d41565b820191905f5260205f20905b815481529060010190602001808311610d2457829003601f168201915b50505050508152602001600382018054610d5a906128ba565b80601f0160208091040260200160405190810160405280929190818152602001828054610d86906128ba565b8015610dd15780601f10610da857610100808354040283529160200191610dd1565b820191905f5260205f20905b815481529060010190602001808311610db457829003601f168201915b505050505081525050828281518110610ded57610dec6128ea565b5b60200260200101819052508080600101915050610b4c565b50809250505090565b60095481565b5f610e1e82611312565b9050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610e96575f6040517f89c62b64000000000000000000000000000000000000000000000000000000008152600401610e8d91906121dd565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b60068181548110610eea575f80fd5b905f5260205f2090600402015f91509050805f015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806001018054610f2e906128ba565b80601f0160208091040260200160405190810160405280929190818152602001828054610f5a906128ba565b8015610fa55780601f10610f7c57610100808354040283529160200191610fa5565b820191905f5260205f20905b815481529060010190602001808311610f8857829003601f168201915b505050505090806002018054610fba906128ba565b80601f0160208091040260200160405190810160405280929190818152602001828054610fe6906128ba565b80156110315780601f1061100857610100808354040283529160200191611031565b820191905f5260205f20905b81548152906001019060200180831161101457829003601f168201915b505050505090806003018054611046906128ba565b80601f0160208091040260200160405190810160405280929190818152602001828054611072906128ba565b80156110bd5780601f10611094576101008083540402835291602001916110bd565b820191905f5260205f20905b8154815290600101906020018083116110a057829003601f168201915b5050505050905084565b6060600180546110d6906128ba565b80601f0160208091040260200160405190810160405280929190818152602001828054611102906128ba565b801561114d5780601f106111245761010080835404028352916020019161114d565b820191905f5260205f20905b81548152906001019060200180831161113057829003601f168201915b5050505050905090565b6007602052815f5260405f208181548110611170575f80fd5b905f5260205f20015f91509150505481565b61119461118d6113d1565b83836116e8565b5050565b6111a3848484610699565b6111af84848484611851565b50505050565b60606111c082611312565b505f6111ca611a03565b90505f8151116111e85760405180602001604052805f815250611213565b806111f284611a19565b604051602001611203929190612ce4565b6040516020818303038152906040525b915050919050565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f8061131d83611ae3565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361138f57826040517f7e273289000000000000000000000000000000000000000000000000000000008152600401611386919061262d565b60405180910390fd5b80915050919050565b5f60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f33905090565b6113e58383836001611b1c565b505050565b5f806113f584611ae3565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461143657611435818486611cdb565b5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146114c1576114755f855f80611b1c565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461154057600160035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8460025f8681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611665575f6040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161165c91906121dd565b60405180910390fd5b5f61167183835f6113ea565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146116e3575f6040517f73c6ac6e0000000000000000000000000000000000000000000000000000000081526004016116da91906121dd565b60405180910390fd5b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361175857816040517f5b08ba1800000000000000000000000000000000000000000000000000000000815260040161174f91906121dd565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516118449190612097565b60405180910390a3505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b11156119fd578273ffffffffffffffffffffffffffffffffffffffff1663150b7a026118946113d1565b8685856040518563ffffffff1660e01b81526004016118b69493929190612d59565b6020604051808303815f875af19250505080156118f157506040513d601f19601f820116820180604052508101906118ee9190612db7565b60015b611972573d805f811461191f576040519150601f19603f3d011682016040523d82523d5f602084013e611924565b606091505b505f81510361196a57836040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161196191906121dd565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916146119fb57836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016119f291906121dd565b60405180910390fd5b505b50505050565b606060405180602001604052805f815250905090565b60605f6001611a2784611d9e565b0190505f8167ffffffffffffffff811115611a4557611a446122b6565b5b6040519080825280601f01601f191660200182016040528015611a775781602001600182028036833780820191505090505b5090505f82602001820190505b600115611ad8578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611acd57611acc612de2565b5b0494505f8503611a84575b819350505050919050565b5f60025f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8080611b5457505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611c86575f611b6384611312565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611bcd57508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b8015611be05750611bde818461121b565b155b15611c2257826040517fa9fbf51f000000000000000000000000000000000000000000000000000000008152600401611c1991906121dd565b60405180910390fd5b8115611c8457838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b8360045f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b611ce6838383611eef565b611d99575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d5a57806040517f7e273289000000000000000000000000000000000000000000000000000000008152600401611d51919061262d565b60405180910390fd5b81816040517f177e802f000000000000000000000000000000000000000000000000000000008152600401611d90929190612e0f565b60405180910390fd5b505050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611dfa577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381611df057611def612de2565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611e37576d04ee2d6d415b85acef81000000008381611e2d57611e2c612de2565b5b0492506020810190505b662386f26fc100008310611e6657662386f26fc100008381611e5c57611e5b612de2565b5b0492506010810190505b6305f5e1008310611e8f576305f5e1008381611e8557611e84612de2565b5b0492506008810190505b6127108310611eb4576127108381611eaa57611ea9612de2565b5b0492506004810190505b60648310611ed75760648381611ecd57611ecc612de2565b5b0492506002810190505b600a8310611ee6576001810190505b80915050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611fa657508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611f675750611f66848461121b565b5b80611fa557508273ffffffffffffffffffffffffffffffffffffffff16611f8d83611398565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b60405180608001604052805f73ffffffffffffffffffffffffffffffffffffffff1681526020016060815260200160608152602001606081525090565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61203181611ffd565b811461203b575f80fd5b50565b5f8135905061204c81612028565b92915050565b5f6020828403121561206757612066611ff5565b5b5f6120748482850161203e565b91505092915050565b5f8115159050919050565b6120918161207d565b82525050565b5f6020820190506120aa5f830184612088565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f6120f2826120b0565b6120fc81856120ba565b935061210c8185602086016120ca565b612115816120d8565b840191505092915050565b5f6020820190508181035f83015261213881846120e8565b905092915050565b5f819050919050565b61215281612140565b811461215c575f80fd5b50565b5f8135905061216d81612149565b92915050565b5f6020828403121561218857612187611ff5565b5b5f6121958482850161215f565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6121c78261219e565b9050919050565b6121d7816121bd565b82525050565b5f6020820190506121f05f8301846121ce565b92915050565b6121ff816121bd565b8114612209575f80fd5b50565b5f8135905061221a816121f6565b92915050565b5f806040838503121561223657612235611ff5565b5b5f6122438582860161220c565b92505060206122548582860161215f565b9150509250929050565b5f805f6060848603121561227557612274611ff5565b5b5f6122828682870161220c565b93505060206122938682870161220c565b92505060406122a48682870161215f565b9150509250925092565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6122ec826120d8565b810181811067ffffffffffffffff8211171561230b5761230a6122b6565b5b80604052505050565b5f61231d611fec565b905061232982826122e3565b919050565b5f67ffffffffffffffff821115612348576123476122b6565b5b612351826120d8565b9050602081019050919050565b828183375f83830152505050565b5f61237e6123798461232e565b612314565b90508281526020810184848401111561239a576123996122b2565b5b6123a584828561235e565b509392505050565b5f82601f8301126123c1576123c06122ae565b5b81356123d184826020860161236c565b91505092915050565b5f805f606084860312156123f1576123f0611ff5565b5b5f84013567ffffffffffffffff81111561240e5761240d611ff9565b5b61241a868287016123ad565b935050602084013567ffffffffffffffff81111561243b5761243a611ff9565b5b612447868287016123ad565b925050604084013567ffffffffffffffff81111561246857612467611ff9565b5b612474868287016123ad565b9150509250925092565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b6124b0816121bd565b82525050565b5f82825260208201905092915050565b5f6124d0826120b0565b6124da81856124b6565b93506124ea8185602086016120ca565b6124f3816120d8565b840191505092915050565b5f608083015f8301516125135f8601826124a7565b506020830151848203602086015261252b82826124c6565b9150506040830151848203604086015261254582826124c6565b9150506060830151848203606086015261255f82826124c6565b9150508091505092915050565b5f61257783836124fe565b905092915050565b5f602082019050919050565b5f6125958261247e565b61259f8185612488565b9350836020820285016125b185612498565b805f5b858110156125ec57848403895281516125cd858261256c565b94506125d88361257f565b925060208a019950506001810190506125b4565b50829750879550505050505092915050565b5f6020820190508181035f830152612616818461258b565b905092915050565b61262781612140565b82525050565b5f6020820190506126405f83018461261e565b92915050565b5f6020828403121561265b5761265a611ff5565b5b5f6126688482850161220c565b91505092915050565b5f6080820190506126845f8301876121ce565b818103602083015261269681866120e8565b905081810360408301526126aa81856120e8565b905081810360608301526126be81846120e8565b905095945050505050565b6126d28161207d565b81146126dc575f80fd5b50565b5f813590506126ed816126c9565b92915050565b5f806040838503121561270957612708611ff5565b5b5f6127168582860161220c565b9250506020612727858286016126df565b9150509250929050565b5f67ffffffffffffffff82111561274b5761274a6122b6565b5b612754826120d8565b9050602081019050919050565b5f61277361276e84612731565b612314565b90508281526020810184848401111561278f5761278e6122b2565b5b61279a84828561235e565b509392505050565b5f82601f8301126127b6576127b56122ae565b5b81356127c6848260208601612761565b91505092915050565b5f805f80608085870312156127e7576127e6611ff5565b5b5f6127f48782880161220c565b94505060206128058782880161220c565b93505060406128168782880161215f565b925050606085013567ffffffffffffffff81111561283757612836611ff9565b5b612843878288016127a2565b91505092959194509250565b5f806040838503121561286557612864611ff5565b5b5f6128728582860161220c565b92505060206128838582860161220c565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806128d157607f821691505b6020821081036128e4576128e361288d565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f60608201905061292a5f8301866121ce565b612937602083018561261e565b61294460408301846121ce565b949350505050565b7f4e6f206d6f7265206861696b75730000000000000000000000000000000000005f82015250565b5f612980600e836120ba565b915061298b8261294c565b602082019050919050565b5f6020820190508181035f8301526129ad81612974565b9050919050565b5f81905092915050565b5f6129c8826120b0565b6129d281856129b4565b93506129e28185602086016120ca565b80840191505092915050565b5f6129f982846129be565b915081905092915050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302612a607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612a25565b612a6a8683612a25565b95508019841693508086168417925050509392505050565b5f819050919050565b5f612aa5612aa0612a9b84612140565b612a82565b612140565b9050919050565b5f819050919050565b612abe83612a8b565b612ad2612aca82612aac565b848454612a31565b825550505050565b5f90565b612ae6612ada565b612af1818484612ab5565b505050565b5b81811015612b1457612b095f82612ade565b600181019050612af7565b5050565b601f821115612b5957612b2a81612a04565b612b3384612a16565b81016020851015612b42578190505b612b56612b4e85612a16565b830182612af6565b50505b505050565b5f82821c905092915050565b5f612b795f1984600802612b5e565b1980831691505092915050565b5f612b918383612b6a565b9150826002028217905092915050565b612baa826120b0565b67ffffffffffffffff811115612bc357612bc26122b6565b5b612bcd82546128ba565b612bd8828285612b18565b5f60209050601f831160018114612c09575f8415612bf7578287015190505b612c018582612b86565b865550612c68565b601f198416612c1786612a04565b5f5b82811015612c3e57848901518255600182019150602085019450602081019050612c19565b86831015612c5b5784890151612c57601f891682612b6a565b8355505b6001600288020188555050505b505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612ca782612140565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612cd957612cd8612c70565b5b600182019050919050565b5f612cef82856129be565b9150612cfb82846129be565b91508190509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f612d2b82612d07565b612d358185612d11565b9350612d458185602086016120ca565b612d4e816120d8565b840191505092915050565b5f608082019050612d6c5f8301876121ce565b612d7960208301866121ce565b612d86604083018561261e565b8181036060830152612d988184612d21565b905095945050505050565b5f81519050612db181612028565b92915050565b5f60208284031215612dcc57612dcb611ff5565b5b5f612dd984828501612da3565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f604082019050612e225f8301856121ce565b612e2f602083018461261e565b939250505056fea26469706673582212200b7892a7ebc8d37c0fef2fd95de84abaa7483936357279ece5e106bc1e54ea9464736f6c634300081a0033