0x608060405260043610610122575f3560e01c80638da5cb5b1161009f578063d798c7e211610063578063d798c7e2146103e3578063d906cc7d1461040d578063dacfa52e14610435578063dd62ed3e1461045d578063ffb54a991461049957610129565b80638da5cb5b146103015780638f9a55c01461032b57806395d89b4114610355578063a9059cbb1461037f578063d34628cc146103bb57610129565b806331c2d847116100e657806331c2d847146102235780633bbac5791461024b57806353e8030d1461028757806370a08231146102af578063715018a6146102eb57610129565b806306fdde031461012d578063095ea7b31461015757806318160ddd1461019357806323b872dd146101bd578063313ce567146101f957610129565b3661012957005b5f80fd5b348015610138575f80fd5b506101416104c3565b60405161014e9190611dd7565b60405180910390f35b348015610162575f80fd5b5061017d60048036038101906101789190611e95565b610500565b60405161018a9190611eed565b60405180910390f35b34801561019e575f80fd5b506101a761051d565b6040516101b49190611f15565b60405180910390f35b3480156101c8575f80fd5b506101e360048036038101906101de9190611f2e565b610540565b6040516101f09190611eed565b60405180910390f35b348015610204575f80fd5b5061020d610614565b60405161021a9190611f99565b60405180910390f35b34801561022e575f80fd5b50610249600480360381019061024491906120f2565b61061c565b005b348015610256575f80fd5b50610271600480360381019061026c9190612139565b610740565b60405161027e9190611eed565b60405180910390f35b348015610292575f80fd5b506102ad60048036038101906102a8919061218e565b610792565b005b3480156102ba575f80fd5b506102d560048036038101906102d09190612139565b6108f2565b6040516102e29190611f15565b60405180910390f35b3480156102f6575f80fd5b506102ff610938565b005b34801561030c575f80fd5b50610315610a86565b60405161032291906121c8565b60405180910390f35b348015610336575f80fd5b5061033f610aad565b60405161034c9190611f15565b60405180910390f35b348015610360575f80fd5b50610369610ab3565b6040516103769190611dd7565b60405180910390f35b34801561038a575f80fd5b506103a560048036038101906103a09190611e95565b610af0565b6040516103b29190611eed565b60405180910390f35b3480156103c6575f80fd5b506103e160048036038101906103dc91906120f2565b610b0d565b005b3480156103ee575f80fd5b506103f7610c32565b60405161040491906121c8565b60405180910390f35b348015610418575f80fd5b50610433600480360381019061042e9190612139565b610c57565b005b348015610440575f80fd5b5061045b600480360381019061045691906121e1565b610dc6565b005b348015610468575f80fd5b50610483600480360381019061047e919061221f565b610f1e565b6040516104909190611f15565b60405180910390f35b3480156104a4575f80fd5b506104ad610fa0565b6040516104ba9190611eed565b60405180910390f35b60606040518060400160405280601881526020017f4d616b6520416d657269636120477265617420416761696e0000000000000000815250905090565b5f61051361050c610fb3565b8484610fba565b6001905092915050565b5f6009600a61052c91906123b9565b633b9aca0061053b9190612403565b905090565b5f61054c84848461117d565b61060984610558610fb3565b61060485604051806060016040528060288152602001612af36028913960035f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105bb610fb3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611afa9092919063ffffffff16565b610fba565b600190509392505050565b5f6009905090565b610624610fb3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a79061248e565b60405180910390fd5b5f5b815181101561073c575f60055f8484815181106106d2576106d16124ac565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080610734906124d9565b9150506106b2565b5050565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b61079a610fb3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610826576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081d9061248e565b60405180910390fd5b60648160ff16111561086d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108649061256a565b60405180910390fd5b6108b260646108a48360ff166009600a61088791906123b9565b633b9aca006108969190612403565b611b5c90919063ffffffff16565b611bd390919063ffffffff16565b6007819055507f656c61bbe4f65d84cf0f7e2b8b134a72649ec46f57f5699f623fc2b28d174375816040516108e79190611f99565b60405180910390a150565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610940610fb3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c39061248e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075481565b60606040518060400160405280600581526020017f5452554d50000000000000000000000000000000000000000000000000000000815250905090565b5f610b03610afc610fb3565b848461117d565b6001905092915050565b610b15610fb3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ba1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b989061248e565b60405180910390fd5b5f5b8151811015610c2e57600160055f848481518110610bc457610bc36124ac565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080610c26906124d9565b915050610ba3565b5050565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c5f610fb3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ceb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce29061248e565b60405180910390fd5b8060095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600960146101000a81548160ff0219169083151502179055507f2e4fd8c50e83344d0df2936f3db86543b5a0349e31ee5567dcfa82acb46a9c0081604051610d7591906121c8565b60405180910390a17f2d03420b6a07988c3dd9960afd128bd98384ff0d69ae9cb3c438f4ec21cf8499600960149054906101000a900460ff16604051610dbb9190611eed565b60405180910390a150565b610dce610fb3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e519061248e565b60405180910390fd5b60148183610e689190612588565b60ff161115610eac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea39061256a565b60405180910390fd5b8160065f6101000a81548160ff021916908360ff16021790555080600660016101000a81548160ff021916908360ff1602179055507f2d070b5ef12b2c7dd0188376027fb8a59d03f94c04322ef5bad5426a922f97be8282604051610f129291906125bc565b60405180910390a15050565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600960149054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611028576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101f90612653565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611096576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108d906126e1565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111709190611f15565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e29061276f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611259576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611250906127fd565b60405180910390fd5b5f811161129b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112929061288b565b60405180910390fd5b5f805f60085f9054906101000a900460ff1660ff161190505f6112bc610a86565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415801561132a57506112fa610a86565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b1561172657600960149054906101000a900460ff168015611392575060055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156113e5575060055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b6113ed575f80fd5b611424606461141660065f9054906101000a900460ff1660ff1687611b5c90919063ffffffff16565b611bd390919063ffffffff16565b925060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141580156114ca575060045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561152857600754846114dc876108f2565b6114e691906128a9565b1115611527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151e90612926565b60405180910390fd5b5b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036115c357816115be576115b960646115ab600660019054906101000a900460ff1660ff1687611b5c90919063ffffffff16565b611bd390919063ffffffff16565b6115c0565b835b92505b60045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061165e575060045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15611725575f925060045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156116e757503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b156117245760085f81819054906101000a900460ff168092919061170a90612944565b91906101000a81548160ff021916908360ff160217905550505b5b5b5f83111561188f576117a08360025f600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c1c90919063ffffffff16565b60025f600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516118829190611f15565b60405180910390a361193e565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141580156118e95750815b801561193b575060045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b90505b61198e8460025f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c7990919063ffffffff16565b60025f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611a3a6119ee6119e88587611c7990919063ffffffff16565b83611cc2565b60025f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c1c90919063ffffffff16565b60025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611add8688611c7990919063ffffffff16565b604051611aea9190611f15565b60405180910390a3505050505050565b5f838311158290611b41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b389190611dd7565b60405180910390fd5b505f8385611b4f919061296c565b9050809150509392505050565b5f808303611b6c575f9050611bcd565b5f8284611b799190612403565b9050828482611b8891906129cc565b14611bc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bbf90612a6c565b60405180910390fd5b809150505b92915050565b5f611c1483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611cec565b905092915050565b5f808284611c2a91906128a9565b905083811015611c6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6690612ad4565b60405180910390fd5b8091505092915050565b5f611cba83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611afa565b905092915050565b5f81611cce5782611ce4565b611ce360015484611c1c90919063ffffffff16565b5b905092915050565b5f8083118290611d32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d299190611dd7565b60405180910390fd5b505f8385611d4091906129cc565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611d84578082015181840152602081019050611d69565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611da982611d4d565b611db38185611d57565b9350611dc3818560208601611d67565b611dcc81611d8f565b840191505092915050565b5f6020820190508181035f830152611def8184611d9f565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611e3182611e08565b9050919050565b611e4181611e27565b8114611e4b575f80fd5b50565b5f81359050611e5c81611e38565b92915050565b5f819050919050565b611e7481611e62565b8114611e7e575f80fd5b50565b5f81359050611e8f81611e6b565b92915050565b5f8060408385031215611eab57611eaa611e00565b5b5f611eb885828601611e4e565b9250506020611ec985828601611e81565b9150509250929050565b5f8115159050919050565b611ee781611ed3565b82525050565b5f602082019050611f005f830184611ede565b92915050565b611f0f81611e62565b82525050565b5f602082019050611f285f830184611f06565b92915050565b5f805f60608486031215611f4557611f44611e00565b5b5f611f5286828701611e4e565b9350506020611f6386828701611e4e565b9250506040611f7486828701611e81565b9150509250925092565b5f60ff82169050919050565b611f9381611f7e565b82525050565b5f602082019050611fac5f830184611f8a565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611fec82611d8f565b810181811067ffffffffffffffff8211171561200b5761200a611fb6565b5b80604052505050565b5f61201d611df7565b90506120298282611fe3565b919050565b5f67ffffffffffffffff82111561204857612047611fb6565b5b602082029050602081019050919050565b5f80fd5b5f61206f61206a8461202e565b612014565b9050808382526020820190506020840283018581111561209257612091612059565b5b835b818110156120bb57806120a78882611e4e565b845260208401935050602081019050612094565b5050509392505050565b5f82601f8301126120d9576120d8611fb2565b5b81356120e984826020860161205d565b91505092915050565b5f6020828403121561210757612106611e00565b5b5f82013567ffffffffffffffff81111561212457612123611e04565b5b612130848285016120c5565b91505092915050565b5f6020828403121561214e5761214d611e00565b5b5f61215b84828501611e4e565b91505092915050565b61216d81611f7e565b8114612177575f80fd5b50565b5f8135905061218881612164565b92915050565b5f602082840312156121a3576121a2611e00565b5b5f6121b08482850161217a565b91505092915050565b6121c281611e27565b82525050565b5f6020820190506121db5f8301846121b9565b92915050565b5f80604083850312156121f7576121f6611e00565b5b5f6122048582860161217a565b92505060206122158582860161217a565b9150509250929050565b5f806040838503121561223557612234611e00565b5b5f61224285828601611e4e565b925050602061225385828601611e4e565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156122df578086048111156122bb576122ba61225d565b5b60018516156122ca5780820291505b80810290506122d88561228a565b945061229f565b94509492505050565b5f826122f757600190506123b2565b81612304575f90506123b2565b816001811461231a576002811461232457612353565b60019150506123b2565b60ff8411156123365761233561225d565b5b8360020a91508482111561234d5761234c61225d565b5b506123b2565b5060208310610133831016604e8410600b84101617156123885782820a9050838111156123835761238261225d565b5b6123b2565b6123958484846001612296565b925090508184048111156123ac576123ab61225d565b5b81810290505b9392505050565b5f6123c382611e62565b91506123ce83611f7e565b92506123fb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846122e8565b905092915050565b5f61240d82611e62565b915061241883611e62565b925082820261242681611e62565b9150828204841483151761243d5761243c61225d565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612478602083611d57565b915061248382612444565b602082019050919050565b5f6020820190508181035f8301526124a58161246c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6124e382611e62565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036125155761251461225d565b5b600182019050919050565b7f4552523a2057726f6e672070657263656e746167652e000000000000000000005f82015250565b5f612554601683611d57565b915061255f82612520565b602082019050919050565b5f6020820190508181035f83015261258181612548565b9050919050565b5f61259282611f7e565b915061259d83611f7e565b9250828201905060ff8111156125b6576125b561225d565b5b92915050565b5f6040820190506125cf5f830185611f8a565b6125dc6020830184611f8a565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61263d602483611d57565b9150612648826125e3565b604082019050919050565b5f6020820190508181035f83015261266a81612631565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6126cb602283611d57565b91506126d682612671565b604082019050919050565b5f6020820190508181035f8301526126f8816126bf565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612759602583611d57565b9150612764826126ff565b604082019050919050565b5f6020820190508181035f8301526127868161274d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6127e7602383611d57565b91506127f28261278d565b604082019050919050565b5f6020820190508181035f830152612814816127db565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612875602983611d57565b91506128808261281b565b604082019050919050565b5f6020820190508181035f8301526128a281612869565b9050919050565b5f6128b382611e62565b91506128be83611e62565b92508282019050808211156128d6576128d561225d565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612910601a83611d57565b915061291b826128dc565b602082019050919050565b5f6020820190508181035f83015261293d81612904565b9050919050565b5f61294e82611f7e565b915060ff82036129615761296061225d565b5b600182019050919050565b5f61297682611e62565b915061298183611e62565b92508282039050818111156129995761299861225d565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6129d682611e62565b91506129e183611e62565b9250826129f1576129f061299f565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a56602183611d57565b9150612a61826129fc565b604082019050919050565b5f6020820190508181035f830152612a8381612a4a565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612abe601b83611d57565b9150612ac982612a8a565b602082019050919050565b5f6020820190508181035f830152612aeb81612ab2565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204f291136bfa5013cd9ebece329017198213be5002af49200e81a4cd858ce166d64736f6c63430008140033
0x60806040525f60065f6101000a81548160ff021916908360ff1602179055505f600660016101000a81548160ff021916908360ff1602179055506003600660026101000a81548160ff021916908360ff160217905550620000b16064620000a2600660029054906101000a900460ff1660ff166009600a620000829190620006ca565b633b9aca006200009391906200071a565b620003d360201b90919060201c565b6200045360201b90919060201c565b600755348015620000c0575f80fd5b50604051620034ff380380620034ff8339818101604052810190620000e6919062000797565b5f620000f7620004a460201b60201c565b9050805f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35080600181905550620001aa620004a460201b60201c565b600860016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506009600a620001fa9190620006ca565b633b9aca006200020b91906200071a565b60025f6200021e620004a460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600160045f62000270620004ab60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff021916908315150217905550600160045f600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff02191690831515021790555062000346620004a460201b60201c565b73ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6009600a620003a49190620006ca565b633b9aca00620003b591906200071a565b604051620003c49190620007d8565b60405180910390a350620009a1565b5f808303620003e5575f90506200044d565b5f8284620003f491906200071a565b905082848262000405919062000820565b1462000448576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200043f90620008db565b60405180910390fd5b809150505b92915050565b5f6200049c83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620004d260201b60201c565b905092915050565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f80831182906200051b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200051291906200097f565b60405180910390fd5b505f83856200052b919062000820565b9050809150509392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b6001851115620005c2578086048111156200059a576200059962000538565b5b6001851615620005aa5780820291505b8081029050620005ba8562000565565b94506200057a565b94509492505050565b5f82620005dc5760019050620006ae565b81620005eb575f9050620006ae565b81600181146200060457600281146200060f5762000645565b6001915050620006ae565b60ff84111562000624576200062362000538565b5b8360020a9150848211156200063e576200063d62000538565b5b50620006ae565b5060208310610133831016604e8410600b84101617156200067f5782820a90508381111562000679576200067862000538565b5b620006ae565b6200068e848484600162000571565b92509050818404811115620006a857620006a762000538565b5b81810290505b9392505050565b5f819050919050565b5f60ff82169050919050565b5f620006d682620006b5565b9150620006e383620006be565b9250620007127fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484620005cb565b905092915050565b5f6200072682620006b5565b91506200073383620006b5565b92508282026200074381620006b5565b915082820484148315176200075d576200075c62000538565b5b5092915050565b5f80fd5b6200077381620006b5565b81146200077e575f80fd5b50565b5f81519050620007918162000768565b92915050565b5f60208284031215620007af57620007ae62000764565b5b5f620007be8482850162000781565b91505092915050565b620007d281620006b5565b82525050565b5f602082019050620007ed5f830184620007c7565b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6200082c82620006b5565b91506200083983620006b5565b9250826200084c576200084b620007f3565b5b828204905092915050565b5f82825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f620008c360218362000857565b9150620008d08262000867565b604082019050919050565b5f6020820190508181035f830152620008f481620008b5565b9050919050565b5f81519050919050565b5f5b838110156200092457808201518184015260208101905062000907565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6200094b82620008fb565b62000957818562000857565b93506200096981856020860162000905565b62000974816200092f565b840191505092915050565b5f6020820190508181035f8301526200099981846200093f565b905092915050565b612b5080620009af5f395ff3fe608060405260043610610122575f3560e01c80638da5cb5b1161009f578063d798c7e211610063578063d798c7e2146103e3578063d906cc7d1461040d578063dacfa52e14610435578063dd62ed3e1461045d578063ffb54a991461049957610129565b80638da5cb5b146103015780638f9a55c01461032b57806395d89b4114610355578063a9059cbb1461037f578063d34628cc146103bb57610129565b806331c2d847116100e657806331c2d847146102235780633bbac5791461024b57806353e8030d1461028757806370a08231146102af578063715018a6146102eb57610129565b806306fdde031461012d578063095ea7b31461015757806318160ddd1461019357806323b872dd146101bd578063313ce567146101f957610129565b3661012957005b5f80fd5b348015610138575f80fd5b506101416104c3565b60405161014e9190611dd7565b60405180910390f35b348015610162575f80fd5b5061017d60048036038101906101789190611e95565b610500565b60405161018a9190611eed565b60405180910390f35b34801561019e575f80fd5b506101a761051d565b6040516101b49190611f15565b60405180910390f35b3480156101c8575f80fd5b506101e360048036038101906101de9190611f2e565b610540565b6040516101f09190611eed565b60405180910390f35b348015610204575f80fd5b5061020d610614565b60405161021a9190611f99565b60405180910390f35b34801561022e575f80fd5b50610249600480360381019061024491906120f2565b61061c565b005b348015610256575f80fd5b50610271600480360381019061026c9190612139565b610740565b60405161027e9190611eed565b60405180910390f35b348015610292575f80fd5b506102ad60048036038101906102a8919061218e565b610792565b005b3480156102ba575f80fd5b506102d560048036038101906102d09190612139565b6108f2565b6040516102e29190611f15565b60405180910390f35b3480156102f6575f80fd5b506102ff610938565b005b34801561030c575f80fd5b50610315610a86565b60405161032291906121c8565b60405180910390f35b348015610336575f80fd5b5061033f610aad565b60405161034c9190611f15565b60405180910390f35b348015610360575f80fd5b50610369610ab3565b6040516103769190611dd7565b60405180910390f35b34801561038a575f80fd5b506103a560048036038101906103a09190611e95565b610af0565b6040516103b29190611eed565b60405180910390f35b3480156103c6575f80fd5b506103e160048036038101906103dc91906120f2565b610b0d565b005b3480156103ee575f80fd5b506103f7610c32565b60405161040491906121c8565b60405180910390f35b348015610418575f80fd5b50610433600480360381019061042e9190612139565b610c57565b005b348015610440575f80fd5b5061045b600480360381019061045691906121e1565b610dc6565b005b348015610468575f80fd5b50610483600480360381019061047e919061221f565b610f1e565b6040516104909190611f15565b60405180910390f35b3480156104a4575f80fd5b506104ad610fa0565b6040516104ba9190611eed565b60405180910390f35b60606040518060400160405280601881526020017f4d616b6520416d657269636120477265617420416761696e0000000000000000815250905090565b5f61051361050c610fb3565b8484610fba565b6001905092915050565b5f6009600a61052c91906123b9565b633b9aca0061053b9190612403565b905090565b5f61054c84848461117d565b61060984610558610fb3565b61060485604051806060016040528060288152602001612af36028913960035f8b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6105bb610fb3565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611afa9092919063ffffffff16565b610fba565b600190509392505050565b5f6009905090565b610624610fb3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146106b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a79061248e565b60405180910390fd5b5f5b815181101561073c575f60055f8484815181106106d2576106d16124ac565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080610734906124d9565b9150506106b2565b5050565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff169050919050565b61079a610fb3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610826576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161081d9061248e565b60405180910390fd5b60648160ff16111561086d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108649061256a565b60405180910390fd5b6108b260646108a48360ff166009600a61088791906123b9565b633b9aca006108969190612403565b611b5c90919063ffffffff16565b611bd390919063ffffffff16565b6007819055507f656c61bbe4f65d84cf0f7e2b8b134a72649ec46f57f5699f623fc2b28d174375816040516108e79190611f99565b60405180910390a150565b5f60025f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610940610fb3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146109cc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c39061248e565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f805f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60075481565b60606040518060400160405280600581526020017f5452554d50000000000000000000000000000000000000000000000000000000815250905090565b5f610b03610afc610fb3565b848461117d565b6001905092915050565b610b15610fb3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ba1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b989061248e565b60405180910390fd5b5f5b8151811015610c2e57600160055f848481518110610bc457610bc36124ac565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508080610c26906124d9565b915050610ba3565b5050565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b610c5f610fb3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610ceb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ce29061248e565b60405180910390fd5b8060095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600960146101000a81548160ff0219169083151502179055507f2e4fd8c50e83344d0df2936f3db86543b5a0349e31ee5567dcfa82acb46a9c0081604051610d7591906121c8565b60405180910390a17f2d03420b6a07988c3dd9960afd128bd98384ff0d69ae9cb3c438f4ec21cf8499600960149054906101000a900460ff16604051610dbb9190611eed565b60405180910390a150565b610dce610fb3565b73ffffffffffffffffffffffffffffffffffffffff165f8054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610e5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e519061248e565b60405180910390fd5b60148183610e689190612588565b60ff161115610eac576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ea39061256a565b60405180910390fd5b8160065f6101000a81548160ff021916908360ff16021790555080600660016101000a81548160ff021916908360ff1602179055507f2d070b5ef12b2c7dd0188376027fb8a59d03f94c04322ef5bad5426a922f97be8282604051610f129291906125bc565b60405180910390a15050565b5f60035f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b600960149054906101000a900460ff1681565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611028576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161101f90612653565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611096576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108d906126e1565b60405180910390fd5b8060035f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516111709190611f15565b60405180910390a3505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036111eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e29061276f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611259576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611250906127fd565b60405180910390fd5b5f811161129b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112929061288b565b60405180910390fd5b5f805f60085f9054906101000a900460ff1660ff161190505f6112bc610a86565b73ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415801561132a57506112fa610a86565b73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614155b1561172657600960149054906101000a900460ff168015611392575060055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b80156113e5575060055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b6113ed575f80fd5b611424606461141660065f9054906101000a900460ff1660ff1687611b5c90919063ffffffff16565b611bd390919063ffffffff16565b925060095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16141580156114ca575060045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16155b1561152857600754846114dc876108f2565b6114e691906128a9565b1115611527576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151e90612926565b60405180910390fd5b5b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036115c357816115be576115b960646115ab600660019054906101000a900460ff1660ff1687611b5c90919063ffffffff16565b611bd390919063ffffffff16565b6115c0565b835b92505b60045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff168061165e575060045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b15611725575f925060045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff1680156116e757503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16145b156117245760085f81819054906101000a900460ff168092919061170a90612944565b91906101000a81548160ff021916908360ff160217905550505b5b5b5f83111561188f576117a08360025f600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c1c90919063ffffffff16565b60025f600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550600860019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516118829190611f15565b60405180910390a361193e565b60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff16141580156118e95750815b801561193b575060045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff165b90505b61198e8460025f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c7990919063ffffffff16565b60025f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611a3a6119ee6119e88587611c7990919063ffffffff16565b83611cc2565b60025f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054611c1c90919063ffffffff16565b60025f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef611add8688611c7990919063ffffffff16565b604051611aea9190611f15565b60405180910390a3505050505050565b5f838311158290611b41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b389190611dd7565b60405180910390fd5b505f8385611b4f919061296c565b9050809150509392505050565b5f808303611b6c575f9050611bcd565b5f8284611b799190612403565b9050828482611b8891906129cc565b14611bc8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bbf90612a6c565b60405180910390fd5b809150505b92915050565b5f611c1483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611cec565b905092915050565b5f808284611c2a91906128a9565b905083811015611c6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6690612ad4565b60405180910390fd5b8091505092915050565b5f611cba83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611afa565b905092915050565b5f81611cce5782611ce4565b611ce360015484611c1c90919063ffffffff16565b5b905092915050565b5f8083118290611d32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d299190611dd7565b60405180910390fd5b505f8385611d4091906129cc565b9050809150509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015611d84578082015181840152602081019050611d69565b5f8484015250505050565b5f601f19601f8301169050919050565b5f611da982611d4d565b611db38185611d57565b9350611dc3818560208601611d67565b611dcc81611d8f565b840191505092915050565b5f6020820190508181035f830152611def8184611d9f565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f611e3182611e08565b9050919050565b611e4181611e27565b8114611e4b575f80fd5b50565b5f81359050611e5c81611e38565b92915050565b5f819050919050565b611e7481611e62565b8114611e7e575f80fd5b50565b5f81359050611e8f81611e6b565b92915050565b5f8060408385031215611eab57611eaa611e00565b5b5f611eb885828601611e4e565b9250506020611ec985828601611e81565b9150509250929050565b5f8115159050919050565b611ee781611ed3565b82525050565b5f602082019050611f005f830184611ede565b92915050565b611f0f81611e62565b82525050565b5f602082019050611f285f830184611f06565b92915050565b5f805f60608486031215611f4557611f44611e00565b5b5f611f5286828701611e4e565b9350506020611f6386828701611e4e565b9250506040611f7486828701611e81565b9150509250925092565b5f60ff82169050919050565b611f9381611f7e565b82525050565b5f602082019050611fac5f830184611f8a565b92915050565b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b611fec82611d8f565b810181811067ffffffffffffffff8211171561200b5761200a611fb6565b5b80604052505050565b5f61201d611df7565b90506120298282611fe3565b919050565b5f67ffffffffffffffff82111561204857612047611fb6565b5b602082029050602081019050919050565b5f80fd5b5f61206f61206a8461202e565b612014565b9050808382526020820190506020840283018581111561209257612091612059565b5b835b818110156120bb57806120a78882611e4e565b845260208401935050602081019050612094565b5050509392505050565b5f82601f8301126120d9576120d8611fb2565b5b81356120e984826020860161205d565b91505092915050565b5f6020828403121561210757612106611e00565b5b5f82013567ffffffffffffffff81111561212457612123611e04565b5b612130848285016120c5565b91505092915050565b5f6020828403121561214e5761214d611e00565b5b5f61215b84828501611e4e565b91505092915050565b61216d81611f7e565b8114612177575f80fd5b50565b5f8135905061218881612164565b92915050565b5f602082840312156121a3576121a2611e00565b5b5f6121b08482850161217a565b91505092915050565b6121c281611e27565b82525050565b5f6020820190506121db5f8301846121b9565b92915050565b5f80604083850312156121f7576121f6611e00565b5b5f6122048582860161217a565b92505060206122158582860161217a565b9150509250929050565b5f806040838503121561223557612234611e00565b5b5f61224285828601611e4e565b925050602061225385828601611e4e565b9150509250929050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f8160011c9050919050565b5f808291508390505b60018511156122df578086048111156122bb576122ba61225d565b5b60018516156122ca5780820291505b80810290506122d88561228a565b945061229f565b94509492505050565b5f826122f757600190506123b2565b81612304575f90506123b2565b816001811461231a576002811461232457612353565b60019150506123b2565b60ff8411156123365761233561225d565b5b8360020a91508482111561234d5761234c61225d565b5b506123b2565b5060208310610133831016604e8410600b84101617156123885782820a9050838111156123835761238261225d565b5b6123b2565b6123958484846001612296565b925090508184048111156123ac576123ab61225d565b5b81810290505b9392505050565b5f6123c382611e62565b91506123ce83611f7e565b92506123fb7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846122e8565b905092915050565b5f61240d82611e62565b915061241883611e62565b925082820261242681611e62565b9150828204841483151761243d5761243c61225d565b5b5092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f612478602083611d57565b915061248382612444565b602082019050919050565b5f6020820190508181035f8301526124a58161246c565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f6124e382611e62565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036125155761251461225d565b5b600182019050919050565b7f4552523a2057726f6e672070657263656e746167652e000000000000000000005f82015250565b5f612554601683611d57565b915061255f82612520565b602082019050919050565b5f6020820190508181035f83015261258181612548565b9050919050565b5f61259282611f7e565b915061259d83611f7e565b9250828201905060ff8111156125b6576125b561225d565b5b92915050565b5f6040820190506125cf5f830185611f8a565b6125dc6020830184611f8a565b9392505050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f61263d602483611d57565b9150612648826125e3565b604082019050919050565b5f6020820190508181035f83015261266a81612631565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f6126cb602283611d57565b91506126d682612671565b604082019050919050565b5f6020820190508181035f8301526126f8816126bf565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f612759602583611d57565b9150612764826126ff565b604082019050919050565b5f6020820190508181035f8301526127868161274d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f6127e7602383611d57565b91506127f28261278d565b604082019050919050565b5f6020820190508181035f830152612814816127db565b9050919050565b7f5472616e7366657220616d6f756e74206d7573742062652067726561746572205f8201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b5f612875602983611d57565b91506128808261281b565b604082019050919050565b5f6020820190508181035f8301526128a281612869565b9050919050565b5f6128b382611e62565b91506128be83611e62565b92508282019050808211156128d6576128d561225d565b5b92915050565b7f4578636565647320746865206d617857616c6c657453697a652e0000000000005f82015250565b5f612910601a83611d57565b915061291b826128dc565b602082019050919050565b5f6020820190508181035f83015261293d81612904565b9050919050565b5f61294e82611f7e565b915060ff82036129615761296061225d565b5b600182019050919050565b5f61297682611e62565b915061298183611e62565b92508282039050818111156129995761299861225d565b5b92915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6129d682611e62565b91506129e183611e62565b9250826129f1576129f061299f565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f5f8201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b5f612a56602183611d57565b9150612a61826129fc565b604082019050919050565b5f6020820190508181035f830152612a8381612a4a565b9050919050565b7f536166654d6174683a206164646974696f6e206f766572666c6f7700000000005f82015250565b5f612abe601b83611d57565b9150612ac982612a8a565b602082019050919050565b5f6020820190508181035f830152612aeb81612ab2565b905091905056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212204f291136bfa5013cd9ebece329017198213be5002af49200e81a4cd858ce166d64736f6c63430008140033000000000000000000000000000000000000314dc6448d9338c15b0a00000000