60806040526040518060400160405280600581526020017f4d656d6532000000000000000000000000000000000000000000000000000000815250600190816200004a9190620009db565b506040518060400160405280600581526020017f4d454d453200000000000000000000000000000000000000000000000000000081525060029081620000919190620009db565b506012600360006101000a81548160ff021916908360ff160217905550600360009054906101000a900460ff1660ff16600a620000cf919062000c45565b64174876e800620000e1919062000c96565b6004556000600560006101000a81548160ff021916908315150217905550601e600b556014600c55600a600d556000600e556000600f60006101000a81548160ff0219169083151502179055503480156200013b57600080fd5b5060405162003a0d38038062003a0d833981810160405281019062000161919062000d4b565b6000620001736200075960201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a350600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160362000283576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200027a9062000e04565b60405180910390fd5b80600560016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600454600760008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550426010819055506001600a60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a6000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600a60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506064605560045462000490919062000c96565b6200049c919062000e55565b600760008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506064600f60045462000513919062000c96565b6200051f919062000e55565b60076000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506064600260045462000597919062000c96565b620005a3919062000e55565b60068190555060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef606460556004546200062c919062000c96565b62000638919062000e55565b60405162000647919062000e9e565b60405180910390a3600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6064600f600454620006d4919062000c96565b620006e0919062000e55565b604051620006ef919062000e9e565b60405180910390a33373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35062000ebb565b600033905090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620007e357607f821691505b602082108103620007f957620007f86200079b565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620008637fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000824565b6200086f868362000824565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620008bc620008b6620008b08462000887565b62000891565b62000887565b9050919050565b6000819050919050565b620008d8836200089b565b620008f0620008e782620008c3565b84845462000831565b825550505050565b600090565b62000907620008f8565b62000914818484620008cd565b505050565b5b818110156200093c5762000930600082620008fd565b6001810190506200091a565b5050565b601f8211156200098b576200095581620007ff565b620009608462000814565b8101602085101562000970578190505b620009886200097f8562000814565b83018262000919565b50505b505050565b600082821c905092915050565b6000620009b06000198460080262000990565b1980831691505092915050565b6000620009cb83836200099d565b9150826002028217905092915050565b620009e68262000761565b67ffffffffffffffff81111562000a025762000a016200076c565b5b62000a0e8254620007ca565b62000a1b82828562000940565b600060209050601f83116001811462000a53576000841562000a3e578287015190505b62000a4a8582620009bd565b86555062000aba565b601f19841662000a6386620007ff565b60005b8281101562000a8d5784890151825560018201915060208501945060208101905062000a66565b8683101562000aad578489015162000aa9601f8916826200099d565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b600185111562000b505780860481111562000b285762000b2762000ac2565b5b600185161562000b385780820291505b808102905062000b488562000af1565b945062000b08565b94509492505050565b60008262000b6b576001905062000c3e565b8162000b7b576000905062000c3e565b816001811462000b94576002811462000b9f5762000bd5565b600191505062000c3e565b60ff84111562000bb45762000bb362000ac2565b5b8360020a91508482111562000bce5762000bcd62000ac2565b5b5062000c3e565b5060208310610133831016604e8410600b841016171562000c0f5782820a90508381111562000c095762000c0862000ac2565b5b62000c3e565b62000c1e848484600162000afe565b9250905081840481111562000c385762000c3762000ac2565b5b81810290505b9392505050565b600062000c528262000887565b915062000c5f8362000887565b925062000c8e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000b59565b905092915050565b600062000ca38262000887565b915062000cb08362000887565b925082820262000cc08162000887565b9150828204841483151762000cda5762000cd962000ac2565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000d138262000ce6565b9050919050565b62000d258162000d06565b811462000d3157600080fd5b50565b60008151905062000d458162000d1a565b92915050565b60006020828403121562000d645762000d6362000ce1565b5b600062000d748482850162000d34565b91505092915050565b600082825260208201905092915050565b7f436f6d6d756e6974792077616c6c657420697320746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600062000dec60248362000d7d565b915062000df98262000d8e565b604082019050919050565b6000602082019050818103600083015262000e1f8162000ddd565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000e628262000887565b915062000e6f8362000887565b92508262000e825762000e8162000e26565b5b828204905092915050565b62000e988162000887565b82525050565b600060208201905062000eb5600083018462000e8d565b92915050565b612b428062000ecb6000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c806388d695b211610104578063a9059cbb116100a2578063c757483911610071578063c757483914610523578063ca70307514610541578063dd62ed3e1461055f578063e6c75f711461058f576101da565b8063a9059cbb1461049d578063b64e3c74146104cd578063bbf1bb83146104e9578063bc139cb814610507576101da565b80638f2a69b7116100de5780638f2a69b71461042b57806395d89b41146104475780639aa3b303146104655780639da559fb14610481576101da565b806388d695b2146103e75780638a8c523c146104035780638da5cb5b1461040d576101da565b8063313ce5671161017c5780635f9f37331161014b5780635f9f37331461037157806370a082311461038f578063715018a6146103bf578063790ca413146103c9576101da565b8063313ce567146102e75780633bbac579146103055780634ada218b146103355780634dd7c8bf14610353576101da565b806316c2be6b116101b857806316c2be6b1461024b57806318160ddd1461027b57806323b872dd146102995780632c6c2306146102c9576101da565b806306fdde03146101df578063095ea7b3146101fd5780631104c8021461022d575b600080fd5b6101e76105ad565b6040516101f49190611f18565b60405180910390f35b61021760048036038101906102129190611fd8565b61063b565b6040516102249190612033565b60405180910390f35b61023561079b565b6040516102429190612033565b60405180910390f35b6102656004803603810190610260919061204e565b6107ae565b6040516102729190612033565b60405180910390f35b6102836107ce565b604051610290919061208a565b60405180910390f35b6102b360048036038101906102ae91906120a5565b6107d4565b6040516102c09190612033565b60405180910390f35b6102d1610ab2565b6040516102de919061208a565b60405180910390f35b6102ef610ab8565b6040516102fc9190612114565b60405180910390f35b61031f600480360381019061031a919061204e565b610acb565b60405161032c9190612033565b60405180910390f35b61033d610aeb565b60405161034a9190612033565b60405180910390f35b61035b610afe565b604051610368919061208a565b60405180910390f35b610379610b04565b604051610386919061208a565b60405180910390f35b6103a960048036038101906103a4919061204e565b610b0a565b6040516103b6919061208a565b60405180910390f35b6103c7610b22565b005b6103d1610c75565b6040516103de919061208a565b60405180910390f35b61040160048036038101906103fc91906121ea565b610c7b565b005b61040b610f81565b005b610415611083565b604051610422919061227a565b60405180910390f35b610445600480360381019061044091906122c1565b6110a7565b005b61044f611159565b60405161045c9190611f18565b60405180910390f35b61047f600480360381019061047a91906122ee565b6111e7565b005b61049b6004803603810190610496919061231b565b611326565b005b6104b760048036038101906104b29190611fd8565b61145a565b6040516104c49190612033565b60405180910390f35b6104e760048036038101906104e29190612368565b61168a565b005b6104f161177a565b6040516104fe919061208a565b60405180910390f35b610521600480360381019061051c919061231b565b611780565b005b61052b6118b4565b604051610538919061227a565b60405180910390f35b6105496118da565b604051610556919061208a565b60405180910390f35b610579600480360381019061057491906123a8565b6118e0565b604051610586919061208a565b60405180910390f35b610597611905565b6040516105a4919061208a565b60405180910390f35b600180546105ba90612417565b80601f01602080910402602001604051908101604052809291908181526020018280546105e690612417565b80156106335780601f1061060857610100808354040283529160200191610633565b820191906000526020600020905b81548152906001019060200180831161061657829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036106ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a290612494565b60405180910390fd5b81600860003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92584604051610789919061208a565b60405180910390a36001905092915050565b600f60009054906101000a900460ff1681565b600a6020528060005260406000206000915054906101000a900460ff1681565b60045481565b6000600960008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610863576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085a90612500565b60405180910390fd5b600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156108e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108dc9061256c565b60405180910390fd5b600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020548211156109a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161099b906125d8565b60405180910390fd5b81600860008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a309190612627565b92505081905550610a4284848461190b565b8273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a9f919061208a565b60405180910390a3600190509392505050565b600c5481565b600360009054906101000a900460ff1681565b60096020528060005260406000206000915054906101000a900460ff1681565b600560009054906101000a900460ff1681565b600e5481565b600d5481565b60076020528060005260406000206000915090505481565b610b2a611e0f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610bb7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bae906126a7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60105481565b600a60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610d07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cfe90612713565b60405180910390fd5b6000805b83839050811015610d4a57838382818110610d2957610d28612733565b5b9050602002013582610d3b9190612762565b91508080600101915050610d0b565b5080600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541015610dcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc49061256c565b60405180910390fd5b80600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610e1c9190612627565b9250508190555060005b85859050811015610f7957838382818110610e4457610e43612733565b5b9050602002013560076000888885818110610e6257610e61612733565b5b9050602002016020810190610e77919061204e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610ec09190612762565b92505081905550858582818110610eda57610ed9612733565b5b9050602002016020810190610eef919061204e565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef868685818110610f5057610f4f612733565b5b90506020020135604051610f64919061208a565b60405180910390a38080600101915050610e26565b505050505050565b610f89611e0f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611016576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100d906126a7565b60405180910390fd5b600560009054906101000a900460ff1615611066576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105d906127e2565b60405180910390fd5b6001600560006101000a81548160ff021916908315150217905550565b60008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6110af611e0f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461113c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611133906126a7565b60405180910390fd5b80600f60006101000a81548160ff02191690831515021790555050565b6002805461116690612417565b80601f016020809104026020016040519081016040528092919081815260200182805461119290612417565b80156111df5780601f106111b4576101008083540402835291602001916111df565b820191906000526020600020905b8154815290600101906020018083116111c257829003601f168201915b505050505081565b6111ef611e0f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461127c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611273906126a7565b60405180910390fd5b600081116112bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112b690612874565b60405180910390fd5b6064811115611303576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112fa906128e0565b60405180910390fd5b6064816004546113139190612900565b61131d9190612971565b60068190555050565b61132e611e0f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146113bb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b2906126a7565b60405180910390fd5b60005b82829050811015611455576001600960008585858181106113e2576113e1612733565b5b90506020020160208101906113f7919061204e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806001019150506113be565b505050565b6000600960003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156114e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114e090612500565b60405180910390fd5b81600760003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054101561156b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115629061256c565b60405180910390fd5b600560009054906101000a900460ff16806115d1575060008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16145b611610576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611607906129ee565b60405180910390fd5b61161b33848461190b565b8273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051611678919061208a565b60405180910390a36001905092915050565b611692611e0f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461171f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611716906126a7565b60405180910390fd5b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600b5481565b611788611e0f565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611815576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180c906126a7565b60405180910390fd5b60005b828290508110156118af5760006009600085858581811061183c5761183b612733565b5b9050602002016020810190611851919061204e565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050611818565b505050565b600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60115481565b6008602052816000526040600020602052806000526040600020600091509150505481565b60065481565b600f60009054906101000a900460ff16156119d15780600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461196f9190612627565b9250508190555080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546119c59190612762565b92505081905550611da5565b600960008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615611a5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a5590612a5a565b60405180910390fd5b600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680611aff5750600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611bb55780600760008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611b539190612627565b9250508190555080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ba99190612762565b92505081905550611da4565b6000611bbf611e17565b9050600060648284611bd19190612900565b611bdb9190612971565b905060008184611beb9190612627565b905060065481600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611c3b9190612762565b1115611c7c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c7390612aec565b60405180910390fd5b83600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ccb9190612627565b9250508190555080600760008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d219190612762565b925050819055508160076000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611d999190612762565b925050819055505050505b5b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611e02919061208a565b60405180910390a3505050565b600033905090565b60008060105442611e289190612627565b9050610a8c811115611e3f57600e54915050611e85565b601e60115410611e5457600d54915050611e85565b601460115410611e6957600c54915050611e85565b600a60115410611e7e57600b54915050611e85565b600e549150505b90565b600081519050919050565b600082825260208201905092915050565b60005b83811015611ec2578082015181840152602081019050611ea7565b60008484015250505050565b6000601f19601f8301169050919050565b6000611eea82611e88565b611ef48185611e93565b9350611f04818560208601611ea4565b611f0d81611ece565b840191505092915050565b60006020820190508181036000830152611f328184611edf565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000611f6f82611f44565b9050919050565b611f7f81611f64565b8114611f8a57600080fd5b50565b600081359050611f9c81611f76565b92915050565b6000819050919050565b611fb581611fa2565b8114611fc057600080fd5b50565b600081359050611fd281611fac565b92915050565b60008060408385031215611fef57611fee611f3a565b5b6000611ffd85828601611f8d565b925050602061200e85828601611fc3565b9150509250929050565b60008115159050919050565b61202d81612018565b82525050565b60006020820190506120486000830184612024565b92915050565b60006020828403121561206457612063611f3a565b5b600061207284828501611f8d565b91505092915050565b61208481611fa2565b82525050565b600060208201905061209f600083018461207b565b92915050565b6000806000606084860312156120be576120bd611f3a565b5b60006120cc86828701611f8d565b93505060206120dd86828701611f8d565b92505060406120ee86828701611fc3565b9150509250925092565b600060ff82169050919050565b61210e816120f8565b82525050565b60006020820190506121296000830184612105565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126121545761215361212f565b5b8235905067ffffffffffffffff81111561217157612170612134565b5b60208301915083602082028301111561218d5761218c612139565b5b9250929050565b60008083601f8401126121aa576121a961212f565b5b8235905067ffffffffffffffff8111156121c7576121c6612134565b5b6020830191508360208202830111156121e3576121e2612139565b5b9250929050565b6000806000806040858703121561220457612203611f3a565b5b600085013567ffffffffffffffff81111561222257612221611f3f565b5b61222e8782880161213e565b9450945050602085013567ffffffffffffffff81111561225157612250611f3f565b5b61225d87828801612194565b925092505092959194509250565b61227481611f64565b82525050565b600060208201905061228f600083018461226b565b92915050565b61229e81612018565b81146122a957600080fd5b50565b6000813590506122bb81612295565b92915050565b6000602082840312156122d7576122d6611f3a565b5b60006122e5848285016122ac565b91505092915050565b60006020828403121561230457612303611f3a565b5b600061231284828501611fc3565b91505092915050565b6000806020838503121561233257612331611f3a565b5b600083013567ffffffffffffffff8111156123505761234f611f3f565b5b61235c8582860161213e565b92509250509250929050565b6000806040838503121561237f5761237e611f3a565b5b600061238d85828601611f8d565b925050602061239e858286016122ac565b9150509250929050565b600080604083850312156123bf576123be611f3a565b5b60006123cd85828601611f8d565b92505060206123de85828601611f8d565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061242f57607f821691505b602082108103612442576124416123e8565b5b50919050565b7f417070726f766520746f20746865207a65726f20616464726573730000000000600082015250565b600061247e601b83611e93565b915061248982612448565b602082019050919050565b600060208201905081810360008301526124ad81612471565b9050919050565b7f53656e64657220697320626c61636b6c69737465640000000000000000000000600082015250565b60006124ea601583611e93565b91506124f5826124b4565b602082019050919050565b60006020820190508181036000830152612519816124dd565b9050919050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b6000612556601483611e93565b915061256182612520565b602082019050919050565b6000602082019050818103600083015261258581612549565b9050919050565b7f416c6c6f77616e63652065786365656465640000000000000000000000000000600082015250565b60006125c2601283611e93565b91506125cd8261258c565b602082019050919050565b600060208201905081810360008301526125f1816125b5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061263282611fa2565b915061263d83611fa2565b9250828203905081811115612655576126546125f8565b5b92915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000612691602083611e93565b915061269c8261265b565b602082019050919050565b600060208201905081810360008301526126c081612684565b9050919050565b7f53656e646572206e6f74207461782d6578656d70740000000000000000000000600082015250565b60006126fd601583611e93565b9150612708826126c7565b602082019050919050565b6000602082019050818103600083015261272c816126f0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061276d82611fa2565b915061277883611fa2565b92508282019050808211156127905761278f6125f8565b5b92915050565b7f54726164696e6720697320616c726561647920656e61626c6564000000000000600082015250565b60006127cc601a83611e93565b91506127d782612796565b602082019050919050565b600060208201905081810360008301526127fb816127bf565b9050919050565b7f50657263656e74616765206d7573742062652067726561746572207468616e2060008201527f3000000000000000000000000000000000000000000000000000000000000000602082015250565b600061285e602183611e93565b915061286982612802565b604082019050919050565b6000602082019050818103600083015261288d81612851565b9050919050565b7f50657263656e746167652063616e6e6f74206578636565642031303000000000600082015250565b60006128ca601c83611e93565b91506128d582612894565b602082019050919050565b600060208201905081810360008301526128f9816128bd565b9050919050565b600061290b82611fa2565b915061291683611fa2565b925082820261292481611fa2565b9150828204841483151761293b5761293a6125f8565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061297c82611fa2565b915061298783611fa2565b92508261299757612996612942565b5b828204905092915050565b7f54726164696e67206973206e6f7420656e61626c656400000000000000000000600082015250565b60006129d8601683611e93565b91506129e3826129a2565b602082019050919050565b60006020820190508181036000830152612a07816129cb565b9050919050565b7f53656e64657220697320626f7400000000000000000000000000000000000000600082015250565b6000612a44600d83611e93565b9150612a4f82612a0e565b602082019050919050565b60006020820190508181036000830152612a7381612a37565b9050919050565b7f5472616e73666572206578636565647320746865206d617857616c6c6574546f60008201527f6b656e206c696d69742e00000000000000000000000000000000000000000000602082015250565b6000612ad6602a83611e93565b9150612ae182612a7a565b604082019050919050565b60006020820190508181036000830152612b0581612ac9565b905091905056fea2646970667358221220757f255310e2c588871b6a073613a34539de34d69a5f302277409273ffa4793564736f6c634300081800330000000000000000000000008e21ce69c57219fb1ab6818d02f08106b98248de