608060405234801562000010575f80fd5b5060405162003db938038062003db9833981810160405281019062000036919062000910565b33888881600390816200004a919062000c5f565b5080600490816200005c919062000c5f565b5050505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620000d2575f6040517f1e4fbdf7000000000000000000000000000000000000000000000000000000008152600401620000c9919062000d54565b60405180910390fd5b620000e3816200038160201b60201c565b505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000155576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200014c9062000df3565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603620001c6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001bd9062000e87565b60405180910390fd5b83600981905550620001df82876200044460201b60201c565b8460069081620001f0919062000c5f565b5082600860016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505f60085f6101000a81548160ff02191690831515021790555080600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fcaa2b243e23c84aae9d162129dfb10ad713e8af9bf6125d49fb6cf1cd6c8dbbc600160405162000329919062000ec3565b60405180910390a28073ffffffffffffffffffffffffffffffffffffffff167ed5a65155d7be3d122477fbbe39d17b62f95de6bcada828cf686ca7ff4e5d7f60405160405180910390a2505050505050505062000fac565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620004b7575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401620004ae919062000d54565b60405180910390fd5b620004ca5f8383620004ce60201b60201c565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000522578060025f82825462000515919062000f0b565b92505081905550620005f3565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015620005ae578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401620005a59392919062000f56565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200063c578060025f828254039250508190555062000686565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620006e5919062000f91565b60405180910390a3505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b62000753826200070b565b810181811067ffffffffffffffff821117156200077557620007746200071b565b5b80604052505050565b5f62000789620006f2565b905062000797828262000748565b919050565b5f67ffffffffffffffff821115620007b957620007b86200071b565b5b620007c4826200070b565b9050602081019050919050565b5f5b83811015620007f0578082015181840152602081019050620007d3565b5f8484015250505050565b5f620008116200080b846200079c565b6200077e565b90508281526020810184848401111562000830576200082f62000707565b5b6200083d848285620007d1565b509392505050565b5f82601f8301126200085c576200085b62000703565b5b81516200086e848260208601620007fb565b91505092915050565b5f819050919050565b6200088b8162000877565b811462000896575f80fd5b50565b5f81519050620008a98162000880565b92915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620008da82620008af565b9050919050565b620008ec81620008ce565b8114620008f7575f80fd5b50565b5f815190506200090a81620008e1565b92915050565b5f805f805f805f80610100898b03121562000930576200092f620006fb565b5b5f89015167ffffffffffffffff81111562000950576200094f620006ff565b5b6200095e8b828c0162000845565b985050602089015167ffffffffffffffff811115620009825762000981620006ff565b5b620009908b828c0162000845565b9750506040620009a38b828c0162000899565b965050606089015167ffffffffffffffff811115620009c757620009c6620006ff565b5b620009d58b828c0162000845565b9550506080620009e88b828c0162000899565b94505060a0620009fb8b828c01620008fa565b93505060c062000a0e8b828c01620008fa565b92505060e062000a218b828c01620008fa565b9150509295985092959890939650565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000a8057607f821691505b60208210810362000a965762000a9562000a3b565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000afa7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000abd565b62000b06868362000abd565b95508019841693508086168417925050509392505050565b5f819050919050565b5f62000b4762000b4162000b3b8462000877565b62000b1e565b62000877565b9050919050565b5f819050919050565b62000b628362000b27565b62000b7a62000b718262000b4e565b84845462000ac9565b825550505050565b5f90565b62000b9062000b82565b62000b9d81848462000b57565b505050565b5b8181101562000bc45762000bb85f8262000b86565b60018101905062000ba3565b5050565b601f82111562000c135762000bdd8162000a9c565b62000be88462000aae565b8101602085101562000bf8578190505b62000c1062000c078562000aae565b83018262000ba2565b50505b505050565b5f82821c905092915050565b5f62000c355f198460080262000c18565b1980831691505092915050565b5f62000c4f838362000c24565b9150826002028217905092915050565b62000c6a8262000a31565b67ffffffffffffffff81111562000c865762000c856200071b565b5b62000c92825462000a68565b62000c9f82828562000bc8565b5f60209050601f83116001811462000cd5575f841562000cc0578287015190505b62000ccc858262000c42565b86555062000d3b565b601f19841662000ce58662000a9c565b5f5b8281101562000d0e5784890151825560018201915060208501945060208101905062000ce7565b8683101562000d2e578489015162000d2a601f89168262000c24565b8355505b6001600288020188555050505b505050505050565b62000d4e81620008ce565b82525050565b5f60208201905062000d695f83018462000d43565b92915050565b5f82825260208201905092915050565b7f46656520636f6c6c6563746f722063616e6e6f74206265207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f62000ddb60248362000d6f565b915062000de88262000d7f565b604082019050919050565b5f6020820190508181035f83015262000e0c8162000dcd565b9050919050565b7f5072696d61727920666565207461726765742063616e6e6f74206265207a65725f8201527f6f20616464726573730000000000000000000000000000000000000000000000602082015250565b5f62000e6f60298362000d6f565b915062000e7c8262000e13565b604082019050919050565b5f6020820190508181035f83015262000ea08162000e61565b9050919050565b5f8115159050919050565b62000ebd8162000ea7565b82525050565b5f60208201905062000ed85f83018462000eb2565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f62000f178262000877565b915062000f248362000877565b925082820190508082111562000f3f5762000f3e62000ede565b5b92915050565b62000f508162000877565b82525050565b5f60608201905062000f6b5f83018662000d43565b62000f7a602083018562000f45565b62000f89604083018462000f45565b949350505050565b5f60208201905062000fa65f83018462000f45565b92915050565b612dff8062000fba5f395ff3fe608060405234801561000f575f80fd5b50600436106101f9575f3560e01c806379cc679011610118578063a876bef2116100ab578063dc7ccfed1161007a578063dc7ccfed14610589578063dd62ed3e146105a5578063e0df5b6f146105d5578063f2fde38b146105f1578063f46eccc41461060d576101f9565b8063a876bef2146104ef578063a9059cbb1461051f578063c415b95c1461054f578063c894e1e51461056d576101f9565b8063983b2d56116100e7578063983b2d561461047d578063a2b5c74a14610499578063a42dce80146104b5578063a5c42ef1146104d1576101f9565b806379cc6790146104095780638c052aa5146104255780638da5cb5b1461044157806395d89b411461045f576101f9565b80633c130d9011610190578063614b76b21161015f578063614b76b2146103955780636895000c146103b157806370a08231146103cf578063715018a6146103ff576101f9565b80633c130d901461030f57806340c10f191461032d57806342966c681461034957806355e7aecc14610365576101f9565b80633092afd5116101cc5780633092afd514610299578063313ce567146102b5578063333584a3146102d3578063351bf518146102f1576101f9565b806306fdde03146101fd578063095ea7b31461021b57806318160ddd1461024b57806323b872dd14610269575b5f80fd5b61020561063d565b6040516102129190611f5f565b60405180910390f35b6102356004803603810190610230919061201d565b6106cd565b6040516102429190612075565b60405180910390f35b6102536106ef565b604051610260919061209d565b60405180910390f35b610283600480360381019061027e91906120b6565b6106f8565b6040516102909190612075565b60405180910390f35b6102b360048036038101906102ae9190612106565b610726565b005b6102bd6107f3565b6040516102ca919061214c565b60405180910390f35b6102db6107fb565b6040516102e89190612174565b60405180910390f35b6102f9610820565b604051610306919061209d565b60405180910390f35b610317610826565b6040516103249190611f5f565b60405180910390f35b6103476004803603810190610342919061201d565b6108b6565b005b610363600480360381019061035e919061218d565b610932565b005b61037f600480360381019061037a9190612106565b610946565b60405161038c9190612075565b60405180910390f35b6103af60048036038101906103aa9190612106565b610963565b005b6103b9610be6565b6040516103c69190612075565b60405180910390f35b6103e960048036038101906103e49190612106565b610bf8565b6040516103f6919061209d565b60405180910390f35b610407610c3d565b005b610423600480360381019061041e919061201d565b610c50565b005b61043f600480360381019061043a91906121e2565b610c70565b005b610449610d8c565b6040516104569190612174565b60405180910390f35b610467610db4565b6040516104749190611f5f565b60405180910390f35b61049760048036038101906104929190612106565b610e44565b005b6104b360048036038101906104ae9190612106565b610f12565b005b6104cf60048036038101906104ca9190612106565b611145565b005b6104d9611236565b6040516104e6919061209d565b60405180910390f35b61050960048036038101906105049190612220565b61123c565b6040516105169190612075565b60405180910390f35b6105396004803603810190610534919061201d565b6112e0565b6040516105469190612075565b60405180910390f35b610557611302565b6040516105649190612174565b60405180910390f35b6105876004803603810190610582919061218d565b611328565b005b6105a3600480360381019061059e919061225e565b6113b6565b005b6105bf60048036038101906105ba9190612220565b611411565b6040516105cc919061209d565b60405180910390f35b6105ef60048036038101906105ea91906123b5565b611493565b005b61060b60048036038101906106069190612106565b6114e5565b005b61062760048036038101906106229190612106565b611569565b6040516106349190612075565b60405180910390f35b60606003805461064c90612429565b80601f016020809104026020016040519081016040528092919081815260200182805461067890612429565b80156106c35780601f1061069a576101008083540402835291602001916106c3565b820191905f5260205f20905b8154815290600101906020018083116106a657829003601f168201915b5050505050905090565b5f806106d7611586565b90506106e481858561158d565b600191505092915050565b5f600254905090565b5f80610702611586565b905061070f85828561159f565b61071a858585611631565b60019150509392505050565b61072e6117b5565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361079c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610793906124c9565b60405180910390fd5b5f600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b5f6012905090565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60075481565b60606006805461083590612429565b80601f016020809104026020016040519081016040528092919081815260200182805461086190612429565b80156108ac5780601f10610883576101008083540402835291602001916108ac565b820191905f5260205f20905b81548152906001019060200180831161088f57829003601f168201915b5050505050905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610924576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091b90612531565b60405180910390fd5b61092e828261183c565b5050565b61094361093d611586565b826118bb565b50565b600b602052805f5260405f205f915054906101000a900460ff1681565b61096b6117b5565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109d9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109d0906125bf565b60405180910390fd5b5f600b5f600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fcaa2b243e23c84aae9d162129dfb10ad713e8af9bf6125d49fb6cf1cd6c8dbbc5f604051610ab59190612075565b60405180910390a280600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fcaa2b243e23c84aae9d162129dfb10ad713e8af9bf6125d49fb6cf1cd6c8dbbc6001604051610b999190612075565b60405180910390a28073ffffffffffffffffffffffffffffffffffffffff167ed5a65155d7be3d122477fbbe39d17b62f95de6bcada828cf686ca7ff4e5d7f60405160405180910390a250565b60085f9054906101000a900460ff1681565b5f805f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610c456117b5565b610c4e5f61193a565b565b610c6282610c5c611586565b8361159f565b610c6c82826118bb565b5050565b610c786117b5565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ce6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdd9061264d565b60405180910390fd5b80600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fcaa2b243e23c84aae9d162129dfb10ad713e8af9bf6125d49fb6cf1cd6c8dbbc82604051610d809190612075565b60405180910390a25050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060048054610dc390612429565b80601f0160208091040260200160405190810160405280929190818152602001828054610def90612429565b8015610e3a5780601f10610e1157610100808354040283529160200191610e3a565b820191905f5260205f20905b815481529060010190602001808311610e1d57829003601f168201915b5050505050905090565b610e4c6117b5565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610eba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eb1906126db565b60405180910390fd5b6001600a5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555050565b610f1a6117b5565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610f88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7f90612743565b60405180910390fd5b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611017576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100e906127ab565b60405180910390fd5b600b5f8273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff166110a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109790612813565b60405180910390fd5b5f600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508073ffffffffffffffffffffffffffffffffffffffff167fcaa2b243e23c84aae9d162129dfb10ad713e8af9bf6125d49fb6cf1cd6c8dbbc5f60405161113a9190612075565b60405180910390a250565b61114d6117b5565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036111bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b2906128a1565b60405180910390fd5b80600860016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fe5693914d19c789bdee50a362998c0bc8d035a835f9871da5d51152f0582c34f8160405161122b9190612174565b60405180910390a150565b60095481565b5f600b5f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16806112d85750600b5f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b905092915050565b5f806112ea611586565b90506112f7818585611631565b600191505092915050565b600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6113306117b5565b612710811115611375576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136c90612909565b60405180910390fd5b806007819055507f1723c194c108df281b957a5141ed3ebce4571635c93643f26ae09f0b153b4a9e816040516113ab919061209d565b60405180910390a150565b6113be6117b5565b8060085f6101000a81548160ff0219169083151502179055507faa98876ef8c7a62c65b18da07b4a1c0e007bf3f75afc0581d66e29f5160d4c90816040516114069190612075565b60405180910390a150565b5f60015f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b61149b6117b5565b80600690816114aa9190612ac4565b507f3d25540fafb277423a5c9552c25096f7c0c69178c044fd61c947046f08fb09ca816040516114da9190611f5f565b60405180910390a150565b6114ed6117b5565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361155d575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016115549190612174565b60405180910390fd5b6115668161193a565b50565b600a602052805f5260405f205f915054906101000a900460ff1681565b5f33905090565b61159a83838360016119fd565b505050565b5f6115aa8484611411565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461162b578181101561161c578281836040517ffb8f41b200000000000000000000000000000000000000000000000000000000815260040161161393929190612b93565b60405180910390fd5b61162a84848484035f6119fd565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361169f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169690612c12565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361170d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170490612c7a565b60405180910390fd5b5f611718848461123c565b90505f82905060085f9054906101000a900460ff1680156117365750815b801561174357505f600754115b156117a3575f6127106007548561175a9190612cc5565b6117649190612d33565b905080846117729190612d63565b91506117a186600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683611bcc565b505b6117ae858583611bcc565b5050505050565b6117bd611586565b73ffffffffffffffffffffffffffffffffffffffff166117db610d8c565b73ffffffffffffffffffffffffffffffffffffffff161461183a576117fe611586565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016118319190612174565b60405180910390fd5b565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036118ac575f6040517fec442f050000000000000000000000000000000000000000000000000000000081526004016118a39190612174565b60405180910390fd5b6118b75f8383611cbc565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361192b575f6040517f96c6fd1e0000000000000000000000000000000000000000000000000000000081526004016119229190612174565b60405180910390fd5b611936825f83611cbc565b5050565b5f60055f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160055f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611a6d575f6040517fe602df05000000000000000000000000000000000000000000000000000000008152600401611a649190612174565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611add575f6040517f94280d62000000000000000000000000000000000000000000000000000000008152600401611ad49190612174565b60405180910390fd5b8160015f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508015611bc6578273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051611bbd919061209d565b60405180910390a35b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611c3c575f6040517f96c6fd1e000000000000000000000000000000000000000000000000000000008152600401611c339190612174565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611cac575f6040517fec442f05000000000000000000000000000000000000000000000000000000008152600401611ca39190612174565b60405180910390fd5b611cb7838383611cbc565b505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d0c578060025f828254611d009190612d96565b92505081905550611dda565b5f805f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015611d95578381836040517fe450d38c000000000000000000000000000000000000000000000000000000008152600401611d8c93929190612b93565b60405180910390fd5b8181035f808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550505b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e21578060025f8282540392505081905550611e6b565b805f808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611ec8919061209d565b60405180910390a3505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611f0c578082015181840152602081019050611ef1565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611f3182611ed5565b611f3b8185611edf565b9350611f4b818560208601611eef565b611f5481611f17565b840191505092915050565b5f6020820190508181035f830152611f778184611f27565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611fb982611f90565b9050919050565b611fc981611faf565b8114611fd3575f80fd5b50565b5f81359050611fe481611fc0565b92915050565b5f819050919050565b611ffc81611fea565b8114612006575f80fd5b50565b5f8135905061201781611ff3565b92915050565b5f806040838503121561203357612032611f88565b5b5f61204085828601611fd6565b925050602061205185828601612009565b9150509250929050565b5f8115159050919050565b61206f8161205b565b82525050565b5f6020820190506120885f830184612066565b92915050565b61209781611fea565b82525050565b5f6020820190506120b05f83018461208e565b92915050565b5f805f606084860312156120cd576120cc611f88565b5b5f6120da86828701611fd6565b93505060206120eb86828701611fd6565b92505060406120fc86828701612009565b9150509250925092565b5f6020828403121561211b5761211a611f88565b5b5f61212884828501611fd6565b91505092915050565b5f60ff82169050919050565b61214681612131565b82525050565b5f60208201905061215f5f83018461213d565b92915050565b61216e81611faf565b82525050565b5f6020820190506121875f830184612165565b92915050565b5f602082840312156121a2576121a1611f88565b5b5f6121af84828501612009565b91505092915050565b6121c18161205b565b81146121cb575f80fd5b50565b5f813590506121dc816121b8565b92915050565b5f80604083850312156121f8576121f7611f88565b5b5f61220585828601611fd6565b9250506020612216858286016121ce565b9150509250929050565b5f806040838503121561223657612235611f88565b5b5f61224385828601611fd6565b925050602061225485828601611fd6565b9150509250929050565b5f6020828403121561227357612272611f88565b5b5f612280848285016121ce565b91505092915050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6122c782611f17565b810181811067ffffffffffffffff821117156122e6576122e5612291565b5b80604052505050565b5f6122f8611f7f565b905061230482826122be565b919050565b5f67ffffffffffffffff82111561232357612322612291565b5b61232c82611f17565b9050602081019050919050565b828183375f83830152505050565b5f61235961235484612309565b6122ef565b9050828152602081018484840111156123755761237461228d565b5b612380848285612339565b509392505050565b5f82601f83011261239c5761239b612289565b5b81356123ac848260208601612347565b91505092915050565b5f602082840312156123ca576123c9611f88565b5b5f82013567ffffffffffffffff8111156123e7576123e6611f8c565b5b6123f384828501612388565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168061244057607f821691505b602082108103612453576124526123fc565b5b50919050565b7f43616e6e6f742072656d6f7665207a65726f2061646472657373206173206d695f8201527f6e74657200000000000000000000000000000000000000000000000000000000602082015250565b5f6124b3602483611edf565b91506124be82612459565b604082019050919050565b5f6020820190508181035f8301526124e0816124a7565b9050919050565b7f43616e6e6f74206d696e7420746f207a65726f206164647265737300000000005f82015250565b5f61251b601b83611edf565b9150612526826124e7565b602082019050919050565b5f6020820190508181035f8301526125488161250f565b9050919050565b7f4e6577207461726765742063616e6e6f74206265207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f6125a9602183611edf565b91506125b48261254f565b604082019050919050565b5f6020820190508181035f8301526125d68161259d565b9050919050565b7f43616e6e6f74207365742066656520746172676574206173207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612637602583611edf565b9150612642826125dd565b604082019050919050565b5f6020820190508181035f8301526126648161262b565b9050919050565b7f43616e6e6f7420616464207a65726f2061646472657373206173206d696e74655f8201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b5f6126c5602183611edf565b91506126d08261266b565b604082019050919050565b5f6020820190508181035f8301526126f2816126b9565b9050919050565b7f43616e6e6f742072656d6f7665207a65726f20616464726573730000000000005f82015250565b5f61272d601a83611edf565b9150612738826126f9565b602082019050919050565b5f6020820190508181035f83015261275a81612721565b9050919050565b7f43616e6e6f742072656d6f7665207072696d61727920666565207461726765745f82015250565b5f612795602083611edf565b91506127a082612761565b602082019050919050565b5f6020820190508181035f8301526127c281612789565b9050919050565b7f41646472657373206973206e6f742061206665652074617267657400000000005f82015250565b5f6127fd601b83611edf565b9150612808826127c9565b602082019050919050565b5f6020820190508181035f83015261282a816127f1565b9050919050565b7f46656520636f6c6c6563746f722063616e6e6f74206265207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61288b602483611edf565b915061289682612831565b604082019050919050565b5f6020820190508181035f8301526128b88161287f565b9050919050565b7f46656520726174652063616e6e6f7420657863656564203130302500000000005f82015250565b5f6128f3601b83611edf565b91506128fe826128bf565b602082019050919050565b5f6020820190508181035f830152612920816128e7565b9050919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026129837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612948565b61298d8683612948565b95508019841693508086168417925050509392505050565b5f819050919050565b5f6129c86129c36129be84611fea565b6129a5565b611fea565b9050919050565b5f819050919050565b6129e1836129ae565b6129f56129ed826129cf565b848454612954565b825550505050565b5f90565b612a096129fd565b612a148184846129d8565b505050565b5b81811015612a3757612a2c5f82612a01565b600181019050612a1a565b5050565b601f821115612a7c57612a4d81612927565b612a5684612939565b81016020851015612a65578190505b612a79612a7185612939565b830182612a19565b50505b505050565b5f82821c905092915050565b5f612a9c5f1984600802612a81565b1980831691505092915050565b5f612ab48383612a8d565b9150826002028217905092915050565b612acd82611ed5565b67ffffffffffffffff811115612ae657612ae5612291565b5b612af08254612429565b612afb828285612a3b565b5f60209050601f831160018114612b2c575f8415612b1a578287015190505b612b248582612aa9565b865550612b8b565b601f198416612b3a86612927565b5f5b82811015612b6157848901518255600182019150602085019450602081019050612b3c565b86831015612b7e5784890151612b7a601f891682612a8d565b8355505b6001600288020188555050505b505050505050565b5f606082019050612ba65f830186612165565b612bb3602083018561208e565b612bc0604083018461208e565b949350505050565b7f5472616e736665722066726f6d207a65726f20616464726573730000000000005f82015250565b5f612bfc601a83611edf565b9150612c0782612bc8565b602082019050919050565b5f6020820190508181035f830152612c2981612bf0565b9050919050565b7f5472616e7366657220746f207a65726f206164647265737300000000000000005f82015250565b5f612c64601883611edf565b9150612c6f82612c30565b602082019050919050565b5f6020820190508181035f830152612c9181612c58565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612ccf82611fea565b9150612cda83611fea565b9250828202612ce881611fea565b91508282048414831517612cff57612cfe612c98565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612d3d82611fea565b9150612d4883611fea565b925082612d5857612d57612d06565b5b828204905092915050565b5f612d6d82611fea565b9150612d7883611fea565b9250828203905081811115612d9057612d8f612c98565b5b92915050565b5f612da082611fea565b9150612dab83611fea565b9250828201905080821115612dc357612dc2612c98565b5b9291505056fea2646970667358221220ccb0b285a3a5bb7a4ad99f2f9b016e325d163d29c3b1c63b13ed9a6c576f2d2f64736f6c63430008180033000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000033b2e3c9fd0803ce80000000000000000000000000000000000000000000000000000000000000000000180000000000000000000000000000000000000000000000000000000000000000100000000000000000000000042b93b8d07eee075b851f5b488ef6b7db148f47000000000000000000000000049c9607f77ad9e014eae7d1a1d3bc66376172dcb00000000000000000000000042b93b8d07eee075b851f5b488ef6b7db148f47000000000000000000000000000000000000000000000000000000000000000027364000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000324736400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000