0x6080604052606460016a295be96e6406697200000062000020919062000882565b6200002c9190620008fc565b600655606460016a295be96e640669720000006200004b919062000882565b620000579190620008fc565b600755600f600855600f600955600f600a556001600b60006101000a81548160ff021916908315150217905550736da849a5be2ba9edbf8a530a12eb7fd3be86be87600b60016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600d60146101000a81548160ff0219169083151502179055503480156200010157600080fd5b5062000122620001166200061360201b60201c565b6200061b60201b60201c565b6001600260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060014614806200018a5750600546145b15620001e657737a250d5630b4cf539739df2c5dacb4c659f2488d600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b6001600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506a295be96e64066972000000600560003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6a295be96e64066972000000604051620002f8919062000945565b60405180910390a3600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200036e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003949190620009cc565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200041d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004439190620009cc565b306040518363ffffffff1660e01b81526004016200046392919062000a0f565b6020604051808303816000875af115801562000483573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004a99190620009cc565b600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160046000600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620005b833600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff620006df60201b60201c565b6200060d30600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff620006df60201b60201c565b62000abf565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000751576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007489062000a9d565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620007c3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007ba9062000a9d565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200088f8262000849565b91506200089c8362000849565b9250828202620008ac8162000849565b91508282048414831517620008c657620008c562000853565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620009098262000849565b9150620009168362000849565b925082620009295762000928620008cd565b5b828204905092915050565b6200093f8162000849565b82525050565b60006020820190506200095c600083018462000934565b92915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620009948262000967565b9050919050565b620009a68162000987565b8114620009b257600080fd5b50565b600081519050620009c6816200099b565b92915050565b600060208284031215620009e557620009e462000962565b5b6000620009f584828501620009b5565b91505092915050565b62000a098162000987565b82525050565b600060408201905062000a266000830185620009fe565b62000a356020830184620009fe565b9392505050565b600082825260208201905092915050565b7f45524332303a205a65726f204164647265737300000000000000000000000000600082015250565b600062000a8560138362000a3c565b915062000a928262000a4d565b602082019050919050565b6000602082019050818103600083015262000ab88162000a76565b9050919050565b6131f78062000acf6000396000f3fe6080604052600436106101c65760003560e01c8063715018a6116100f7578063c31c9c0711610095578063dd62ed3e11610064578063dd62ed3e14610643578063e9451f5f14610680578063f2fde38b146106ab578063f8b45b05146106d4576101cd565b8063c31c9c0714610599578063c8c8ebe4146105c4578063ca6c4281146105ef578063dc9d75b014610618576101cd565b806395d89b41116100d157806395d89b41146104cb578063a9059cbb146104f6578063bf078f6014610533578063c18bc19514610570576101cd565b8063715018a61461045e578063893d20e8146104755780638da5cb5b146104a0576101cd565b806322429085116101645780633eaaf86b1161013e5780633eaaf86b146103a0578063452ed4f1146103cb57806354de7bee146103f657806370a0823114610421576101cd565b8063224290851461030f57806323b872dd14610338578063313ce56714610375576101cd565b8063095ea7b3116101a0578063095ea7b31461025357806318160ddd146102905780631dc36945146102bb578063203e727e146102e6576101cd565b80630445b667146101d2578063064a59d0146101fd57806306fdde0314610228576101cd565b366101cd57005b600080fd5b3480156101de57600080fd5b506101e76106ff565b6040516101f49190612324565b60405180910390f35b34801561020957600080fd5b5061021261071b565b60405161021f919061235a565b60405180910390f35b34801561023457600080fd5b5061023d61072e565b60405161024a9190612405565b60405180910390f35b34801561025f57600080fd5b5061027a600480360381019061027591906124b6565b61076b565b604051610287919061235a565b60405180910390f35b34801561029c57600080fd5b506102a5610782565b6040516102b29190612324565b60405180910390f35b3480156102c757600080fd5b506102d06107ac565b6040516102dd9190612324565b60405180910390f35b3480156102f257600080fd5b5061030d600480360381019061030891906124f6565b6107b2565b005b34801561031b57600080fd5b5061033660048036038101906103319190612523565b61084b565b005b34801561034457600080fd5b5061035f600480360381019061035a9190612576565b6109ad565b60405161036c919061235a565b60405180910390f35b34801561038157600080fd5b5061038a610afa565b60405161039791906125e5565b60405180910390f35b3480156103ac57600080fd5b506103b5610b1a565b6040516103c29190612324565b60405180910390f35b3480156103d757600080fd5b506103e0610b29565b6040516103ed919061260f565b60405180910390f35b34801561040257600080fd5b5061040b610b4f565b6040516104189190612324565b60405180910390f35b34801561042d57600080fd5b506104486004803603810190610443919061262a565b610b55565b6040516104559190612324565b60405180910390f35b34801561046a57600080fd5b50610473610b9e565b005b34801561048157600080fd5b5061048a610c26565b604051610497919061260f565b60405180910390f35b3480156104ac57600080fd5b506104b5610c35565b6040516104c2919061260f565b60405180910390f35b3480156104d757600080fd5b506104e0610c5e565b6040516104ed9190612405565b60405180910390f35b34801561050257600080fd5b5061051d600480360381019061051891906124b6565b610c9b565b60405161052a919061235a565b60405180910390f35b34801561053f57600080fd5b5061055a6004803603810190610555919061262a565b610cb3565b604051610567919061235a565b60405180910390f35b34801561057c57600080fd5b50610597600480360381019061059291906124f6565b610d09565b005b3480156105a557600080fd5b506105ae610da2565b6040516105bb91906126b6565b60405180910390f35b3480156105d057600080fd5b506105d9610dc8565b6040516105e69190612324565b60405180910390f35b3480156105fb57600080fd5b50610616600480360381019061061191906126fd565b610dce565b005b34801561062457600080fd5b5061062d610ea5565b60405161063a9190612324565b60405180910390f35b34801561064f57600080fd5b5061066a6004803603810190610665919061273d565b610eaa565b6040516106779190612324565b60405180910390f35b34801561068c57600080fd5b50610695610f31565b6040516106a29190612324565b60405180910390f35b3480156106b757600080fd5b506106d260048036038101906106cd919061262a565b610f37565b005b3480156106e057600080fd5b506106e961102e565b6040516106f69190612324565b60405180910390f35b6101f46a295be96e6406697200000061071891906127db565b81565b600d60149054906101000a900460ff1681565b60606040518060400160405280600581526020017f4a75696365000000000000000000000000000000000000000000000000000000815250905090565b6000610778338484611034565b6001905092915050565b6000806a295be96e640669720000000361079b57600080fd5b6a295be96e64066972000000905090565b60085481565b6107ba611198565b73ffffffffffffffffffffffffffffffffffffffff166107d8610c35565b73ffffffffffffffffffffffffffffffffffffffff161461082e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082590612858565b60405180910390fd5b670de0b6b3a7640000816108429190612878565b60068190555050565b610853611198565b73ffffffffffffffffffffffffffffffffffffffff16610871610c35565b73ffffffffffffffffffffffffffffffffffffffff16146108c7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108be90612858565b60405180910390fd5b600f83111561090b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109029061292c565b60405180910390fd5b600f82111561094f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610946906129be565b60405180910390fd5b600f811115610993576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161098a90612a50565b60405180910390fd5b826008819055508160098190555080600a81905550505050565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610ae65781600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610ade9190612a70565b925050819055505b610af18484846111a0565b90509392505050565b6000806a295be96e6406697200000003610b1357600080fd5b6012905090565b6a295be96e6406697200000081565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a5481565b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ba6611198565b73ffffffffffffffffffffffffffffffffffffffff16610bc4610c35565b73ffffffffffffffffffffffffffffffffffffffff1614610c1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1190612858565b60405180910390fd5b610c246000611955565b565b6000610c30610c35565b905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606040518060400160405280600581526020017f4a75696365000000000000000000000000000000000000000000000000000000815250905090565b6000610ca83384846111a0565b506001905092915050565b6000600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610d11611198565b73ffffffffffffffffffffffffffffffffffffffff16610d2f610c35565b73ffffffffffffffffffffffffffffffffffffffff1614610d85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7c90612858565b60405180910390fd5b670de0b6b3a764000081610d999190612878565b60078190555050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b610dd6611198565b73ffffffffffffffffffffffffffffffffffffffff16610df4610c35565b73ffffffffffffffffffffffffffffffffffffffff1614610e4a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4190612858565b60405180910390fd5b80600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b606481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b60095481565b610f3f611198565b73ffffffffffffffffffffffffffffffffffffffff16610f5d610c35565b73ffffffffffffffffffffffffffffffffffffffff1614610fb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610faa90612858565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611022576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101990612b16565b60405180910390fd5b61102b81611955565b50565b60075481565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036110a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109a90612b82565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611112576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110990612b82565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b600033905090565b60008060019050600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603611216576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120d90612c14565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611285576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127c90612ca6565b60405180910390fd5b600083116112c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112bf90612d38565b60405180910390fd5b6112d28585611a19565b1561132757600d60149054906101000a900460ff16611326576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131d90612da4565b60405180910390fd5b5b61132f610c35565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415801561139d575061136d610c35565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b80156113d65750600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b8015611410575061dead73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b156116fe57600460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156114b85750600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561155f57600654831115611502576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f990612e36565b60405180910390fd5b60075461150e85610b55565b846115199190612e56565b111561155a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155190612ed6565b60405180910390fd5b6116fd565b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156116025750600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156116515760065483111561164c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164390612f68565b60405180910390fd5b6116fc565b600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff166116fb576007546116ae85610b55565b846116b99190612e56565b11156116fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116f190612ed6565b60405180910390fd5b5b5b5b5b6117088585611bfa565b80156117215750600d60159054906101000a900460ff16155b1561175e57600061173130610b55565b90506101f46a295be96e6406697200000061174c91906127db565b811061175c5761175b81611cac565b5b505b600260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806117ff5750600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b1561180957600090505b82600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118589190612a70565b9250508190555060008161186c578361188b565b61188a8661187a8888612124565b6118848989611bfa565b876121d6565b5b905080600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546118dc9190612e56565b925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119409190612324565b60405180910390a36001925050509392505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080611a24610c35565b73ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614158015611a925750611a62610c35565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611ad15750611aa1610c35565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b8015611b275750600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611b7d5750600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015611bb65750600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b8015611bee57503073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614155b90508091505092915050565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611ca05750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b90508091505092915050565b6001600d60156101000a81548160ff0219169083151502179055506000600267ffffffffffffffff811115611ce457611ce3612f88565b5b604051908082528060200260200182016040528015611d125781602001602082028036833780820191505090505b5090503081600081518110611d2a57611d29612fb7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611df59190612ffb565b81600181518110611e0957611e08612fb7565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414611fcc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401612030959493929190613121565b600060405180830381600087803b15801561204a57600080fd5b505af192505050801561205b575060015b6120655750612106565b60008047111561210357600b60019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476188b8906040516120b9906131ac565b600060405180830381858888f193505050503d80600081146120f7576040519150601f19603f3d011682016040523d82523d6000602084013e6120fc565b606091505b5050809150505b50505b6000600d60156101000a81548160ff02191690831515021790555050565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156121ca5750600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b90508091505092915050565b60008084156121e9576008549050612200565b83156121f95760095490506121ff565b600a5490505b5b600081036122115782915050612303565b6000606482856122219190612878565b61222b91906127db565b905060008111156122f25780600560003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546122859190612e56565b925050819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516122e99190612324565b60405180910390a35b80846122fe9190612a70565b925050505b949350505050565b6000819050919050565b61231e8161230b565b82525050565b60006020820190506123396000830184612315565b92915050565b60008115159050919050565b6123548161233f565b82525050565b600060208201905061236f600083018461234b565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156123af578082015181840152602081019050612394565b60008484015250505050565b6000601f19601f8301169050919050565b60006123d782612375565b6123e18185612380565b93506123f1818560208601612391565b6123fa816123bb565b840191505092915050565b6000602082019050818103600083015261241f81846123cc565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006124578261242c565b9050919050565b6124678161244c565b811461247257600080fd5b50565b6000813590506124848161245e565b92915050565b6124938161230b565b811461249e57600080fd5b50565b6000813590506124b08161248a565b92915050565b600080604083850312156124cd576124cc612427565b5b60006124db85828601612475565b92505060206124ec858286016124a1565b9150509250929050565b60006020828403121561250c5761250b612427565b5b600061251a848285016124a1565b91505092915050565b60008060006060848603121561253c5761253b612427565b5b600061254a868287016124a1565b935050602061255b868287016124a1565b925050604061256c868287016124a1565b9150509250925092565b60008060006060848603121561258f5761258e612427565b5b600061259d86828701612475565b93505060206125ae86828701612475565b92505060406125bf868287016124a1565b9150509250925092565b600060ff82169050919050565b6125df816125c9565b82525050565b60006020820190506125fa60008301846125d6565b92915050565b6126098161244c565b82525050565b60006020820190506126246000830184612600565b92915050565b6000602082840312156126405761263f612427565b5b600061264e84828501612475565b91505092915050565b6000819050919050565b600061267c6126776126728461242c565b612657565b61242c565b9050919050565b600061268e82612661565b9050919050565b60006126a082612683565b9050919050565b6126b081612695565b82525050565b60006020820190506126cb60008301846126a7565b92915050565b6126da8161233f565b81146126e557600080fd5b50565b6000813590506126f7816126d1565b92915050565b6000806040838503121561271457612713612427565b5b600061272285828601612475565b9250506020612733858286016126e8565b9150509250929050565b6000806040838503121561275457612753612427565b5b600061276285828601612475565b925050602061277385828601612475565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006127e68261230b565b91506127f18361230b565b9250826128015761280061277d565b5b828204905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612842602083612380565b915061284d8261280c565b602082019050919050565b6000602082019050818103600083015261287181612835565b9050919050565b60006128838261230b565b915061288e8361230b565b925082820261289c8161230b565b915082820484148315176128b3576128b26127ac565b5b5092915050565b7f20666565206f6e206275792063616e6e6f74206265206d6f7265207468616e2060008201527f3135250000000000000000000000000000000000000000000000000000000000602082015250565b6000612916602383612380565b9150612921826128ba565b604082019050919050565b6000602082019050818103600083015261294581612909565b9050919050565b7f20666565206f6e2073656c6c2063616e6e6f74206265206d6f7265207468616e60008201527f2031352500000000000000000000000000000000000000000000000000000000602082015250565b60006129a8602483612380565b91506129b38261294c565b604082019050919050565b600060208201905081810360008301526129d78161299b565b9050919050565b7f20666565206f6e207472616e736665722063616e6e6f74206265206d6f72652060008201527f7468616e20313525000000000000000000000000000000000000000000000000602082015250565b6000612a3a602883612380565b9150612a45826129de565b604082019050919050565b60006020820190508181036000830152612a6981612a2d565b9050919050565b6000612a7b8261230b565b9150612a868361230b565b9250828203905081811115612a9e57612a9d6127ac565b5b92915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000612b00602683612380565b9150612b0b82612aa4565b604082019050919050565b60006020820190508181036000830152612b2f81612af3565b9050919050565b7f45524332303a205a65726f204164647265737300000000000000000000000000600082015250565b6000612b6c601383612380565b9150612b7782612b36565b602082019050919050565b60006020820190508181036000830152612b9b81612b5f565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000612bfe602383612380565b9150612c0982612ba2565b604082019050919050565b60006020820190508181036000830152612c2d81612bf1565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000612c90602583612380565b9150612c9b82612c34565b604082019050919050565b60006020820190508181036000830152612cbf81612c83565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000612d22602983612380565b9150612d2d82612cc6565b604082019050919050565b60006020820190508181036000830152612d5181612d15565b9050919050565b7f54726164696e67206973206e6f7420656e61626c656400000000000000000000600082015250565b6000612d8e601683612380565b9150612d9982612d58565b602082019050919050565b60006020820190508181036000830152612dbd81612d81565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b6000612e20603583612380565b9150612e2b82612dc4565b604082019050919050565b60006020820190508181036000830152612e4f81612e13565b9050919050565b6000612e618261230b565b9150612e6c8361230b565b9250828201905080821115612e8457612e836127ac565b5b92915050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b6000612ec0601383612380565b9150612ecb82612e8a565b602082019050919050565b60006020820190508181036000830152612eef81612eb3565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b6000612f52603683612380565b9150612f5d82612ef6565b604082019050919050565b60006020820190508181036000830152612f8181612f45565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600081519050612ff58161245e565b92915050565b60006020828403121561301157613010612427565b5b600061301f84828501612fe6565b91505092915050565b6000819050919050565b600061304d61304861304384613028565b612657565b61230b565b9050919050565b61305d81613032565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6130988161244c565b82525050565b60006130aa838361308f565b60208301905092915050565b6000602082019050919050565b60006130ce82613063565b6130d8818561306e565b93506130e38361307f565b8060005b838110156131145781516130fb888261309e565b9750613106836130b6565b9250506001810190506130e7565b5085935050505092915050565b600060a0820190506131366000830188612315565b6131436020830187613054565b818103604083015261315581866130c3565b90506131646060830185612600565b6131716080830184612315565b9695505050505050565b600081905092915050565b50565b600061319660008361317b565b91506131a182613186565b600082019050919050565b60006131b782613189565b915081905091905056fea2646970667358221220a9b291e5b8b28f80f83f61b6baf38f6c24babbb98b60495c40f877a03e51734e64736f6c63430008130033