608060405234801562000010575f80fd5b50604051620066343803806200663483398181016040528101906200003691906200054b565b336040518060400160405280601081526020017f44796e616d6963467573696f6e4e4654000000000000000000000000000000008152506040518060400160405280600581526020017f44464e46540000000000000000000000000000000000000000000000000000008152508160029081620000b491906200082a565b508060039081620000c691906200082a565b5050505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200013c575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016200013391906200091f565b60405180910390fd5b6200014d816200023a60201b60201c565b5084600f5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550836010819055508260118190555081600b5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600c5f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200022f8560c8620002fd60201b60201c565b5050505050620009c5565b5f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f6200030e620004a560201b60201c565b6bffffffffffffffffffffffff16905080826bffffffffffffffffffffffff161115620003765781816040517f6f483d090000000000000000000000000000000000000000000000000000000081526004016200036d9291906200099a565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603620003e9575f6040517fb6d9900a000000000000000000000000000000000000000000000000000000008152600401620003e091906200091f565b60405180910390fd5b60405180604001604052808473ffffffffffffffffffffffffffffffffffffffff168152602001836bffffffffffffffffffffffff168152505f80820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151815f0160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550905050505050565b5f612710905090565b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620004dd82620004b2565b9050919050565b620004ef81620004d1565b8114620004fa575f80fd5b50565b5f815190506200050d81620004e4565b92915050565b5f819050919050565b620005278162000513565b811462000532575f80fd5b50565b5f8151905062000545816200051c565b92915050565b5f805f805f60a08688031215620005675762000566620004ae565b5b5f6200057688828901620004fd565b9550506020620005898882890162000535565b94505060406200059c8882890162000535565b9350506060620005af88828901620004fd565b9250506080620005c288828901620004fd565b9150509295509295909350565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806200064b57607f821691505b60208210810362000661576200066062000606565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f60088302620006c57fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000688565b620006d1868362000688565b95508019841693508086168417925050509392505050565b5f819050919050565b5f620007126200070c620007068462000513565b620006e9565b62000513565b9050919050565b5f819050919050565b6200072d83620006f2565b620007456200073c8262000719565b84845462000694565b825550505050565b5f90565b6200075b6200074d565b6200076881848462000722565b505050565b5b818110156200078f57620007835f8262000751565b6001810190506200076e565b5050565b601f821115620007de57620007a88162000667565b620007b38462000679565b81016020851015620007c3578190505b620007db620007d28562000679565b8301826200076d565b50505b505050565b5f82821c905092915050565b5f620008005f1984600802620007e3565b1980831691505092915050565b5f6200081a8383620007ef565b9150826002028217905092915050565b6200083582620005cf565b67ffffffffffffffff811115620008515762000850620005d9565b5b6200085d825462000633565b6200086a82828562000793565b5f60209050601f831160018114620008a0575f84156200088b578287015190505b6200089785826200080d565b86555062000906565b601f198416620008b08662000667565b5f5b82811015620008d957848901518255600182019150602085019450602081019050620008b2565b86831015620008f95784890151620008f5601f891682620007ef565b8355505b6001600288020188555050505b505050505050565b6200091981620004d1565b82525050565b5f602082019050620009345f8301846200090e565b92915050565b5f6bffffffffffffffffffffffff82169050919050565b5f620009716200096b62000965846200093a565b620006e9565b62000513565b9050919050565b620009838162000951565b82525050565b620009948162000513565b82525050565b5f604082019050620009af5f83018562000978565b620009be602083018462000989565b9392505050565b615c6180620009d35f395ff3fe60806040526004361061019b575f3560e01c8063715018a6116100eb578063c87b56dd11610089578063e85cf4f811610063578063e85cf4f8146105aa578063e985e9c5146105d4578063f2824b5314610610578063f2fde38b146106535761019b565b8063c87b56dd14610508578063ca1ae13b14610544578063dce0b4e4146105805761019b565b806391f8d9ef116100c557806391f8d9ef1461047257806395d89b411461048e578063a22cb465146104b8578063b88d4fde146104e05761019b565b8063715018a6146104285780637959c0671461043e5780638da5cb5b146104485761019b565b806341bf4e2b116101585780634690484011610132578063469048401461035c57806355850fe6146103865780636352211e146103b057806370a08231146103ec5761019b565b806341bf4e2b146102ce57806342842e0e146102f85780634378a6e3146103205761019b565b806301ffc9a71461019f57806306fdde03146101db578063081812fc14610205578063095ea7b31461024157806323b872dd146102695780632a55205a14610291575b5f80fd5b3480156101aa575f80fd5b506101c560048036038101906101c09190613e38565b61067b565b6040516101d29190613e7d565b60405180910390f35b3480156101e6575f80fd5b506101ef61068c565b6040516101fc9190613f20565b60405180910390f35b348015610210575f80fd5b5061022b60048036038101906102269190613f73565b61071c565b6040516102389190613fdd565b60405180910390f35b34801561024c575f80fd5b5061026760048036038101906102629190614020565b610737565b005b348015610274575f80fd5b5061028f600480360381019061028a919061405e565b61074d565b005b34801561029c575f80fd5b506102b760048036038101906102b291906140ae565b61084c565b6040516102c59291906140fb565b60405180910390f35b3480156102d9575f80fd5b506102e2610a27565b6040516102ef9190614122565b60405180910390f35b348015610303575f80fd5b5061031e6004803603810190610319919061405e565b610a2d565b005b34801561032b575f80fd5b5061034660048036038101906103419190613f73565b610a4c565b6040516103539190614311565b60405180910390f35b348015610367575f80fd5b50610370610caf565b60405161037d9190613fdd565b60405180910390f35b348015610391575f80fd5b5061039a610cd4565b6040516103a79190614357565b60405180910390f35b3480156103bb575f80fd5b506103d660048036038101906103d19190613f73565b610cd9565b6040516103e39190613fdd565b60405180910390f35b3480156103f7575f80fd5b50610412600480360381019061040d9190614370565b610cea565b60405161041f9190614122565b60405180910390f35b348015610433575f80fd5b5061043c610da0565b005b610446610db3565b005b348015610453575f80fd5b5061045c610ffd565b6040516104699190613fdd565b60405180910390f35b61048c600480360381019061048791906140ae565b611025565b005b348015610499575f80fd5b506104a2611c85565b6040516104af9190613f20565b60405180910390f35b3480156104c3575f80fd5b506104de60048036038101906104d991906143c5565b611d15565b005b3480156104eb575f80fd5b506105066004803603810190610501919061452f565b611d2b565b005b348015610513575f80fd5b5061052e60048036038101906105299190613f73565b611d48565b60405161053b9190613f20565b60405180910390f35b34801561054f575f80fd5b5061056a60048036038101906105659190613f73565b61212e565b6040516105779190614122565b60405180910390f35b34801561058b575f80fd5b50610594612143565b6040516105a19190614122565b60405180910390f35b3480156105b5575f80fd5b506105be612149565b6040516105cb9190613fdd565b60405180910390f35b3480156105df575f80fd5b506105fa60048036038101906105f591906145af565b612171565b6040516106079190613e7d565b60405180910390f35b34801561061b575f80fd5b5061063660048036038101906106319190613f73565b6121ff565b60405161064a9897969594939291906145ed565b60405180910390f35b34801561065e575f80fd5b5061067960048036038101906106749190614370565b6123d6565b005b5f6106858261245a565b9050919050565b60606002805461069b906146ab565b80601f01602080910402602001604051908101604052809291908181526020018280546106c7906146ab565b80156107125780601f106106e957610100808354040283529160200191610712565b820191905f5260205f20905b8154815290600101906020018083116106f557829003601f168201915b5050505050905090565b5f6107268261246b565b50610730826124f1565b9050919050565b610749828261074461252a565b612531565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036107bd575f6040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016107b49190613fdd565b60405180910390fd5b5f6107d083836107cb61252a565b612543565b90508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610846578382826040517f64283d7b00000000000000000000000000000000000000000000000000000000815260040161083d939291906146db565b60405180910390fd5b50505050565b5f805f60015f8681526020019081526020015f206040518060400160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020015f820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff168152505090505f73ffffffffffffffffffffffffffffffffffffffff16815f015173ffffffffffffffffffffffffffffffffffffffff16036109d4575f6040518060400160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020015f820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff168152505090505b5f6109dd61274e565b6bffffffffffffffffffffffff1682602001516bffffffffffffffffffffffff1686610a09919061473d565b610a1391906147ab565b9050815f0151819350935050509250929050565b60115481565b610a4783838360405180602001604052805f815250611d2b565b505050565b610a54613cec565b600d5f8381526020019081526020015f20604051806101200160405290815f8201805480602002602001604051908101604052809291908181526020018280548015610abd57602002820191905f5260205f20905b815481526020019060010190808311610aa9575b50505050508152602001600182015481526020016002820154815260200160038201548152602001600482018054610af4906146ab565b80601f0160208091040260200160405190810160405280929190818152602001828054610b20906146ab565b8015610b6b5780601f10610b4257610100808354040283529160200191610b6b565b820191905f5260205f20905b815481529060010190602001808311610b4e57829003601f168201915b50505050508152602001600582018054610b84906146ab565b80601f0160208091040260200160405190810160405280929190818152602001828054610bb0906146ab565b8015610bfb5780601f10610bd257610100808354040283529160200191610bfb565b820191905f5260205f20905b815481529060010190602001808311610bde57829003601f168201915b505050505081526020016006820154815260200160078201548152602001600882018054610c28906146ab565b80601f0160208091040260200160405190810160405280929190818152602001828054610c54906146ab565b8015610c9f5780601f10610c7657610100808354040283529160200191610c9f565b820191905f5260205f20905b815481529060010190602001808311610c8257829003601f168201915b5050505050815250509050919050565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60c881565b5f610ce38261246b565b9050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610d5b575f6040517f89c62b64000000000000000000000000000000000000000000000000000000008152600401610d529190613fdd565b60405180910390fd5b60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b610da8612757565b610db15f6127de565b565b6010543414610df7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dee90614825565b60405180910390fd5b610e01600a6128a1565b5f610e0c600a6128b5565b9050610e1833826128c1565b5f610e216128de565b90505f610efc610e2f612a2e565b610e37612a2e565b610e3f612a2e565b6040518060400160405280600481526020017f42617365000000000000000000000000000000000000000000000000000000008152506040518060400160405280600681526020017f436f6d6d6f6e00000000000000000000000000000000000000000000000000008152505f80895f67ffffffffffffffff811115610ec857610ec761440b565b5b604051908082528060200260200182016040528015610ef65781602001602082028036833780820191505090505b50612a76565b9050610f0a8382600d612acd565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636205983984336040518363ffffffff1660e01b8152600401610f66929190614843565b5f604051808303815f87803b158015610f7d575f80fd5b505af1158015610f8f573d5f803e3d5ffd5b50505050600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3490811502906040515f60405180830381858888f19350505050158015610ff7573d5f803e3d5ffd5b50505050565b5f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f8e76cc0836040518263ffffffff1660e01b815260040161107f9190614122565b602060405180830381865afa15801561109a573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110be919061487e565b6110fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f4906148f3565b60405180910390fd5b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f8e76cc0826040518263ffffffff1660e01b81526004016111579190614122565b602060405180830381865afa158015611172573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611196919061487e565b6111d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111cc9061495b565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166111f583610cd9565b73ffffffffffffffffffffffffffffffffffffffff16148061124a57503373ffffffffffffffffffffffffffffffffffffffff166112328361071c565b73ffffffffffffffffffffffffffffffffffffffff16145b611289576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611280906149e9565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166112a982610cd9565b73ffffffffffffffffffffffffffffffffffffffff1614806112fe57503373ffffffffffffffffffffffffffffffffffffffff166112e68261071c565b73ffffffffffffffffffffffffffffffffffffffff16145b61133d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161133490614a77565b60405180910390fd5b600e5f8381526020019081526020015f2054421015801561136f5750600e5f8281526020019081526020015f20544210155b6113ae576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a590614adf565b60405180910390fd5b60115434146113f2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e990614825565b60405180910390fd5b6113fc600a6128a1565b5f611407600a6128b5565b905061141333826128c1565b5f600d5f8581526020019081526020015f20604051806101200160405290815f820180548060200260200160405190810160405280929190818152602001828054801561147d57602002820191905f5260205f20905b815481526020019060010190808311611469575b505050505081526020016001820154815260200160028201548152602001600382015481526020016004820180546114b4906146ab565b80601f01602080910402602001604051908101604052809291908181526020018280546114e0906146ab565b801561152b5780601f106115025761010080835404028352916020019161152b565b820191905f5260205f20905b81548152906001019060200180831161150e57829003601f168201915b50505050508152602001600582018054611544906146ab565b80601f0160208091040260200160405190810160405280929190818152602001828054611570906146ab565b80156115bb5780601f10611592576101008083540402835291602001916115bb565b820191905f5260205f20905b81548152906001019060200180831161159e57829003601f168201915b5050505050815260200160068201548152602001600782015481526020016008820180546115e8906146ab565b80601f0160208091040260200160405190810160405280929190818152602001828054611614906146ab565b801561165f5780601f106116365761010080835404028352916020019161165f565b820191905f5260205f20905b81548152906001019060200180831161164257829003601f168201915b50505050508152505090505f600d5f8581526020019081526020015f20604051806101200160405290815f82018054806020026020016040519081016040528092919081815260200182805480156116d457602002820191905f5260205f20905b8154815260200190600101908083116116c0575b5050505050815260200160018201548152602001600282015481526020016003820154815260200160048201805461170b906146ab565b80601f0160208091040260200160405190810160405280929190818152602001828054611737906146ab565b80156117825780601f1061175957610100808354040283529160200191611782565b820191905f5260205f20905b81548152906001019060200180831161176557829003601f168201915b5050505050815260200160058201805461179b906146ab565b80601f01602080910402602001604051908101604052809291908181526020018280546117c7906146ab565b80156118125780601f106117e957610100808354040283529160200191611812565b820191905f5260205f20905b8154815290600101906020018083116117f557829003601f168201915b50505050508152602001600682015481526020016007820154815260200160088201805461183f906146ab565b80601f016020809104026020016040519081016040528092919081815260200182805461186b906146ab565b80156118b65780601f1061188d576101008083540402835291602001916118b6565b820191905f5260205f20905b81548152906001019060200180831161189957829003601f168201915b50505050508152505090505f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663c040b75160018460e001518660e001516119159190614afd565b61191f9190614afd565b6040518263ffffffff1660e01b815260040161193b9190614122565b5f60405180830381865afa158015611955573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f8201168201806040525081019061197d9190614bce565b90505f61198b848484612b76565b90505f611a21825f01518360200151846040015185606001518660a00151876080015160018b60e001518d60e001516119c49190614afd565b6119ce9190614afd565b8960c001515f67ffffffffffffffff8111156119ed576119ec61440b565b5b604051908082528060200260200182016040528015611a1b5781602001602082028036833780820191505090505b50612a76565b9050611a2f8682600d612acd565b600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636205983987336040518363ffffffff1660e01b8152600401611a8b929190614843565b5f604051808303815f87803b158015611aa2575f80fd5b505af1158015611ab4573d5f803e3d5ffd5b50505050600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166397b4e10a896040518263ffffffff1660e01b8152600401611b129190614122565b5f604051808303815f87803b158015611b29575f80fd5b505af1158015611b3b573d5f803e3d5ffd5b50505050600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166397b4e10a886040518263ffffffff1660e01b8152600401611b999190614122565b5f604051808303815f87803b158015611bb0575f80fd5b505af1158015611bc2573d5f803e3d5ffd5b50505050611bcf88612c98565b611bd887612c98565b600f5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3490811502906040515f60405180830381858888f19350505050158015611c3c573d5f803e3d5ffd5b508688877fe95e5d5f30cd15ac87adb7a056845fbe2ccc3663ad4874009be82cd4401bf9be8560c00151604051611c739190613f20565b60405180910390a45050505050505050565b606060038054611c94906146ab565b80601f0160208091040260200160405190810160405280929190818152602001828054611cc0906146ab565b8015611d0b5780601f10611ce257610100808354040283529160200191611d0b565b820191905f5260205f20905b815481529060010190602001808311611cee57829003601f168201915b5050505050905090565b611d27611d2061252a565b8383612d1a565b5050565b611d3684848461074d565b611d4284848484612e83565b50505050565b6060600c5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f8e76cc0836040518263ffffffff1660e01b8152600401611da49190614122565b602060405180830381865afa158015611dbf573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611de3919061487e565b611e22576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1990614c85565b60405180910390fd5b5f600d5f8481526020019081526020015f20604051806101200160405290815f8201805480602002602001604051908101604052809291908181526020018280548015611e8c57602002820191905f5260205f20905b815481526020019060010190808311611e78575b50505050508152602001600182015481526020016002820154815260200160038201548152602001600482018054611ec3906146ab565b80601f0160208091040260200160405190810160405280929190818152602001828054611eef906146ab565b8015611f3a5780601f10611f1157610100808354040283529160200191611f3a565b820191905f5260205f20905b815481529060010190602001808311611f1d57829003601f168201915b50505050508152602001600582018054611f53906146ab565b80601f0160208091040260200160405190810160405280929190818152602001828054611f7f906146ab565b8015611fca5780601f10611fa157610100808354040283529160200191611fca565b820191905f5260205f20905b815481529060010190602001808311611fad57829003601f168201915b505050505081526020016006820154815260200160078201548152602001600882018054611ff7906146ab565b80601f0160208091040260200160405190810160405280929190818152602001828054612023906146ab565b801561206e5780601f106120455761010080835404028352916020019161206e565b820191905f5260205f20905b81548152906001019060200180831161205157829003601f168201915b50505050508152505090505f61210361208685613035565b6120938460200151613035565b6120a08560400151613035565b6120ad8660600151613035565b86608001518760a001516120c48960c00151613035565b6120d18a60e00151613035565b8a61010001516040516020016120ef99989796959493929190615289565b6040516020818303038152906040526130ff565b905080604051602001612116919061542d565b60405160208183030381529060405292505050919050565b600e602052805f5260405f205f915090505481565b60105481565b5f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b5f60075f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f9054906101000a900460ff16905092915050565b600d602052805f5260405f205f91509050806001015490806002015490806003015490806004018054612231906146ab565b80601f016020809104026020016040519081016040528092919081815260200182805461225d906146ab565b80156122a85780601f1061227f576101008083540402835291602001916122a8565b820191905f5260205f20905b81548152906001019060200180831161228b57829003601f168201915b5050505050908060050180546122bd906146ab565b80601f01602080910402602001604051908101604052809291908181526020018280546122e9906146ab565b80156123345780601f1061230b57610100808354040283529160200191612334565b820191905f5260205f20905b81548152906001019060200180831161231757829003601f168201915b505050505090806006015490806007015490806008018054612355906146ab565b80601f0160208091040260200160405190810160405280929190818152602001828054612381906146ab565b80156123cc5780601f106123a3576101008083540402835291602001916123cc565b820191905f5260205f20905b8154815290600101906020018083116123af57829003601f168201915b5050505050905088565b6123de612757565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361244e575f6040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016124459190613fdd565b60405180910390fd5b612457816127de565b50565b5f6124648261326c565b9050919050565b5f80612476836132cc565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036124e857826040517f7e2732890000000000000000000000000000000000000000000000000000000081526004016124df9190614122565b60405180910390fd5b80915050919050565b5f60065f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b5f33905090565b61253e8383836001613305565b505050565b5f8061254e846132cc565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461258f5761258e8184866134c4565b5b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461261a576125ce5f855f80613305565b600160055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825403925050819055505b5f73ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161461269957600160055f8773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055505b8460045f8681526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4809150509392505050565b5f612710905090565b61275f61252a565b73ffffffffffffffffffffffffffffffffffffffff1661277d610ffd565b73ffffffffffffffffffffffffffffffffffffffff16146127dc576127a061252a565b6040517f118cdaa70000000000000000000000000000000000000000000000000000000081526004016127d39190613fdd565b60405180910390fd5b565b5f60095f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508160095f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001815f015f828254019250508190555050565b5f815f01549050919050565b6128da828260405180602001604052805f815250613587565b5050565b60605f600b5f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16638f35bb716040518163ffffffff1660e01b81526004015f60405180830381865afa15801561294a573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906129729190614bce565b90505f8151116129b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129ae90615498565b60405180910390fd5b5f6001600a42336040516020016129cf92919061551b565b604051602081830303815290604052805190602001205f1c6129f19190615546565b6129fb9190614afd565b905081612a0782613035565b604051602001612a18929190615654565b6040516020818303038152906040529250505090565b5f600b4233612a3d600a6128b5565b604051602001612a4f93929190615698565b604051602081830303815290604052805190602001205f1c612a719190615546565b905090565b612a7e613cec565b6040518061012001604052808381526020018b81526020018a81526020018981526020018881526020018781526020018681526020018581526020018481525090509998505050505050505050565b81815f8581526020019081526020015f205f820151815f019080519060200190612af8929190613d33565b506020820151816001015560408201518160020155606082015181600301556080820151816004019081612b2c9190615871565b5060a0820151816005019081612b429190615871565b5060c0820151816006015560e08201518160070155610100820151816008019081612b6d9190615871565b50905050505050565b612b7e613d7e565b5f612b91856020015185602001516135a2565b90505f612ba6866040015186604001516135a2565b90505f612bbb876060015187606001516135a2565b90505f87608001518760800151604051602001612bd992919061598a565b60405160208183030381529060405290505f60018860c001518a60c00151612c019190614afd565b612c0b9190614afd565b90506014811115612c1b57601490505b5f612c2786868661362a565b90505f612c5360018b60e001518d60e00151612c439190614afd565b612c4d9190614afd565b8a61375d565b90506040518060e00160405280888152602001878152602001868152602001858152602001848152602001838152602001828152509750505050505050509392505050565b5f612ca45f835f612543565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612d1657816040517f7e273289000000000000000000000000000000000000000000000000000000008152600401612d0d9190614122565b60405180910390fd5b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612d8a57816040517f5b08ba18000000000000000000000000000000000000000000000000000000008152600401612d819190613fdd565b60405180910390fd5b8060075f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f6101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051612e769190613e7d565b60405180910390a3505050565b5f8373ffffffffffffffffffffffffffffffffffffffff163b111561302f578273ffffffffffffffffffffffffffffffffffffffff1663150b7a02612ec661252a565b8685856040518563ffffffff1660e01b8152600401612ee89493929190615a0a565b6020604051808303815f875af1925050508015612f2357506040513d601f19601f82011682018060405250810190612f209190615a68565b60015b612fa4573d805f8114612f51576040519150601f19603f3d011682016040523d82523d5f602084013e612f56565b606091505b505f815103612f9c57836040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401612f939190613fdd565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161461302d57836040517f64a0ae920000000000000000000000000000000000000000000000000000000081526004016130249190613fdd565b60405180910390fd5b505b50505050565b60605f600161304384613825565b0190505f8167ffffffffffffffff8111156130615761306061440b565b5b6040519080825280601f01601f1916602001820160405280156130935781602001600182028036833780820191505090505b5090505f82602001820190505b6001156130f4578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816130e9576130e861477e565b5b0494505f85036130a0575b819350505050919050565b60605f82510361311f5760405180602001604052805f8152509050613267565b5f604051806060016040528060408152602001615bec6040913990505f60036002855161314c9190614afd565b61315691906147ab565b6004613162919061473d565b67ffffffffffffffff81111561317b5761317a61440b565b5b6040519080825280601f01601f1916602001820160405280156131ad5781602001600182028036833780820191505090505b509050600182016020820185865187016020810180515f82525b82841015613222576003840193508351603f8160121c168701518653600186019550603f81600c1c168701518653600186019550603f8160061c168701518653600186019550603f81168701518653600186019550506131c7565b80825260038a51066001811461323f57600281146132525761325a565b603d6001870353603d600287035361325a565b603d60018703535b5050505050505080925050505b919050565b5f634906490660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806132c557506132c482613976565b5b9050919050565b5f60045f8381526020019081526020015f205f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b808061333d57505f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561346f575f61334c8461246b565b90505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141580156133b657508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b80156133c957506133c78184612171565b155b1561340b57826040517fa9fbf51f0000000000000000000000000000000000000000000000000000000081526004016134029190613fdd565b60405180910390fd5b811561346d57838573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b8360065f8581526020019081526020015f205f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050505050565b6134cf838383613a57565b613582575f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361354357806040517f7e27328900000000000000000000000000000000000000000000000000000000815260040161353a9190614122565b60405180910390fd5b81816040517f177e802f0000000000000000000000000000000000000000000000000000000081526004016135799291906140fb565b60405180910390fd5b505050565b6135918383613b17565b61359d5f848484612e83565b505050565b5f80600642336040516020016135b992919061551b565b604051602081830303815290604052805190602001205f1c6135db9190615546565b60056135e79190614afd565b90505f81600285876135f99190614afd565b61360391906147ab565b61360d9190614afd565b905060b4811161361d5780613620565b60b45b9250505092915050565b60605f82848661363a9190614afd565b6136449190614afd565b9050606481101561368d576040518060400160405280600681526020017f436f6d6d6f6e0000000000000000000000000000000000000000000000000000815250915050613756565b60c88110156136d4576040518060400160405280600481526020017f5261726500000000000000000000000000000000000000000000000000000000815250915050613756565b61012c81101561371c576040518060400160405280600581526020017f556c747261000000000000000000000000000000000000000000000000000000815250915050613756565b6040518060400160405280600781526020017f45787472656d65000000000000000000000000000000000000000000000000008152509150505b9392505050565b60605f8251116137a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161379990615add565b60405180910390fd5b5f6001600a42336040516020016137ba92919061551b565b604051602081830303815290604052805190602001205f1c6137dc9190615546565b6137e69190614afd565b9050826137f285613035565b6137fb83613035565b60405160200161380d93929190615b8f565b60405160208183030381529060405291505092915050565b5f805f90507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310613881577a184f03e93ff9f4daa797ed6e38ed64bf6a1f01000000000000000083816138775761387661477e565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106138be576d04ee2d6d415b85acef810000000083816138b4576138b361477e565b5b0492506020810190505b662386f26fc1000083106138ed57662386f26fc1000083816138e3576138e261477e565b5b0492506010810190505b6305f5e1008310613916576305f5e100838161390c5761390b61477e565b5b0492506008810190505b612710831061393b5761271083816139315761393061477e565b5b0492506004810190505b6064831061395e57606483816139545761395361477e565b5b0492506002810190505b600a831061396d576001810190505b80915050919050565b5f7f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480613a4057507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80613a505750613a4f82613c0a565b5b9050919050565b5f8073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015613b0e57508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480613acf5750613ace8484612171565b5b80613b0d57508273ffffffffffffffffffffffffffffffffffffffff16613af5836124f1565b73ffffffffffffffffffffffffffffffffffffffff16145b5b90509392505050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613b87575f6040517f64a0ae92000000000000000000000000000000000000000000000000000000008152600401613b7e9190613fdd565b60405180910390fd5b5f613b9383835f612543565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614613c05575f6040517f73c6ac6e000000000000000000000000000000000000000000000000000000008152600401613bfc9190613fdd565b60405180910390fd5b505050565b5f7f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480613c7c5750613c7b82613c83565b5b9050919050565b5f7f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b604051806101200160405280606081526020015f81526020015f81526020015f815260200160608152602001606081526020015f81526020015f8152602001606081525090565b828054828255905f5260205f20908101928215613d6d579160200282015b82811115613d6c578251825591602001919060010190613d51565b5b509050613d7a9190613db7565b5090565b6040518060e001604052805f81526020015f81526020015f8152602001606081526020015f815260200160608152602001606081525090565b5b80821115613dce575f815f905550600101613db8565b5090565b5f604051905090565b5f80fd5b5f80fd5b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b613e1781613de3565b8114613e21575f80fd5b50565b5f81359050613e3281613e0e565b92915050565b5f60208284031215613e4d57613e4c613ddb565b5b5f613e5a84828501613e24565b91505092915050565b5f8115159050919050565b613e7781613e63565b82525050565b5f602082019050613e905f830184613e6e565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f5b83811015613ecd578082015181840152602081019050613eb2565b5f8484015250505050565b5f601f19601f8301169050919050565b5f613ef282613e96565b613efc8185613ea0565b9350613f0c818560208601613eb0565b613f1581613ed8565b840191505092915050565b5f6020820190508181035f830152613f388184613ee8565b905092915050565b5f819050919050565b613f5281613f40565b8114613f5c575f80fd5b50565b5f81359050613f6d81613f49565b92915050565b5f60208284031215613f8857613f87613ddb565b5b5f613f9584828501613f5f565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f613fc782613f9e565b9050919050565b613fd781613fbd565b82525050565b5f602082019050613ff05f830184613fce565b92915050565b613fff81613fbd565b8114614009575f80fd5b50565b5f8135905061401a81613ff6565b92915050565b5f806040838503121561403657614035613ddb565b5b5f6140438582860161400c565b925050602061405485828601613f5f565b9150509250929050565b5f805f6060848603121561407557614074613ddb565b5b5f6140828682870161400c565b93505060206140938682870161400c565b92505060406140a486828701613f5f565b9150509250925092565b5f80604083850312156140c4576140c3613ddb565b5b5f6140d185828601613f5f565b92505060206140e285828601613f5f565b9150509250929050565b6140f581613f40565b82525050565b5f60408201905061410e5f830185613fce565b61411b60208301846140ec565b9392505050565b5f6020820190506141355f8301846140ec565b92915050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b61416d81613f40565b82525050565b5f61417e8383614164565b60208301905092915050565b5f602082019050919050565b5f6141a08261413b565b6141aa8185614145565b93506141b583614155565b805f5b838110156141e55781516141cc8882614173565b97506141d78361418a565b9250506001810190506141b8565b5085935050505092915050565b5f82825260208201905092915050565b5f61420c82613e96565b61421681856141f2565b9350614226818560208601613eb0565b61422f81613ed8565b840191505092915050565b5f61012083015f8301518482035f8601526142558282614196565b915050602083015161426a6020860182614164565b50604083015161427d6040860182614164565b5060608301516142906060860182614164565b50608083015184820360808601526142a88282614202565b91505060a083015184820360a08601526142c28282614202565b91505060c08301516142d760c0860182614164565b5060e08301516142ea60e0860182614164565b506101008301518482036101008601526143048282614202565b9150508091505092915050565b5f6020820190508181035f830152614329818461423a565b905092915050565b5f6bffffffffffffffffffffffff82169050919050565b61435181614331565b82525050565b5f60208201905061436a5f830184614348565b92915050565b5f6020828403121561438557614384613ddb565b5b5f6143928482850161400c565b91505092915050565b6143a481613e63565b81146143ae575f80fd5b50565b5f813590506143bf8161439b565b92915050565b5f80604083850312156143db576143da613ddb565b5b5f6143e88582860161400c565b92505060206143f9858286016143b1565b9150509250929050565b5f80fd5b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61444182613ed8565b810181811067ffffffffffffffff821117156144605761445f61440b565b5b80604052505050565b5f614472613dd2565b905061447e8282614438565b919050565b5f67ffffffffffffffff82111561449d5761449c61440b565b5b6144a682613ed8565b9050602081019050919050565b828183375f83830152505050565b5f6144d36144ce84614483565b614469565b9050828152602081018484840111156144ef576144ee614407565b5b6144fa8482856144b3565b509392505050565b5f82601f83011261451657614515614403565b5b81356145268482602086016144c1565b91505092915050565b5f805f806080858703121561454757614546613ddb565b5b5f6145548782880161400c565b94505060206145658782880161400c565b935050604061457687828801613f5f565b925050606085013567ffffffffffffffff81111561459757614596613ddf565b5b6145a387828801614502565b91505092959194509250565b5f80604083850312156145c5576145c4613ddb565b5b5f6145d28582860161400c565b92505060206145e38582860161400c565b9150509250929050565b5f610100820190506146015f83018b6140ec565b61460e602083018a6140ec565b61461b60408301896140ec565b818103606083015261462d8188613ee8565b905081810360808301526146418187613ee8565b905061465060a08301866140ec565b61465d60c08301856140ec565b81810360e083015261466f8184613ee8565b90509998505050505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806146c257607f821691505b6020821081036146d5576146d461467e565b5b50919050565b5f6060820190506146ee5f830186613fce565b6146fb60208301856140ec565b6147086040830184613fce565b949350505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f61474782613f40565b915061475283613f40565b925082820261476081613f40565b9150828204841483151761477757614776614710565b5b5092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f6147b582613f40565b91506147c083613f40565b9250826147d0576147cf61477e565b5b828204905092915050565b7f496e636f727265637420666565000000000000000000000000000000000000005f82015250565b5f61480f600d83613ea0565b915061481a826147db565b602082019050919050565b5f6020820190508181035f83015261483c81614803565b9050919050565b5f6040820190506148565f8301856140ec565b6148636020830184613fce565b9392505050565b5f815190506148788161439b565b92915050565b5f6020828403121561489357614892613ddb565b5b5f6148a08482850161486a565b91505092915050565b7f546f6b656e203120646f6573206e6f74206578697374000000000000000000005f82015250565b5f6148dd601683613ea0565b91506148e8826148a9565b602082019050919050565b5f6020820190508181035f83015261490a816148d1565b9050919050565b7f546f6b656e203220646f6573206e6f74206578697374000000000000000000005f82015250565b5f614945601683613ea0565b915061495082614911565b602082019050919050565b5f6020820190508181035f83015261497281614939565b9050919050565b7f4e6f74206f776e6572206f7220617070726f76656420666f7220746f6b656e205f8201527f3100000000000000000000000000000000000000000000000000000000000000602082015250565b5f6149d3602183613ea0565b91506149de82614979565b604082019050919050565b5f6020820190508181035f830152614a00816149c7565b9050919050565b7f4e6f74206f776e6572206f7220617070726f76656420666f7220746f6b656e205f8201527f3200000000000000000000000000000000000000000000000000000000000000602082015250565b5f614a61602183613ea0565b9150614a6c82614a07565b604082019050919050565b5f6020820190508181035f830152614a8e81614a55565b9050919050565b7f467573696f6e20636f6f6c646f776e20616374697665000000000000000000005f82015250565b5f614ac9601683613ea0565b9150614ad482614a95565b602082019050919050565b5f6020820190508181035f830152614af681614abd565b9050919050565b5f614b0782613f40565b9150614b1283613f40565b9250828201905080821115614b2a57614b29614710565b5b92915050565b5f67ffffffffffffffff821115614b4a57614b4961440b565b5b614b5382613ed8565b9050602081019050919050565b5f614b72614b6d84614b30565b614469565b905082815260208101848484011115614b8e57614b8d614407565b5b614b99848285613eb0565b509392505050565b5f82601f830112614bb557614bb4614403565b5b8151614bc5848260208601614b60565b91505092915050565b5f60208284031215614be357614be2613ddb565b5b5f82015167ffffffffffffffff811115614c0057614bff613ddf565b5b614c0c84828501614ba1565b91505092915050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f5f8201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b5f614c6f602f83613ea0565b9150614c7a82614c15565b604082019050919050565b5f6020820190508181035f830152614c9c81614c63565b9050919050565b5f81905092915050565b7f7b226e616d65223a20224675736564204e4654202300000000000000000000005f82015250565b5f614ce1601583614ca3565b9150614cec82614cad565b601582019050919050565b5f614d0182613e96565b614d0b8185614ca3565b9350614d1b818560208601613eb0565b80840191505092915050565b7f222c0000000000000000000000000000000000000000000000000000000000005f82015250565b5f614d5b600283614ca3565b9150614d6682614d27565b600282019050919050565b7f226465736372697074696f6e223a2022412064796e616d6963616c6c792066755f8201527f736564204e4654222c0000000000000000000000000000000000000000000000602082015250565b5f614dcb602983614ca3565b9150614dd682614d71565b602982019050919050565b7f2261747472696275746573223a205b00000000000000000000000000000000005f82015250565b5f614e15600f83614ca3565b9150614e2082614de1565b600f82019050919050565b7f7b2274726169745f74797065223a2022537472656e677468222c202276616c755f8201527f65223a0000000000000000000000000000000000000000000000000000000000602082015250565b5f614e85602383614ca3565b9150614e9082614e2b565b602382019050919050565b7f7d2c0000000000000000000000000000000000000000000000000000000000005f82015250565b5f614ecf600283614ca3565b9150614eda82614e9b565b600282019050919050565b7f7b2274726169745f74797065223a20224167696c697479222c202276616c75655f8201527f223a000000000000000000000000000000000000000000000000000000000000602082015250565b5f614f3f602283614ca3565b9150614f4a82614ee5565b602282019050919050565b7f7b2274726169745f74797065223a2022496e74656c6c6967656e6365222c20225f8201527f76616c7565223a00000000000000000000000000000000000000000000000000602082015250565b5f614faf602783614ca3565b9150614fba82614f55565b602782019050919050565b7f7b2274726169745f74797065223a2022556e6971756520547261697473222c205f8201527f2276616c7565223a202200000000000000000000000000000000000000000000602082015250565b5f61501f602a83614ca3565b915061502a82614fc5565b602a82019050919050565b7f227d2c00000000000000000000000000000000000000000000000000000000005f82015250565b5f615069600383614ca3565b915061507482615035565b600382019050919050565b7f7b2274726169745f74797065223a202243617465676f7279222c202276616c755f8201527f65223a2022000000000000000000000000000000000000000000000000000000602082015250565b5f6150d9602583614ca3565b91506150e48261507f565b602582019050919050565b7f7b2274726169745f74797065223a202250657263656e74222c202276616c75655f8201527f223a000000000000000000000000000000000000000000000000000000000000602082015250565b5f615149602283614ca3565b9150615154826150ef565b602282019050919050565b7f7b2274726169745f74797065223a2022467573696f6e20436f756e74222c20225f8201527f76616c7565223a00000000000000000000000000000000000000000000000000602082015250565b5f6151b9602783614ca3565b91506151c48261515f565b602782019050919050565b7f7b2274726169745f74797065223a2022496d6167652055524c222c202276616c5f8201527f7565223a20220000000000000000000000000000000000000000000000000000602082015250565b5f615229602683614ca3565b9150615234826151cf565b602682019050919050565b7f227d5d7d000000000000000000000000000000000000000000000000000000005f82015250565b5f615273600483614ca3565b915061527e8261523f565b600482019050919050565b5f61529382614cd5565b915061529f828c614cf7565b91506152aa82614d4f565b91506152b582614dbf565b91506152c082614e09565b91506152cb82614e79565b91506152d7828b614cf7565b91506152e282614ec3565b91506152ed82614f33565b91506152f9828a614cf7565b915061530482614ec3565b915061530f82614fa3565b915061531b8289614cf7565b915061532682614ec3565b915061533182615013565b915061533d8288614cf7565b91506153488261505d565b9150615353826150cd565b915061535f8287614cf7565b915061536a8261505d565b91506153758261513d565b91506153818286614cf7565b915061538c82614ec3565b9150615397826151ad565b91506153a38285614cf7565b91506153ae82614ec3565b91506153b98261521d565b91506153c58284614cf7565b91506153d082615267565b91508190509a9950505050505050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c0000005f82015250565b5f615417601d83614ca3565b9150615422826153e3565b601d82019050919050565b5f6154378261540b565b91506154438284614cf7565b915081905092915050565b7f47656e6573697320696d6167657320434944206e6f74207365740000000000005f82015250565b5f615482601a83613ea0565b915061548d8261544e565b602082019050919050565b5f6020820190508181035f8301526154af81615476565b9050919050565b5f819050919050565b6154d06154cb82613f40565b6154b6565b82525050565b5f8160601b9050919050565b5f6154ec826154d6565b9050919050565b5f6154fd826154e2565b9050919050565b61551561551082613fbd565b6154f3565b82525050565b5f61552682856154bf565b6020820191506155368284615504565b6014820191508190509392505050565b5f61555082613f40565b915061555b83613f40565b92508261556b5761556a61477e565b5b828206905092915050565b7f697066733a2f2f000000000000000000000000000000000000000000000000005f82015250565b5f6155aa600783614ca3565b91506155b582615576565b600782019050919050565b7f2f67656e657369735f00000000000000000000000000000000000000000000005f82015250565b5f6155f4600983614ca3565b91506155ff826155c0565b600982019050919050565b7f2e706e67000000000000000000000000000000000000000000000000000000005f82015250565b5f61563e600483614ca3565b91506156498261560a565b600482019050919050565b5f61565e8261559e565b915061566a8285614cf7565b9150615675826155e8565b91506156818284614cf7565b915061568c82615632565b91508190509392505050565b5f6156a382866154bf565b6020820191506156b38285615504565b6014820191506156c382846154bf565b602082019150819050949350505050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f600883026157307fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826156f5565b61573a86836156f5565b95508019841693508086168417925050509392505050565b5f819050919050565b5f61577561577061576b84613f40565b615752565b613f40565b9050919050565b5f819050919050565b61578e8361575b565b6157a261579a8261577c565b848454615701565b825550505050565b5f90565b6157b66157aa565b6157c1818484615785565b505050565b5b818110156157e4576157d95f826157ae565b6001810190506157c7565b5050565b601f821115615829576157fa816156d4565b615803846156e6565b81016020851015615812578190505b61582661581e856156e6565b8301826157c6565b50505b505050565b5f82821c905092915050565b5f6158495f198460080261582e565b1980831691505092915050565b5f615861838361583a565b9150826002028217905092915050565b61587a82613e96565b67ffffffffffffffff8111156158935761589261440b565b5b61589d82546146ab565b6158a88282856157e8565b5f60209050601f8311600181146158d9575f84156158c7578287015190505b6158d18582615856565b865550615938565b601f1984166158e7866156d4565b5f5b8281101561590e578489015182556001820191506020850194506020810190506158e9565b8683101561592b5784890151615927601f89168261583a565b8355505b6001600288020188555050505b505050505050565b7f2d000000000000000000000000000000000000000000000000000000000000005f82015250565b5f615974600183614ca3565b915061597f82615940565b600182019050919050565b5f6159958285614cf7565b91506159a082615968565b91506159ac8284614cf7565b91508190509392505050565b5f81519050919050565b5f82825260208201905092915050565b5f6159dc826159b8565b6159e681856159c2565b93506159f6818560208601613eb0565b6159ff81613ed8565b840191505092915050565b5f608082019050615a1d5f830187613fce565b615a2a6020830186613fce565b615a3760408301856140ec565b8181036060830152615a4981846159d2565b905095945050505050565b5f81519050615a6281613e0e565b92915050565b5f60208284031215615a7d57615a7c613ddb565b5b5f615a8a84828501615a54565b91505092915050565b7f4e6f20666f6c6465722043494420617661696c61626c650000000000000000005f82015250565b5f615ac7601783613ea0565b9150615ad282615a93565b602082019050919050565b5f6020820190508181035f830152615af481615abb565b9050919050565b7f2f6c6576656c00000000000000000000000000000000000000000000000000005f82015250565b5f615b2f600683614ca3565b9150615b3a82615afb565b600682019050919050565b7f5f000000000000000000000000000000000000000000000000000000000000005f82015250565b5f615b79600183614ca3565b9150615b8482615b45565b600182019050919050565b5f615b998261559e565b9150615ba58286614cf7565b9150615bb082615b23565b9150615bbc8285614cf7565b9150615bc782615b6d565b9150615bd38284614cf7565b9150615bde82615632565b915081905094935050505056fe4142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2fa264697066735822122088d111c12cd066236cab2c1b583ef9b9cdc4c3d26a50c051b4e741efe327c08964736f6c634300081400330000000000000000000000000d71dff292c71635add2be1e36c0bbb9c0c548d200000000000000000000000000000000000000000000000000016bcc41e900000000000000000000000000000000000000000000000000000000e35fa931a0000000000000000000000000008efbef9e99541dafdf4d8431e2ba4bcfa52e909a000000000000000000000000c9dc88939aed3c8c53b260625db9f6333702cc6c