608060405262093a80600d556107d1600e556359682f00600f556359682f006010556000601155612710601260006101000a81548161ffff021916908361ffff16021790555060c8601260026101000a81548160ff021916908360ff1602179055506001601260176101000a81548160ff021916908360018111156200008a576200008962000336565b5b021790555073fa6c6d6091bfee9f8a4b0c4b24091aab4c6bb98e601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506101f46017556000601860006101000a81548160ff0219169083151502179055503480156200011257600080fd5b506040518060400160405280600e81526020017f5570726973696e67204e6f6465730000000000000000000000000000000000008152506040518060400160405280600281526020017f554e0000000000000000000000000000000000000000000000000000000000008152508160009081620001909190620005df565b508060019081620001a29190620005df565b505050620001c5620001b96200022060201b60201c565b6200022860201b60201c565b7306885f71d1cfe8cd32f10b2f7c7e147b4393a0f6601260036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620006c6565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905080600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555042600c819055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620003e757607f821691505b602082108103620003fd57620003fc6200039f565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620004677fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000428565b62000473868362000428565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620004c0620004ba620004b4846200048b565b62000495565b6200048b565b9050919050565b6000819050919050565b620004dc836200049f565b620004f4620004eb82620004c7565b84845462000435565b825550505050565b600090565b6200050b620004fc565b62000518818484620004d1565b505050565b5b8181101562000540576200053460008262000501565b6001810190506200051e565b5050565b601f8211156200058f57620005598162000403565b620005648462000418565b8101602085101562000574578190505b6200058c620005838562000418565b8301826200051d565b50505b505050565b600082821c905092915050565b6000620005b46000198460080262000594565b1980831691505092915050565b6000620005cf8383620005a1565b9150826002028217905092915050565b620005ea8262000365565b67ffffffffffffffff81111562000606576200060562000370565b5b620006128254620003ce565b6200061f82828562000544565b600060209050601f83116001811462000657576000841562000642578287015190505b6200064e8582620005c1565b865550620006be565b601f198416620006678662000403565b60005b8281101562000691578489015182556001820191506020850194506020810190506200066a565b86831015620006b15784890151620006ad601f891682620005a1565b8355505b6001600288020188555050505b505050505050565b615b5e80620006d66000396000f3fe60806040526004361061031a5760003560e01c806370a08231116101ab578063b5aa99e2116100f7578063e985e9c511610095578063efec96191161006f578063efec961914610bd7578063f2fde38b14610c02578063f487404f14610c2b578063fb7265ff14610c565761031a565b8063e985e9c514610b46578063ec55cdf714610b83578063ef3fae3814610bae5761031a565b8063c87b56dd116100d1578063c87b56dd14610a9b578063d678e90d14610ad8578063d9c88e1414610af4578063da8ffa7214610b1d5761031a565b8063b5aa99e214610a1e578063b88d4fde14610a47578063c54e44eb14610a705761031a565b80638e3695b81161016457806396efac7b1161013e57806396efac7b146109785780639f4ba0ee146109a3578063a22cb465146109cc578063af3b5f05146109f55761031a565b80638e3695b8146108f957806393563a951461092457806395d89b411461094d5761031a565b806370a08231146107e957806370ae92d214610826578063715018a6146108635780637de55fe11461087a57806385209ee0146108a35780638da5cb5b146108ce5761031a565b806342842e0e1161026a5780635c124131116102235780636a573c1e116101fd5780636a573c1e146107415780636c0360eb1461076c5780636c19e783146107975780637087976f146107c05761031a565b80635c1241311461069c5780635cf4ee91146106c75780636352211e146107045761031a565b806342842e0e1461057c5780634905269c146105a55780634a3b68cc146105ce5780634f6ccce71461060d57806350c1b9231461064a57806355f804b3146106735761031a565b806318160ddd116102d757806323b872dd116102b157806323b872dd146104d4578063280d62ac146104fd5780632b968958146105285780632f745c591461053f5761031a565b806318160ddd146104535780631d0806ae1461047e578063238ac933146104a95761031a565b806301ffc9a71461031f57806306fdde031461035c578063081812fc1461038757806308290dc5146103c4578063086d785c146103ed578063095ea7b31461042a575b600080fd5b34801561032b57600080fd5b5061034660048036038101906103419190613aa7565b610c7f565b6040516103539190613aef565b60405180910390f35b34801561036857600080fd5b50610371610c91565b60405161037e9190613b9a565b60405180910390f35b34801561039357600080fd5b506103ae60048036038101906103a99190613bf2565b610d23565b6040516103bb9190613c60565b60405180910390f35b3480156103d057600080fd5b506103eb60048036038101906103e69190613bf2565b610d69565b005b3480156103f957600080fd5b50610414600480360381019061040f9190613d16565b610e4a565b6040516104219190613aef565b60405180910390f35b34801561043657600080fd5b50610451600480360381019061044c9190613da3565b610f8f565b005b34801561045f57600080fd5b50610468610fd4565b6040516104759190613df2565b60405180910390f35b34801561048a57600080fd5b50610493610fe1565b6040516104a09190613df2565b60405180910390f35b3480156104b557600080fd5b506104be610fe7565b6040516104cb9190613c60565b60405180910390f35b3480156104e057600080fd5b506104fb60048036038101906104f69190613e0d565b61100d565b005b34801561050957600080fd5b50610512611053565b60405161051f9190613df2565b60405180910390f35b34801561053457600080fd5b5061053d611059565b005b34801561054b57600080fd5b5061056660048036038101906105619190613da3565b61129e565b6040516105739190613df2565b60405180910390f35b34801561058857600080fd5b506105a3600480360381019061059e9190613e0d565b611343565b005b3480156105b157600080fd5b506105cc60048036038101906105c79190613bf2565b611389565b005b3480156105da57600080fd5b506105f560048036038101906105f09190613e60565b61140f565b60405161060493929190613e8d565b60405180910390f35b34801561061957600080fd5b50610634600480360381019061062f9190613bf2565b611446565b6040516106419190613df2565b60405180910390f35b34801561065657600080fd5b50610671600480360381019061066c9190613e60565b6114b7565b005b34801561067f57600080fd5b5061069a60048036038101906106959190613ff9565b611577565b005b3480156106a857600080fd5b506106b1611606565b6040516106be9190613df2565b60405180910390f35b3480156106d357600080fd5b506106ee60048036038101906106e99190614042565b61160c565b6040516106fb9190613df2565b60405180910390f35b34801561071057600080fd5b5061072b60048036038101906107269190613bf2565b611729565b6040516107389190613c60565b60405180910390f35b34801561074d57600080fd5b506107566117af565b6040516107639190613df2565b60405180910390f35b34801561077857600080fd5b506107816117b5565b60405161078e9190613b9a565b60405180910390f35b3480156107a357600080fd5b506107be60048036038101906107b99190613e60565b611843565b005b3480156107cc57600080fd5b506107e760048036038101906107e29190613bf2565b611903565b005b3480156107f557600080fd5b50610810600480360381019061080b9190613e60565b611989565b60405161081d9190613df2565b60405180910390f35b34801561083257600080fd5b5061084d60048036038101906108489190613e60565b611a40565b60405161085a9190613df2565b60405180910390f35b34801561086f57600080fd5b50610878611a58565b005b34801561088657600080fd5b506108a1600480360381019061089c9190613da3565b611ae0565b005b3480156108af57600080fd5b506108b8611be6565b6040516108c591906140f9565b60405180910390f35b3480156108da57600080fd5b506108e3611bf9565b6040516108f09190613c60565b60405180910390f35b34801561090557600080fd5b5061090e611c23565b60405161091b91906141bf565b60405180910390f35b34801561093057600080fd5b5061094b60048036038101906109469190613e0d565b611c98565b005b34801561095957600080fd5b50610962611ebf565b60405161096f9190613b9a565b60405180910390f35b34801561098457600080fd5b5061098d611f51565b60405161099a91906141e9565b60405180910390f35b3480156109af57600080fd5b506109ca60048036038101906109c59190613bf2565b611f64565b005b3480156109d857600080fd5b506109f360048036038101906109ee9190614230565b611fea565b005b348015610a0157600080fd5b50610a1c6004803603810190610a179190614270565b61202f565b005b348015610a2a57600080fd5b50610a456004803603810190610a409190614230565b6120c8565b005b348015610a5357600080fd5b50610a6e6004803603810190610a69919061433e565b6121a2565b005b348015610a7c57600080fd5b50610a856121e9565b604051610a929190613c60565b60405180910390f35b348015610aa757600080fd5b50610ac26004803603810190610abd9190613bf2565b61220f565b604051610acf9190613b9a565b60405180910390f35b610af26004803603810190610aed91906143c1565b6122bb565b005b348015610b0057600080fd5b50610b1b6004803603810190610b16919061448c565b612745565b005b348015610b2957600080fd5b50610b446004803603810190610b3f9190614506565b6127cf565b005b348015610b5257600080fd5b50610b6d6004803603810190610b689190614533565b61286b565b604051610b7a9190613aef565b60405180910390f35b348015610b8f57600080fd5b50610b986128ff565b604051610ba59190614582565b60405180910390f35b348015610bba57600080fd5b50610bd56004803603810190610bd0919061459d565b612913565b005b348015610be357600080fd5b50610bec6129ad565b604051610bf99190613aef565b60405180910390f35b348015610c0e57600080fd5b50610c296004803603810190610c249190613e60565b6129c0565b005b348015610c3757600080fd5b50610c40612ab7565b604051610c4d9190613c60565b60405180910390f35b348015610c6257600080fd5b50610c7d6004803603810190610c789190613bf2565b612ae1565b005b6000610c8a82612bdf565b9050919050565b606060008054610ca0906145f9565b80601f0160208091040260200160405190810160405280929190818152602001828054610ccc906145f9565b8015610d195780601f10610cee57610100808354040283529160200191610d19565b820191906000526020600020905b815481529060010190602001808311610cfc57829003601f168201915b5050505050905090565b6000610d2e82612cc1565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610d71612d0c565b73ffffffffffffffffffffffffffffffffffffffff16610d8f611bf9565b73ffffffffffffffffffffffffffffffffffffffff1614610de5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ddc90614676565b60405180910390fd5b6000600182610df491906146c5565b9050610dfe610fd4565b8111610e3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e3690614745565b60405180910390fd5b80600e819055505050565b60008030888888601560008d73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054604051602001610ea59594939291906147ce565b604051602081830303815290604052805190602001209050600181604051602001610ed091906148a5565b6040516020818303038152906040528051906020012086868660405160008152602001604052604051610f0694939291906148da565b6020604051602081039080840390855afa158015610f28573d6000803e3d6000fd5b5050506020604051035173ffffffffffffffffffffffffffffffffffffffff16601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16149150509695505050505050565b6000610fd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc79061496b565b60405180910390fd5b5050565b6000600880549050905090565b600f5481565b601460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600061104e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110459061496b565b60405180910390fd5b505050565b60115481565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480156111045750600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b611143576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113a906149d7565b60405180910390fd5b600d54600c5461115391906146c5565b4210611194576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161118b90614a69565b60405180910390fd5b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555042600c81905550600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3565b60006112a983611989565b82106112ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112e190614afb565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b6000611384576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137b9061496b565b60405180910390fd5b505050565b611391612d0c565b73ffffffffffffffffffffffffffffffffffffffff166113af611bf9565b73ffffffffffffffffffffffffffffffffffffffff1614611405576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113fc90614676565b60405180910390fd5b8060118190555050565b60166020528060005260406000206000915090508060000160009054906101000a900460ff16908060010154908060020154905083565b6000611450610fd4565b8210611491576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161148890614b8d565b60405180910390fd5b600882815481106114a5576114a4614bad565b5b90600052602060002001549050919050565b6114bf612d0c565b73ffffffffffffffffffffffffffffffffffffffff166114dd611bf9565b73ffffffffffffffffffffffffffffffffffffffff1614611533576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161152a90614676565b60405180910390fd5b80601260036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61157f612d0c565b73ffffffffffffffffffffffffffffffffffffffff1661159d611bf9565b73ffffffffffffffffffffffffffffffffffffffff16146115f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115ea90614676565b60405180910390fd5b80601390816116029190614d88565b5050565b60105481565b60006103e8821115611653576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164a90614ea6565b60405180910390fd5b601260009054906101000a900461ffff1661ffff1683101561169e576103e8826103e86116809190614ec6565b600f5461168d9190614efa565b6116979190614f6b565b9050611723565b6000601260029054906101000a900460ff1660ff16601260009054906101000a900461ffff1661ffff16856116d39190614ec6565b6116dd9190614f6b565b90506103e8836103e86116f09190614ec6565b601154836116fe9190614efa565b60105461170b91906146c5565b6117159190614efa565b61171f9190614f6b565b9150505b92915050565b60008061173583612d14565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179d90614fe8565b60405180910390fd5b80915050919050565b600e5481565b601380546117c2906145f9565b80601f01602080910402602001604051908101604052809291908181526020018280546117ee906145f9565b801561183b5780601f106118105761010080835404028352916020019161183b565b820191906000526020600020905b81548152906001019060200180831161181e57829003601f168201915b505050505081565b61184b612d0c565b73ffffffffffffffffffffffffffffffffffffffff16611869611bf9565b73ffffffffffffffffffffffffffffffffffffffff16146118bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b690614676565b60405180910390fd5b80601460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b61190b612d0c565b73ffffffffffffffffffffffffffffffffffffffff16611929611bf9565b73ffffffffffffffffffffffffffffffffffffffff161461197f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197690614676565b60405180910390fd5b8060108190555050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119f9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f09061507a565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60156020528060005260406000206000915090505481565b611a60612d0c565b73ffffffffffffffffffffffffffffffffffffffff16611a7e611bf9565b73ffffffffffffffffffffffffffffffffffffffff1614611ad4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611acb90614676565b60405180910390fd5b611ade6000612d51565b565b611ae8612d0c565b73ffffffffffffffffffffffffffffffffffffffff16611b06611bf9565b73ffffffffffffffffffffffffffffffffffffffff1614611b5c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b5390614676565b60405180910390fd5b600e5481611b68610fd4565b611b7291906146c5565b10611bb2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ba9906150e6565b60405180910390fd5b60005b81811015611be1576000611bc7612e5f565b9050611bd38482612e7a565b508080600101915050611bb5565b505050565b601260179054906101000a900460ff1681565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b611c2b613a19565b6040518060800160405280601260179054906101000a900460ff166001811115611c5857611c57614082565b5b81526020016001600e54611c6c9190614ec6565b8152602001611c79610fd4565b8152602001611c90611c89610fd4565b600061160c565b815250905090565b611ca0612d0c565b73ffffffffffffffffffffffffffffffffffffffff16611cbe611bf9565b73ffffffffffffffffffffffffffffffffffffffff1614611d14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0b90614676565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611d83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d7a90615152565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611df2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de9906151be565b60405180910390fd5b60008111611e35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2c9061522a565b60405180910390fd5b60008390508073ffffffffffffffffffffffffffffffffffffffff1663a9059cbb84846040518363ffffffff1660e01b8152600401611e7592919061524a565b6020604051808303816000875af1158015611e94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611eb89190615288565b5050505050565b606060018054611ece906145f9565b80601f0160208091040260200160405190810160405280929190818152602001828054611efa906145f9565b8015611f475780601f10611f1c57610100808354040283529160200191611f47565b820191906000526020600020905b815481529060010190602001808311611f2a57829003601f168201915b5050505050905090565b601260029054906101000a900460ff1681565b611f6c612d0c565b73ffffffffffffffffffffffffffffffffffffffff16611f8a611bf9565b73ffffffffffffffffffffffffffffffffffffffff1614611fe0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd790614676565b60405180910390fd5b80600f8190555050565b600061202b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120229061496b565b60405180910390fd5b5050565b612037612d0c565b73ffffffffffffffffffffffffffffffffffffffff16612055611bf9565b73ffffffffffffffffffffffffffffffffffffffff16146120ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a290614676565b60405180910390fd5b80601860006101000a81548160ff02191690831515021790555050565b6120d0612d0c565b73ffffffffffffffffffffffffffffffffffffffff166120ee611bf9565b73ffffffffffffffffffffffffffffffffffffffff1614612144576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161213b90614676565b60405180910390fd5b80601660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055505050565b60006121e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121da9061496b565b60405180910390fd5b50505050565b601260039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606061221e8261ffff16612e98565b61225d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225490615301565b60405180910390fd5b60006013805461226c906145f9565b90501161228857604051806020016040528060008152506122b4565b601361229383612ed9565b6040516020016122a4929190615421565b6040516020818303038152906040525b9050919050565b601660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff16806123235750601860009054906101000a900460ff16155b612362576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123599061549c565b60405180910390fd5b612370338686868686610e4a565b6123af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123a690615508565b60405180910390fd5b601560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906123ff90615528565b91905055506000612417612411610fd4565b8661160c565b876124229190614efa565b90506000601860009054906101000a900460ff16156125ad576127106017548361244c9190614efa565b6124569190614f6b565b9050601660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160008154809291906124ab90615528565b919050555080601660008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600201600082825461250291906146c5565b92505081905550601260039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd3389846040518463ffffffff1660e01b815260040161256893929190615570565b6020604051808303816000875af1158015612587573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125ab9190615288565b505b601260039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166323b872dd333084866125f99190614ec6565b6040518463ffffffff1660e01b815260040161261793929190615570565b6020604051808303816000875af1158015612636573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061265a9190615288565b5060005b8881101561268a576000612670612e5f565b905061267c3382612e7a565b50808060010191505061265e565b50601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160009054906101000a900460ff1661273b576001601660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160006101000a81548160ff0219169083151502179055505b5050505050505050565b61274d612d0c565b73ffffffffffffffffffffffffffffffffffffffff1661276b611bf9565b73ffffffffffffffffffffffffffffffffffffffff16146127c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127b890614676565b60405180910390fd5b6127cb8282613039565b5050565b6127d7612d0c565b73ffffffffffffffffffffffffffffffffffffffff166127f5611bf9565b73ffffffffffffffffffffffffffffffffffffffff161461284b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161284290614676565b60405180910390fd5b80601260006101000a81548161ffff021916908361ffff16021790555050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b601260009054906101000a900461ffff1681565b61291b612d0c565b73ffffffffffffffffffffffffffffffffffffffff16612939611bf9565b73ffffffffffffffffffffffffffffffffffffffff161461298f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161298690614676565b60405180910390fd5b80601260026101000a81548160ff021916908360ff16021790555050565b601860009054906101000a900460ff1681565b6129c8612d0c565b73ffffffffffffffffffffffffffffffffffffffff166129e6611bf9565b73ffffffffffffffffffffffffffffffffffffffff1614612a3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a3390614676565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612aab576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612aa290615619565b60405180910390fd5b612ab481612d51565b50565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b612ae9612d0c565b73ffffffffffffffffffffffffffffffffffffffff16612b07611bf9565b73ffffffffffffffffffffffffffffffffffffffff1614612b5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b5490614676565b60405180910390fd5b60028110612ba0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b9790615685565b60405180910390fd5b806001811115612bb357612bb2614082565b5b601260176101000a81548160ff02191690836001811115612bd757612bd6614082565b5b021790555050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612caa57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80612cba5750612cb98261312d565b5b9050919050565b612cca81612e98565b612d09576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d0090614fe8565b60405180910390fd5b50565b600033905090565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905080600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555042600c819055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60006001612e6b610fd4565b612e7591906146c5565b905090565b612e94828260405180602001604052806000815250613197565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff16612eba83612d14565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b606060008203612f20576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050613034565b600082905060005b60008214612f52578080612f3b90615528565b915050600a82612f4b9190614f6b565b9150612f28565b60008167ffffffffffffffff811115612f6e57612f6d613ece565b5b6040519080825280601f01601f191660200182016040528015612fa05781602001600182028036833780820191505090505b5090505b6000851461302d57600182612fb99190614ec6565b9150600a85612fc891906156a5565b6030612fd491906146c5565b60f81b818381518110612fea57612fe9614bad565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a856130269190614f6b565b9450612fa4565b8093505050505b919050565b8047101561307c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161307390615722565b60405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff16826040516130a290615773565b60006040518083038185875af1925050503d80600081146130df576040519150601f19603f3d011682016040523d82523d6000602084013e6130e4565b606091505b5050905080613128576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161311f906157fa565b60405180910390fd5b505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6131a183836131f2565b6131ae600084848461340f565b6131ed576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131e49061588c565b60405180910390fd5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613261576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613258906158f8565b60405180910390fd5b61326a81612e98565b156132aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132a190615964565b60405180910390fd5b6132b8600083836001613596565b6132c181612e98565b15613301576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132f890615964565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461340b6000838360016136f4565b5050565b60006134308473ffffffffffffffffffffffffffffffffffffffff166136fa565b15613589578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02613459612d0c565b8786866040518563ffffffff1660e01b815260040161347b94939291906159d9565b6020604051808303816000875af19250505080156134b757506040513d601f19601f820116820180604052508101906134b49190615a3a565b60015b613539573d80600081146134e7576040519150601f19603f3d011682016040523d82523d6000602084013e6134ec565b606091505b506000815103613531576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135289061588c565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061358e565b600190505b949350505050565b6135a28484848461370d565b60018111156135e6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135dd90615ad9565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361362d5761362881613713565b61366c565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461366b5761366a858261375c565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036136ae576136a9816138c9565b6136ed565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146136ec576136eb848261399a565b5b5b5050505050565b50505050565b600080823b905060008111915050919050565b50505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161376984611989565b6137739190614ec6565b9050600060076000848152602001908152602001600020549050818114613858576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506138dd9190614ec6565b905060006009600084815260200190815260200160002054905060006008838154811061390d5761390c614bad565b5b90600052602060002001549050806008838154811061392f5761392e614bad565b5b90600052602060002001819055508160096000838152602001908152602001600020819055506009600085815260200190815260200160002060009055600880548061397e5761397d615af9565b5b6001900381819060005260206000200160009055905550505050565b60006139a583611989565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b6040518060800160405280600490602082028036833780820191505090505090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613a8481613a4f565b8114613a8f57600080fd5b50565b600081359050613aa181613a7b565b92915050565b600060208284031215613abd57613abc613a45565b5b6000613acb84828501613a92565b91505092915050565b60008115159050919050565b613ae981613ad4565b82525050565b6000602082019050613b046000830184613ae0565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613b44578082015181840152602081019050613b29565b60008484015250505050565b6000601f19601f8301169050919050565b6000613b6c82613b0a565b613b768185613b15565b9350613b86818560208601613b26565b613b8f81613b50565b840191505092915050565b60006020820190508181036000830152613bb48184613b61565b905092915050565b6000819050919050565b613bcf81613bbc565b8114613bda57600080fd5b50565b600081359050613bec81613bc6565b92915050565b600060208284031215613c0857613c07613a45565b5b6000613c1684828501613bdd565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000613c4a82613c1f565b9050919050565b613c5a81613c3f565b82525050565b6000602082019050613c756000830184613c51565b92915050565b613c8481613c3f565b8114613c8f57600080fd5b50565b600081359050613ca181613c7b565b92915050565b600060ff82169050919050565b613cbd81613ca7565b8114613cc857600080fd5b50565b600081359050613cda81613cb4565b92915050565b6000819050919050565b613cf381613ce0565b8114613cfe57600080fd5b50565b600081359050613d1081613cea565b92915050565b60008060008060008060c08789031215613d3357613d32613a45565b5b6000613d4189828a01613c92565b9650506020613d5289828a01613c92565b9550506040613d6389828a01613bdd565b9450506060613d7489828a01613ccb565b9350506080613d8589828a01613d01565b92505060a0613d9689828a01613d01565b9150509295509295509295565b60008060408385031215613dba57613db9613a45565b5b6000613dc885828601613c92565b9250506020613dd985828601613bdd565b9150509250929050565b613dec81613bbc565b82525050565b6000602082019050613e076000830184613de3565b92915050565b600080600060608486031215613e2657613e25613a45565b5b6000613e3486828701613c92565b9350506020613e4586828701613c92565b9250506040613e5686828701613bdd565b9150509250925092565b600060208284031215613e7657613e75613a45565b5b6000613e8484828501613c92565b91505092915050565b6000606082019050613ea26000830186613ae0565b613eaf6020830185613de3565b613ebc6040830184613de3565b949350505050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613f0682613b50565b810181811067ffffffffffffffff82111715613f2557613f24613ece565b5b80604052505050565b6000613f38613a3b565b9050613f448282613efd565b919050565b600067ffffffffffffffff821115613f6457613f63613ece565b5b613f6d82613b50565b9050602081019050919050565b82818337600083830152505050565b6000613f9c613f9784613f49565b613f2e565b905082815260208101848484011115613fb857613fb7613ec9565b5b613fc3848285613f7a565b509392505050565b600082601f830112613fe057613fdf613ec4565b5b8135613ff0848260208601613f89565b91505092915050565b60006020828403121561400f5761400e613a45565b5b600082013567ffffffffffffffff81111561402d5761402c613a4a565b5b61403984828501613fcb565b91505092915050565b6000806040838503121561405957614058613a45565b5b600061406785828601613bdd565b925050602061407885828601613bdd565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600281106140c2576140c1614082565b5b50565b60008190506140d3826140b1565b919050565b60006140e3826140c5565b9050919050565b6140f3816140d8565b82525050565b600060208201905061410e60008301846140ea565b92915050565b600060049050919050565b600081905092915050565b6000819050919050565b61413d81613bbc565b82525050565b600061414f8383614134565b60208301905092915050565b6000602082019050919050565b61417181614114565b61417b818461411f565b92506141868261412a565b8060005b838110156141b757815161419e8782614143565b96506141a98361415b565b92505060018101905061418a565b505050505050565b60006080820190506141d46000830184614168565b92915050565b6141e381613ca7565b82525050565b60006020820190506141fe60008301846141da565b92915050565b61420d81613ad4565b811461421857600080fd5b50565b60008135905061422a81614204565b92915050565b6000806040838503121561424757614246613a45565b5b600061425585828601613c92565b92505060206142668582860161421b565b9150509250929050565b60006020828403121561428657614285613a45565b5b60006142948482850161421b565b91505092915050565b600067ffffffffffffffff8211156142b8576142b7613ece565b5b6142c182613b50565b9050602081019050919050565b60006142e16142dc8461429d565b613f2e565b9050828152602081018484840111156142fd576142fc613ec9565b5b614308848285613f7a565b509392505050565b600082601f83011261432557614324613ec4565b5b81356143358482602086016142ce565b91505092915050565b6000806000806080858703121561435857614357613a45565b5b600061436687828801613c92565b945050602061437787828801613c92565b935050604061438887828801613bdd565b925050606085013567ffffffffffffffff8111156143a9576143a8613a4a565b5b6143b587828801614310565b91505092959194509250565b60008060008060008060c087890312156143de576143dd613a45565b5b60006143ec89828a01613bdd565b96505060206143fd89828a01613c92565b955050604061440e89828a01613bdd565b945050606061441f89828a01613ccb565b935050608061443089828a01613d01565b92505060a061444189828a01613d01565b9150509295509295509295565b600061445982613c1f565b9050919050565b6144698161444e565b811461447457600080fd5b50565b60008135905061448681614460565b92915050565b600080604083850312156144a3576144a2613a45565b5b60006144b185828601614477565b92505060206144c285828601613bdd565b9150509250929050565b600061ffff82169050919050565b6144e3816144cc565b81146144ee57600080fd5b50565b600081359050614500816144da565b92915050565b60006020828403121561451c5761451b613a45565b5b600061452a848285016144f1565b91505092915050565b6000806040838503121561454a57614549613a45565b5b600061455885828601613c92565b925050602061456985828601613c92565b9150509250929050565b61457c816144cc565b82525050565b60006020820190506145976000830184614573565b92915050565b6000602082840312156145b3576145b2613a45565b5b60006145c184828501613ccb565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061461157607f821691505b602082108103614624576146236145ca565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614660602083613b15565b915061466b8261462a565b602082019050919050565b6000602082019050818103600083015261468f81614653565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006146d082613bbc565b91506146db83613bbc565b92508282019050808211156146f3576146f2614696565b5b92915050565b7f4d7573742042652041626f76652043757272656e7420537570706c7921000000600082015250565b600061472f601d83613b15565b915061473a826146f9565b602082019050919050565b6000602082019050818103600083015261475e81614722565b9050919050565b60008160601b9050919050565b600061477d82614765565b9050919050565b600061478f82614772565b9050919050565b6147a76147a282613c3f565b614784565b82525050565b6000819050919050565b6147c86147c382613bbc565b6147ad565b82525050565b60006147da8288614796565b6014820191506147ea8287614796565b6014820191506147fa8286614796565b60148201915061480a82856147b7565b60208201915061481a82846147b7565b6020820191508190509695505050505050565b600081905092915050565b7f19457468657265756d205369676e6564204d6573736167653a0a333200000000600082015250565b600061486e601c8361482d565b915061487982614838565b601c82019050919050565b6000819050919050565b61489f61489a82613ce0565b614884565b82525050565b60006148b082614861565b91506148bc828461488e565b60208201915081905092915050565b6148d481613ce0565b82525050565b60006080820190506148ef60008301876148cb565b6148fc60208301866141da565b61490960408301856148cb565b61491660608301846148cb565b95945050505050565b7f536f756c626f756e6420546f6b656e2100000000000000000000000000000000600082015250565b6000614955601083613b15565b91506149608261491f565b602082019050919050565b6000602082019050818103600083015261498481614948565b9050919050565b7f4f776e61626c653a206163636573732064656e69656400000000000000000000600082015250565b60006149c1601683613b15565b91506149cc8261498b565b602082019050919050565b600060208201905081810360008301526149f0816149b4565b9050919050565b7f4f776e61626c653a207265766f6b652077696e646f772068617320706173736560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b6000614a53602183613b15565b9150614a5e826149f7565b604082019050919050565b60006020820190508181036000830152614a8281614a46565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000614ae5602b83613b15565b9150614af082614a89565b604082019050919050565b60006020820190508181036000830152614b1481614ad8565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b6000614b77602c83613b15565b9150614b8282614b1b565b604082019050919050565b60006020820190508181036000830152614ba681614b6a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302614c3e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614c01565b614c488683614c01565b95508019841693508086168417925050509392505050565b6000819050919050565b6000614c85614c80614c7b84613bbc565b614c60565b613bbc565b9050919050565b6000819050919050565b614c9f83614c6a565b614cb3614cab82614c8c565b848454614c0e565b825550505050565b600090565b614cc8614cbb565b614cd3818484614c96565b505050565b5b81811015614cf757614cec600082614cc0565b600181019050614cd9565b5050565b601f821115614d3c57614d0d81614bdc565b614d1684614bf1565b81016020851015614d25578190505b614d39614d3185614bf1565b830182614cd8565b50505b505050565b600082821c905092915050565b6000614d5f60001984600802614d41565b1980831691505092915050565b6000614d788383614d4e565b9150826002028217905092915050565b614d9182613b0a565b67ffffffffffffffff811115614daa57614da9613ece565b5b614db482546145f9565b614dbf828285614cfb565b600060209050601f831160018114614df25760008415614de0578287015190505b614dea8582614d6c565b865550614e52565b601f198416614e0086614bdc565b60005b82811015614e2857848901518255600182019150602085019450602081019050614e03565b86831015614e455784890151614e41601f891682614d4e565b8355505b6001600288020188555050505b505050505050565b7f496e76616c696420446973636f756e7421000000000000000000000000000000600082015250565b6000614e90601183613b15565b9150614e9b82614e5a565b602082019050919050565b60006020820190508181036000830152614ebf81614e83565b9050919050565b6000614ed182613bbc565b9150614edc83613bbc565b9250828203905081811115614ef457614ef3614696565b5b92915050565b6000614f0582613bbc565b9150614f1083613bbc565b9250828202614f1e81613bbc565b91508282048414831517614f3557614f34614696565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614f7682613bbc565b9150614f8183613bbc565b925082614f9157614f90614f3c565b5b828204905092915050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000614fd2601883613b15565b9150614fdd82614f9c565b602082019050919050565b6000602082019050818103600083015261500181614fc5565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000615064602983613b15565b915061506f82615008565b604082019050919050565b6000602082019050818103600083015261509381615057565b9050919050565b7f4578636565647320417661696c61626c6520416d6f756e742100000000000000600082015250565b60006150d0601983613b15565b91506150db8261509a565b602082019050919050565b600060208201905081810360008301526150ff816150c3565b9050919050565b7f496e76616c696420746f6b656e20616464726573730000000000000000000000600082015250565b600061513c601583613b15565b915061514782615106565b602082019050919050565b6000602082019050818103600083015261516b8161512f565b9050919050565b7f496e76616c696420726563697069656e74206164647265737300000000000000600082015250565b60006151a8601983613b15565b91506151b382615172565b602082019050919050565b600060208201905081810360008301526151d78161519b565b9050919050565b7f416d6f756e74206d7573742062652067726561746572207468616e207a65726f600082015250565b6000615214602083613b15565b915061521f826151de565b602082019050919050565b6000602082019050818103600083015261524381615207565b9050919050565b600060408201905061525f6000830185613c51565b61526c6020830184613de3565b9392505050565b60008151905061528281614204565b92915050565b60006020828403121561529e5761529d613a45565b5b60006152ac84828501615273565b91505092915050565b7f4e6f6e6578697374656e7420546f6b656e210000000000000000000000000000600082015250565b60006152eb601283613b15565b91506152f6826152b5565b602082019050919050565b6000602082019050818103600083015261531a816152de565b9050919050565b6000815461532e816145f9565b615338818661482d565b9450600182166000811461535357600181146153685761539b565b60ff198316865281151582028601935061539b565b61537185614bdc565b60005b8381101561539357815481890152600182019150602081019050615374565b838801955050505b50505092915050565b60006153af82613b0a565b6153b9818561482d565b93506153c9818560208601613b26565b80840191505092915050565b7f2e6a736f6e000000000000000000000000000000000000000000000000000000600082015250565b600061540b60058361482d565b9150615416826153d5565b600582019050919050565b600061542d8285615321565b915061543982846153a4565b9150615444826153fe565b91508190509392505050565b7f496e76616c696420526566657272657221000000000000000000000000000000600082015250565b6000615486601183613b15565b915061549182615450565b602082019050919050565b600060208201905081810360008301526154b581615479565b9050919050565b7f496e636f7272656374205369676e617475726521000000000000000000000000600082015250565b60006154f2601483613b15565b91506154fd826154bc565b602082019050919050565b60006020820190508181036000830152615521816154e5565b9050919050565b600061553382613bbc565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361556557615564614696565b5b600182019050919050565b60006060820190506155856000830186613c51565b6155926020830185613c51565b61559f6040830184613de3565b949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000615603602683613b15565b915061560e826155a7565b604082019050919050565b60006020820190508181036000830152615632816155f6565b9050919050565b7f496e76616c696420537461746521000000000000000000000000000000000000600082015250565b600061566f600e83613b15565b915061567a82615639565b602082019050919050565b6000602082019050818103600083015261569e81615662565b9050919050565b60006156b082613bbc565b91506156bb83613bbc565b9250826156cb576156ca614f3c565b5b828206905092915050565b7f416464726573733a20696e73756666696369656e742062616c616e6365000000600082015250565b600061570c601d83613b15565b9150615717826156d6565b602082019050919050565b6000602082019050818103600083015261573b816156ff565b9050919050565b600081905092915050565b50565b600061575d600083615742565b91506157688261574d565b600082019050919050565b600061577e82615750565b9150819050919050565b7f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260008201527f6563697069656e74206d61792068617665207265766572746564000000000000602082015250565b60006157e4603a83613b15565b91506157ef82615788565b604082019050919050565b60006020820190508181036000830152615813816157d7565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000615876603283613b15565b91506158818261581a565b604082019050919050565b600060208201905081810360008301526158a581615869565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006158e2602083613b15565b91506158ed826158ac565b602082019050919050565b60006020820190508181036000830152615911816158d5565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b600061594e601c83613b15565b915061595982615918565b602082019050919050565b6000602082019050818103600083015261597d81615941565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006159ab82615984565b6159b5818561598f565b93506159c5818560208601613b26565b6159ce81613b50565b840191505092915050565b60006080820190506159ee6000830187613c51565b6159fb6020830186613c51565b615a086040830185613de3565b8181036060830152615a1a81846159a0565b905095945050505050565b600081519050615a3481613a7b565b92915050565b600060208284031215615a5057615a4f613a45565b5b6000615a5e84828501615a25565b91505092915050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b6000615ac3603583613b15565b9150615ace82615a67565b604082019050919050565b60006020820190508181036000830152615af281615ab6565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea264697066735822122011157bddd48530e5ac56ae3d5722742bb193023acdd49f4bec5ad8be6c99ad9964736f6c63430008180033