6080604052683635c9adc5dea000006000196200001d9190620003ed565b6000196200002c919062000372565b6006556040518060400160405280600881526020017f4b6f746f20496e75000000000000000000000000000000000000000000000000815250600890805190602001906200007c92919062000294565b506040518060400160405280600481526020017f4b4f544f0000000000000000000000000000000000000000000000000000000081525060099080519060200190620000ca92919062000294565b506009600a60006101000a81548160ff021916908360ff160217905550678ac7230489e80000600b553480156200010057600080fd5b506000620001136200028c60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060065460016000620001c86200028c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620002166200028c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea000006040516200027e919062000355565b60405180910390a3620004b2565b600033905090565b828054620002a290620003b7565b90600052602060002090601f016020900481019282620002c6576000855562000312565b82601f10620002e157805160ff191683800117855562000312565b8280016001018555821562000312579182015b8281111562000311578251825591602001919060010190620002f4565b5b50905062000321919062000325565b5090565b5b808211156200034057600081600090555060010162000326565b5090565b6200034f81620003ad565b82525050565b60006020820190506200036c600083018462000344565b92915050565b60006200037f82620003ad565b91506200038c83620003ad565b925082821015620003a257620003a162000425565b5b828203905092915050565b6000819050919050565b60006002820490506001821680620003d057607f821691505b60208210811415620003e757620003e662000483565b5b50919050565b6000620003fa82620003ad565b91506200040783620003ad565b9250826200041a576200041962000454565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6138ef80620004c26000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c8063715018a6116100c3578063cba0e9961161007c578063cba0e996146103ca578063d543dbeb146103fa578063dd62ed3e14610416578063f2cc0c1814610446578063f2fde38b14610462578063f84354f11461047e5761014d565b8063715018a6146103065780637d1db4a5146103105780638da5cb5b1461032e57806395d89b411461034c578063a457c2d71461036a578063a9059cbb1461039a5761014d565b806323b872dd1161011557806323b872dd146101f85780632d83811914610228578063313ce5671461025857806339509351146102765780634549b039146102a657806370a08231146102d65761014d565b8063053ab1821461015257806306fdde031461016e578063095ea7b31461018c57806313114a9d146101bc57806318160ddd146101da575b600080fd5b61016c60048036038101906101679190612d58565b61049a565b005b6101766105ff565b604051610183919061338a565b60405180910390f35b6101a660048036038101906101a19190612d1c565b610691565b6040516101b3919061336f565b60405180910390f35b6101c46106af565b6040516101d1919061356c565b60405180910390f35b6101e26106b9565b6040516101ef919061356c565b60405180910390f35b610212600480360381019061020d9190612ccd565b6106ca565b60405161021f919061336f565b60405180910390f35b610242600480360381019061023d9190612d58565b610848565b60405161024f919061356c565b60405180910390f35b6102606108af565b60405161026d9190613587565b60405180910390f35b610290600480360381019061028b9190612d1c565b6108c6565b60405161029d919061336f565b60405180910390f35b6102c060048036038101906102bb9190612d81565b610972565b6040516102cd919061356c565b60405180910390f35b6102f060048036038101906102eb9190612c68565b6109fb565b6040516102fd919061356c565b60405180910390f35b61030e610ae6565b005b610318610c20565b604051610325919061356c565b60405180910390f35b610336610c26565b6040516103439190613354565b60405180910390f35b610354610c4f565b604051610361919061338a565b60405180910390f35b610384600480360381019061037f9190612d1c565b610ce1565b604051610391919061336f565b60405180910390f35b6103b460048036038101906103af9190612d1c565b610e53565b6040516103c1919061336f565b60405180910390f35b6103e460048036038101906103df9190612c68565b610e71565b6040516103f1919061336f565b60405180910390f35b610414600480360381019061040f9190612d58565b610ec7565b005b610430600480360381019061042b9190612c91565b610f6d565b60405161043d919061356c565b60405180910390f35b610460600480360381019061045b9190612c68565b610ff4565b005b61047c60048036038101906104779190612c68565b61128f565b005b61049860048036038101906104939190612c68565b611438565b005b60006104a4611806565b9050600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610533576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052a9061352c565b60405180910390fd5b600061053e8361180e565b50505050905080600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461058f919061369f565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550806006546105e0919061369f565b600681905550826007546105f491906135be565b600781905550505050565b60606008805461060e9061375b565b80601f016020809104026020016040519081016040528092919081815260200182805461063a9061375b565b80156106875780601f1061065c57610100808354040283529160200191610687565b820191906000526020600020905b81548152906001019060200180831161066a57829003601f168201915b5050505050905090565b60006106a561069e611806565b8484611866565b6001905092915050565b6000600754905090565b6000683635c9adc5dea00000905090565b60006106d7848484611a31565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000610720611806565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482111561079d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107949061348c565b60405180910390fd5b61083d846107a9611806565b84600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006107f3611806565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610838919061369f565b611866565b600190509392505050565b600060065482111561088f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610886906133cc565b60405180910390fd5b6000610899611f09565b905080836108a79190613614565b915050919050565b6000600a60009054906101000a900460ff16905090565b60006109686108d3611806565b8484600360006108e1611806565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461096391906135be565b611866565b6001905092915050565b6000683635c9adc5dea000008311156109c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109b79061344c565b60405180910390fd5b816109df5760006109d08461180e565b505050509050809150506109f5565b60006109ea8461180e565b505050915050809150505b92915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610a9657600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050610ae1565b610ade600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610848565b90505b919050565b610aee611806565b73ffffffffffffffffffffffffffffffffffffffff16610b0c610c26565b73ffffffffffffffffffffffffffffffffffffffff1614610b62576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b59906134ac565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b600b5481565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060098054610c5e9061375b565b80601f0160208091040260200160405190810160405280929190818152602001828054610c8a9061375b565b8015610cd75780601f10610cac57610100808354040283529160200191610cd7565b820191906000526020600020905b815481529060010190602001808311610cba57829003601f168201915b5050505050905090565b600060036000610cef611806565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054821115610da9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610da09061354c565b60405180910390fd5b610e49610db4611806565b848460036000610dc2611806565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610e44919061369f565b611866565b6001905092915050565b6000610e67610e60611806565b8484611a31565b6001905092915050565b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610ecf611806565b73ffffffffffffffffffffffffffffffffffffffff16610eed610c26565b73ffffffffffffffffffffffffffffffffffffffff1614610f43576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f3a906134ac565b60405180910390fd5b606481683635c9adc5dea00000610f5a9190613645565b610f649190613614565b600b8190555050565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610ffc611806565b73ffffffffffffffffffffffffffffffffffffffff1661101a610c26565b73ffffffffffffffffffffffffffffffffffffffff1614611070576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611067906134ac565b60405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156110fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f49061342c565b60405180910390fd5b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205411156111d15761118d600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610848565b600260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b6001600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506005819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611297611806565b73ffffffffffffffffffffffffffffffffffffffff166112b5610c26565b73ffffffffffffffffffffffffffffffffffffffff161461130b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611302906134ac565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561137b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611372906133ec565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611440611806565b73ffffffffffffffffffffffffffffffffffffffff1661145e610c26565b73ffffffffffffffffffffffffffffffffffffffff16146114b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114ab906134ac565b60405180910390fd5b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611540576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115379061342c565b60405180910390fd5b60005b600580549050811015611802578173ffffffffffffffffffffffffffffffffffffffff16600582815481106115a1577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614156117ef57600560016005805490506115fc919061369f565b81548110611633577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660058281548110611698577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555060058054806117b5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690559055611802565b80806117fa9061378d565b915050611543565b5050565b600033905090565b600080600080600080600061182288611f2d565b915091506000611830611f09565b905060008060006118428c8686611f6a565b92509250925082828288889a509a509a509a509a5050505050505091939590929450565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156118d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118cd9061350c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611946576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193d9061340c565b60405180910390fd5b80600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611a24919061356c565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611aa1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a98906134ec565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611b11576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b08906133ac565b60405180910390fd5b60008111611b54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b4b906134cc565b60405180910390fd5b611b5c610c26565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015611bca5750611b9a610c26565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b15611c1557600b54811115611c14576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c0b9061346c565b60405180910390fd5b5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611cb85750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611ccd57611cc8838383611fb3565b611f04565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611d705750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611d8557611d808383836121f1565b611f03565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015611e295750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15611e3e57611e3983838361242f565b611f02565b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015611ee05750600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15611ef557611ef08383836125df565b611f01565b611f0083838361242f565b5b5b5b5b505050565b6000806000611f166128ab565b915091508082611f269190613614565b9250505090565b60008060006004606485611f419190613614565b611f4b9190613645565b905060008185611f5b919061369f565b90508082935093505050915091565b6000806000808487611f7c9190613645565b905060008587611f8c9190613645565b905060008183611f9c919061369f565b905082818395509550955050505093509350939050565b6000806000806000611fc48661180e565b9450945094509450945085600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612019919061369f565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546120a7919061369f565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461213591906135be565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506121828382612bfd565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516121df919061356c565b60405180910390a35050505050505050565b60008060008060006122028661180e565b9450945094509450945084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612257919061369f565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546122e591906135be565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461237391906135be565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506123c08382612bfd565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161241d919061356c565b60405180910390a35050505050505050565b60008060008060006124408661180e565b9450945094509450945084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612495919061369f565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461252391906135be565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506125708382612bfd565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516125cd919061356c565b60405180910390a35050505050505050565b60008060008060006125f08661180e565b9450945094509450945085600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054612645919061369f565b600260008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555084600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546126d3919061369f565b600160008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461276191906135be565b600260008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555083600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546127ef91906135be565b600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061283c8382612bfd565b8673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612899919061356c565b60405180910390a35050505050505050565b600080600060065490506000683635c9adc5dea00000905060005b600580549050811015612bb957826001600060058481548110612912577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541180612a2657508160026000600584815481106129be577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054115b15612a4457600654683635c9adc5dea0000094509450505050612bf9565b6001600060058381548110612a82577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483612af3919061369f565b92506002600060058381548110612b33577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205482612ba4919061369f565b91508080612bb19061378d565b9150506128c6565b50683635c9adc5dea00000600654612bd19190613614565b821015612bf057600654683635c9adc5dea00000935093505050612bf9565b81819350935050505b9091565b81600654612c0b919061369f565b60068190555080600754612c1f91906135be565b6007819055505050565b600081359050612c3881613874565b92915050565b600081359050612c4d8161388b565b92915050565b600081359050612c62816138a2565b92915050565b600060208284031215612c7a57600080fd5b6000612c8884828501612c29565b91505092915050565b60008060408385031215612ca457600080fd5b6000612cb285828601612c29565b9250506020612cc385828601612c29565b9150509250929050565b600080600060608486031215612ce257600080fd5b6000612cf086828701612c29565b9350506020612d0186828701612c29565b9250506040612d1286828701612c53565b9150509250925092565b60008060408385031215612d2f57600080fd5b6000612d3d85828601612c29565b9250506020612d4e85828601612c53565b9150509250929050565b600060208284031215612d6a57600080fd5b6000612d7884828501612c53565b91505092915050565b60008060408385031215612d9457600080fd5b6000612da285828601612c53565b9250506020612db385828601612c3e565b9150509250929050565b612dc6816136d3565b82525050565b612dd5816136e5565b82525050565b6000612de6826135a2565b612df081856135ad565b9350612e00818560208601613728565b612e0981613863565b840191505092915050565b6000612e216023836135ad565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612e87602a836135ad565b91507f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260008301527f65666c656374696f6e73000000000000000000000000000000000000000000006020830152604082019050919050565b6000612eed6026836135ad565b91507f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008301527f64647265737300000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612f536022836135ad565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000612fb9601b836135ad565b91507f4163636f756e7420697320616c7265616479206578636c7564656400000000006000830152602082019050919050565b6000612ff9601f836135ad565b91507f416d6f756e74206d757374206265206c657373207468616e20737570706c79006000830152602082019050919050565b60006130396028836135ad565b91507f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008301527f78416d6f756e742e0000000000000000000000000000000000000000000000006020830152604082019050919050565b600061309f6028836135ad565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206160008301527f6c6c6f77616e63650000000000000000000000000000000000000000000000006020830152604082019050919050565b60006131056020836135ad565b91507f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726000830152602082019050919050565b60006131456029836135ad565b91507f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008301527f7468616e207a65726f00000000000000000000000000000000000000000000006020830152604082019050919050565b60006131ab6025836135ad565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b60006132116024836135ad565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000613277602c836135ad565b91507f4578636c75646564206164647265737365732063616e6e6f742063616c6c207460008301527f6869732066756e6374696f6e00000000000000000000000000000000000000006020830152604082019050919050565b60006132dd6025836135ad565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b61333f81613711565b82525050565b61334e8161371b565b82525050565b60006020820190506133696000830184612dbd565b92915050565b60006020820190506133846000830184612dcc565b92915050565b600060208201905081810360008301526133a48184612ddb565b905092915050565b600060208201905081810360008301526133c581612e14565b9050919050565b600060208201905081810360008301526133e581612e7a565b9050919050565b6000602082019050818103600083015261340581612ee0565b9050919050565b6000602082019050818103600083015261342581612f46565b9050919050565b6000602082019050818103600083015261344581612fac565b9050919050565b6000602082019050818103600083015261346581612fec565b9050919050565b600060208201905081810360008301526134858161302c565b9050919050565b600060208201905081810360008301526134a581613092565b9050919050565b600060208201905081810360008301526134c5816130f8565b9050919050565b600060208201905081810360008301526134e581613138565b9050919050565b600060208201905081810360008301526135058161319e565b9050919050565b6000602082019050818103600083015261352581613204565b9050919050565b600060208201905081810360008301526135458161326a565b9050919050565b60006020820190508181036000830152613565816132d0565b9050919050565b60006020820190506135816000830184613336565b92915050565b600060208201905061359c6000830184613345565b92915050565b600081519050919050565b600082825260208201905092915050565b60006135c982613711565b91506135d483613711565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115613609576136086137d6565b5b828201905092915050565b600061361f82613711565b915061362a83613711565b92508261363a57613639613805565b5b828204905092915050565b600061365082613711565b915061365b83613711565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615613694576136936137d6565b5b828202905092915050565b60006136aa82613711565b91506136b583613711565b9250828210156136c8576136c76137d6565b5b828203905092915050565b60006136de826136f1565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561374657808201518184015260208101905061372b565b83811115613755576000848401525b50505050565b6000600282049050600182168061377357607f821691505b6020821081141561378757613786613834565b5b50919050565b600061379882613711565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156137cb576137ca6137d6565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b61387d816136d3565b811461388857600080fd5b50565b613894816136e5565b811461389f57600080fd5b50565b6138ab81613711565b81146138b657600080fd5b5056fea26469706673582212201bfda5ae34e67b7cc8ae21bebb9c9dbefa2ccfe044faebb990a7e1b802cf233364736f6c63430008000033