608060405260405180602001604052806000815250600c90805190602001906200002b929190620007a1565b506001600d553480156200003e57600080fd5b50604051620062e2380380620062e28339818101604052810190620000649190620009ee565b6040518060400160405280600e81526020017f53747261646976617269757356320000000000000000000000000000000000008152506040518060400160405280600681526020017f535452414432000000000000000000000000000000000000000000000000000081525082733cc6cdda760b79bafa08df41ecfa224f810dceb660018484816000908051906020019062000102929190620007a1565b5080600190805190602001906200011b929190620007a1565b50505060006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b111562000313578015620001d9576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff16637d3e3dbe30846040518363ffffffff1660e01b81526004016200019f92919062000a84565b600060405180830381600087803b158015620001ba57600080fd5b505af1158015620001cf573d6000803e3d6000fd5b5050505062000312565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161462000293576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663a0af290330846040518363ffffffff1660e01b81526004016200025992919062000a84565b600060405180830381600087803b1580156200027457600080fd5b505af115801562000289573d6000803e3d6000fd5b5050505062000311565b6daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff16634420e486306040518263ffffffff1660e01b8152600401620002dc919062000ab1565b600060405180830381600087803b158015620002f757600080fd5b505af11580156200030c573d6000803e3d6000fd5b505050505b5b5b50506200033562000329620004f260201b60201c565b620004fa60201b60201c565b60008151116200037c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003739062000b55565b60405180910390fd5b620003ae7f6270edb7c868f86fda4adedba75108201087268ea345934db8bad688e1feb91b33620005c060201b60201c565b620003e07ff0887ba65ee2024ea881d91b74c2450ef19e1557f03bed3ea9f16b037cbe2dc933620005c060201b60201c565b620004327ff0887ba65ee2024ea881d91b74c2450ef19e1557f03bed3ea9f16b037cbe2dc97f6270edb7c868f86fda4adedba75108201087268ea345934db8bad688e1feb91b620006b260201b60201c565b80600c90805190602001906200044a929190620007a1565b505050506001600e600060018152602001908152602001600020819055506040600e6000600281526020019081526020016000208190555061011d600e600060038152602001908152602001600020819055506000600f600060018152602001908152602001600020819055506000600f600060028152602001908152602001600020819055506000600f600060038152602001908152602001600020819055505062000bdb565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620005d282826200071660201b60201c565b620006ae576001600b600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000653620004f260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000620006c5836200078160201b60201c565b905081600b6000858152602001908152602001600020600101819055508181847fbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff60405160405180910390a4505050565b6000600b600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000600b6000838152602001908152602001600020600101549050919050565b828054620007af9062000ba6565b90600052602060002090601f016020900481019282620007d357600085556200081f565b82601f10620007ee57805160ff19168380011785556200081f565b828001600101855582156200081f579182015b828111156200081e57825182559160200191906001019062000801565b5b5090506200082e919062000832565b5090565b5b808211156200084d57600081600090555060010162000833565b5090565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620008ba826200086f565b810181811067ffffffffffffffff82111715620008dc57620008db62000880565b5b80604052505050565b6000620008f162000851565b9050620008ff8282620008af565b919050565b600067ffffffffffffffff82111562000922576200092162000880565b5b6200092d826200086f565b9050602081019050919050565b60005b838110156200095a5780820151818401526020810190506200093d565b838111156200096a576000848401525b50505050565b600062000987620009818462000904565b620008e5565b905082815260208101848484011115620009a657620009a56200086a565b5b620009b38482856200093a565b509392505050565b600082601f830112620009d357620009d262000865565b5b8151620009e584826020860162000970565b91505092915050565b60006020828403121562000a075762000a066200085b565b5b600082015167ffffffffffffffff81111562000a285762000a2762000860565b5b62000a3684828501620009bb565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000a6c8262000a3f565b9050919050565b62000a7e8162000a5f565b82525050565b600060408201905062000a9b600083018562000a73565b62000aaa602083018462000a73565b9392505050565b600060208201905062000ac8600083018462000a73565b92915050565b600082825260208201905092915050565b7f556e636f6d6d6f6e47616c6c6572795374616d70426173653a20696e76616c6960008201527f6420626173655552490000000000000000000000000000000000000000000000602082015250565b600062000b3d60298362000ace565b915062000b4a8262000adf565b604082019050919050565b6000602082019050818103600083015262000b708162000b2e565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000bbf57607f821691505b60208210810362000bd55762000bd462000b77565b5b50919050565b6156f78062000beb6000396000f3fe608060405234801561001057600080fd5b50600436106102525760003560e01c80636c0360eb11610146578063b54fa474116100c3578063d547741f11610087578063d547741f14610747578063dfcdeb7f14610763578063e58378bb14610793578063e985e9c5146107b1578063ee77cb93146107e1578063f2fde38b1461081157610252565b8063b54fa4741461067d578063b88d4fde146106ad578063bc621fbe146106c9578063c87b56dd146106f9578063d53913931461072957610252565b806391d148541161010a57806391d14854146105c557806395d89b41146105f5578063a217fddf14610613578063a22cb46514610631578063a734293e1461064d57610252565b80636c0360eb1461053157806370a082311461054f578063715018a61461057f57806375794a3c146105895780638da5cb5b146105a757610252565b80632f2ff15d116101d457806342842e0e1161019857806342842e0e1461047d57806342966c68146104995780634f6ccce7146104b557806355f804b3146104e55780636352211e1461050157610252565b80632f2ff15d146103c75780632f745c59146103e357806336568abe1461041357806340c10f191461042f57806341f434341461045f57610252565b8063095ea7b31161021b578063095ea7b31461031157806318160ddd1461032d57806323185dc91461034b57806323b872dd1461037b578063248a9ca31461039757610252565b8062f55d9d1461025757806301ffc9a71461027357806303651e8d146102a357806306fdde03146102c3578063081812fc146102e1575b600080fd5b610271600480360381019061026c9190613964565b61082d565b005b61028d600480360381019061028891906139e9565b6108df565b60405161029a9190613a31565b60405180910390f35b6102ab6108f1565b6040516102ba93929190613a65565b60405180910390f35b6102cb61099d565b6040516102d89190613b35565b60405180910390f35b6102fb60048036038101906102f69190613b83565b610a2f565b6040516103089190613bd1565b60405180910390f35b61032b60048036038101906103269190613c18565b610a75565b005b610335610a8e565b6040516103429190613c58565b60405180910390f35b61036560048036038101906103609190613c73565b610a9b565b6040516103729190613d84565b60405180910390f35b61039560048036038101906103909190613da6565b610c0a565b005b6103b160048036038101906103ac9190613e2f565b610c59565b6040516103be9190613e6b565b60405180910390f35b6103e160048036038101906103dc9190613e86565b610c79565b005b6103fd60048036038101906103f89190613c18565b610c9a565b60405161040a9190613c58565b60405180910390f35b61042d60048036038101906104289190613e86565b610d3f565b005b61044960048036038101906104449190613c18565b610dc2565b6040516104569190613c58565b60405180910390f35b6104676110c7565b6040516104749190613f25565b60405180910390f35b61049760048036038101906104929190613da6565b6110d9565b005b6104b360048036038101906104ae9190613b83565b611128565b005b6104cf60048036038101906104ca9190613b83565b61115f565b6040516104dc9190613c58565b60405180910390f35b6104ff60048036038101906104fa9190613fa5565b6111d0565b005b61051b60048036038101906105169190613b83565b611257565b6040516105289190613bd1565b60405180910390f35b6105396112dd565b6040516105469190613b35565b60405180910390f35b61056960048036038101906105649190613ff2565b61136b565b6040516105769190613c58565b60405180910390f35b610587611422565b005b610591611436565b60405161059e9190613c58565b60405180910390f35b6105af61143c565b6040516105bc9190613bd1565b60405180910390f35b6105df60048036038101906105da9190613e86565b611466565b6040516105ec9190613a31565b60405180910390f35b6105fd6114d1565b60405161060a9190613b35565b60405180910390f35b61061b611563565b6040516106289190613e6b565b60405180910390f35b61064b6004803603810190610646919061404b565b61156a565b005b61066760048036038101906106629190613b83565b611583565b6040516106749190613c58565b60405180910390f35b61069760048036038101906106929190613b83565b61159b565b6040516106a49190613c58565b60405180910390f35b6106c760048036038101906106c291906141bb565b6115b3565b005b6106e360048036038101906106de9190613ff2565b611604565b6040516106f09190613c58565b60405180910390f35b610713600480360381019061070e9190613b83565b61161c565b6040516107209190613b35565b60405180910390f35b610731611719565b60405161073e9190613e6b565b60405180910390f35b610761600480360381019061075c9190613e86565b61173d565b005b61077d60048036038101906107789190613b83565b61175e565b60405161078a9190613c58565b60405180910390f35b61079b611776565b6040516107a89190613e6b565b60405180910390f35b6107cb60048036038101906107c6919061423e565b61179a565b6040516107d89190613a31565b60405180910390f35b6107fb60048036038101906107f69190613b83565b61182e565b6040516108089190613c58565b60405180910390f35b61082b60048036038101906108269190613ff2565b611846565b005b7f6270edb7c868f86fda4adedba75108201087268ea345934db8bad688e1feb91b610857816118c9565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036108c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108bd906142f0565b60405180910390fd5b8173ffffffffffffffffffffffffffffffffffffffff16ff5b60006108ea826118dd565b9050919050565b6000806000600f60006001815260200190815260200160002054600e6000600181526020019081526020016000205461092a919061433f565b600f60006002815260200190815260200160002054600e6000600281526020019081526020016000205461095e919061433f565b600f60006003815260200190815260200160002054600e60006003815260200190815260200160002054610992919061433f565b925092509250909192565b6060600080546109ac906143a2565b80601f01602080910402602001604051908101604052809291908181526020018280546109d8906143a2565b8015610a255780601f106109fa57610100808354040283529160200191610a25565b820191906000526020600020905b815481529060010190602001808311610a0857829003601f168201915b5050505050905090565b6000610a3a82611957565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b81610a7f816119a2565b610a898383611a9f565b505050565b6000600880549050905090565b60606000610aa88561136b565b9050606460ff16831115610af1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae890614445565b60405180910390fd5b808410610b33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2a906144d7565b60405180910390fd5b6000818486610b4291906144f7565b1115610b59578482610b54919061433f565b610b5b565b835b905060008167ffffffffffffffff811115610b7957610b78614090565b5b604051908082528060200260200182016040528015610ba75781602001602082028036833780820191505090505b50905060005b82811015610bfc57610bca888289610bc591906144f7565b610c9a565b828281518110610bdd57610bdc61454d565b5b6020026020010181815250508080610bf49061457c565b915050610bad565b508093505050509392505050565b823373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610c4857610c47336119a2565b5b610c53848484611bb6565b50505050565b6000600b6000838152602001908152602001600020600101549050919050565b610c8282610c59565b610c8b816118c9565b610c958383611c16565b505050565b6000610ca58361136b565b8210610ce6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cdd90614636565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610d47611cf7565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610db4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dab906146c8565b60405180910390fd5b610dbe8282611cff565b5050565b60007ff0887ba65ee2024ea881d91b74c2450ef19e1557f03bed3ea9f16b037cbe2dc9610dee816118c9565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1603610e5d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e5490614734565b60405180910390fd5b6000601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205414610edf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ed6906147c6565b60405180910390fd5b82600111158015610ef1575060038311155b610f30576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2790614832565b60405180910390fd5b600e600084815260200190815260200160002054600f60008581526020019081526020016000205410610f98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f8f9061489e565b60405180910390fd5b6000600d5490506001600d6000828254610fb291906144f7565b9250508190555080601260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001600f6000868152602001908152602001600020600082825461102191906144f7565b92505081905550836010600083815260200190815260200160002081905550600f60008581526020019081526020016000205460116000838152602001908152602001600020819055506110758582611de1565b80848673ffffffffffffffffffffffffffffffffffffffff167f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f60405160405180910390a4600d549250505092915050565b6daaeb6d7670e522a718067333cd4e81565b823373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461111757611116336119a2565b5b611122848484611dff565b50505050565b7f6270edb7c868f86fda4adedba75108201087268ea345934db8bad688e1feb91b611152816118c9565b61115b82611e1f565b5050565b6000611169610a8e565b82106111aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a190614930565b60405180910390fd5b600882815481106111be576111bd61454d565b5b90600052602060002001549050919050565b7f6270edb7c868f86fda4adedba75108201087268ea345934db8bad688e1feb91b6111fa816118c9565b60008383905011611240576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611237906149c2565b60405180910390fd5b8282600c919061125192919061384f565b50505050565b60008061126383611f6d565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112cb90614a2e565b60405180910390fd5b80915050919050565b600c80546112ea906143a2565b80601f0160208091040260200160405190810160405280929190818152602001828054611316906143a2565b80156113635780601f1061133857610100808354040283529160200191611363565b820191906000526020600020905b81548152906001019060200180831161134657829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036113db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d290614ac0565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61142a611faa565b6114346000612028565b565b600d5481565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600b600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6060600180546114e0906143a2565b80601f016020809104026020016040519081016040528092919081815260200182805461150c906143a2565b80156115595780601f1061152e57610100808354040283529160200191611559565b820191906000526020600020905b81548152906001019060200180831161153c57829003601f168201915b5050505050905090565b6000801b81565b81611574816119a2565b61157e83836120ee565b505050565b600f6020528060005260406000206000915090505481565b600e6020528060005260406000206000915090505481565b833373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146115f1576115f0336119a2565b5b6115fd85858585612104565b5050505050565b60126020528060005260406000206000915090505481565b606061162782612166565b611666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161165d90614b52565b60405180910390fd5b6000600c8054611675906143a2565b9050116116b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ae90614bbe565b60405180910390fd5b600c6116d560106000858152602001908152602001600020546121a7565b6116f160116000868152602001908152602001600020546121a7565b60405160200161170393929190614cd4565b6040516020818303038152906040529050919050565b7ff0887ba65ee2024ea881d91b74c2450ef19e1557f03bed3ea9f16b037cbe2dc981565b61174682610c59565b61174f816118c9565b6117598383611cff565b505050565b60106020528060005260406000206000915090505481565b7f6270edb7c868f86fda4adedba75108201087268ea345934db8bad688e1feb91b81565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60116020528060005260406000206000915090505481565b61184e611faa565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036118bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118b490614d86565b60405180910390fd5b6118c681612028565b50565b6118da816118d5611cf7565b612275565b50565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611950575061194f826122fa565b5b9050919050565b61196081612166565b61199f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199690614a2e565b60405180910390fd5b50565b60006daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff163b1115611a9c576daaeb6d7670e522a718067333cd4e73ffffffffffffffffffffffffffffffffffffffff1663c617113430836040518363ffffffff1660e01b8152600401611a19929190614da6565b602060405180830381865afa158015611a36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a5a9190614de4565b611a9b57806040517fede71dcc000000000000000000000000000000000000000000000000000000008152600401611a929190613bd1565b60405180910390fd5b5b50565b6000611aaa82611257565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611b1a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1190614e83565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16611b39611cf7565b73ffffffffffffffffffffffffffffffffffffffff161480611b685750611b6781611b62611cf7565b61179a565b5b611ba7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b9e90614f15565b60405180910390fd5b611bb18383612374565b505050565b611bc7611bc1611cf7565b8261242d565b611c06576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bfd90614fa7565b60405180910390fd5b611c118383836124c2565b505050565b611c208282611466565b611cf3576001600b600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611c98611cf7565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600033905090565b611d098282611466565b15611ddd576000600b600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611d82611cf7565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b611dfb8282604051806020016040528060008152506127bb565b5050565b611e1a838383604051806020016040528060008152506115b3565b505050565b6000611e2a82611257565b9050611e3a816000846001612816565b611e4382611257565b90506004600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506002600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611f69816000846001612828565b5050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b611fb2611cf7565b73ffffffffffffffffffffffffffffffffffffffff16611fd061143c565b73ffffffffffffffffffffffffffffffffffffffff1614612026576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161201d90615013565b60405180910390fd5b565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6121006120f9611cf7565b838361282e565b5050565b61211561210f611cf7565b8361242d565b612154576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161214b90614fa7565b60405180910390fd5b6121608484848461299a565b50505050565b60008073ffffffffffffffffffffffffffffffffffffffff1661218883611f6d565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6060600060016121b6846129f6565b01905060008167ffffffffffffffff8111156121d5576121d4614090565b5b6040519080825280601f01601f1916602001820160405280156122075781602001600182028036833780820191505090505b509050600082602001820190505b60011561226a578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161225e5761225d615033565b5b04945060008503612215575b819350505050919050565b61227f8282611466565b6122f65761228c81612b49565b61229a8360001c6020612b76565b6040516020016122ab9291906150fa565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122ed9190613b35565b60405180910390fd5b5050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061236d575061236c82612db2565b5b9050919050565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166123e783611257565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061243983611257565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061247b575061247a818561179a565b5b806124b957508373ffffffffffffffffffffffffffffffffffffffff166124a184610a2f565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166124e282611257565b73ffffffffffffffffffffffffffffffffffffffff1614612538576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252f906151a6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036125a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161259e90615238565b60405180910390fd5b6125b48383836001612816565b8273ffffffffffffffffffffffffffffffffffffffff166125d482611257565b73ffffffffffffffffffffffffffffffffffffffff161461262a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612621906151a6565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46127b68383836001612828565b505050565b6127c58383612e94565b6127d260008484846130b1565b612811576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612808906152ca565b60405180910390fd5b505050565b61282284848484613238565b50505050565b50505050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361289c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161289390615336565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161298d9190613a31565b60405180910390a3505050565b6129a58484846124c2565b6129b1848484846130b1565b6129f0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129e7906152ca565b60405180910390fd5b50505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612a54577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381612a4a57612a49615033565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310612a91576d04ee2d6d415b85acef81000000008381612a8757612a86615033565b5b0492506020810190505b662386f26fc100008310612ac057662386f26fc100008381612ab657612ab5615033565b5b0492506010810190505b6305f5e1008310612ae9576305f5e1008381612adf57612ade615033565b5b0492506008810190505b6127108310612b0e576127108381612b0457612b03615033565b5b0492506004810190505b60648310612b315760648381612b2757612b26615033565b5b0492506002810190505b600a8310612b40576001810190505b80915050919050565b6060612b6f8273ffffffffffffffffffffffffffffffffffffffff16601460ff16612b76565b9050919050565b606060006002836002612b899190615356565b612b9391906144f7565b67ffffffffffffffff811115612bac57612bab614090565b5b6040519080825280601f01601f191660200182016040528015612bde5781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110612c1657612c1561454d565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110612c7a57612c7961454d565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002612cba9190615356565b612cc491906144f7565b90505b6001811115612d64577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110612d0657612d0561454d565b5b1a60f81b828281518110612d1d57612d1c61454d565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080612d5d906153b0565b9050612cc7565b5060008414612da8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d9f90615425565b60405180910390fd5b8091505092915050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612e7d57507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80612e8d5750612e8c82613396565b5b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612f03576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612efa90615491565b60405180910390fd5b612f0c81612166565b15612f4c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f43906154fd565b60405180910390fd5b612f5a600083836001612816565b612f6381612166565b15612fa3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612f9a906154fd565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46130ad600083836001612828565b5050565b60006130d28473ffffffffffffffffffffffffffffffffffffffff16613400565b1561322b578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026130fb611cf7565b8786866040518563ffffffff1660e01b815260040161311d9493929190615572565b6020604051808303816000875af192505050801561315957506040513d601f19601f8201168201806040525081019061315691906155d3565b60015b6131db573d8060008114613189576040519150601f19603f3d011682016040523d82523d6000602084013e61318e565b606091505b5060008151036131d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131ca906152ca565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050613230565b600190505b949350505050565b61324484848484613423565b6001811115613288576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161327f90615672565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036132cf576132ca81613549565b61330e565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461330d5761330c8582613592565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036133505761334b816136ff565b61338f565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161461338e5761338d84826137d0565b5b5b5050505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600181111561354357600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146134b75780600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546134af919061433f565b925050819055505b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16146135425780600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461353a91906144f7565b925050819055505b5b50505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600161359f8461136b565b6135a9919061433f565b905060006007600084815260200190815260200160002054905081811461368e576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b60006001600880549050613713919061433f565b90506000600960008481526020019081526020016000205490506000600883815481106137435761374261454d565b5b9060005260206000200154905080600883815481106137655761376461454d565b5b9060005260206000200181905550816009600083815260200190815260200160002081905550600960008581526020019081526020016000206000905560088054806137b4576137b3615692565b5b6001900381819060005260206000200160009055905550505050565b60006137db8361136b565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b82805461385b906143a2565b90600052602060002090601f01602090048101928261387d57600085556138c4565b82601f1061389657803560ff19168380011785556138c4565b828001600101855582156138c4579182015b828111156138c35782358255916020019190600101906138a8565b5b5090506138d191906138d5565b5090565b5b808211156138ee5760008160009055506001016138d6565b5090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061393182613906565b9050919050565b61394181613926565b811461394c57600080fd5b50565b60008135905061395e81613938565b92915050565b60006020828403121561397a576139796138fc565b5b60006139888482850161394f565b91505092915050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6139c681613991565b81146139d157600080fd5b50565b6000813590506139e3816139bd565b92915050565b6000602082840312156139ff576139fe6138fc565b5b6000613a0d848285016139d4565b91505092915050565b60008115159050919050565b613a2b81613a16565b82525050565b6000602082019050613a466000830184613a22565b92915050565b6000819050919050565b613a5f81613a4c565b82525050565b6000606082019050613a7a6000830186613a56565b613a876020830185613a56565b613a946040830184613a56565b949350505050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613ad6578082015181840152602081019050613abb565b83811115613ae5576000848401525b50505050565b6000601f19601f8301169050919050565b6000613b0782613a9c565b613b118185613aa7565b9350613b21818560208601613ab8565b613b2a81613aeb565b840191505092915050565b60006020820190508181036000830152613b4f8184613afc565b905092915050565b613b6081613a4c565b8114613b6b57600080fd5b50565b600081359050613b7d81613b57565b92915050565b600060208284031215613b9957613b986138fc565b5b6000613ba784828501613b6e565b91505092915050565b6000613bbb82613906565b9050919050565b613bcb81613bb0565b82525050565b6000602082019050613be66000830184613bc2565b92915050565b613bf581613bb0565b8114613c0057600080fd5b50565b600081359050613c1281613bec565b92915050565b60008060408385031215613c2f57613c2e6138fc565b5b6000613c3d85828601613c03565b9250506020613c4e85828601613b6e565b9150509250929050565b6000602082019050613c6d6000830184613a56565b92915050565b600080600060608486031215613c8c57613c8b6138fc565b5b6000613c9a86828701613c03565b9350506020613cab86828701613b6e565b9250506040613cbc86828701613b6e565b9150509250925092565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b613cfb81613a4c565b82525050565b6000613d0d8383613cf2565b60208301905092915050565b6000602082019050919050565b6000613d3182613cc6565b613d3b8185613cd1565b9350613d4683613ce2565b8060005b83811015613d77578151613d5e8882613d01565b9750613d6983613d19565b925050600181019050613d4a565b5085935050505092915050565b60006020820190508181036000830152613d9e8184613d26565b905092915050565b600080600060608486031215613dbf57613dbe6138fc565b5b6000613dcd86828701613c03565b9350506020613dde86828701613c03565b9250506040613def86828701613b6e565b9150509250925092565b6000819050919050565b613e0c81613df9565b8114613e1757600080fd5b50565b600081359050613e2981613e03565b92915050565b600060208284031215613e4557613e446138fc565b5b6000613e5384828501613e1a565b91505092915050565b613e6581613df9565b82525050565b6000602082019050613e806000830184613e5c565b92915050565b60008060408385031215613e9d57613e9c6138fc565b5b6000613eab85828601613e1a565b9250506020613ebc85828601613c03565b9150509250929050565b6000819050919050565b6000613eeb613ee6613ee184613906565b613ec6565b613906565b9050919050565b6000613efd82613ed0565b9050919050565b6000613f0f82613ef2565b9050919050565b613f1f81613f04565b82525050565b6000602082019050613f3a6000830184613f16565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112613f6557613f64613f40565b5b8235905067ffffffffffffffff811115613f8257613f81613f45565b5b602083019150836001820283011115613f9e57613f9d613f4a565b5b9250929050565b60008060208385031215613fbc57613fbb6138fc565b5b600083013567ffffffffffffffff811115613fda57613fd9613901565b5b613fe685828601613f4f565b92509250509250929050565b600060208284031215614008576140076138fc565b5b600061401684828501613c03565b91505092915050565b61402881613a16565b811461403357600080fd5b50565b6000813590506140458161401f565b92915050565b60008060408385031215614062576140616138fc565b5b600061407085828601613c03565b925050602061408185828601614036565b9150509250929050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6140c882613aeb565b810181811067ffffffffffffffff821117156140e7576140e6614090565b5b80604052505050565b60006140fa6138f2565b905061410682826140bf565b919050565b600067ffffffffffffffff82111561412657614125614090565b5b61412f82613aeb565b9050602081019050919050565b82818337600083830152505050565b600061415e6141598461410b565b6140f0565b90508281526020810184848401111561417a5761417961408b565b5b61418584828561413c565b509392505050565b600082601f8301126141a2576141a1613f40565b5b81356141b284826020860161414b565b91505092915050565b600080600080608085870312156141d5576141d46138fc565b5b60006141e387828801613c03565b94505060206141f487828801613c03565b935050604061420587828801613b6e565b925050606085013567ffffffffffffffff81111561422657614225613901565b5b6142328782880161418d565b91505092959194509250565b60008060408385031215614255576142546138fc565b5b600061426385828601613c03565b925050602061427485828601613c03565b9150509250929050565b7f556e636f6d6d6f6e47616c6c6572795374616d70426173653a20696e76616c6960008201527f6420616464726573730000000000000000000000000000000000000000000000602082015250565b60006142da602983613aa7565b91506142e58261427e565b604082019050919050565b60006020820190508181036000830152614309816142cd565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061434a82613a4c565b915061435583613a4c565b92508282101561436857614367614310565b5b828203905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806143ba57607f821691505b6020821081036143cd576143cc614373565b5b50919050565b7f556e636f6d6d6f6e47616c6c6572795374616d70426173653a206c696d69742060008201527f746f6f206c617267650000000000000000000000000000000000000000000000602082015250565b600061442f602983613aa7565b915061443a826143d3565b604082019050919050565b6000602082019050818103600083015261445e81614422565b9050919050565b7f556e636f6d6d6f6e47616c6c6572795374616d70426173653a20696e76616c6960008201527f64206f6666736574000000000000000000000000000000000000000000000000602082015250565b60006144c1602883613aa7565b91506144cc82614465565b604082019050919050565b600060208201905081810360008301526144f0816144b4565b9050919050565b600061450282613a4c565b915061450d83613a4c565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561454257614541614310565b5b828201905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061458782613a4c565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036145b9576145b8614310565b5b600182019050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000614620602b83613aa7565b915061462b826145c4565b604082019050919050565b6000602082019050818103600083015261464f81614613565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b60006146b2602f83613aa7565b91506146bd82614656565b604082019050919050565b600060208201905081810360008301526146e1816146a5565b9050919050565b7f5354524144323a20696e76616c69642061646472657373000000000000000000600082015250565b600061471e601783613aa7565b9150614729826146e8565b602082019050919050565b6000602082019050818103600083015261474d81614711565b9050919050565b7f5354524144323a206164647265737320616c7265616479206d696e746564206160008201527f6e204e4654000000000000000000000000000000000000000000000000000000602082015250565b60006147b0602583613aa7565b91506147bb82614754565b604082019050919050565b600060208201905081810360008301526147df816147a3565b9050919050565b7f5354524144323a20696e76616c69642074696572000000000000000000000000600082015250565b600061481c601483613aa7565b9150614827826147e6565b602082019050919050565b6000602082019050818103600083015261484b8161480f565b9050919050565b7f5354524144323a207469657220736f6c64206f75740000000000000000000000600082015250565b6000614888601583613aa7565b915061489382614852565b602082019050919050565b600060208201905081810360008301526148b78161487b565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b600061491a602c83613aa7565b9150614925826148be565b604082019050919050565b600060208201905081810360008301526149498161490d565b9050919050565b7f556e636f6d6d6f6e47616c6c6572795374616d70426173653a20696e76616c6960008201527f642076616c756500000000000000000000000000000000000000000000000000602082015250565b60006149ac602783613aa7565b91506149b782614950565b604082019050919050565b600060208201905081810360008301526149db8161499f565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000614a18601883613aa7565b9150614a23826149e2565b602082019050919050565b60006020820190508181036000830152614a4781614a0b565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000614aaa602983613aa7565b9150614ab582614a4e565b604082019050919050565b60006020820190508181036000830152614ad981614a9d565b9050919050565b7f53747261646976617269757356323a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000614b3c602f83613aa7565b9150614b4782614ae0565b604082019050919050565b60006020820190508181036000830152614b6b81614b2f565b9050919050565b7f53747261646976617269757356323a20696e76616c6964206261736555524900600082015250565b6000614ba8601f83613aa7565b9150614bb382614b72565b602082019050919050565b60006020820190508181036000830152614bd781614b9b565b9050919050565b600081905092915050565b60008190508160005260206000209050919050565b60008154614c0b816143a2565b614c158186614bde565b94506001821660008114614c305760018114614c4157614c74565b60ff19831686528186019350614c74565b614c4a85614be9565b60005b83811015614c6c57815481890152600182019150602081019050614c4d565b838801955050505b50505092915050565b6000614c8882613a9c565b614c928185614bde565b9350614ca2818560208601613ab8565b80840191505092915050565b7f2f00000000000000000000000000000000000000000000000000000000000000815250565b6000614ce08286614bfe565b9150614cec8285614c7d565b9150614cf782614cae565b600182019150614d078284614c7d565b9150819050949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614d70602683613aa7565b9150614d7b82614d14565b604082019050919050565b60006020820190508181036000830152614d9f81614d63565b9050919050565b6000604082019050614dbb6000830185613bc2565b614dc86020830184613bc2565b9392505050565b600081519050614dde8161401f565b92915050565b600060208284031215614dfa57614df96138fc565b5b6000614e0884828501614dcf565b91505092915050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000614e6d602183613aa7565b9150614e7882614e11565b604082019050919050565b60006020820190508181036000830152614e9c81614e60565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000614eff603d83613aa7565b9150614f0a82614ea3565b604082019050919050565b60006020820190508181036000830152614f2e81614ef2565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000614f91602d83613aa7565b9150614f9c82614f35565b604082019050919050565b60006020820190508181036000830152614fc081614f84565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614ffd602083613aa7565b915061500882614fc7565b602082019050919050565b6000602082019050818103600083015261502c81614ff0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000615098601783614bde565b91506150a382615062565b601782019050919050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b60006150e4601183614bde565b91506150ef826150ae565b601182019050919050565b60006151058261508b565b91506151118285614c7d565b915061511c826150d7565b91506151288284614c7d565b91508190509392505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000615190602583613aa7565b915061519b82615134565b604082019050919050565b600060208201905081810360008301526151bf81615183565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000615222602483613aa7565b915061522d826151c6565b604082019050919050565b6000602082019050818103600083015261525181615215565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006152b4603283613aa7565b91506152bf82615258565b604082019050919050565b600060208201905081810360008301526152e3816152a7565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000615320601983613aa7565b915061532b826152ea565b602082019050919050565b6000602082019050818103600083015261534f81615313565b9050919050565b600061536182613a4c565b915061536c83613a4c565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156153a5576153a4614310565b5b828202905092915050565b60006153bb82613a4c565b9150600082036153ce576153cd614310565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b600061540f602083613aa7565b915061541a826153d9565b602082019050919050565b6000602082019050818103600083015261543e81615402565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b600061547b602083613aa7565b915061548682615445565b602082019050919050565b600060208201905081810360008301526154aa8161546e565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b60006154e7601c83613aa7565b91506154f2826154b1565b602082019050919050565b60006020820190508181036000830152615516816154da565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006155448261551d565b61554e8185615528565b935061555e818560208601613ab8565b61556781613aeb565b840191505092915050565b60006080820190506155876000830187613bc2565b6155946020830186613bc2565b6155a16040830185613a56565b81810360608301526155b38184615539565b905095945050505050565b6000815190506155cd816139bd565b92915050565b6000602082840312156155e9576155e86138fc565b5b60006155f7848285016155be565b91505092915050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b600061565c603583613aa7565b915061566782615600565b604082019050919050565b6000602082019050818103600083015261568b8161564f565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220e2507bf8e53889c7f203e846f95f217e056c672e79a3ce0777e8d25be32dca5664736f6c634300080d00330000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003a68747470733a2f2f6170692e6e6674636c6173736963736f63696574792e61692f7374726164697661726975732f76322f6d657461646174612f000000000000