608060405260405180602001604052806000815250600a90805190602001906200002b929190620003ed565b506642ca8019c70000600b556103e8600c556002600d556001600e60006101000a81548160ff0219169083151502179055503480156200006a57600080fd5b5060405162003b1d38038062003b1d83398181016040528101906200009091906200063a565b8181733cc6cdda760b79bafa08df41ecfa224f810dceb6600160006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b11156200029e57801562000164576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff16637d3e3dbe30846040518363ffffffff1660e01b81526004016200012a92919062000704565b600060405180830381600087803b1580156200014557600080fd5b505af11580156200015a573d6000803e3d6000fd5b505050506200029d565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146200021e576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663a0af290330846040518363ffffffff1660e01b8152600401620001e492919062000704565b600060405180830381600087803b158015620001ff57600080fd5b505af115801562000214573d6000803e3d6000fd5b505050506200029c565b6daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b815260040162000267919062000731565b600060405180830381600087803b1580156200028257600080fd5b505af115801562000297573d6000803e3d6000fd5b505050505b5b5b50508160029080519060200190620002b8929190620003ed565b508060039080519060200190620002d1929190620003ed565b50620002e26200031a60201b60201c565b60008190555050506200030a620002fe6200031f60201b60201c565b6200032760201b60201c565b60016009819055505050620007b2565b600090565b600033905090565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620003fb906200077d565b90600052602060002090601f0160209004810192826200041f57600085556200046b565b82601f106200043a57805160ff19168380011785556200046b565b828001600101855582156200046b579182015b828111156200046a5782518255916020019190600101906200044d565b5b5090506200047a91906200047e565b5090565b5b80821115620004995760008160009055506001016200047f565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200050682620004bb565b810181811067ffffffffffffffff82111715620005285762000527620004cc565b5b80604052505050565b60006200053d6200049d565b90506200054b8282620004fb565b919050565b600067ffffffffffffffff8211156200056e576200056d620004cc565b5b6200057982620004bb565b9050602081019050919050565b60005b83811015620005a657808201518184015260208101905062000589565b83811115620005b6576000848401525b50505050565b6000620005d3620005cd8462000550565b62000531565b905082815260208101848484011115620005f257620005f1620004b6565b5b620005ff84828562000586565b509392505050565b600082601f8301126200061f576200061e620004b1565b5b815162000631848260208601620005bc565b91505092915050565b60008060408385031215620006545762000653620004a7565b5b600083015167ffffffffffffffff811115620006755762000674620004ac565b5b620006838582860162000607565b925050602083015167ffffffffffffffff811115620006a757620006a6620004ac565b5b620006b58582860162000607565b9150509250929050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620006ec82620006bf565b9050919050565b620006fe81620006df565b82525050565b60006040820190506200071b6000830185620006f3565b6200072a6020830184620006f3565b9392505050565b6000602082019050620007486000830184620006f3565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200079657607f821691505b602082108103620007ac57620007ab6200074e565b5b50919050565b61335b80620007c26000396000f3fe6080604052600436106101b75760003560e01c806370a08231116100ec578063a22cb4651161008a578063d5abeb0111610064578063d5abeb01146105a3578063e985e9c5146105ce578063efbd73f41461060b578063f2fde38b14610634576101b7565b8063a22cb46514610521578063b88d4fde1461054a578063c87b56dd14610566576101b7565b80638da5cb5b116100c65780638da5cb5b1461048457806394354fd0146104af57806395d89b41146104da578063a0712d6814610505576101b7565b806370a0823114610407578063715018a6146104445780637ec4a6591461045b576101b7565b806323b872dd1161015957806344a0d68a1161013357806344a0d68a1461034b5780635c975abb1461037457806362b99ad41461039f5780636352211e146103ca576101b7565b806323b872dd146102fc5780633ccfd60b1461031857806342842e0e1461032f576101b7565b8063095ea7b311610195578063095ea7b31461026157806313faede61461027d57806316c38b3c146102a857806318160ddd146102d1576101b7565b806301ffc9a7146101bc57806306fdde03146101f9578063081812fc14610224575b600080fd5b3480156101c857600080fd5b506101e360048036038101906101de919061252c565b61065d565b6040516101f09190612574565b60405180910390f35b34801561020557600080fd5b5061020e6106ef565b60405161021b9190612628565b60405180910390f35b34801561023057600080fd5b5061024b60048036038101906102469190612680565b610781565b60405161025891906126ee565b60405180910390f35b61027b60048036038101906102769190612735565b610800565b005b34801561028957600080fd5b50610292610944565b60405161029f9190612784565b60405180910390f35b3480156102b457600080fd5b506102cf60048036038101906102ca91906127cb565b61094a565b005b3480156102dd57600080fd5b506102e661096f565b6040516102f39190612784565b60405180910390f35b610316600480360381019061031191906127f8565b610986565b005b34801561032457600080fd5b5061032d610b68565b005b610349600480360381019061034491906127f8565b610c00565b005b34801561035757600080fd5b50610372600480360381019061036d9190612680565b610de2565b005b34801561038057600080fd5b50610389610df4565b6040516103969190612574565b60405180910390f35b3480156103ab57600080fd5b506103b4610e07565b6040516103c19190612628565b60405180910390f35b3480156103d657600080fd5b506103f160048036038101906103ec9190612680565b610e95565b6040516103fe91906126ee565b60405180910390f35b34801561041357600080fd5b5061042e6004803603810190610429919061284b565b610ea7565b60405161043b9190612784565b60405180910390f35b34801561045057600080fd5b50610459610f5f565b005b34801561046757600080fd5b50610482600480360381019061047d91906129ad565b610f73565b005b34801561049057600080fd5b50610499610f95565b6040516104a691906126ee565b60405180910390f35b3480156104bb57600080fd5b506104c4610fbf565b6040516104d19190612784565b60405180910390f35b3480156104e657600080fd5b506104ef610fc5565b6040516104fc9190612628565b60405180910390f35b61051f600480360381019061051a9190612680565b611057565b005b34801561052d57600080fd5b50610548600480360381019061054391906129f6565b61121e565b005b610564600480360381019061055f9190612ad7565b611329565b005b34801561057257600080fd5b5061058d60048036038101906105889190612680565b61150e565b60405161059a9190612628565b60405180910390f35b3480156105af57600080fd5b506105b86115b5565b6040516105c59190612784565b60405180910390f35b3480156105da57600080fd5b506105f560048036038101906105f09190612b5a565b6115bb565b6040516106029190612574565b60405180910390f35b34801561061757600080fd5b50610632600480360381019061062d9190612b9a565b61164f565b005b34801561064057600080fd5b5061065b6004803603810190610656919061284b565b61177d565b005b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806106b857506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806106e85750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b6060600280546106fe90612c09565b80601f016020809104026020016040519081016040528092919081815260200182805461072a90612c09565b80156107775780601f1061074c57610100808354040283529160200191610777565b820191906000526020600020905b81548152906001019060200180831161075a57829003601f168201915b5050505050905090565b600061078c82611800565b6107c2576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6006600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061080b82610e95565b90508073ffffffffffffffffffffffffffffffffffffffff1661082c61185f565b73ffffffffffffffffffffffffffffffffffffffff161461088f576108588161085361185f565b6115bb565b61088e576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b826006600084815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550818373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b600b5481565b610952611867565b80600e60006101000a81548160ff02191690831515021790555050565b60006109796118e5565b6001546000540303905090565b8260006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b1115610b56573373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036109f8576109f38484846118ea565b610b62565b6daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430336040518363ffffffff1660e01b8152600401610a41929190612c3a565b602060405180830381865afa158015610a5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a829190612c78565b8015610b1457506daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430836040518363ffffffff1660e01b8152600401610ad2929190612c3a565b602060405180830381865afa158015610aef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b139190612c78565b5b610b5557336040517fede71dcc000000000000000000000000000000000000000000000000000000008152600401610b4c91906126ee565b60405180910390fd5b5b610b618484846118ea565b5b50505050565b610b70611867565b610b78611c0c565b6000610b82610f95565b73ffffffffffffffffffffffffffffffffffffffff1647604051610ba590612cd6565b60006040518083038185875af1925050503d8060008114610be2576040519150601f19603f3d011682016040523d82523d6000602084013e610be7565b606091505b5050905080610bf557600080fd5b50610bfe611c5b565b565b8260006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b1115610dd0573373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c7257610c6d848484611c65565b610ddc565b6daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430336040518363ffffffff1660e01b8152600401610cbb929190612c3a565b602060405180830381865afa158015610cd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cfc9190612c78565b8015610d8e57506daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430836040518363ffffffff1660e01b8152600401610d4c929190612c3a565b602060405180830381865afa158015610d69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d8d9190612c78565b5b610dcf57336040517fede71dcc000000000000000000000000000000000000000000000000000000008152600401610dc691906126ee565b60405180910390fd5b5b610ddb848484611c65565b5b50505050565b610dea611867565b80600b8190555050565b600e60009054906101000a900460ff1681565b600a8054610e1490612c09565b80601f0160208091040260200160405190810160405280929190818152602001828054610e4090612c09565b8015610e8d5780601f10610e6257610100808354040283529160200191610e8d565b820191906000526020600020905b815481529060010190602001808311610e7057829003601f168201915b505050505081565b6000610ea082611c85565b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f0e576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054169050919050565b610f67611867565b610f716000611d51565b565b610f7b611867565b80600a9080519060200190610f9192919061241d565b5050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600d5481565b606060038054610fd490612c09565b80601f016020809104026020016040519081016040528092919081815260200182805461100090612c09565b801561104d5780601f106110225761010080835404028352916020019161104d565b820191906000526020600020905b81548152906001019060200180831161103057829003601f168201915b5050505050905090565b803273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146110c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110bd90612d37565b60405180910390fd5b6000811180156110d85750600d548111155b611117576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110e90612da3565b60405180910390fd5b600c548161112361096f565b61112d9190612df2565b111561116e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161116590612e94565b60405180910390fd5b8180600b5461117d9190612eb4565b3410156111bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111b690612f5a565b60405180910390fd5b600e60009054906101000a900460ff161561120f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120690612fc6565b60405180910390fd5b6112193384611e17565b505050565b806007600061122b61185f565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff166112d861185f565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161131d9190612574565b60405180910390a35050565b8360006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b11156114fa573373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361139c5761139785858585611e35565b611507565b6daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430336040518363ffffffff1660e01b81526004016113e5929190612c3a565b602060405180830381865afa158015611402573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114269190612c78565b80156114b857506daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430836040518363ffffffff1660e01b8152600401611476929190612c3a565b602060405180830381865afa158015611493573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114b79190612c78565b5b6114f957336040517fede71dcc0000000000000000000000000000000000000000000000000000000081526004016114f091906126ee565b60405180910390fd5b5b61150685858585611e35565b5b5050505050565b606061151982611800565b611558576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161154f90613058565b60405180910390fd5b6000611562611ea8565b9050600081511161158257604051806020016040528060008152506115ad565b8061158c84611f3a565b60405160200161159d9291906130b4565b6040516020818303038152906040525b915050919050565b600c5481565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b813273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146116be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116b590612d37565b60405180910390fd5b6000811180156116d05750600d548111155b61170f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161170690612da3565b60405180910390fd5b600c548161171b61096f565b6117259190612df2565b1115611766576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161175d90612e94565b60405180910390fd5b61176e611867565b6117788284611e17565b505050565b611785611867565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036117f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117eb9061314a565b60405180910390fd5b6117fd81611d51565b50565b60008161180b6118e5565b1115801561181a575060005482105b8015611858575060007c0100000000000000000000000000000000000000000000000000000000600460008581526020019081526020016000205416145b9050919050565b600033905090565b61186f611f8a565b73ffffffffffffffffffffffffffffffffffffffff1661188d610f95565b73ffffffffffffffffffffffffffffffffffffffff16146118e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118da906131b6565b60405180910390fd5b565b600090565b60006118f582611c85565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461195c576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008061196884611f92565b9150915061197e818761197961185f565b611fb9565b6119ca576119938661198e61185f565b6115bb565b6119c9576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603611a30576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a3d8686866001611ffd565b8015611a4857600082555b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001900391905081905550600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815460010191905081905550611b1685611af2888887612003565b7c02000000000000000000000000000000000000000000000000000000001761202b565b600460008681526020019081526020016000208190555060007c0200000000000000000000000000000000000000000000000000000000841603611b9c5760006001850190506000600460008381526020019081526020016000205403611b9a576000548114611b99578360046000838152602001908152602001600020819055505b5b505b838573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611c048686866001612056565b505050505050565b600260095403611c51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c4890613222565b60405180910390fd5b6002600981905550565b6001600981905550565b611c8083838360405180602001604052806000815250611329565b505050565b60008082905080611c946118e5565b11611d1a57600054811015611d195760006004600083815260200190815260200160002054905060007c0100000000000000000000000000000000000000000000000000000000821603611d17575b60008103611d0d576004600083600190039350838152602001908152602001600020549050611ce3565b8092505050611d4c565b505b5b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b919050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b611e3182826040518060200160405280600081525061205c565b5050565b611e40848484610986565b60008373ffffffffffffffffffffffffffffffffffffffff163b14611ea257611e6b848484846120f9565b611ea1576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5b50505050565b6060600a8054611eb790612c09565b80601f0160208091040260200160405190810160405280929190818152602001828054611ee390612c09565b8015611f305780601f10611f0557610100808354040283529160200191611f30565b820191906000526020600020905b815481529060010190602001808311611f1357829003601f168201915b5050505050905090565b606060a060405101806040526020810391506000825281835b600115611f7557600184039350600a81066030018453600a8104905080611f53575b50828103602084039350808452505050919050565b600033905090565b60008060006006600085815260200190815260200160002090508092508254915050915091565b600073ffffffffffffffffffffffffffffffffffffffff8316925073ffffffffffffffffffffffffffffffffffffffff821691508382148383141790509392505050565b50505050565b60008060e883901c905060e861201a868684612249565b62ffffff16901b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b6120668383612252565b60008373ffffffffffffffffffffffffffffffffffffffff163b146120f457600080549050600083820390505b6120a660008683806001019450866120f9565b6120dc576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8181106120935781600054146120f157600080fd5b50505b505050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a0261211f61185f565b8786866040518563ffffffff1660e01b81526004016121419493929190613297565b6020604051808303816000875af192505050801561217d57506040513d601f19601f8201168201806040525081019061217a91906132f8565b60015b6121f6573d80600081146121ad576040519150601f19603f3d011682016040523d82523d6000602084013e6121b2565b606091505b5060008151036121ee576040517fd1a57ed600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b60009392505050565b60008054905060008203612292576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61229f6000848385611ffd565b600160406001901b178202600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550612316836123076000866000612003565b6123108561240d565b1761202b565b6004600083815260200190815260200160002081905550600080838301905073ffffffffffffffffffffffffffffffffffffffff85169150828260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600183015b8181146123b757808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a460018101905061237c565b50600082036123f2576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8060008190555050506124086000848385612056565b505050565b60006001821460e11b9050919050565b82805461242990612c09565b90600052602060002090601f01602090048101928261244b5760008555612492565b82601f1061246457805160ff1916838001178555612492565b82800160010185558215612492579182015b82811115612491578251825591602001919060010190612476565b5b50905061249f91906124a3565b5090565b5b808211156124bc5760008160009055506001016124a4565b5090565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612509816124d4565b811461251457600080fd5b50565b60008135905061252681612500565b92915050565b600060208284031215612542576125416124ca565b5b600061255084828501612517565b91505092915050565b60008115159050919050565b61256e81612559565b82525050565b60006020820190506125896000830184612565565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156125c95780820151818401526020810190506125ae565b838111156125d8576000848401525b50505050565b6000601f19601f8301169050919050565b60006125fa8261258f565b612604818561259a565b93506126148185602086016125ab565b61261d816125de565b840191505092915050565b6000602082019050818103600083015261264281846125ef565b905092915050565b6000819050919050565b61265d8161264a565b811461266857600080fd5b50565b60008135905061267a81612654565b92915050565b600060208284031215612696576126956124ca565b5b60006126a48482850161266b565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006126d8826126ad565b9050919050565b6126e8816126cd565b82525050565b600060208201905061270360008301846126df565b92915050565b612712816126cd565b811461271d57600080fd5b50565b60008135905061272f81612709565b92915050565b6000806040838503121561274c5761274b6124ca565b5b600061275a85828601612720565b925050602061276b8582860161266b565b9150509250929050565b61277e8161264a565b82525050565b60006020820190506127996000830184612775565b92915050565b6127a881612559565b81146127b357600080fd5b50565b6000813590506127c58161279f565b92915050565b6000602082840312156127e1576127e06124ca565b5b60006127ef848285016127b6565b91505092915050565b600080600060608486031215612811576128106124ca565b5b600061281f86828701612720565b935050602061283086828701612720565b92505060406128418682870161266b565b9150509250925092565b600060208284031215612861576128606124ca565b5b600061286f84828501612720565b91505092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6128ba826125de565b810181811067ffffffffffffffff821117156128d9576128d8612882565b5b80604052505050565b60006128ec6124c0565b90506128f882826128b1565b919050565b600067ffffffffffffffff82111561291857612917612882565b5b612921826125de565b9050602081019050919050565b82818337600083830152505050565b600061295061294b846128fd565b6128e2565b90508281526020810184848401111561296c5761296b61287d565b5b61297784828561292e565b509392505050565b600082601f83011261299457612993612878565b5b81356129a484826020860161293d565b91505092915050565b6000602082840312156129c3576129c26124ca565b5b600082013567ffffffffffffffff8111156129e1576129e06124cf565b5b6129ed8482850161297f565b91505092915050565b60008060408385031215612a0d57612a0c6124ca565b5b6000612a1b85828601612720565b9250506020612a2c858286016127b6565b9150509250929050565b600067ffffffffffffffff821115612a5157612a50612882565b5b612a5a826125de565b9050602081019050919050565b6000612a7a612a7584612a36565b6128e2565b905082815260208101848484011115612a9657612a9561287d565b5b612aa184828561292e565b509392505050565b600082601f830112612abe57612abd612878565b5b8135612ace848260208601612a67565b91505092915050565b60008060008060808587031215612af157612af06124ca565b5b6000612aff87828801612720565b9450506020612b1087828801612720565b9350506040612b218782880161266b565b925050606085013567ffffffffffffffff811115612b4257612b416124cf565b5b612b4e87828801612aa9565b91505092959194509250565b60008060408385031215612b7157612b706124ca565b5b6000612b7f85828601612720565b9250506020612b9085828601612720565b9150509250929050565b60008060408385031215612bb157612bb06124ca565b5b6000612bbf8582860161266b565b9250506020612bd085828601612720565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612c2157607f821691505b602082108103612c3457612c33612bda565b5b50919050565b6000604082019050612c4f60008301856126df565b612c5c60208301846126df565b9392505050565b600081519050612c728161279f565b92915050565b600060208284031215612c8e57612c8d6124ca565b5b6000612c9c84828501612c63565b91505092915050565b600081905092915050565b50565b6000612cc0600083612ca5565b9150612ccb82612cb0565b600082019050919050565b6000612ce182612cb3565b9150819050919050565b7f546865206d696e74657220697320616e6f7468657220636f6e74726163740000600082015250565b6000612d21601e8361259a565b9150612d2c82612ceb565b602082019050919050565b60006020820190508181036000830152612d5081612d14565b9050919050565b7f496e76616c6964206d696e7420616d6f756e7421000000000000000000000000600082015250565b6000612d8d60148361259a565b9150612d9882612d57565b602082019050919050565b60006020820190508181036000830152612dbc81612d80565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000612dfd8261264a565b9150612e088361264a565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612e3d57612e3c612dc3565b5b828201905092915050565b7f4d617820737570706c7920657863656564656421000000000000000000000000600082015250565b6000612e7e60148361259a565b9150612e8982612e48565b602082019050919050565b60006020820190508181036000830152612ead81612e71565b9050919050565b6000612ebf8261264a565b9150612eca8361264a565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612f0357612f02612dc3565b5b828202905092915050565b7f496e73756666696369656e742066756e64732100000000000000000000000000600082015250565b6000612f4460138361259a565b9150612f4f82612f0e565b602082019050919050565b60006020820190508181036000830152612f7381612f37565b9050919050565b7f54686520636f6e74726163742069732070617573656421000000000000000000600082015250565b6000612fb060178361259a565b9150612fbb82612f7a565b602082019050919050565b60006020820190508181036000830152612fdf81612fa3565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000613042602f8361259a565b915061304d82612fe6565b604082019050919050565b6000602082019050818103600083015261307181613035565b9050919050565b600081905092915050565b600061308e8261258f565b6130988185613078565b93506130a88185602086016125ab565b80840191505092915050565b60006130c08285613083565b91506130cc8284613083565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b600061313460268361259a565b915061313f826130d8565b604082019050919050565b6000602082019050818103600083015261316381613127565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b60006131a060208361259a565b91506131ab8261316a565b602082019050919050565b600060208201905081810360008301526131cf81613193565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b600061320c601f8361259a565b9150613217826131d6565b602082019050919050565b6000602082019050818103600083015261323b816131ff565b9050919050565b600081519050919050565b600082825260208201905092915050565b600061326982613242565b613273818561324d565b93506132838185602086016125ab565b61328c816125de565b840191505092915050565b60006080820190506132ac60008301876126df565b6132b960208301866126df565b6132c66040830185612775565b81810360608301526132d8818461325e565b905095945050505050565b6000815190506132f281612500565b92915050565b60006020828403121561330e5761330d6124ca565b5b600061331c848285016132e3565b9150509291505056fea26469706673582212207a3f6b8959d7c4150961652da66754924a37b12d830488e4574ae79475ea9c4e64736f6c634300080d003300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000001148616e642d7061696e74656420436c756200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000034850430000000000000000000000000000000000000000000000000000000000