60806040526040518060400160405280600381526020017f43523700000000000000000000000000000000000000000000000000000000008152505f90816200004991906200041d565b506040518060400160405280600381526020017f4352370000000000000000000000000000000000000000000000000000000000815250600190816200009091906200041d565b506b033b2e3c9fd0803cac653600600255601260035f6101000a81548160ff021916908360ff160217905550348015620000c8575f80fd5b50604051620034f4380380620034f48339818101604052810190620000ee919062000566565b3360065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508060075f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060025460045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055505062000596565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200023557607f821691505b6020821081036200024b576200024a620001f0565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620002af7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000272565b620002bb868362000272565b95508019841693508086168417925050509392505050565b5f819050919050565b5f819050919050565b5f62000305620002ff620002f984620002d3565b620002dc565b620002d3565b9050919050565b5f819050919050565b6200032083620002e5565b620003386200032f826200030c565b8484546200027e565b825550505050565b5f90565b6200034e62000340565b6200035b81848462000315565b505050565b5b818110156200038257620003765f8262000344565b60018101905062000361565b5050565b601f821115620003d1576200039b8162000251565b620003a68462000263565b81016020851015620003b6578190505b620003ce620003c58562000263565b83018262000360565b50505b505050565b5f82821c905092915050565b5f620003f35f1984600802620003d6565b1980831691505092915050565b5f6200040d8383620003e2565b9150826002028217905092915050565b6200042882620001b9565b67ffffffffffffffff811115620004445762000443620001c3565b5b6200045082546200021d565b6200045d82828562000386565b5f60209050601f83116001811462000493575f84156200047e578287015190505b6200048a858262000400565b865550620004f9565b601f198416620004a38662000251565b5f5b82811015620004cc57848901518255600182019150602085019450602081019050620004a5565b86831015620004ec5784890151620004e8601f891682620003e2565b8355505b6001600288020188555050505b505050505050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620005308262000505565b9050919050565b620005428162000524565b81146200054d575f80fd5b50565b5f81519050620005608162000537565b92915050565b5f602082840312156200057e576200057d62000501565b5b5f6200058d8482850162000550565b91505092915050565b612f5080620005a45f395ff3fe608060405260043610610113575f3560e01c8063715018a61161009f578063a6f2ae3a11610063578063a6f2ae3a14610381578063a9059cbb1461038b578063dd62ed3e146103c7578063e4849b3214610403578063f2fde38b1461042b57610113565b8063715018a6146102c55780637cdc65f2146102db5780638ba4cc3c146103055780638da5cb5b1461032d57806395d89b411461035757610113565b806323b872dd116100e657806323b872dd146101cf5780632b14ca561461020b578063313ce56714610235578063470624021461025f57806370a082311461028957610113565b806306fdde0314610117578063095ea7b3146101415780630b78f9c01461017d57806318160ddd146101a5575b5f80fd5b348015610122575f80fd5b5061012b610453565b60405161013891906124e3565b60405180910390f35b34801561014c575f80fd5b5061016760048036038101906101629190612594565b6104de565b60405161017491906125ec565b60405180910390f35b348015610188575f80fd5b506101a3600480360381019061019e9190612605565b6105cb565b005b3480156101b0575f80fd5b506101b9610784565b6040516101c69190612652565b60405180910390f35b3480156101da575f80fd5b506101f560048036038101906101f0919061266b565b61078a565b60405161020291906125ec565b60405180910390f35b348015610216575f80fd5b5061021f611075565b60405161022c9190612652565b60405180910390f35b348015610240575f80fd5b5061024961107b565b60405161025691906126d6565b60405180910390f35b34801561026a575f80fd5b5061027361108d565b6040516102809190612652565b60405180910390f35b348015610294575f80fd5b506102af60048036038101906102aa91906126ef565b611093565b6040516102bc9190612652565b60405180910390f35b3480156102d0575f80fd5b506102d96110a8565b005b3480156102e6575f80fd5b506102ef6111f4565b6040516102fc9190612729565b60405180910390f35b348015610310575f80fd5b5061032b60048036038101906103269190612594565b611219565b005b348015610338575f80fd5b50610341611483565b60405161034e9190612729565b60405180910390f35b348015610362575f80fd5b5061036b6114a8565b60405161037891906124e3565b60405180910390f35b610389611534565b005b348015610396575f80fd5b506103b160048036038101906103ac9190612594565b611981565b6040516103be91906125ec565b60405180910390f35b3480156103d2575f80fd5b506103ed60048036038101906103e89190612742565b611b93565b6040516103fa9190612652565b60405180910390f35b34801561040e575f80fd5b5061042960048036038101906104249190612780565b611bb3565b005b348015610436575f80fd5b50610451600480360381019061044c91906126ef565b612152565b005b5f805461045f906127d8565b80601f016020809104026020016040519081016040528092919081815260200182805461048b906127d8565b80156104d65780601f106104ad576101008083540402835291602001916104d6565b820191905f5260205f20905b8154815290600101906020018083116104b957829003601f168201915b505050505081565b5f8160055f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516105b99190612652565b60405180910390a36001905092915050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480610672575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6106b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a890612878565b60405180910390fd5b60648211156106f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106ec906128e0565b60405180910390fd5b6064811115610739576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073090612948565b60405180910390fd5b81600881905550806009819055507f5c6323bf1c2d7aaea2c091a4751c1c87af7f2864650c336507a77d0557af37a18282604051610778929190612966565b60405180910390a15050565b60025481565b5f8160045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054101561080b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610802906129d7565b60405180910390fd5b8160055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156108c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108bd90612a3f565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610934576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092b90612aa7565b60405180910390fd5b5f808390505f600954118015610997575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614155b156109dc576109c460646109b6600954876122d690919063ffffffff16565b61234d90919063ffffffff16565b91506109d982856123a490919063ffffffff16565b90505b610a2c8460045f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123a490919063ffffffff16565b60045f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550610abd8160045f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123fc90919063ffffffff16565b60045f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610b5b9190612652565b60405180910390a35f821115610daa575f735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f90508073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1603610cb157610c068360045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123fc90919063ffffffff16565b60045f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610ca49190612652565b60405180910390a3610da8565b610d018360045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123fc90919063ffffffff16565b60045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef85604051610d9f9190612652565b60405180910390a35b505b3373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff1614158015610e7e57507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205414155b1561106857610f0e8460055f8973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123a490919063ffffffff16565b60055f8873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503373ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560055f8a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205460405161105f9190612652565b60405180910390a35b6001925050509392505050565b60095481565b60035f9054906101000a900460ff1681565b60085481565b6004602052805f5260405f205f915090505481565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611137576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112e90612b35565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35f60065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614806112c0575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b6112ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112f690612878565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361136d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161136490612aa7565b60405180910390fd5b5f81116113af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a690612b9d565b60405180910390fd5b8060045f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8282546113fb9190612be8565b925050819055508060025f8282546114139190612be8565b925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516114779190612652565b60405180910390a35050565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600180546114b5906127d8565b80601f01602080910402602001604051908101604052809291908181526020018280546114e1906127d8565b801561152c5780601f106115035761010080835404028352916020019161152c565b820191905f5260205f20905b81548152906001019060200180831161150f57829003601f168201915b505050505081565b5f3411611576576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161156d90612c8b565b60405180910390fd5b5f3490505f6008541115611824575f6115ad606461159f600854856122d690919063ffffffff16565b61234d90919063ffffffff16565b90505f6115c382846123a490919063ffffffff16565b90506116368160045f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123fc90919063ffffffff16565b60045f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516117169190612652565b60405180910390a35f82111561181d576117768260045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123fc90919063ffffffff16565b60045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516118149190612652565b60405180910390a35b505061197e565b6118958160045f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123fc90919063ffffffff16565b60045f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516119759190612652565b60405180910390a35b50565b5f8160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205410156119cb575f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611a02575f80fd5b611a528260045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123a490919063ffffffff16565b60045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611ae38260045f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123fc90919063ffffffff16565b60045f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611b819190612652565b60405180910390a36001905092915050565b6005602052815f5260405f20602052805f5260405f205f91509150505481565b8060045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20541015611c33576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2a906129d7565b60405180910390fd5b5f600954118015611c91575060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614155b15611fc7575f611cbf6064611cb1600954856122d690919063ffffffff16565b61234d90919063ffffffff16565b90505f611cd582846123a490919063ffffffff16565b9050611d278360045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123a490919063ffffffff16565b60045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2081905550611dd98160045f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123fc90919063ffffffff16565b60045f60075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f208190555060075f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611eb99190612652565b60405180910390a35f821115611fc057611f198260045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123fc90919063ffffffff16565b60045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611fb79190612652565b60405180910390a35b505061214f565b6120178160045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123a490919063ffffffff16565b60045f3373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055506120a88160045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20546123fc90919063ffffffff16565b60045f3073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055503073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516121469190612652565b60405180910390a35b50565b60065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146121e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d890612b35565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612218575f80fd5b8073ffffffffffffffffffffffffffffffffffffffff1660065f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a38060065f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b5f8083036122e6575f9050612347565b5f82846122f39190612ca9565b90508284826123029190612d17565b14612342576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161233990612d91565b60405180910390fd5b809150505b92915050565b5f808211612390576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238790612df9565b60405180910390fd5b818361239c9190612d17565b905092915050565b5f828211156123e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123df90612e61565b60405180910390fd5b81836123f49190612e7f565b905092915050565b5f80828461240a9190612be8565b90508381101561244f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161244690612efc565b60405180910390fd5b8091505092915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015612490578082015181840152602081019050612475565b5f8484015250505050565b5f601f19601f8301169050919050565b5f6124b582612459565b6124bf8185612463565b93506124cf818560208601612473565b6124d88161249b565b840191505092915050565b5f6020820190508181035f8301526124fb81846124ab565b905092915050565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f61253082612507565b9050919050565b61254081612526565b811461254a575f80fd5b50565b5f8135905061255b81612537565b92915050565b5f819050919050565b61257381612561565b811461257d575f80fd5b50565b5f8135905061258e8161256a565b92915050565b5f80604083850312156125aa576125a9612503565b5b5f6125b78582860161254d565b92505060206125c885828601612580565b9150509250929050565b5f8115159050919050565b6125e6816125d2565b82525050565b5f6020820190506125ff5f8301846125dd565b92915050565b5f806040838503121561261b5761261a612503565b5b5f61262885828601612580565b925050602061263985828601612580565b9150509250929050565b61264c81612561565b82525050565b5f6020820190506126655f830184612643565b92915050565b5f805f6060848603121561268257612681612503565b5b5f61268f8682870161254d565b93505060206126a08682870161254d565b92505060406126b186828701612580565b9150509250925092565b5f60ff82169050919050565b6126d0816126bb565b82525050565b5f6020820190506126e95f8301846126c7565b92915050565b5f6020828403121561270457612703612503565b5b5f6127118482850161254d565b91505092915050565b61272381612526565b82525050565b5f60208201905061273c5f83018461271a565b92915050565b5f806040838503121561275857612757612503565b5b5f6127658582860161254d565b92505060206127768582860161254d565b9150509250929050565b5f6020828403121561279557612794612503565b5b5f6127a284828501612580565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806127ef57607f821691505b602082108103612802576128016127ab565b5b50919050565b7f4f6e6c7920617574686f72697a65642077616c6c6574732063616e2063616c6c5f8201527f20746869732066756e6374696f6e2e0000000000000000000000000000000000602082015250565b5f612862602f83612463565b915061286d82612808565b604082019050919050565b5f6020820190508181035f83015261288f81612856565b9050919050565b7f427579206665652063616e6e6f742065786365656420313030250000000000005f82015250565b5f6128ca601a83612463565b91506128d582612896565b602082019050919050565b5f6020820190508181035f8301526128f7816128be565b9050919050565b7f53656c6c206665652063616e6e6f7420657863656564203130302500000000005f82015250565b5f612932601b83612463565b915061293d826128fe565b602082019050919050565b5f6020820190508181035f83015261295f81612926565b9050919050565b5f6040820190506129795f830185612643565b6129866020830184612643565b9392505050565b7f496e73756666696369656e742062616c616e63650000000000000000000000005f82015250565b5f6129c1601483612463565b91506129cc8261298d565b602082019050919050565b5f6020820190508181035f8301526129ee816129b5565b9050919050565b7f496e73756666696369656e7420616c6c6f77616e6365000000000000000000005f82015250565b5f612a29601683612463565b9150612a34826129f5565b602082019050919050565b5f6020820190508181035f830152612a5681612a1d565b9050919050565b7f496e76616c696420726563697069656e742061646472657373000000000000005f82015250565b5f612a91601983612463565b9150612a9c82612a5d565b602082019050919050565b5f6020820190508181035f830152612abe81612a85565b9050919050565b7f4f6e6c7920746865206f776e65722063616e2063616c6c20746869732066756e5f8201527f6374696f6e2e0000000000000000000000000000000000000000000000000000602082015250565b5f612b1f602683612463565b9150612b2a82612ac5565b604082019050919050565b5f6020820190508181035f830152612b4c81612b13565b9050919050565b7f496e76616c696420616d6f756e740000000000000000000000000000000000005f82015250565b5f612b87600e83612463565b9150612b9282612b53565b602082019050919050565b5f6020820190508181035f830152612bb481612b7b565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f612bf282612561565b9150612bfd83612561565b9250828201905080821115612c1557612c14612bbb565b5b92915050565b7f45544820616d6f756e742073686f756c642062652067726561746572207468615f8201527f6e20300000000000000000000000000000000000000000000000000000000000602082015250565b5f612c75602383612463565b9150612c8082612c1b565b604082019050919050565b5f6020820190508181035f830152612ca281612c69565b9050919050565b5f612cb382612561565b9150612cbe83612561565b9250828202612ccc81612561565b91508282048414831517612ce357612ce2612bbb565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f612d2182612561565b9150612d2c83612561565b925082612d3c57612d3b612cea565b5b828204905092915050565b7f4d756c7469706c69636174696f6e206f766572666c6f770000000000000000005f82015250565b5f612d7b601783612463565b9150612d8682612d47565b602082019050919050565b5f6020820190508181035f830152612da881612d6f565b9050919050565b7f4469766973696f6e206279207a65726f000000000000000000000000000000005f82015250565b5f612de3601083612463565b9150612dee82612daf565b602082019050919050565b5f6020820190508181035f830152612e1081612dd7565b9050919050565b7f5375627472616374696f6e206f766572666c6f770000000000000000000000005f82015250565b5f612e4b601483612463565b9150612e5682612e17565b602082019050919050565b5f6020820190508181035f830152612e7881612e3f565b9050919050565b5f612e8982612561565b9150612e9483612561565b9250828203905081811115612eac57612eab612bbb565b5b92915050565b7f4164646974696f6e206f766572666c6f770000000000000000000000000000005f82015250565b5f612ee6601183612463565b9150612ef182612eb2565b602082019050919050565b5f6020820190508181035f830152612f1381612eda565b905091905056fea2646970667358221220f81817f287d18cee83aec388d73fcae2ce56f19493af404ed9cdb7bd86a1ee6064736f6c63430008140033000000000000000000000000d478c14ffcf4ad064c617ceb5f2e30a301f3deae