608060405234801561000f575f5ffd5b50336040518060400160405280600c81526020017f5544576562334e756d62657200000000000000000000000000000000000000008152506040518060400160405280600581526020017f554457334e000000000000000000000000000000000000000000000000000000815250815f908161008b919061042a565b50806001908161009b919061042a565b5050505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361010e575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016101059190610538565b60405180910390fd5b61011d8161012a60201b60201c565b505f600a81905550610551565b5f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061026857607f821691505b60208210810361027b5761027a610224565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026102dd7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826102a2565b6102e786836102a2565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f61032b610326610321846102ff565b610308565b6102ff565b9050919050565b5f819050919050565b61034483610311565b61035861035082610332565b8484546102ae565b825550505050565b5f5f905090565b61036f610360565b61037a81848461033b565b505050565b5b8181101561039d576103925f82610367565b600181019050610380565b5050565b601f8211156103e2576103b381610281565b6103bc84610293565b810160208510156103cb578190505b6103df6103d785610293565b83018261037f565b50505b505050565b5f82821c905092915050565b5f6104025f19846008026103e7565b1980831691505092915050565b5f61041a83836103f3565b9150826002028217905092915050565b610433826101ed565b67ffffffffffffffff81111561044c5761044b6101f7565b5b6104568254610251565b6104618282856103a1565b5f60209050601f831160018114610492575f8415610480578287015190505b61048a858261040f565b8655506104f1565b601f1984166104a086610281565b5f5b828110156104c7578489015182556001820191506020850194506020810190506104a2565b868310156104e457848901516104e0601f8916826103f3565b8355505b6001600288020188555050505b505050505050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f610522826104f9565b9050919050565b61053281610518565b82525050565b5f60208201905061054b5f830184610529565b92915050565b612ddd8061055e5f395ff3fe608060405234801561000f575f5ffd5b5060043610610140575f3560e01c80638da5cb5b116100b6578063a22cb4651161007a578063a22cb46514610386578063b88d4fde146103a2578063c87b56dd146103be578063e6fff0b7146103ee578063e985e9c51461041e578063f2fde38b1461044e57610140565b80638da5cb5b146102cc57806395b20264146102ea57806395d89b411461031a57806398bdf6f5146103385780639b893bbf1461035657610140565b806342842e0e1161010857806342842e0e146101fa578063546036b4146102165780636352211e146102325780636fe12fd51461026257806370a0823114610292578063715018a6146102c257610140565b806301ffc9a71461014457806306fdde0314610174578063081812fc14610192578063095ea7b3146101c257806323b872dd146101de575b5f5ffd5b61015e60048036038101906101599190611f6c565b61046a565b60405161016b9190611fb1565b60405180910390f35b61017c6104ca565b604051610189919061203a565b60405180910390f35b6101ac60048036038101906101a7919061208d565b610559565b6040516101b991906120f7565b60405180910390f35b6101dc60048036038101906101d7919061213a565b610574565b005b6101f860048036038101906101f39190612178565b61058a565b005b610214600480360381019061020f9190612178565b610689565b005b610230600480360381019061022b91906123d6565b6106a8565b005b61024c6004803603810190610247919061208d565b6108dd565b60405161025991906120f7565b60405180910390f35b61027c6004803603810190610277919061244c565b6108ee565b60405161028991906120f7565b60405180910390f35b6102ac60048036038101906102a79190612493565b610934565b6040516102b991906124cd565b60405180910390f35b6102ca6109ea565b005b6102d46109fd565b6040516102e191906120f7565b60405180910390f35b61030460048036038101906102ff9190612493565b610a25565b60405161031191906125e9565b60405180910390f35b610322610b36565b60405161032f919061203a565b60405180910390f35b610340610bc6565b60405161034d91906124cd565b60405180910390f35b610370600480360381019061036b919061244c565b610bcc565b60405161037d91906120f7565b60405180910390f35b6103a0600480360381019061039b9190612633565b610c14565b005b6103bc60048036038101906103b7919061270f565b610c2a565b005b6103d860048036038101906103d3919061208d565b610c47565b6040516103e5919061203a565b60405180910390f35b6104086004803603810190610403919061213a565b610d52565b604051610415919061203a565b60405180910390f35b6104386004803603810190610433919061278f565b610e03565b6040516104459190611fb1565b60405180910390f35b61046860048036038101906104639190612493565b610e91565b005b5f634906490660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806104c357506104c282610f15565b5b9050919050565b60605f80546104d8906127fa565b80601f0160208091040260200160405190810160405280929190818152602001828054610504906127fa565b801561054f5780601f106105265761010080835404028352916020019161054f565b820191905f5260205f20905b81548152906001019060200180831161053257829003601f168201915b5050505050905090565b5f61056382610ff6565b5061056d8261107c565b9050919050565b61058682826105816110b5565b6110bc565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036105fa575f6040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016105f191906120f7565b60405180910390fd5b5f61060d83836106086110b5565b6110ce565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610683578382826040517f64283d7b00000000000000000000000000000000000000000000000000000000815260040161067a9392919061282a565b60405180910390fd5b50505050565b6106a383838360405180602001604052805f815250610c2a565b505050565b5f5f90505b82518110156108d8575f8382815181106106ca576106c961285f565b5b602002602001015190505f73ffffffffffffffffffffffffffffffffffffffff166008826040516106fb91906128c6565b90815260200160405180910390205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461077f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077690612926565b60405180910390fd5b3360088260405161079091906128c6565b90815260200160405180910390205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060095f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081908060018154018082558091505060019003905f5260205f20015f9091909190915090816108479190612ae4565b505f600a54905061085833826112d9565b61086281856113cc565b3373ffffffffffffffffffffffffffffffffffffffff167f43fe410264ee52cabdc94b44426dcbe4f2f73284fd4abcfe71bf8b28deab7b8d83836040516108aa929190612bb3565b60405180910390a2600a5f8154809291906108c490612c0e565b9190505550505080806001019150506106ad565b505050565b5f6108e782610ff6565b9050919050565b5f6008826040516108ff91906128c6565b90815260200160405180910390205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036109a5575f6040517f89c62b6400000000000000000000000000000000000000000000000000000000815260040161099c91906120f7565b60405180910390fd5b60035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b6109f2611426565b6109fb5f6114ad565b565b5f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060095f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20805480602002602001604051908101604052809291908181526020015f905b82821015610b2b578382905f5260205f20018054610aa0906127fa565b80601f0160208091040260200160405190810160405280929190818152602001828054610acc906127fa565b8015610b175780601f10610aee57610100808354040283529160200191610b17565b820191905f5260205f20905b815481529060010190602001808311610afa57829003601f168201915b505050505081526020019060010190610a83565b505050509050919050565b606060018054610b45906127fa565b80601f0160208091040260200160405190810160405280929190818152602001828054610b71906127fa565b8015610bbc5780601f10610b9357610100808354040283529160200191610bbc565b820191905f5260205f20905b815481529060010190602001808311610b9f57829003601f168201915b5050505050905090565b600a5481565b6008818051602081018201805184825260208301602085012081835280955050505050505f915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c26610c1f6110b5565b8383611570565b5050565b610c3584848461058a565b610c41848484846116d9565b50505050565b6060610c5282610ff6565b505f60065f8481526020019081526020015f208054610c70906127fa565b80601f0160208091040260200160405190810160405280929190818152602001828054610c9c906127fa565b8015610ce75780601f10610cbe57610100808354040283529160200191610ce7565b820191905f5260205f20905b815481529060010190602001808311610cca57829003601f168201915b505050505090505f610cf761188b565b90505f815103610d0b578192505050610d4d565b5f82511115610d3f578082604051602001610d27929190612c55565b60405160208183030381529060405292505050610d4d565b610d48846118a1565b925050505b919050565b6009602052815f5260405f208181548110610d6b575f80fd5b905f5260205f20015f91509150508054610d84906127fa565b80601f0160208091040260200160405190810160405280929190818152602001828054610db0906127fa565b8015610dfb5780601f10610dd257610100808354040283529160200191610dfb565b820191905f5260205f20905b815481529060010190602001808311610dde57829003601f168201915b505050505081565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b610e99611426565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f09575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401610f0091906120f7565b60405180910390fd5b610f12816114ad565b50565b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610fdf57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610fef5750610fee82611907565b5b9050919050565b5f5f61100183611970565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361107357826040517f7e27328900000000000000000000000000000000000000000000000000000000815260040161106a91906124cd565b60405180910390fd5b80915050919050565b5f60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f33905090565b6110c983838360016119a9565b505050565b5f5f6110d984611970565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461111a57611119818486611b68565b5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146111a5576111595f855f5f6119a9565b600160035f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461122457600160035f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8460025f8681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611349575f6040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161134091906120f7565b60405180910390fd5b5f61135583835f6110ce565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146113c7575f6040517f73c6ac6e0000000000000000000000000000000000000000000000000000000081526004016113be91906120f7565b60405180910390fd5b505050565b8060065f8481526020019081526020015f2090816113ea9190612ae4565b507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce78260405161141a91906124cd565b60405180910390a15050565b61142e6110b5565b73ffffffffffffffffffffffffffffffffffffffff1661144c6109fd565b73ffffffffffffffffffffffffffffffffffffffff16146114ab5761146f6110b5565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016114a291906120f7565b60405180910390fd5b565b5f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036115e057816040517f5b08ba180000000000000000000000000000000000000000000000000000000081526004016115d791906120f7565b60405180910390fd5b8060055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516116cc9190611fb1565b60405180910390a3505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b1115611885578273ffffffffffffffffffffffffffffffffffffffff1663150b7a0261171c6110b5565b8685856040518563ffffffff1660e01b815260040161173e9493929190612cca565b6020604051808303815f875af192505050801561177957506040513d601f19601f820116820180604052508101906117769190612d28565b60015b6117fa573d805f81146117a7576040519150601f19603f3d011682016040523d82523d5f602084013e6117ac565b606091505b505f8151036117f257836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016117e991906120f7565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461188357836040517f64a0ae9200000000000000000000000000000000000000000000000000000000815260040161187a91906120f7565b60405180910390fd5b505b50505050565b606060405180602001604052805f815250905090565b60606118ac82610ff6565b505f6118b661188b565b90505f8151116118d45760405180602001604052805f8152506118ff565b806118de84611c2b565b6040516020016118ef929190612c55565b6040516020818303038152906040525b915050919050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b5f60025f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b80806119e157505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611b13575f6119f084610ff6565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611a5a57508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b8015611a6d5750611a6b8184610e03565b155b15611aaf57826040517fa9fbf51f000000000000000000000000000000000000000000000000000000008152600401611aa691906120f7565b60405180910390fd5b8115611b1157838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b8360045f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b611b73838383611cf5565b611c26575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611be757806040517f7e273289000000000000000000000000000000000000000000000000000000008152600401611bde91906124cd565b60405180910390fd5b81816040517f177e802f000000000000000000000000000000000000000000000000000000008152600401611c1d929190612d53565b60405180910390fd5b505050565b60605f6001611c3984611db5565b0190505f8167ffffffffffffffff811115611c5757611c566121cc565b5b6040519080825280601f01601f191660200182016040528015611c895781602001600182028036833780820191505090505b5090505f82602001820190505b600115611cea578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611cdf57611cde612d7a565b5b0494505f8503611c96575b819350505050919050565b5f5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611dac57508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611d6d5750611d6c8484610e03565b5b80611dab57508273ffffffffffffffffffffffffffffffffffffffff16611d938361107c565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b5f5f5f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611e11577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381611e0757611e06612d7a565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310611e4e576d04ee2d6d415b85acef81000000008381611e4457611e43612d7a565b5b0492506020810190505b662386f26fc100008310611e7d57662386f26fc100008381611e7357611e72612d7a565b5b0492506010810190505b6305f5e1008310611ea6576305f5e1008381611e9c57611e9b612d7a565b5b0492506008810190505b6127108310611ecb576127108381611ec157611ec0612d7a565b5b0492506004810190505b60648310611eee5760648381611ee457611ee3612d7a565b5b0492506002810190505b600a8310611efd576001810190505b80915050919050565b5f604051905090565b5f5ffd5b5f5ffd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611f4b81611f17565b8114611f55575f5ffd5b50565b5f81359050611f6681611f42565b92915050565b5f60208284031215611f8157611f80611f0f565b5b5f611f8e84828501611f58565b91505092915050565b5f8115159050919050565b611fab81611f97565b82525050565b5f602082019050611fc45f830184611fa2565b92915050565b5f81519050919050565b5f82825260208201905092915050565b8281835e5f83830152505050565b5f601f19601f8301169050919050565b5f61200c82611fca565b6120168185611fd4565b9350612026818560208601611fe4565b61202f81611ff2565b840191505092915050565b5f6020820190508181035f8301526120528184612002565b905092915050565b5f819050919050565b61206c8161205a565b8114612076575f5ffd5b50565b5f8135905061208781612063565b92915050565b5f602082840312156120a2576120a1611f0f565b5b5f6120af84828501612079565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6120e1826120b8565b9050919050565b6120f1816120d7565b82525050565b5f60208201905061210a5f8301846120e8565b92915050565b612119816120d7565b8114612123575f5ffd5b50565b5f8135905061213481612110565b92915050565b5f5f604083850312156121505761214f611f0f565b5b5f61215d85828601612126565b925050602061216e85828601612079565b9150509250929050565b5f5f5f6060848603121561218f5761218e611f0f565b5b5f61219c86828701612126565b93505060206121ad86828701612126565b92505060406121be86828701612079565b9150509250925092565b5f5ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61220282611ff2565b810181811067ffffffffffffffff82111715612221576122206121cc565b5b80604052505050565b5f612233611f06565b905061223f82826121f9565b919050565b5f67ffffffffffffffff82111561225e5761225d6121cc565b5b602082029050602081019050919050565b5f5ffd5b5f5ffd5b5f67ffffffffffffffff821115612291576122906121cc565b5b61229a82611ff2565b9050602081019050919050565b828183375f83830152505050565b5f6122c76122c284612277565b61222a565b9050828152602081018484840111156122e3576122e2612273565b5b6122ee8482856122a7565b509392505050565b5f82601f83011261230a576123096121c8565b5b813561231a8482602086016122b5565b91505092915050565b5f61233561233084612244565b61222a565b905080838252602082019050602084028301858111156123585761235761226f565b5b835b8181101561239f57803567ffffffffffffffff81111561237d5761237c6121c8565b5b80860161238a89826122f6565b8552602085019450505060208101905061235a565b5050509392505050565b5f82601f8301126123bd576123bc6121c8565b5b81356123cd848260208601612323565b91505092915050565b5f5f604083850312156123ec576123eb611f0f565b5b5f83013567ffffffffffffffff81111561240957612408611f13565b5b612415858286016123a9565b925050602083013567ffffffffffffffff81111561243657612435611f13565b5b612442858286016122f6565b9150509250929050565b5f6020828403121561246157612460611f0f565b5b5f82013567ffffffffffffffff81111561247e5761247d611f13565b5b61248a848285016122f6565b91505092915050565b5f602082840312156124a8576124a7611f0f565b5b5f6124b584828501612126565b91505092915050565b6124c78161205a565b82525050565b5f6020820190506124e05f8301846124be565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f82825260208201905092915050565b5f61252982611fca565b612533818561250f565b9350612543818560208601611fe4565b61254c81611ff2565b840191505092915050565b5f612562838361251f565b905092915050565b5f602082019050919050565b5f612580826124e6565b61258a81856124f0565b93508360208202850161259c85612500565b805f5b858110156125d757848403895281516125b88582612557565b94506125c38361256a565b925060208a0199505060018101905061259f565b50829750879550505050505092915050565b5f6020820190508181035f8301526126018184612576565b905092915050565b61261281611f97565b811461261c575f5ffd5b50565b5f8135905061262d81612609565b92915050565b5f5f6040838503121561264957612648611f0f565b5b5f61265685828601612126565b92505060206126678582860161261f565b9150509250929050565b5f67ffffffffffffffff82111561268b5761268a6121cc565b5b61269482611ff2565b9050602081019050919050565b5f6126b36126ae84612671565b61222a565b9050828152602081018484840111156126cf576126ce612273565b5b6126da8482856122a7565b509392505050565b5f82601f8301126126f6576126f56121c8565b5b81356127068482602086016126a1565b91505092915050565b5f5f5f5f6080858703121561272757612726611f0f565b5b5f61273487828801612126565b945050602061274587828801612126565b935050604061275687828801612079565b925050606085013567ffffffffffffffff81111561277757612776611f13565b5b612783878288016126e2565b91505092959194509250565b5f5f604083850312156127a5576127a4611f0f565b5b5f6127b285828601612126565b92505060206127c385828601612126565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061281157607f821691505b602082108103612824576128236127cd565b5b50919050565b5f60608201905061283d5f8301866120e8565b61284a60208301856124be565b61285760408301846120e8565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f81905092915050565b5f6128a082611fca565b6128aa818561288c565b93506128ba818560208601611fe4565b80840191505092915050565b5f6128d18284612896565b915081905092915050565b7f50686f6e65206e756d62657220616c7265616479206d61707065642e000000005f82015250565b5f612910601c83611fd4565b915061291b826128dc565b602082019050919050565b5f6020820190508181035f83015261293d81612904565b9050919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026129a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612965565b6129aa8683612965565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6129e56129e06129db8461205a565b6129c2565b61205a565b9050919050565b5f819050919050565b6129fe836129cb565b612a12612a0a826129ec565b848454612971565b825550505050565b5f5f905090565b612a29612a1a565b612a348184846129f5565b505050565b5b81811015612a5757612a4c5f82612a21565b600181019050612a3a565b5050565b601f821115612a9c57612a6d81612944565b612a7684612956565b81016020851015612a85578190505b612a99612a9185612956565b830182612a39565b50505b505050565b5f82821c905092915050565b5f612abc5f1984600802612aa1565b1980831691505092915050565b5f612ad48383612aad565b9150826002028217905092915050565b612aed82611fca565b67ffffffffffffffff811115612b0657612b056121cc565b5b612b1082546127fa565b612b1b828285612a5b565b5f60209050601f831160018114612b4c575f8415612b3a578287015190505b612b448582612ac9565b865550612bab565b601f198416612b5a86612944565b5f5b82811015612b8157848901518255600182019150602085019450602081019050612b5c565b86831015612b9e5784890151612b9a601f891682612aad565b8355505b6001600288020188555050505b505050505050565b5f6040820190508181035f830152612bcb8185612002565b9050612bda60208301846124be565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612c188261205a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612c4a57612c49612be1565b5b600182019050919050565b5f612c608285612896565b9150612c6c8284612896565b91508190509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f612c9c82612c78565b612ca68185612c82565b9350612cb6818560208601611fe4565b612cbf81611ff2565b840191505092915050565b5f608082019050612cdd5f8301876120e8565b612cea60208301866120e8565b612cf760408301856124be565b8181036060830152612d098184612c92565b905095945050505050565b5f81519050612d2281611f42565b92915050565b5f60208284031215612d3d57612d3c611f0f565b5b5f612d4a84828501612d14565b91505092915050565b5f604082019050612d665f8301856120e8565b612d7360208301846124be565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffdfea2646970667358221220cdbe9f190b2ac2ded6951bac5d75e16bfa1a15cd991f25b352486d50fa1c5bc064736f6c634300081b0033