60806040526000600760146101000a81548160ff0219169083151502179055506000600b556000600c553480156200003657600080fd5b5060405162006a7538038062006a7583398181016040528101906200005c919062000ee6565b6040518060400160405280600c81526020017f496e766173696f6e4d61727300000000000000000000000000000000000000008152506040518060400160405280600481526020017f694d3639000000000000000000000000000000000000000000000000000000008152508160039081620000d99190620011d7565b508060049081620000eb9190620011d7565b5050506000600560006101000a81548160ff0219169083151502179055506001600681905550600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160362000183576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200017a906200131f565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620001f5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001ec9062001391565b60405180910390fd5b33600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555083600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620002d6306bdef376571332906a88000000620004a260201b60201c565b737a250d5630b4cf539739df2c5dacb4c659f2488d600d60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550735f4ec3df9cbd43714fe2740f5e3616155c5b8419600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508051825114620003c7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003be9062001429565b60405180910390fd5b60005b825181101562000497576000838281518110620003ec57620003eb6200144b565b5b6020026020010151905060008383815181106200040e576200040d6200144b565b5b602002602001015190506200042b3083836200060f60201b60201c565b6200043c826200075760201b60201c565b600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505080806200048e90620014a9565b915050620003ca565b50505050506200191e565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000514576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200050b9062001546565b60405180910390fd5b62000528600083836200077160201b60201c565b80600260008282546200053c919062001568565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620005ef9190620015b4565b60405180910390a36200060b600083836200078960201b60201c565b5050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480620006bb5750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b620006c957600c54620006cd565b600b545b90506000620006e384836200078e60201b60201c565b905080601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000736919062001568565b92505081905550620007508585856200082160201b60201c565b5050505050565b60006200076a8262000ab260201b60201c565b9050919050565b6200078483838362000b1860201b60201c565b505050565b505050565b600080620007a2846200075760201b60201c565b90506000600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490506000606485620007f9919062001600565b828462000807919062001638565b62000813919062001673565b905080935050505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160362000893576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200088a9062001734565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000905576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620008fc90620017cc565b60405180910390fd5b620009188383836200077160201b60201c565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015620009a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009989062001864565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405162000a919190620015b4565b60405180910390a362000aac8484846200078960201b60201c565b50505050565b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205462000b058362000b8360201b60201c565b62000b11919062001568565b9050919050565b62000b2b83838362000bcb60201b60201c565b62000b3b62000bd060201b60201c565b1562000b7e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b7590620018fc565b60405180910390fd5b505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b505050565b6000600560009054906101000a900460ff16905090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000c288262000bfb565b9050919050565b62000c3a8162000c1b565b811462000c4657600080fd5b50565b60008151905062000c5a8162000c2f565b92915050565b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b62000cb08262000c65565b810181811067ffffffffffffffff8211171562000cd25762000cd162000c76565b5b80604052505050565b600062000ce762000be7565b905062000cf5828262000ca5565b919050565b600067ffffffffffffffff82111562000d185762000d1762000c76565b5b602082029050602081019050919050565b600080fd5b600062000d4562000d3f8462000cfa565b62000cdb565b9050808382526020820190506020840283018581111562000d6b5762000d6a62000d29565b5b835b8181101562000d98578062000d83888262000c49565b84526020840193505060208101905062000d6d565b5050509392505050565b600082601f83011262000dba5762000db962000c60565b5b815162000dcc84826020860162000d2e565b91505092915050565b600067ffffffffffffffff82111562000df35762000df262000c76565b5b602082029050602081019050919050565b6000819050919050565b62000e198162000e04565b811462000e2557600080fd5b50565b60008151905062000e398162000e0e565b92915050565b600062000e5662000e508462000dd5565b62000cdb565b9050808382526020820190506020840283018581111562000e7c5762000e7b62000d29565b5b835b8181101562000ea9578062000e94888262000e28565b84526020840193505060208101905062000e7e565b5050509392505050565b600082601f83011262000ecb5762000eca62000c60565b5b815162000edd84826020860162000e3f565b91505092915050565b6000806000806080858703121562000f035762000f0262000bf1565b5b600062000f138782880162000c49565b945050602062000f268782880162000c49565b935050604085015167ffffffffffffffff81111562000f4a5762000f4962000bf6565b5b62000f588782880162000da2565b925050606085015167ffffffffffffffff81111562000f7c5762000f7b62000bf6565b5b62000f8a8782880162000eb3565b91505092959194509250565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000fe957607f821691505b60208210810362000fff5762000ffe62000fa1565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620010697fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200102a565b6200107586836200102a565b95508019841693508086168417925050509392505050565b6000819050919050565b6000620010b8620010b2620010ac8462000e04565b6200108d565b62000e04565b9050919050565b6000819050919050565b620010d48362001097565b620010ec620010e382620010bf565b84845462001037565b825550505050565b600090565b62001103620010f4565b62001110818484620010c9565b505050565b5b8181101562001138576200112c600082620010f9565b60018101905062001116565b5050565b601f8211156200118757620011518162001005565b6200115c846200101a565b810160208510156200116c578190505b620011846200117b856200101a565b83018262001115565b50505b505050565b600082821c905092915050565b6000620011ac600019846008026200118c565b1980831691505092915050565b6000620011c7838362001199565b9150826002028217905092915050565b620011e28262000f96565b67ffffffffffffffff811115620011fe57620011fd62000c76565b5b6200120a825462000fd0565b620012178282856200113c565b600060209050601f8311600181146200124f57600084156200123a578287015190505b620012468582620011b9565b865550620012b6565b601f1984166200125f8662001005565b60005b82811015620012895784890151825560018201915060208501945060208101905062001262565b86831015620012a95784890151620012a5601f89168262001199565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f496e76616c6964206d61726b6574696e672077616c6c65742061646472657373600082015250565b600062001307602083620012be565b91506200131482620012cf565b602082019050919050565b600060208201905081810360008301526200133a81620012f8565b9050919050565b7f496e76616c6964206465762077616c6c65742061646472657373000000000000600082015250565b600062001379601a83620012be565b9150620013868262001341565b602082019050919050565b60006020820190508181036000830152620013ac816200136a565b9050919050565b7f526563697069656e747320616e6420616d6f756e747320617272617973206d7560008201527f73742068617665207468652073616d65206c656e677468000000000000000000602082015250565b600062001411603783620012be565b91506200141e82620013b3565b604082019050919050565b60006020820190508181036000830152620014448162001402565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620014b68262000e04565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203620014eb57620014ea6200147a565b5b600182019050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b60006200152e601f83620012be565b91506200153b82620014f6565b602082019050919050565b6000602082019050818103600083015262001561816200151f565b9050919050565b6000620015758262000e04565b9150620015828362000e04565b92508282019050808211156200159d576200159c6200147a565b5b92915050565b620015ae8162000e04565b82525050565b6000602082019050620015cb6000830184620015a3565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006200160d8262000e04565b91506200161a8362000e04565b9250826200162d576200162c620015d1565b5b828204905092915050565b6000620016458262000e04565b9150620016528362000e04565b92508282039050818111156200166d576200166c6200147a565b5b92915050565b6000620016808262000e04565b91506200168d8362000e04565b92508282026200169d8162000e04565b91508282048414831517620016b757620016b66200147a565b5b5092915050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006200171c602583620012be565b91506200172982620016be565b604082019050919050565b600060208201905081810360008301526200174f816200170d565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000620017b4602383620012be565b9150620017c18262001756565b604082019050919050565b60006020820190508181036000830152620017e781620017a5565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006200184c602683620012be565b91506200185982620017ee565b604082019050919050565b600060208201905081810360008301526200187f816200183d565b9050919050565b7f45524332305061757361626c653a20746f6b656e207472616e7366657220776860008201527f696c652070617573656400000000000000000000000000000000000000000000602082015250565b6000620018e4602a83620012be565b9150620018f18262001886565b604082019050919050565b600060208201905081810360008301526200191781620018d5565b9050919050565b615147806200192e6000396000f3fe6080604052600436106102c95760003560e01c806375f0a87411610175578063c5c7647a116100dc578063e5685bed11610095578063ee42d3a31161006f578063ee42d3a314610aeb578063f3acb4d514610b28578063f83c2d0d14610b51578063fd46aa1914610b7c576102c9565b8063e5685bed14610a70578063e56a645e14610a99578063ea2f0b3714610ac2576102c9565b8063c5c7647a1461094c578063d469686314610989578063d56926a0146109c6578063da8fbf2a146109f1578063dd62ed3e14610a08578063e1a283d614610a45576102c9565b80638ea5220f1161012e5780638ea5220f1461083a57806395d89b4114610865578063a457c2d714610890578063a9059cbb146108cd578063ae2003221461090a578063b416d1a314610921576102c9565b806375f0a8741461075057806379cc67901461077b5780638456cb59146107a457806388d695b2146107bb5780638ce8e9d7146107e45780638da5cb5b1461080f576102c9565b80633f4ba83a116102345780634d0adf6b116101ed5780635d098b38116101c75780635d098b381461068257806370a08231146106ab578063735de9f7146106e85780637400243c14610713576102c9565b80634d0adf6b146105ef5780635342acb41461061a5780635c975abb14610657576102c9565b80633f4ba83a1461051657806340c10f191461052d5780634174f1a51461055657806341a22cc21461058157806342966c681461059d578063437823ec146105c6576102c9565b806323b872dd1161028657806323b872dd146103de5780632ac234c01461041b5780632ff2e9dc14610446578063313ce56714610471578063395093511461049c578063398ef5bd146104d9576102c9565b806306fdde03146102ce57806307fad7ae146102f9578063095ea7b31461033657806318160ddd146103735780631f53ac021461039e578063234cb051146103c7575b600080fd5b3480156102da57600080fd5b506102e3610bb9565b6040516102f0919061384c565b60405180910390f35b34801561030557600080fd5b50610320600480360381019061031b91906138b8565b610c4b565b60405161032d91906138f4565b60405180910390f35b34801561034257600080fd5b5061035d6004803603810190610358919061396d565b610c6e565b60405161036a91906139c8565b60405180910390f35b34801561037f57600080fd5b50610388610c91565b60405161039591906138f4565b60405180910390f35b3480156103aa57600080fd5b506103c560048036038101906103c091906139e3565b610c9b565b005b3480156103d357600080fd5b506103dc610dde565b005b3480156103ea57600080fd5b5061040560048036038101906104009190613a10565b610f39565b60405161041291906139c8565b60405180910390f35b34801561042757600080fd5b506104306111f9565b60405161043d91906138f4565b60405180910390f35b34801561045257600080fd5b5061045b6111fe565b60405161046891906138f4565b60405180910390f35b34801561047d57600080fd5b5061048661120e565b6040516104939190613a7f565b60405180910390f35b3480156104a857600080fd5b506104c360048036038101906104be919061396d565b611217565b6040516104d091906139c8565b60405180910390f35b3480156104e557600080fd5b5061050060048036038101906104fb919061396d565b61124e565b60405161050d91906138f4565b60405180910390f35b34801561052257600080fd5b5061052b6112d3565b005b34801561053957600080fd5b50610554600480360381019061054f919061396d565b61136d565b005b34801561056257600080fd5b5061056b6115dc565b60405161057891906138f4565b60405180910390f35b61059b600480360381019061059691906138b8565b6115e2565b005b3480156105a957600080fd5b506105c460048036038101906105bf91906138b8565b6118c9565b005b3480156105d257600080fd5b506105ed60048036038101906105e891906139e3565b611965565b005b3480156105fb57600080fd5b50610604611a50565b60405161061191906138f4565b60405180910390f35b34801561062657600080fd5b50610641600480360381019061063c91906139e3565b611a55565b60405161064e91906139c8565b60405180910390f35b34801561066357600080fd5b5061066c611a75565b60405161067991906139c8565b60405180910390f35b34801561068e57600080fd5b506106a960048036038101906106a491906139e3565b611a8c565b005b3480156106b757600080fd5b506106d260048036038101906106cd91906139e3565b611bcf565b6040516106df91906138f4565b60405180910390f35b3480156106f457600080fd5b506106fd611be1565b60405161070a9190613af9565b60405180910390f35b34801561071f57600080fd5b5061073a600480360381019061073591906138b8565b611c07565b60405161074791906138f4565b60405180910390f35b34801561075c57600080fd5b50610765611c37565b6040516107729190613b23565b60405180910390f35b34801561078757600080fd5b506107a2600480360381019061079d919061396d565b611c5d565b005b3480156107b057600080fd5b506107b9611c7d565b005b3480156107c757600080fd5b506107e260048036038101906107dd9190613d49565b611d17565b005b3480156107f057600080fd5b506107f9611e4e565b60405161080691906138f4565b60405180910390f35b34801561081b57600080fd5b50610824611e54565b6040516108319190613de2565b60405180910390f35b34801561084657600080fd5b5061084f611e7a565b60405161085c9190613b23565b60405180910390f35b34801561087157600080fd5b5061087a611ea0565b604051610887919061384c565b60405180910390f35b34801561089c57600080fd5b506108b760048036038101906108b2919061396d565b611f32565b6040516108c491906139c8565b60405180910390f35b3480156108d957600080fd5b506108f460048036038101906108ef919061396d565b611fa9565b60405161090191906139c8565b60405180910390f35b34801561091657600080fd5b5061091f61225e565b005b34801561092d57600080fd5b5061093661230b565b60405161094391906138f4565b60405180910390f35b34801561095857600080fd5b50610973600480360381019061096e91906138b8565b612311565b60405161098091906138f4565b60405180910390f35b34801561099557600080fd5b506109b060048036038101906109ab91906139e3565b612334565b6040516109bd91906138f4565b60405180910390f35b3480156109d257600080fd5b506109db612390565b6040516109e891906138f4565b60405180910390f35b3480156109fd57600080fd5b50610a0661239e565b005b348015610a1457600080fd5b50610a2f6004803603810190610a2a9190613dfd565b61244b565b604051610a3c91906138f4565b60405180910390f35b348015610a5157600080fd5b50610a5a6124d2565b604051610a6791906139c8565b60405180910390f35b348015610a7c57600080fd5b50610a976004803603810190610a9291906138b8565b6124e5565b005b348015610aa557600080fd5b50610ac06004803603810190610abb91906138b8565b6125d0565b005b348015610ace57600080fd5b50610ae96004803603810190610ae491906139e3565b61287a565b005b348015610af757600080fd5b50610b126004803603810190610b0d91906139e3565b612965565b604051610b1f91906138f4565b60405180910390f35b348015610b3457600080fd5b50610b4f6004803603810190610b4a91906138b8565b61297d565b005b348015610b5d57600080fd5b50610b66612a68565b604051610b7391906138f4565b60405180910390f35b348015610b8857600080fd5b50610ba36004803603810190610b9e91906138b8565b612ae1565b604051610bb091906138f4565b60405180910390f35b606060038054610bc890613e6c565b80601f0160208091040260200160405190810160405280929190818152602001828054610bf490613e6c565b8015610c415780601f10610c1657610100808354040283529160200191610c41565b820191906000526020600020905b815481529060010190602001808311610c2457829003601f168201915b5050505050905090565b60006064600c5483610c5d9190613ecc565b610c679190613f3d565b9050919050565b600080610c79612b03565b9050610c86818585612b0b565b600191505092915050565b6000600254905090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610d2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d2290613fe0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610d9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d919061404c565b60405180910390fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610e6e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e6590613fe0565b60405180910390fd5b6000610e78612a68565b9050610ea6600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682612cd4565b610ed1600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611bcf565b600f6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b600080829050600080600e60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015610fe65750600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156110f6576000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff1614806110965750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16145b6110a257600c546110a6565b600b545b905060648160646110b7919061406c565b876110c29190613ecc565b6110cc9190613f3d565b93506064816110db9190613f3d565b866110e69190613ecc565b92506110f2878261124e565b9150505b808261110291906140a0565b8361110d919061406c565b925061111a878785612e2a565b61115287611126612b03565b85886111398c611134612b03565b61244b565b611143919061406c565b61114d91906140a0565b612b0b565b60008211806111615750600081115b1561119f5761119e86600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838561119991906140a0565b612e2a565b5b6111a886611bcf565b600f60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600193505050509392505050565b600181565b6bdef376571332906a8800000081565b60006012905090565b600080611222612b03565b9050611243818585611234858961244b565b61123e91906140a0565b612b0b565b600191505092915050565b60008061125a84611bcf565b90506000600f60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060006064856112af9190613f3d565b82846112bb919061406c565b6112c59190613ecc565b905080935050505092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611363576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135a90613fe0565b60405180910390fd5b61136b612f5d565b565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146113fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113f490613fe0565b60405180910390fd5b600760149054906101000a900460ff161561144d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144490614120565b60405180910390fd5b600069021e19e0c9bab24000009050600060019050600060019050828410156114ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a29061418c565b60405180910390fd5b60006064836114b8610c91565b6114c29190613ecc565b6114cc9190613f3d565b905080851115611511576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115089061421e565b60405180910390fd5b6064828261151f9190613ecc565b6115299190613f3d565b8561153388611bcf565b61153d91906140a0565b111561157e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611575906142b0565b60405180910390fd5b6115888686612cd4565b61159186611bcf565b600f60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050505050565b61271081565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611672576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161166990613fe0565b60405180910390fd5b8034146116b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ab9061431c565b60405180910390fd5b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015611723573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061174791906143c9565b50505091505060008113611790576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161178790614490565b60405180910390fd5b60006305f5e10061271083856117a69190613ecc565b6117b09190613ecc565b6117ba9190613f3d565b90506117e930600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612b0b565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719843084600080600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600f4261185d91906140a0565b6040518863ffffffff1660e01b815260040161187e9695949392919061450c565b60606040518083038185885af115801561189c573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118c1919061456d565b505050505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611959576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195090613fe0565b60405180910390fd5b61196281612fc0565b50565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146119f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119ec90613fe0565b60405180910390fd5b6001600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600181565b600e6020528060005260406000206000915054906101000a900460ff1681565b6000600560009054906101000a900460ff16905090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611b1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1390613fe0565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611b8b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b829061460c565b60405180910390fd5b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611bda82612334565b9050919050565b600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080611c1383612311565b90506000611c2084610c4b565b90508082611c2e91906140a0565b92505050919050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611c6f82611c69612b03565b83612fd4565b611c798282613060565b5050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611d0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0490613fe0565b60405180910390fd5b611d1561322d565b565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611da7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9e90613fe0565b60405180910390fd5b8051825114611deb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611de29061469e565b60405180910390fd5b60005b8251811015611e4957611e3633848381518110611e0e57611e0d6146be565b5b6020026020010151848481518110611e2957611e286146be565b5b6020026020010151612e2a565b8080611e41906146ed565b915050611dee565b505050565b600c5481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b606060048054611eaf90613e6c565b80601f0160208091040260200160405190810160405280929190818152602001828054611edb90613e6c565b8015611f285780601f10611efd57610100808354040283529160200191611f28565b820191906000526020600020905b815481529060010190602001808311611f0b57829003601f168201915b5050505050905090565b600080611f3d612b03565b90506000611f4b828661244b565b905083811015611f90576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f87906147a7565b60405180910390fd5b611f9d8286868403612b0b565b60019250505092915050565b600080829050600080600e6000611fbe612b03565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615801561205d5750600e60008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612174576000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166120a5612b03565b73ffffffffffffffffffffffffffffffffffffffff1614806121145750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff16145b61212057600c54612124565b600b545b90506064816064612135919061406c565b876121409190613ecc565b61214a9190613f3d565b93506064816121599190613f3d565b866121649190613ecc565b9250612170878261124e565b9150505b808261218091906140a0565b8361218b919061406c565b925061219f612198612b03565b8785612e2a565b6121af6121aa612b03565b613290565b6121b886613290565b60008211806121c75750600081115b156122055761220486600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683856121ff91906140a0565b612e2a565b5b61220e86611bcf565b600f60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506001935050505092915050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146122ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122e590613fe0565b60405180910390fd5b6000600760146101000a81548160ff021916908315150217905550565b600b5481565b60006064600b54836123239190613ecc565b61232d9190613f3d565b9050919050565b6000601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237f836133a0565b61238991906140a0565b9050919050565b69021e19e0c9bab240000081565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461242e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242590613fe0565b60405180910390fd5b6001600760146101000a81548160ff021916908315150217905550565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600760149054906101000a900460ff1681565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612575576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256c90613fe0565b60405180910390fd5b60008110158015612587575060648111155b6125c6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125bd90614813565b60405180910390fd5b80600c8190555050565b6125d86133e8565b806125e233611bcf565b1015612623576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161261a9061487f565b60405180910390fd5b61265033600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683612b0b565b6000600267ffffffffffffffff81111561266d5761266c613b43565b5b60405190808252806020026020018201604052801561269b5781602001602082028036833780820191505090505b50905030816000815181106126b3576126b26146be565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561275a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061277e91906148b4565b81600181518110612792576127916146be565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050600d60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008433600f4261281c91906140a0565b6040518663ffffffff1660e01b815260040161283c95949392919061499f565b600060405180830381600087803b15801561285657600080fd5b505af115801561286a573d6000803e3d6000fd5b5050505050612877613437565b50565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461290a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161290190613fe0565b60405180910390fd5b6000600e60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b600f6020528060005260406000206000915090505481565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612a0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a0490613fe0565b60405180910390fd5b60008110158015612a1f575060648111155b612a5e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a5590614a45565b60405180910390fd5b80600b8190555050565b60008060646001612a77610c91565b612a819190613ecc565b612a8b9190613f3d565b90506000612aba600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16611bcf565b612ac2610c91565b612acc919061406c565b90508082612ada919061406c565b9250505090565b600080612aed83611c07565b90508083612afb919061406c565b915050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612b7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b7190614ad7565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612be9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612be090614b69565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612cc791906138f4565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612d43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d3a90614bd5565b60405180910390fd5b612d4f60008383613441565b8060026000828254612d6191906140a0565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612e1291906138f4565b60405180910390a3612e2660008383613451565b5050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480612ed55750600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b612ee157600c54612ee5565b600b545b90506000612ef3848361124e565b905080601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612f4491906140a0565b92505081905550612f56858585613456565b5050505050565b612f656136cc565b6000600560006101000a81548160ff0219169083151502179055507f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa612fa9612b03565b604051612fb69190613b23565b60405180910390a1565b612fd1612fcb612b03565b82613060565b50565b6000612fe0848461244b565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff811461305a578181101561304c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161304390614c41565b60405180910390fd5b6130598484848403612b0b565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036130cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130c690614cd3565b60405180910390fd5b6130db82600083613441565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015613161576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161315890614d65565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008282540392505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161321491906138f4565b60405180910390a361322883600084613451565b505050565b613235613715565b6001600560006101000a81548160ff0219169083151502179055507f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258613279612b03565b6040516132869190613b23565b60405180910390a1565b601260008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661339d576011819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b50565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60026006540361342d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161342490614dd1565b60405180910390fd5b6002600681905550565b6001600681905550565b61344c83838361375f565b505050565b505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036134c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134bc90614e63565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613534576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161352b90614ef5565b60405180910390fd5b61353f838383613441565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156135c5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135bc90614f87565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516136b391906138f4565b60405180910390a36136c6848484613451565b50505050565b6136d4611a75565b613713576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161370a90614ff3565b60405180910390fd5b565b61371d611a75565b1561375d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016137549061505f565b60405180910390fd5b565b61376a8383836137b7565b613772611a75565b156137b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016137a9906150f1565b60405180910390fd5b505050565b505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156137f65780820151818401526020810190506137db565b60008484015250505050565b6000601f19601f8301169050919050565b600061381e826137bc565b61382881856137c7565b93506138388185602086016137d8565b61384181613802565b840191505092915050565b600060208201905081810360008301526138668184613813565b905092915050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b61389581613882565b81146138a057600080fd5b50565b6000813590506138b28161388c565b92915050565b6000602082840312156138ce576138cd613878565b5b60006138dc848285016138a3565b91505092915050565b6138ee81613882565b82525050565b600060208201905061390960008301846138e5565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061393a8261390f565b9050919050565b61394a8161392f565b811461395557600080fd5b50565b60008135905061396781613941565b92915050565b6000806040838503121561398457613983613878565b5b600061399285828601613958565b92505060206139a3858286016138a3565b9150509250929050565b60008115159050919050565b6139c2816139ad565b82525050565b60006020820190506139dd60008301846139b9565b92915050565b6000602082840312156139f9576139f8613878565b5b6000613a0784828501613958565b91505092915050565b600080600060608486031215613a2957613a28613878565b5b6000613a3786828701613958565b9350506020613a4886828701613958565b9250506040613a59868287016138a3565b9150509250925092565b600060ff82169050919050565b613a7981613a63565b82525050565b6000602082019050613a946000830184613a70565b92915050565b6000819050919050565b6000613abf613aba613ab58461390f565b613a9a565b61390f565b9050919050565b6000613ad182613aa4565b9050919050565b6000613ae382613ac6565b9050919050565b613af381613ad8565b82525050565b6000602082019050613b0e6000830184613aea565b92915050565b613b1d8161392f565b82525050565b6000602082019050613b386000830184613b14565b92915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b613b7b82613802565b810181811067ffffffffffffffff82111715613b9a57613b99613b43565b5b80604052505050565b6000613bad61386e565b9050613bb98282613b72565b919050565b600067ffffffffffffffff821115613bd957613bd8613b43565b5b602082029050602081019050919050565b600080fd5b6000613c02613bfd84613bbe565b613ba3565b90508083825260208201905060208402830185811115613c2557613c24613bea565b5b835b81811015613c4e5780613c3a8882613958565b845260208401935050602081019050613c27565b5050509392505050565b600082601f830112613c6d57613c6c613b3e565b5b8135613c7d848260208601613bef565b91505092915050565b600067ffffffffffffffff821115613ca157613ca0613b43565b5b602082029050602081019050919050565b6000613cc5613cc084613c86565b613ba3565b90508083825260208201905060208402830185811115613ce857613ce7613bea565b5b835b81811015613d115780613cfd88826138a3565b845260208401935050602081019050613cea565b5050509392505050565b600082601f830112613d3057613d2f613b3e565b5b8135613d40848260208601613cb2565b91505092915050565b60008060408385031215613d6057613d5f613878565b5b600083013567ffffffffffffffff811115613d7e57613d7d61387d565b5b613d8a85828601613c58565b925050602083013567ffffffffffffffff811115613dab57613daa61387d565b5b613db785828601613d1b565b9150509250929050565b6000613dcc8261390f565b9050919050565b613ddc81613dc1565b82525050565b6000602082019050613df76000830184613dd3565b92915050565b60008060408385031215613e1457613e13613878565b5b6000613e2285828601613958565b9250506020613e3385828601613958565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613e8457607f821691505b602082108103613e9757613e96613e3d565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613ed782613882565b9150613ee283613882565b9250828202613ef081613882565b91508282048414831517613f0757613f06613e9d565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613f4882613882565b9150613f5383613882565b925082613f6357613f62613f0e565b5b828204905092915050565b7f4f6e6c792074686520636f6e7472616374206f776e65722063616e2063616c6c60008201527f20746869732066756e6374696f6e000000000000000000000000000000000000602082015250565b6000613fca602e836137c7565b9150613fd582613f6e565b604082019050919050565b60006020820190508181036000830152613ff981613fbd565b9050919050565b7f496e76616c6964206465762077616c6c65746164647265737300000000000000600082015250565b60006140366019836137c7565b915061404182614000565b602082019050919050565b6000602082019050818103600083015261406581614029565b9050919050565b600061407782613882565b915061408283613882565b925082820390508181111561409a57614099613e9d565b5b92915050565b60006140ab82613882565b91506140b683613882565b92508282019050808211156140ce576140cd613e9d565b5b92915050565b7f4d696e74696e6720697320706175736564000000000000000000000000000000600082015250565b600061410a6011836137c7565b9150614115826140d4565b602082019050919050565b60006020820190508181036000830152614139816140fd565b9050919050565b7f4d696e696d756d206d696e7420616d6f756e74206e6f74206d65740000000000600082015250565b6000614176601b836137c7565b915061418182614140565b602082019050919050565b600060208201905081810360008301526141a581614169565b9050919050565b7f4d696e7420616d6f756e742065786365656473206d6178696d756d206c696d6960008201527f7400000000000000000000000000000000000000000000000000000000000000602082015250565b60006142086021836137c7565b9150614213826141ac565b604082019050919050565b60006020820190508181036000830152614237816141fb565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320616e74692d77686160008201527f6c65206c696d6974000000000000000000000000000000000000000000000000602082015250565b600061429a6028836137c7565b91506142a58261423e565b604082019050919050565b600060208201905081810360008301526142c98161428d565b9050919050565b7f45544820616d6f756e74206d69736d6174636800000000000000000000000000600082015250565b60006143066013836137c7565b9150614311826142d0565b602082019050919050565b60006020820190508181036000830152614335816142f9565b9050919050565b600069ffffffffffffffffffff82169050919050565b61435b8161433c565b811461436657600080fd5b50565b60008151905061437881614352565b92915050565b6000819050919050565b6143918161437e565b811461439c57600080fd5b50565b6000815190506143ae81614388565b92915050565b6000815190506143c38161388c565b92915050565b600080600080600060a086880312156143e5576143e4613878565b5b60006143f388828901614369565b95505060206144048882890161439f565b9450506040614415888289016143b4565b9350506060614426888289016143b4565b925050608061443788828901614369565b9150509295509295909350565b7f496e76616c696420455448207072696365000000000000000000000000000000600082015250565b600061447a6011836137c7565b915061448582614444565b602082019050919050565b600060208201905081810360008301526144a98161446d565b9050919050565b6000819050919050565b60006144d56144d06144cb846144b0565b613a9a565b613882565b9050919050565b6144e5816144ba565b82525050565b60006144f682613ac6565b9050919050565b614506816144eb565b82525050565b600060c0820190506145216000830189613b14565b61452e60208301886138e5565b61453b60408301876144dc565b61454860608301866144dc565b61455560808301856144fd565b61456260a08301846138e5565b979650505050505050565b60008060006060848603121561458657614585613878565b5b6000614594868287016143b4565b93505060206145a5868287016143b4565b92505060406145b6868287016143b4565b9150509250925092565b7f496e76616c6964206d61726b6574696e672077616c6c65742061646472657373600082015250565b60006145f66020836137c7565b9150614601826145c0565b602082019050919050565b60006020820190508181036000830152614625816145e9565b9050919050565b7f4d69736d61746368656420726563697069656e747320616e6420616d6f756e7460008201527f7320617272617973206c656e6774682e00000000000000000000000000000000602082015250565b60006146886030836137c7565b91506146938261462c565b604082019050919050565b600060208201905081810360008301526146b78161467b565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006146f882613882565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361472a57614729613e9d565b5b600182019050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006147916025836137c7565b915061479c82614735565b604082019050919050565b600060208201905081810360008301526147c081614784565b9050919050565b7f496e76616c69642073656c6c207461782070657263656e740000000000000000600082015250565b60006147fd6018836137c7565b9150614808826147c7565b602082019050919050565b6000602082019050818103600083015261482c816147f0565b9050919050565b7f496e73756666696369656e7420746f6b656e2062616c616e6365000000000000600082015250565b6000614869601a836137c7565b915061487482614833565b602082019050919050565b600060208201905081810360008301526148988161485c565b9050919050565b6000815190506148ae81613941565b92915050565b6000602082840312156148ca576148c9613878565b5b60006148d88482850161489f565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6149168161392f565b82525050565b6000614928838361490d565b60208301905092915050565b6000602082019050919050565b600061494c826148e1565b61495681856148ec565b9350614961836148fd565b8060005b83811015614992578151614979888261491c565b975061498483614934565b925050600181019050614965565b5085935050505092915050565b600060a0820190506149b460008301886138e5565b6149c160208301876144dc565b81810360408301526149d38186614941565b90506149e26060830185613b14565b6149ef60808301846138e5565b9695505050505050565b7f496e76616c696420627579207461782070657263656e74000000000000000000600082015250565b6000614a2f6017836137c7565b9150614a3a826149f9565b602082019050919050565b60006020820190508181036000830152614a5e81614a22565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614ac16024836137c7565b9150614acc82614a65565b604082019050919050565b60006020820190508181036000830152614af081614ab4565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614b536022836137c7565b9150614b5e82614af7565b604082019050919050565b60006020820190508181036000830152614b8281614b46565b9050919050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6000614bbf601f836137c7565b9150614bca82614b89565b602082019050919050565b60006020820190508181036000830152614bee81614bb2565b9050919050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b6000614c2b601d836137c7565b9150614c3682614bf5565b602082019050919050565b60006020820190508181036000830152614c5a81614c1e565b9050919050565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b6000614cbd6021836137c7565b9150614cc882614c61565b604082019050919050565b60006020820190508181036000830152614cec81614cb0565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b6000614d4f6022836137c7565b9150614d5a82614cf3565b604082019050919050565b60006020820190508181036000830152614d7e81614d42565b9050919050565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00600082015250565b6000614dbb601f836137c7565b9150614dc682614d85565b602082019050919050565b60006020820190508181036000830152614dea81614dae565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614e4d6025836137c7565b9150614e5882614df1565b604082019050919050565b60006020820190508181036000830152614e7c81614e40565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614edf6023836137c7565b9150614eea82614e83565b604082019050919050565b60006020820190508181036000830152614f0e81614ed2565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b6000614f716026836137c7565b9150614f7c82614f15565b604082019050919050565b60006020820190508181036000830152614fa081614f64565b9050919050565b7f5061757361626c653a206e6f7420706175736564000000000000000000000000600082015250565b6000614fdd6014836137c7565b9150614fe882614fa7565b602082019050919050565b6000602082019050818103600083015261500c81614fd0565b9050919050565b7f5061757361626c653a2070617573656400000000000000000000000000000000600082015250565b60006150496010836137c7565b915061505482615013565b602082019050919050565b600060208201905081810360008301526150788161503c565b9050919050565b7f45524332305061757361626c653a20746f6b656e207472616e7366657220776860008201527f696c652070617573656400000000000000000000000000000000000000000000602082015250565b60006150db602a836137c7565b91506150e68261507f565b604082019050919050565b6000602082019050818103600083015261510a816150ce565b905091905056fea264697066735822122003a78579d1c653df1b71b7800e2b592b05282e57485cb1fdf5cfdc5f84a6a03964736f6c6343000813003300000000000000000000000018be942604de4a717fce9f519c23eacbbc1bd078000000000000000000000000543cb0157f517c39bde98d7f2965c37621c1cef7000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000004e9ce36e442e55ecd9025b9a6e0d88485d628a67000000000000000000000000bc8e8e75aa42284d9587160f8212852311bf917b000000000000000000000000c6b357ff3e81b75d13aacc97695f92a0fda67c480000000000000000000000002fc4d047a71f619bf63ab82449491ef44d03a3f7000000000000000000000000b7e401c952eb244cc4a079ef0bd20a471df71d36000000000000000000000000c1b2451e752ddd436b6cf1eb1d17db73bc434655000000000000000000000000f7901ed24a81b92dfea6e0e3f52b48a98c53957700000000000000000000000048e7344ecf7d1f9c4d5141f3f6b18910d3bc1410000000000000000000000000f241d7306ac62dcc16eb1b04f05d745c71c791a1000000000000000000000000543cb0157f517c39bde98d7f2965c37621c1cef7000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000003635c9adc5dea0000000000000000000000000000000000000000000000006ba11125826dc365800000000000000000000000000000000000000000000000472e0ce635329a3600000000000000000000000000000000000000000000000016214b8fe5283681000000000000000000000000000000000000000000000000b58f6887be38fbaf0000000000000000000000000000000000000000000000013e342ccb4aa28b6c00000000000000000000000000000000000000000000002327b99dd505733a80000000000000000000000000000000000000000000000021db321a9f0bf1ce10400000000000000000000000000000000000000000000008b7d6492f2f9ec832000000000000000000000000000000000000000000000021db321a9f0bf1ce1040000