ca45ca46ca47ca48ca49ca4aca4bca4cca4dca4eca4fca50ca51ca52ca53ca54ca55ca56ca57ca58ca59ca5aca5bca5cca5dca5eca5fca60ca61ca62ca63ca64ca65ca66ca67ca68ca69ca6aca6bca6cca6dca6eca6fca70ca71ca72ca73ca74ca75ca76ca77ca78ca79ca7aca7bca7cca7dca7eca7fca80ca81ca82ca83ca84ca85ca86ca87ca88ca89ca8aca8bca8cca8dca8eca8fca90ca91ca92ca93ca94ca95ca96ca97ca98ca99ca9aca9bca9cca9dca9eca9fcaa0caa1caa2caa3caa4caa5caa6caa7caa8caa9caaacaabcaaccaadcaaecaafcab0cab1cab2cab3cab4cab5cab6cab7cab8cab9cabacabbcabccabdcabecabfcac0cac1cac2cac3cac4cac5cac6cac7cac8cac9cacacacbcacccacdcacecacfcad0cad1cad2cad3cad4cad5cad6cad7cad8cad9cadacadbcadccaddcadecadfcae0cae1cae2cae3cae4cae5cae6cae7cae8cae9caeacaebcaeccaedcaeecaefcaf0caf1caf2caf3caf4caf5caf6caf7caf8caf9cafacafbcafccafdcafecaffca00cb01cb02cb03cb04cb05cb06cb07cb08cb09cb0acb0bcb0ccb0dcb0ecb0fcb10cb11cb12cb13cb14cb15cb16cb17cb18cb19cb1acb1bcb1ccb1dcb1ecb1fcb20cb21cb22cb23cb24cb25cb26cb27cb28cb29cb2acb2bcb2ccb2dcb2ecb2fcb30cb31cb32cb33cb34cb35cb36cb37cb38cb39cb3acb3bcb3ccb3dcb3ecb3fcb40cb41cb42cb43cb44cb45cb46cb47cb48cb49cb4acb4bcb4ccb4dcb4ecb4fcb50cb51cb52cb53cb54cb55cb56cb57cb58cb59cb5acb5bcb5ccb5dcb5ecb5fcb60cb61cb62cb63cb64cb65cb66cb67cb68cb69cb6acb6bcb6ccb6dcb6ecb6fcb70cb71cb72cb73cb74cb75cb76cb77cb78cb79cb7acb7bcb7ccb7dcb7ecb7fcb80cb81cb82cb83cb84cb85cb86cb87cb88cb89cb8acb8bcb8ccb8dcb8ecb8fcb90cb91cb92cb93cb94cb95cb96cb97cb98cb99cb9acb9bcb9ccb9dcb9ecb9fcba0cba1cba2cba3cba4cba5cba6cba7cba8cba9cbaacbabcbaccbadcbaecbafcbb0cbb1cbb2cbb3cbb4cbb5cbb6cbb7cbb8cbb9cbbacbbbcbbccbbdcbbecbbfcbc0cbc1cbc2cbc3cbc4cbc5cbc6cbc7cbc8cbc9cbcacbcbcbcccbcdcbcecbcfcbd0cbd1cbd2cbd3cbd4cbd5cbd6cbd7cbd8cbd9cbdacbdbcbdccbddcbdecbdfcbe0cbe1cbe2cbe3cbe4cbe5cbe6cbe7cbe8cbe9cbeacbebcbeccbedcbeecbefcbf0cbf1cbf2cbf3cbf4cbf5cbf6cbf7cbf8cbf9cbfacbfbcbfccbfdcbfecbffcb00cc01cc02cc03cc04cc05cc06cc07cc08cc09cc0acc0bcc0ccc0dcc0ecc0fcc10cc11cc12cc13cc14cc15cc16cc17cc18cc19cc1acc1bcc1ccc1dcc1ecc1fcc20cc21cc22cc23cc24cc25cc26cc27cc28cc29cc2acc2bcc2ccc2dcc2ecc2fcc30cc31cc32cc33cc34cc35cc36cc37cc38cc39cc3acc3bcc3ccc3dcc3ecc3fcc40cc41cc42cc43cc44cc45cc46cc47cc48cc49cc4acc4bcc4ccc4dcc4ecc4fcc50cc51cc52cc53cc54cc55cc56cc57cc58cc59cc5acc5bcc5ccc5dcc5ecc5fcc60cc61cc62cc63cc64cc65cc66cc67cc68cc69cc6acc6bcc6ccc6dcc6ecc6fcc70cc71cc72cc73cc74cc75cc76cc77cc78cc79cc7acc7bcc7ccc7dcc7ecc7fcc80cc81cc82cc83cc84cc85cc86cc87cc88cc89cc8acc8bcc8ccc8dcc8ecc8fcc90cc91cc92cc93cc94cc95cc96cc97cc98cc99cc9acc9bcc9ccc9dcc9ecc9fcca0cca1cca2cca3cca4cca5cca6cca7cca8cca9ccaaccabccacccadccaeccafccb0ccb1ccb2ccb3ccb4ccb5ccb6ccb7ccb8ccb9ccbaccbbccbcccbdccbeccbfccc0ccc1ccc2ccc3ccc4ccc5ccc6ccc7ccc8ccc9cccacccbcccccccdcccecccfccd0ccd1ccd2ccd3ccd4ccd5ccd6ccd7ccd8ccd9ccdaccdbccdcccddccdeccdfcce0cce1cce2cce3cce4cce5cce6cce7cce8cce9cceaccebccecccedcceeccefccf0ccf1ccf2ccf3ccf4ccf5ccf6ccf7ccf8ccf9ccfaccfbccfcccfdccfeccffcc00cd01cd02cd03cd04cd05cd06cd07cd08cd09cd0acd0bcd0ccd0dcd0ecd0fcd10cd11cd12cd13cd14cd15cd16cd17cd18cd19cd1acd1bcd1ccd1dcd1ecd1fcd20cd21cd22cd23cd24cd25cd26cd27cd28cd29cd2acd2bcd2ccd2dcd2ecd2fcd30cd31cd32cd33cd34cd35cd36cd37cd38cd39cd3acd3bcd3ccd3dcd3ecd3fcd40cd41cd42cd43cd44cd45cd46cd47cd48cd49cd4acd4bcd4ccd4dcd4ecd4fcd50cd51cd52cd53cd54cd55cd56cd57cd58cd59cd5acd5bcd5ccd5dcd5ecd5fcd60cd61cd62cd63cd64cd65cd66cd67cd68cd69cd6acd6bcd6ccd6dcd6ecd6fcd70cd71cd72cd73cd74cd75cd76cd77cd78cd79cd7acd7bcd7ccd7dcd7ecd7fcd80cd81cd82cd83cd84cd85cd86cd87cd88cd89cd8acd8bcd8ccd8dcd8ecd8fcd90cd91cd92cd93cd94cd95cd96cd97cd98cd99cd9acd9bcd9ccd9dcd9ecd9fcda0cda1cda2cda3cda4cda5cda6cda7cda8cda9cdaacdabcdaccdadcdaecdafcdb0cdb1cdb2cdb3cdb4cdb5cdb6cdb7cdb8cdb9cdbacdbbcdbccdbdcdbecdbfcdc0cdc1cdc2cdc3cdc4cdc5cdc6cdc7cdc8cdc9cdcacdcbcdcccdcdcdcecdcfcdd0cdd1cdd2cdd3cdd4cdd5cdd6cdd7cdd8cdd9cddacddbcddccdddcddecddfcde0cde1cde2cde3cde4cde5cde6cde7cde8cde9cdeacdebcdeccdedcdeecdefcdf0cdf1cdf2cdf3cdf4cdf5cdf6cdf7cdf8cdf9cdfacdfbcdfccdfdcdfecdffcd00ce01ce02ce03ce04ce05ce06ce07ce08ce09ce0ace0bce0cce0dce0ece0fce10ce11ce12ce13ce14ce15ce16ce17ce18ce19ce1ace1bce1cce1dce1ece1fce20ce21ce22ce23ce24ce25ce26ce27ce28ce29ce2ace2bce2cce2dce2ece2fce30ce31ce32ce33ce34ce35ce36ce37ce38ce39ce3ace3bce3cce3dce3ece3fce40ce41ce42ce43ce44ce45ce46ce47ce48ce49ce4ace4bce4cce4dce4ece4fce50ce51ce52ce53ce54ce55ce56ce57ce58ce59ce5ace5bce5cce5dce5ece5fce60ce61ce62ce63ce64ce65ce66ce67ce68ce69ce6ace6bce6cce6dce6ece6fce70ce71ce72ce73ce74ce75ce76ce77ce78ce79ce7ace7bce7cce7dce7ece7fce80ce81ce82ce83ce84ce85ce86ce87ce88ce89ce8ace8bce8cce8dce8ece8fce90ce91ce92ce93ce94ce95ce96ce97ce98ce99ce9ace9bce9cce9dce9ece9fcea0cea1cea2cea3cea4cea5cea6cea7cea8cea9ceaaceabceacceadceaeceafceb0ceb1ceb2ceb3ceb4ceb5ceb6ceb7ceb8ceb9cebacebbcebccebdcebecebfcec0cec1cec2cec3cec4cec5cec6cec7cec8cec9cecacecbcecccecdcecececfced0ced1ced2ced3ced4ced5ced6ced7ced8ced9cedacedbcedcceddcedecedfcee0cee1cee2cee3cee4cee5cee6cee7cee8cee9ceeaceebceecceedceeeceefcef0cef1cef2cef3cef4cef5cef6cef7cef8cef9cefacefbcefccefdcefeceffce00cf01cf02cf03cf04cf05cf06cf07cf08cf09cf0acf0bcf0ccf0dcf0ecf0fcf10cf11cf12cf13cf14cf15cf16cf17cf18cf19cf1acf1bcf1ccf1dcf1ecf1fcf20cf21cf22cf23cf24cf25cf26cf27cf28cf29cf2acf2bcf2ccf2dcf2ecf2fcf30cf31cf32cf33cf34cf35cf36cf37cf38cf39cf3acf3bcf3ccf3dcf3ecf3fcf40cf41cf42cf43cf44cf45cf46cf47cf48cf49cf4acf4bcf4ccf4dcf4ecf4fcf50cf51cf52cf53cf54cf55cf56cf57cf58cf59cf5acf5bcf5ccf5dcf5ecf5fcf60cf61cf62cf63cf64cf65cf66cf67cf68cf69cf6acf6bcf6ccf6dcf6ecf6fcf70cf71cf72cf73cf74cf75cf76cf77cf78cf79cf7acf7bcf7ccf7dcf7ecf7fcf80cf81cf82cf83cf84cf85cf86cf87cf88cf89cf8acf8bcf8ccf8dcf8ecf8fcf90cf91cf92cf93cf94cf95cf96cf97cf98cf99cf9acf9bcf9ccf9dcf9ecf9fcfa0cfa1cfa2cfa3cfa4cfa5cfa6cfa7cfa8cfa9cfaacfabcfaccfadcfaecfafcfb0cfb1cfb2cfb3cfb4cfb5cfb6cfb7cfb8cfb9cfbacfbbcfbccfbdcfbecfbfcfc0cfc1cfc2cfc3cfc4cfc5cfc6cfc7cfc8cfc9cfcacfcbcfcccfcdcfcecfcfcfd0cfd1cfd2cfd3cfd4cfd5cfd6cfd7cfd8cfd9cfdacfdbcfdccfddcfdecfdfcfe0cfe1cfe2cfe3cfe4cfe5cfe6cfe7cfe8cfe9cfeacfebcfeccfedcfeecfefcff0cff1cff2cff3cff4cff5cff6cff7cff8cff9cffacffbcffccffdcffecfffcf00d001d002d003d004d005d006d007d008d009d00ad00bd00cd00dd00ed00fd010d011d012d013d014d015d016d017d018d019d01ad01bd01cd01dd01ed01fd020d021d022d023d024d025d026d027d028d029d02ad02bd02cd02dd02ed02fd030d031d032d033d034d035d036d037d038d039d03ad03bd03cd03dd03ed03fd040d041d042d043d044d045d046d047d048d049d04ad04bd04cd04dd04ed04fd050d051d052d053d054d055d056d057d058d059d05ad05bd05cd05dd05ed05fd060d061d062d063d064d065d066d067d068d069d06ad06bd06cd06dd06ed06fd070d071d072d073d074d075d076d077d078d079d07ad07bd07cd07dd07ed07fd080d081d082d083d084d085d086d087d088d089d08ad08bd08cd08dd08ed08fd090d091d092d093d094d095d096d097d098d099d09ad09bd09cd09dd09ed09fd0a0d0a1d0a2d0a3d0a4d0a5d0a6d0a7d0a8d0a9d0aad0abd0acd0add0aed0afd0b0d0b1d0b2d0b3d0b4d0b5d0b6d0b7d0b8d0b9d0bad0bbd0bcd0bdd0bed0bfd0c0d0c1d0c2d0c3d0c4d0c5d0c6d0c7d0c8d0c9d0cad0cbd0ccd0cdd0ced0cfd0d0d0d1d0d2d0d3d0d4d0d5d0d6d0d7d0d8d0d9d0dad0dbd0dcd0ddd0ded0dfd0e0d0e1d0e2d0e3d0e4d0e5d0e6d0e7d0e8d0e9d0ead0ebd0ecd0edd0eed0efd0f0d0f1d0f2d0f3d0f4d0f5d0f6d0f7d0f8d0f9d0fad0fbd0fcd0fdd0fed0ffd000d101d102d103d104d105d106d107d108d109d10ad10bd10cd10dd10ed10fd110d111d112d113d114d115d116d117d118d119d11ad11bd11cd11dd11ed11fd120d121d122d123d124d125d126d127d128d129d12ad12bd12cd12dd12ed12fd130d131d132d133d134d135d136d137d138d139d13ad13bd13cd13dd13ed13fd140d141d142d143d144d145d146d147d148d149d14ad14bd14cd14dd14ed14fd150d151d152d153d154d155d156d157d158d159d15ad15bd15cd15dd15ed15fd160d161d162d163d164d165d166d167d168d169d16ad16bd16cd16dd16ed16fd170d171d172d173d174d175d176d177d178d179d17ad17bd17cd17dd17ed17fd180d181d182d183d184d185d186d187d188d189d18ad18bd18cd18dd18ed18fd190d191d192d193d194d195d196d197d198d199d19ad19bd19cd19dd19ed19fd1a0d1a1d1a2d1a3d1a4d1a5d1a6d1a7d1a8d1a9d1aad1abd1acd1add1aed1afd1b0d1b1d1b2d1b3d1b4d1b5d1b6d1b7d1b8d1b9d1bad1bbd1bcd1bdd1bed1bfd1c0d1c1d1c2d1c3d1c4d1c5d1c6d1c7d1c8d1c9d1cad1cbd1ccd1cdd1ced1cfd1d0d1d1d1d2d1d3d1d4d1d5d1d6d1d7d1d8d1d9d1dad1dbd1dcd1ddd1ded1dfd1e0d1e1d1e2d1e3d1e4d1e5d1e6d1e7d1e8d1e9d1ead1ebd1ecd1edd1eed1efd1f0d1f1d1f2d1f3d1f4d1f5d1f6d1f7d1f8d1f9d1fad1fbd1fcd1fdd1fed1ffd100d201d202d203d204d205d206d207d208d209d20ad20bd20cd20dd20ed20fd210d211d212d213d214d215d216d217d218d219d21ad21bd21cd21dd21ed21fd220d221d222d223d224d225d226d227d228d229d22ad22bd22cd22dd22ed22fd230d231d232d233d234d235d236d237d238d239d23ad23bd23cd23dd23ed23fd240d241d242d243d244d245d246d247d248d249d24ad24bd24cd24dd24ed24fd250d251d252d253d254d255d256d257d258d259d25ad25bd25cd25dd25ed25fd260d261d262d263d264d265d266d267d268d269d26ad26bd26cd26dd26ed26fd270d271d272d273d274d275d276d277d278d279d27ad27bd27cd27dd27ed27fd280d281d282d283d284d285d286d287d288d289d28ad28bd28cd28dd28ed28fd290d291d292d293d294d295d296d297d298d299d29ad29bd29cd29dd29ed29fd2a0d2a1d2a2d2a3d2a4d2a5d2a6d2a7d2a8d2a9d2aad2abd2acd2add2aed2afd2b0d2b1d2b2d2b3d2b4d2b5d2b6d2b7d2b8d2b9d2bad2bbd2bcd2bdd2bed2bfd2c0d2c1d2c2d2c3d2c4d2c5d2c6d2c7d2c8d2c9d2cad2cbd2ccd2cdd2ced2cfd2d0d2d1d2d2d2d3d2d4d2d5d2d6d2d7d2d8d2d9d2dad2dbd2dcd2ddd2ded2dfd2e0d2e1d2e2d2e3d2e4d2e5d2e6d2e7d2e8d2e9d2ead2ebd2ecd2edd2eed2efd2f0d2f1d2f2d2f3d2f4d2f5d2f6d2f7d2f8d2f9d2fad2fbd2fcd2fdd2fed2ffd200d301d302d303d304d305d306d307d308d309d30ad30bd30cd30dd30ed30fd310d311d312d313d314d315d316d317d318d319d31ad31bd31cd31dd31ed31fd320d321d322d323d324d325d326d327d328d329d32ad32bd32cd32dd32ed32fd330d331d332d333d334d335d336d337d338d339d33ad33bd33cd33dd33ed33fd340d341d342d343d344d345d346d347d348d349d34ad34bd34cd34dd34ed34fd350d351d352d353d354d355d356d357d358d359d35ad35bd35cd35dd35ed35fd360d361d362d363d364d365d366d367d368d369d36ad36bd36cd36dd36ed36fd370d371d372d373d374d375d376d377d378d379d37ad37bd37cd37dd37ed37fd380d381d382d383d384d385d386d387d388d389d38ad38bd38cd38dd38ed38fd390d391d392d393d394d395d396d397d398d399d39ad39bd39cd39dd39ed39fd3a0d3a1d3a2d3a3d3a4d3a5d3a6d3a7d3a8d3a9d3aad3abd3acd3add3aed3afd3b0d3b1d3b2d3b3d3b4d3b5d3b6d3b7d3b8d3b9d3bad3bbd3bcd3bdd3bed3bfd3c0d3c1d3c2d3c3d3c4d3c5d3c6d3c7d3c8d3c9d3cad3cbd3ccd3cdd3ced3cfd3d0d3d1d3d2d3d3d3d4d3d5d3d6d3d7d3d8d3d9d3dad3dbd3dcd3ddd3ded3dfd3e0d3e1d3e2d3e3d3e4d3e5d3e6d3e7d3e8d3e9d3ead3ebd3ecd3edd3eed3efd3f0d3f1d3f2d3f3d3f4d3f5d3f6d3f7d3f8d3f9d3fad3fbd3fcd3fdd3fed3ffd300d401d402d403d404d405d406d407d408d409d40ad40bd40cd40dd40ed40fd410d411d412d413d414d415d416d417d418d419d41ad41bd41cd41dd41ed41fd420d421d422d423d424d425d426d427d428d429d42ad42bd42cd42dd42ed42fd430d431d432d433d434d435d436d437d438d439d43ad43bd43cd43dd43ed43fd440d441d442d443d444d445d446d447d448d449d44ad44bd44cd44dd44ed44fd450d451d452d453d454d455d456d457d458d459d45ad45bd45cd45dd45ed45fd460d461d462d463d464d465d466d467d468d469d46ad46bd46cd46dd46ed46fd470d471d472d473d474d475d476d477d478d479d47ad47bd47cd47dd47ed47fd480d481d482d483d484d485d486d487d488d489d48ad48bd48cd48dd48ed48fd490d491d492d493d494d495d496d497d498d499d49ad49bd49cd49dd49ed49fd4a0d4a1d4a2d4a3d4a4d4a5d4a6d4a7d4a8d4a9d4aad4abd4acd4add4aed4afd4b0d4b1d4b2d4b3d4b4d4b5d4b6d4b7d4b8d4b9d4bad4bbd4bcd4bdd4bed4bfd4c0d4c1d4c2d4c3d4c4d4c5d4c6d4c7d4c8d4c9d4cad4cbd4ccd4cdd4ced4cfd4d0d4d1d4d2d4d3d4d4d4d5d4d6d4d7d4d8d4d9d4dad4dbd4dcd4ddd4ded4dfd4e0d4e1d4e2d4e3d4e4d4e5d4e6d4e7d4e8d4e9d4ead4ebd4ecd4edd4eed4efd4f0d4f1d4f2d4f3d4f4d4f5d4f6d4f7d4f8d4f9d4fad4fbd4fcd4fdd4fed4ffd400d501d502d503d504d505d506d507d508d509d50ad50bd50cd50dd50ed50fd510d511d512d513d514d515d516d517d518d519d51ad51bd51cd51dd51ed51fd520d521d522d523d524d525d526d527d528d529d52ad52bd52cd52dd52ed52fd530d531d532d533d534d535d536d537d538d539d53ad53bd53cd53dd53ed53fd540d541d542d543d544d545d546d547d548d549d54ad54bd54cd54dd54ed54fd550d551d552d553d554d555d556d557d558d559d55ad55bd55cd55dd55ed55fd560d561d562d563d564d565d566d567d568d569d56ad56bd56cd56dd56ed56fd570d571d572d573d574d575d576d577d578d579d57ad57bd57cd57dd57ed57fd580d581d582d583d584d585d586d587d588d589d58ad58bd58cd58dd58ed58fd590d591d592d593d594d595d596d597d598d599d59ad59bd59cd59dd59ed59fd5a0d5a1d5a2d5a3d5a4d5a5d5a6d5a7d5a8d5a9d5aad5abd5acd5add5aed5afd5b0d5b1d5b2d5b3d5b4d5b5d5b6d5b7d5b8d5b9d5bad5bbd5bcd5bdd5bed5bfd5c0d5c1d5c2d5c3d5c4d5c5d5c6d5c7d5c8d5c9d5cad5cbd5ccd5cdd5ced5cfd5d0d5d1d5d2d5d3d5d4d5d5d5d6d5d7d5d8d5d9d5dad5dbd5dcd5ddd5ded5dfd5e0d5e1d5e2d5e3d5e4d5e5d5e6d5e7d5e8d5e9d5ead5ebd5ecd5edd5eed5efd5f0d5f1d5f2d5f3d5f4d5f5d5f6d5f7d5f8d5f9d5fad5fbd5fcd5fdd5fed5ffd500d601d602d603d604d605d606d607d608d609d60ad60bd60cd60dd60ed60fd610d611d612d613d614d615d616d617d618d619d61ad61bd61cd61dd61ed61fd620d621d622d623d624d625d626d627d628d629d62ad62bd62cd62dd62ed62fd630d631d632d633d634d635d636d637d638d639d63ad63bd63cd63dd63ed63fd640d641d642d643d644d645d646d647d648d649d64ad64bd64cd64dd64ed64fd650d651d652d653d654d655d656d657d658d659d65ad65bd65cd65dd65ed65fd660d661d662d663d664d665d666d667d668d669d66ad66bd66cd66dd66ed66fd670d671d672d673d674d675d676d677d678d679d67ad67bd67cd67dd67ed67fd680d681d682d683d684d685d686d687d688d689d68ad68bd68cd68dd68ed68fd690d691d692d693d694d695d696d697d698d699d69ad69bd69cd69dd69ed69fd6a0d6a1d6a2d6a3d6a4d6a5d6a6d6a7d6a8d6a9d6aad6abd6acd6add6aed6afd6b0d6b1d6b2d6b3d6b4d6b5d6b6d6b7d6b8d6b9d6bad6bbd6bcd6bdd6bed6bfd6c0d6c1d6c2d6c3d6c4d6c5d6c6d6c7d6c8d6c9d6cad6cbd6ccd6cdd6ced6cfd6d0d6d1d6d2d6d3d6d4d6d5d6d6d6d7d6d8d6d9d6dad6dbd6dcd6ddd6ded6dfd6e0d6e1d6e2d6e3d6e4d6e5d6e6d6e7d6e8d6e9d6ead6ebd6ecd6edd6eed6efd6f0d6f1d6f2d6f3d6f4d6f5d6f6d6f7d6f8d6f9d6fad6fbd6fcd6fdd6fed6ffd600d701d702d703d704d705d706d707d708d709d70ad70bd70cd70dd70ed70fd710d711d712d713d714d715d716d717d718d719d71ad71bd71cd71dd71ed71fd720d721d722d723d724d725d726d727d728d729d72ad72bd72cd72dd72ed72fd730d731d732d733d734d735d736d737d738d739d73ad73bd73cd73dd73ed73fd740d741d742d743d744d745d746d747d748d749d74ad74bd74cd74dd74ed74fd750d751d752d753d754d755d756d757d758d759d75ad75bd75cd75dd75ed75fd760d761d762d763d764d765d766d767d768d769d76ad76bd76cd76dd76ed76fd770d771d772d773d774d775d776d777d778d779d77ad77bd77cd77dd77ed77fd780d781d782d783d784d785d786d787d788d789d78ad78bd78cd78dd78ed78fd790d791d792d793d794d795d796d797d798d799d79ad79bd79cd79dd79ed79fd7a0d7a1d7a2d7a3d7a4d7a5d7a6d7a7d7a8d7a9d7aad7abd7acd7add7aed7afd7b0d7b1d7b2d7b3d7b4d7b5d7b6d7b7d7b8d7b9d7bad7bbd7bcd7bdd7bed7bfd7c0d7c1d7c2d7c3d7c4d7c5d7c6d7c7d7c8d7c9d7cad7cbd7ccd7cdd7ced7cfd7d0d7d1d7d2d7d3d7d4d7d5d7d6d7d7d7d8d7d9d7dad7dbd7dcd7ddd7ded7dfd7e0d7e1d7e2d7e3d7e4d7e5d7e6d7e7d7e8d7e9d7ead7ebd7ecd7edd7eed7efd7f0d7f1d7f2d7f3d7f4d7f5d7f6d7f7d7f8d7f9d7fad7fbd7fcd7fdd7fed7ffd700d801d802d803d804d805d806d807d808d809d80ad80bd80cd80dd80ed80fd810d811d812d813d814d815d816d817d818d819d81ad81bd81cd81dd81ed81fd820d821d822d823d824d825d826d827d828d829d82ad82bd82cd82dd82ed82fd830d831d832d833d834d835d836d837d838d839d83ad83bd83cd83dd83ed83fd840d841d842d843d844d845d846d847d848d849d84ad84bd84cd84dd84ed84fd850d851d852d853d854d855d856d857d858d859d85ad85bd85cd85dd85ed85fd860d861d862d863d864d865d866d867d868d869d86ad86bd86cd86dd86ed86fd870d871d872d873d874d875d876d877d878d879d87ad87bd87cd87dd87ed87fd880d881d882d883d884d885d886d887d888d889d88ad88bd88cd88dd88ed88fd890d891d892d893d894d895d896d897d898d899d89ad89bd89cd89dd89ed89fd8a0d8a1d8a2d8a3d8a4d8a5d8a6d8a7d8a8d8a9d8aad8abd8acd8add8aed8afd8b0d8b1d8b2d8b3d8b4d8b5d8b6d8b7d8b8d8b9d8bad8bbd8bcd8bdd8bed8bfd8c0d8c1d8c2d8c3d8c4d8c5d8c6d8c7d8c8d8c9d8cad8cbd8ccd8cdd8ced8cfd8d0d8d1d8d2d8d3d8d4d8d5d8d6d8d7d8d8d8d9d8dad8dbd8dcd8ddd8ded8dfd8e0d8e1d8e2d8e3d8e4d8e5d8e6d8e7d8e8d8e9d8ead8ebd8ecd8edd8eed8efd8f0d8f1d8f2d8f3d8f4d8f5d8f6d8f7d8f8d8f9d8fad8fbd8fcd8fdd8fed8ffd800d901d902d903d904d905d906d907d908d909d90ad90bd90cd90dd90ed90fd910d911d912d913d914d915d916d917d918d919d91ad91bd91cd91dd91ed91fd920d921d922d923d924d925d926d927d928d929d92ad92bd92cd92dd92ed92fd930d931d932d933d934d935d936d937d938d939d93ad93bd93cd93dd93ed93fd940d941d942d943d944d945d946d947d948d949d94ad94bd94cd94dd94ed94fd950d951d952d953d954d955d956d957d958d959d95ad95bd95cd95dd95ed95fd960d961d962d963d964d965d966d967d968d969d96ad96bd96cd96dd96ed96fd970d971d972d973d974d975d976d977d978d979d97ad97bd97cd97dd97ed97fd980d981d982d983d984d985d986d987d988d989d98ad98bd98cd98dd98ed98fd990d991d992d993d994d995d996d997d998d999d99ad99bd99cd99dd99ed99fd9a0d9a1d9a2d9a3d9a4d9a5d9a6d9a7d9a8d9a9d9aad9abd9acd9add9aed9afd9b0d9b1d9b2d9b3d9b4d9b5d9b6d9b7d9b8d9b9d9bad9bbd9bcd9bdd9bed9bfd9c0d9c1d9c2d9c3d9c4d9c5d9c6d9c7d9c8d9c9d9cad9cbd9ccd9cdd9ced9cfd9d0d9d1d9d2d9d3d9d4d9d5d9d6d9d7d9d8d9d9d9dad9dbd9dcd9ddd9ded9dfd9e0d9e1d9e2d9e3d9e4d9e5d9e6d9e7d9e8d9e9d9ead9ebd9ecd9edd9eed9efd9f0d9f1d9f2d9f3d9f4d9f5d9f6d9f7d9f8d9f9d9fad9fbd9fcd9fdd9fed9ffd900da01da02da03da04da05da06da07da08da09da0ada0bda0cda0dda0eda0fda10da11da12da13da14da15da16da17da18da19da1ada1bda1cda1dda1eda1fda20da21da22da23da24da25da26da27da28da29da2ada2bda2cda2dda2eda2fda30da31da32da33da34da35da36da37da38da39da3ada3bda3cda3dda3eda3fda40da41da42da43da44da45da46da47da48da49da4ada4bda4cda4dda4eda4fda50da51da52da53da54da55da56da57da58da59da5ada5bda5cda5dda5eda5fda60da61da62da63da64da65da66da67da68da69da6ada6bda6cda6dda6eda6fda70da71da72da73da74da75da76da77da78da79da7ada7bda7cda7dda7eda7fda80da81da82da83da84da85da86da87da88da89da8ada8bda8cda8dda8eda8fda90da91da92da93da94da95da96da97da98da99da9ada9bda9cda9dda9eda9fdaa0daa1daa2daa3daa4daa5daa6daa7daa8daa9daaadaabdaacdaaddaaedaafdab0dab1dab2dab3dab4dab5dab6dab7dab8dab9dabadabbdabcdabddabedabfdac0dac1dac2dac3dac4dac5dac6dac7dac8dac9dacadacbdaccdacddacedacfdad0dad1dad2dad3dad4dad5dad6dad7dad8dad9dadadadbdadcdadddadedadfdae0dae1dae2dae3dae4dae5dae6dae7dae8dae9daeadaebdaecdaeddaeedaefdaf0daf1daf2daf3daf4daf5daf6daf7daf8daf9dafadafbdafcdafddafedaffda00db01db02db03db04db05db06db07db08db09db0adb0bdb0cdb0ddb0edb0fdb10db11db12db13db14db15db16db17db18db19db1adb1bdb1cdb1ddb1edb1fdb20db21db22db23db24db25db26db27db28db29db2adb2bdb2cdb2ddb2edb2fdb30db31db32db33db34db35db36db37db38db39db3adb3bdb3cdb3ddb3edb3fdb40db41db42db43db44db45db46db47db48db49db4adb4bdb4cdb4ddb4edb4fdb50db51db52db53db54db55db56db57db58db59db5adb5bdb5cdb5ddb5edb5fdb60db61db62db63db64db65db66db67db68db69db6adb6bdb6cdb6ddb6edb6fdb70db71db72db73db74db75db76db77db78db79db7adb7bdb7cdb7ddb7edb7fdb80db81db82db83db84db85db86db87db88db89db8adb8bdb8cdb8ddb8edb8fdb90db91db92db93db94db95db96db97db98db99db9adb9bdb9cdb9ddb9edb9fdba0dba1dba2dba3dba4dba5dba6dba7dba8dba9dbaadbabdbacdbaddbaedbafdbb0dbb1dbb2dbb3dbb4dbb5dbb6dbb7dbb8dbb9dbbadbbbdbbcdbbddbbedbbfdbc0dbc1dbc2dbc3dbc4dbc5dbc6dbc7dbc8dbc9dbcadbcbdbccdbcddbcedbcfdbd0dbd1dbd2dbd3dbd4dbd5dbd6dbd7dbd8dbd9dbdadbdbdbdcdbdddbdedbdfdbe0dbe1dbe2dbe3dbe4dbe5dbe6dbe7dbe8dbe9dbeadbebdbecdbeddbeedbefdbf0dbf1dbf2dbf3dbf4dbf5dbf6dbf7dbf8dbf9dbfadbfbdbfcdbfddbfedbffdb00dc01dc02dc03dc04dc05dc06dc07dc08dc09dc0adc0bdc0cdc0ddc0edc0fdc10dc11dc12dc13dc14dc15dc16dc17dc18dc19dc1adc1bdc1cdc1ddc1edc1fdc20dc21dc22dc23dc24dc25dc26dc27dc28dc29dc2adc2bdc2cdc2ddc2edc2fdc30dc31dc32dc33dc34dc35dc36dc37dc38dc39dc3adc3bdc3cdc3ddc3edc3fdc40dc41dc42dc43dc44dc45dc46dc47dc48dc49dc4adc4bdc4cdc4ddc4edc4fdc50dc51dc52dc53dc54dc55dc56dc57dc58dc59dc5adc5bdc5cdc5ddc5edc5fdc60dc61dc62dc63dc64dc65dc66dc67dc68dc69dc6adc6bdc6cdc6ddc6edc6fdc70dc71dc72dc73dc74dc75dc76dc77dc78dc79dc7adc7bdc7cdc7ddc7edc7fdc80dc81dc82dc83dc84dc85dc86dc87dc88dc89dc8adc8bdc8cdc8ddc8edc8fdc90dc91dc92dc93dc94dc95dc96dc97dc98dc99dc9adc9bdc9cdc9ddc9edc9fdca0dca1dca2dca3dca4dca5dca6dca7dca8dca9dcaadcabdcacdcaddcaedcafdcb0dcb1dcb2dcb3dcb4dcb5dcb6dcb7dcb8dcb9dcbadcbbdcbcdcbddcbedcbfdcc0dcc1dcc2dcc3dcc4dcc5dcc6dcc7dcc8dcc9dccadccbdcccdccddccedccfdcd0dcd1dcd2dcd3dcd4dcd5dcd6dcd7dcd8dcd9dcdadcdbdcdcdcdddcdedcdfdce0dce1dce2dce3dce4dce5dce6dce7dce8dce9dceadcebdcecdceddceedcefdcf0dcf1dcf2dcf3dcf4dcf5dcf6dcf7dcf8dcf9dcfadcfbdcfcdcfddcfedcffdc00dd01dd02dd03dd04dd05dd06dd07dd08dd09dd0add0bdd0cdd0ddd0edd0fdd10dd11dd12dd13dd14dd15dd16dd17dd18dd19dd1add1bdd1cdd1ddd1edd1fdd20dd21dd22dd23dd24dd25dd26dd27dd28dd29dd2add2bdd2cdd2ddd2edd2fdd30dd31dd32dd33dd34dd35dd36dd37dd38dd39dd3add3bdd3cdd3ddd3edd3fdd40dd41dd42dd43dd44dd45dd46dd47dd48dd49dd4add4bdd4cdd4ddd4edd4fdd50dd51dd52dd53dd54dd55dd56dd57dd58dd59dd5add5bdd5cdd5ddd5edd5fdd60dd61dd62dd63dd64dd65dd66dd67dd68dd69dd6add6bdd6cdd6ddd6edd6fdd70dd71dd72dd73dd74dd75dd76dd77dd78dd79dd7add7bdd7cdd7ddd7edd7fdd80dd81dd82dd83dd84dd85dd86dd87dd88dd89dd8add8bdd8cdd8ddd8edd8fdd90dd91dd92dd93dd94dd95dd96dd97dd98dd99dd9add9bdd9cdd9ddd9edd9fdda0dda1dda2dda3dda4dda5dda6dda7dda8dda9ddaaddabddacddadddaeddafddb0ddb1ddb2ddb3ddb4ddb5ddb6ddb7ddb8ddb9ddbaddbbddbcddbdddbeddbfddc0ddc1ddc2ddc3ddc4ddc5ddc6ddc7ddc8ddc9ddcaddcbddccddcdddceddcfddd0ddd1ddd2ddd3ddd4ddd5ddd6ddd7ddd8ddd9dddadddbdddcdddddddedddfdde0dde1dde2dde3dde4dde5dde6dde7dde8dde9ddeaddebddecddedddeeddefddf0ddf1ddf2ddf3ddf4ddf5ddf6ddf7ddf8ddf9ddfaddfbddfcddfdddfeddffdd00de01de02de03de04de05de06de07de08de09de0ade0bde0cde0dde0ede0fde10de11de12de13de14de15de16de17de18de19de1ade1bde1cde1dde1ede1fde20de21de22de23de24de25de26de27de28de29de2ade2bde2cde2dde2ede2fde30de31de32de33de34de35de36de37de38de39de3ade3bde3cde3dde3ede3fde40de41de42de43de44de45de46de47de48de49de4ade4bde4cde4dde4ede4fde50de51de52de53de54de55de56de57de58de59de5ade5bde5cde5dde5ede5fde60de61de62de63de64de65de66de67de68de69de6ade6bde6cde6dde6ede6fde70de71de72de73de74de75de76de77de78de79de7ade7bde7cde7dde7ede7fde80de81de82de83de84de85de86de87de88de89de8ade8bde8cde8dde8ede8fde90de91de92de93de94de95de96de97de98de99de9ade9bde9cde9dde9ede9fdea0dea1dea2dea3dea4dea5dea6dea7dea8dea9deaadeabdeacdeaddeaedeafdeb0deb1deb2deb3deb4deb5deb6deb7deb8deb9debadebbdebcdebddebedebfdec0dec1dec2dec3dec4dec5dec6dec7dec8dec9decadecbdeccdecddecedecfded0ded1ded2ded3ded4ded5ded6ded7ded8ded9dedadedbdedcdedddedededfdee0dee1dee2dee3dee4dee5dee6dee7dee8dee9deeadeebdeecdeeddeeedeefdef0def1def2def3def4def5def6def7def8def9defadefbdefcdefddefedeffde00df01df02df03df04df05df06df07df08df09df0adf0bdf0cdf0ddf0edf0fdf10df11df12df13df14df15df16df17df18df19df1adf1bdf1cdf1ddf1edf1fdf20df21df22df23df24df25df26df27df28df29df2adf2bdf2cdf2ddf2edf2fdf30df31df32df33df34df35df36df37df38df39df3adf3bdf3cdf3ddf3edf3fdf40df41df42df43df44df45df46df47df48df49df4adf4bdf4cdf4ddf4edf4fdf50df51df52df53df54df55df56df57df58df59df5adf5bdf5cdf5ddf5edf5fdf60df61df62df63df64df65df66df67df68df69df6adf6bdf6cdf6ddf6edf6fdf70df71df72df73df74df75df76df77df78df79df7adf7bdf7cdf7ddf7edf7fdf80df81df82df83df84df85df86df87df88df89df8adf8bdf8cdf8ddf8edf8fdf90df91df92df93df94df95df96df97df98df99df9adf9bdf9cdf9ddf9edf9fdfa0dfa1dfa2dfa3dfa4dfa5dfa6dfa7dfa8dfa9dfaadfabdfacdfaddfaedfafdfb0dfb1dfb2dfb3dfb4dfb5dfb6dfb7dfb8dfb9dfbadfbbdfbcdfbddfbedfbfdfc0dfc1dfc2dfc3dfc4dfc5dfc6dfc7dfc8dfc9dfcadfcbdfccdfcddfcedfcfdfd0dfd1dfd2dfd3dfd4dfd5dfd6dfd7dfd8dfd9dfdadfdbdfdcdfdddfdedfdfdfe0dfe1dfe2dfe3dfe4dfe5dfe6dfe7dfe8dfe9dfeadfebdfecdfeddfeedfefdff0dff1dff2dff3dff4dff5dff6dff7dff8dff9dffadffbdffcdffddffedfffdf00e001e002e003e004e005e006e007e008e009e00ae00be00ce00de00ee00fe010e011e012e013e014e015e016e017e018e019e01ae01be01ce01de01ee01fe020e021e022e023e024e025e026e027e028e029e02ae02be02ce02de02ee02fe030e031e032e033e034e035e036e037e038e039e03ae03be03ce03de03ee03fe040e041e042e043e044e045e046e047e048e049e04ae04be04ce04de04ee04fe050e051e052e053e054e055e056e057e058e059e05ae05be05ce05de05ee05fe060e061e062e063e064e065e066e067e068e069e06ae06be06ce06de06ee06fe070e071e072e073e074e075e076e077e078e079e07ae07be07ce07de07ee07fe080e081e082e083e084e085e086e087e088e089e08ae08be08ce08de08ee08fe090e091e092e093e094e095e096e097e098e099e09ae09be09ce09de09ee09fe0a0e0a1e0a2e0a3e0a4e0a5e0a6e0a7e0a8e0a9e0aae0abe0ace0ade0aee0afe0b0e0b1e0b2e0b3e0b4e0b5e0b6e0b7e0b8e0b9e0bae0bbe0bce0bde0bee0bfe0c0e0c1e0c2e0c3e0c4e0c5e0c6e0c7e0c8e0c9e0cae0cbe0cce0cde0cee0cfe0d0e0d1e0d2e0d3e0d4e0d5e0d6e0d7e0d8e0d9e0dae0dbe0dce0dde0dee0dfe0e0e0e1e0e2e0e3e0e4e0e5e0e6e0e7e0e8e0e9e0eae0ebe0ece0ede0eee0efe0f0e0f1e0f2e0f3e0f4e0f5e0f6e0f7e0f8e0f9e0fae0fbe0fce0fde0fee0ffe000e101e102e103e104e105e106e107e108e109e10ae10be10ce10de10ee10fe110e111e112e113e114e115e116e117e118e119e11ae11be11ce11de11ee11fe120e121e122e123e124e125e126e127e128e129e12ae12be12ce12de12ee12fe130e131e132e133e134e135e136e137e138e139e13ae13be13ce13de13ee13fe140e141e142e143e144e145e146e147e148e149e14ae14be14ce14de14ee14fe150e151e152e153e154e155e156e157e158e159e15ae15be15ce15de15ee15fe160e161e162e163e164e165e166e167e168e169e16ae16be16ce16de16ee16fe170e171e172e173e174e175e176e177e178e179e17ae17be17ce17de17ee17fe180e181e182e183e184e185e186e187e188e189e18ae18be18ce18de18ee18fe190e191e192e193e194e195e196e197e198e199e19ae19be19ce19de19ee19fe1a0e1a1e1a2e1a3e1a4e1a5e1a6e1a7e1a8e1a9e1aae1abe1ace1ade1aee1afe1b0e1b1e1b2e1b3e1b4e1b5e1b6e1b7e1b8e1b9e1bae1bbe1bce1bde1bee1bfe1c0e1c1e1c2e1c3e1c4e1c5e1c6e1c7e1c8e1c9e1cae1cbe1cce1cde1cee1cfe1d0e1d1e1d2e1d3e1d4e1d5e1d6e1d7e1d8e1d9e1dae1dbe1dce1dde1dee1dfe1e0e1e1e1e2e1e3e1e4e1e5e1e6e1e7e1e8e1e9e1eae1ebe1ece1ede1eee1efe1f0e1f1e1f2e1f3e1f4e1f5e1f6e1f7e1f8e1f9e1fae1fbe1fce1fde1fee1ffe100e201e202e203e204e205e206e207e208e209e20ae20be20ce20de20ee20fe210e211e212e213e214e215e216e217e218e219e21ae21be21ce21de21ee21fe220e221e222e223e224e225e226e227e228e229e22ae22be22ce22de22ee22fe230e231e232e233e234e235e236e237e238e239e23ae23be23ce23de23ee23fe240e241e242e243e244e245e246e247e248e249e24ae24be24ce24de24ee24fe250e251e252e253e254e255e256e257e258e259e25ae25be25ce25de25ee25fe260e261e262e263e264e265e266e267e268e269e26ae26be26ce26de26ee26fe270e271e272e273e274e275e276e277e278e279e27ae27be27ce27de27ee27fe280e281e282e283e284e285e286e287e288e289e28ae28be28ce28de28ee28fe290e291e292e293e294e295e296e297e298e299e29ae29be29ce29de29ee29fe2a0e2a1e2a2e2a3e2a4e2a5e2a6e2a7e2a8e2a9e2aae2abe2ace2ade2aee2afe2b0e2b1e2b2e2b3e2b4e2b5e2b6e2b7e2b8e2b9e2bae2bbe2bce2bde2bee2bfe2c0e2c1e2c2e2c3e2c4e2c5e2c6e2c7e2c8e2c9e2cae2cbe2cce2cde2cee2cfe2d0e2d1e2d2e2d3e2d4e2d5e2d6e2d7e2d8e2d9e2dae2dbe2dce2dde2dee2dfe2e0e2e1e2e2e2e3e2e4e2e5e2e6e2e7e2e8e2e9e2eae2ebe2ece2ede2eee2efe2f0e2f1e2f2e2f3e2f4e2f5e2f6e2f7e2f8e2f9e2fae2fbe2fce2fde2fee2ffe200e301e302e303e304e305e306e307e308e309e30ae30be30ce30de30ee30fe310e311e312e313e314e315e316e317e318e319e31ae31be31ce31de31ee31fe320e321e322e323e324e325e326e327e328e329e32ae32be32ce32de32ee32fe330e331e332e333e334e335e336e337e338e339e33ae33be33ce33de33ee33fe340e341e342e343e344e345e346e347e348e349e34ae34be34ce34de34ee34fe350e351e352e353e354e355e356e357e358e359e35ae35be35ce35de35ee35fe360e361e362e363e364e365e366e367e368e369e36ae36be36ce36de36ee36fe370e371e372e373e374e375e376e377e378e379e37ae37be37ce37de37ee37fe380e381e382e383e384e385e386e387e388e389e38ae38be38ce38de38ee38fe390e391e392e393e394e395e396e397e398e399e39ae39be39ce39de39ee39fe3a0e3a1e3a2e3a3e3a4e3a5e3a6e3a7e3a8e3a9e3aae3abe3ace3ade3aee3afe3b0e3b1e3b2e3b3e3b4e3b5e3b6e3b7e3b8e3b9e3bae3bbe3bce3bde3bee3bfe3c0e3c1e3c2e3c3e3c4e3c5e3c6e3c7e3c8e3c9e3cae3cbe3cce3cde3cee3cfe3d0e3d1e3d2e3d3e3d4e3d5e3d6e3d7e3d8e3d9e3dae3dbe3dce3dde3dee3dfe3e0e3e1e3e2e3e3e3e4e3e5e3e6e3e7e3e8e3e9e3eae3ebe3ece3ede3eee3efe3f0e3f1e3f2e3f3e3f4e3f5e3f6e3f7e3f8e3f9e3fae3fbe3fce3fde3fee3ffe300e401e402e403e404e405e406e407e408e409e40ae40be40ce40de40ee40fe410e411e412e413e414e415e416e417e418e419e41ae41be41ce41de41ee41fe420e421e422e423e424e425e426e427e428e429e42ae42be42ce42de42ee42fe430e431e432e433e434e435e436e437e438e439e43ae43be43ce43de43ee43fe440e441e442e443e444e445e446e447e448e449e44ae44be44ce44de44ee44fe450e451e452e453e454e455e456e457e458e459e45ae45be45ce45de45ee45fe460e461e462e463e464e465e466e467e468e469e46ae46be46ce46de46ee46fe470e471e472e473e474e475e476e477e478e479e47ae47be47ce47de47ee47fe480e481e482e483e484e485e486e487e488e489e48ae48be48ce48de48ee48fe490e491e492e493e494e495e496e497e498e499e49ae49be49ce49de49ee49fe4a0e4a1e4a2e4a3e4a4e4a5e4a6e4a7e4a8e4a9e4aae4abe4ace4ade4aee4afe4b0e4b1e4b2e4b3e4b4e4b5e4b6e4b7e4b8e4b9e4bae4bbe4bce4bde4bee4bfe4c0e4c1e4c2e4c3e4c4e4c5e4c6e4c7e4c8e4c9e4cae4cbe4cce4cde4cee4cfe4d0e4d1e4d2e4d3e4d4e4d5e4d6e4d7e4d8e4d9e4dae4dbe4dce4dde4dee4dfe4e0e4e1e4e2e4e3e4e4e4e5e4e6e4e7e4e8e4e9e4eae4ebe4ece4ede4eee4efe4f0e4f1e4f2e4f3e4f4e4f5e4f6e4f7e4f8e4f9e4fae4fbe4fce4fde4fee4ffe400e501e502e503e504e505e506e507e508e509e50ae50be50ce50de50ee50fe510e511e512e513e514e515e516e517e518e519e51ae51be51ce51de51ee51fe520e521e522e523e524e525e526e527e528e529e52ae52be52ce52de52ee52fe530e531e532e533e534e535e536e537e538e539e53ae53be53ce53de53ee53fe540e541e542e543e544e545e546e547e548e549e54ae54be54ce54de54ee54fe550e551e552e553e554e555e556e557e558e559e55ae55be55ce55de55ee55fe560e561e562e563e564e565e566e567e568e569e56ae56be56ce56de56ee56fe570e571e572e573e574e575e576e577e578e579e57ae57be57ce57de57ee57fe580e581e582e583e584e585e586e587e588e589e58ae58be58ce58de58ee58fe590e591e592e593e594e595e596e597e598e599e59ae59be59ce59de59ee59fe5a0e5a1e5a2e5a3e5a4e5a5e5a6e5a7e5a8e5a9e5aae5abe5ace5ade5aee5afe5b0e5b1e5b2e5b3e5b4e5b5e5b6e5b7e5b8e5b9e5bae5bbe5bce5bde5bee5bfe5c0e5c1e5c2e5c3e5c4e5c5e5c6e5c7e5c8e5c9e5cae5cbe5cce5cde5cee5cfe5d0e5d1e5d2e5d3e5d4e5d5e5d6e5d7e5d8e5d9e5dae5dbe5dce5dde5dee5dfe5e0e5e1e5e2e5e3e5e4e5e5e5e6e5e7e5e8e5e9e5eae5ebe5ece5ede5eee5efe5f0e5f1e5f2e5f3e5f4e5f5e5f6e5f7e5f8e5f9e5fae5fbe5fce5fde5fee5ffe500e601e602e603e604e605e606e607e608e609e60ae60be60ce60de60ee60fe610e611e612e613e614e615e616e617e618e619e61ae61be61ce61de61ee61fe620e621e622e623e624e625e626e627e628e629e62ae62be62ce62de62ee62fe630e631e632e633e634e635e636e637e638e639e63ae63be63ce63de63ee63fe640e641e642e643e644e645e646e647e648e649e64ae64be64ce64de64ee64fe650e651e652e653e654e655e656e657e658e659e65ae65be65ce65de65ee65fe660e661e662e663e664e665e666e667e668e669e66ae66be66ce66de66ee66fe670e671e672e673e674e675e676e677e678e679e67ae67be67ce67de67ee67fe680e681e682e683e684e685e686e687e688e689e68ae68be68ce68de68ee68fe690e691e692e693e694e695e696e697e698e699e69ae69be69ce69de69ee69fe6a0e6a1e6a2e6a3e6a4e6a5e6a6e6a7e6a8e6a9e6aae6abe6ace6ade6aee6afe6b0e6b1e6b2e6b3e6b4e6b5e6b6e6b7e6b8e6b9e6bae6bbe6bce6bde6bee6bfe6c0e6c1e6c2e6c3e6c4e6c5e6c6e6c7e6c8e6c9e6cae6cbe6cce6cde6cee6cfe6d0e6d1e6d2e6d3e6d4e6d5e6d6e6d7e6d8e6d9e6dae6dbe6dce6dde6dee6dfe6e0e6e1e6e2e6e3e6e4e6e5e6e6e6e7e6e8e6e9e6eae6ebe6ece6ede6eee6efe6f0e6f1e6f2e6f3e6f4e6f5e6f6e6f7e6f8e6f9e6fae6fbe6fce6fde6fee6ffe600e701e702e703e704e705e706e707e708e709e70ae70be70ce70de70ee70fe710e711e712e713e714e715e716e717e718e719e71ae71be71ce71de71ee71fe720e721e722e723e724e725e726e727e728e729e72ae72be72ce72de72ee72fe730e731e732e733e734e735e736e737e738e739e73ae73be73ce73de73ee73fe740e741e742e743e744e745e746e747e748e749e74ae74be74ce74de74ee74fe750e751e752e753e754e755e756e757e758e759e75ae75be75ce75de75ee75fe760e761e762e763e764e765e766e767e768e769e76ae76be76ce76de76ee76fe770e771e772e773e774e775e776e777e778e779e77ae77be77ce77de77ee77fe780e781e782e783e784e785e786e787e788e789e78ae78be78ce78de78ee78fe790e791e792e793e794e795e796e797e798e799e79ae79be79ce79de79ee79fe7a0e7a1e7a2e7a3e7a4e7a5e7a6e7a7e7a8e7a9e7aae7abe7ace7ade7aee7afe7b0e7b1e7b2e7b3e7b4e7b5e7b6e7b7e7b8e7b9e7bae7bbe7bce7bde7bee7bfe7c0e7c1e7c2e7c3e7c4e7c5e7c6e7c7e7c8e7c9e7cae7cbe7cce7cde7cee7cfe7d0e7d1e7d2e7d3e7d4e7d5e7d6e7d7e7d8e7d9e7dae7dbe7dce7dde7dee7dfe7e0e7e1e7e2e7e3e7e4e7e5e7e6e7e7e7e8e7e9e7eae7ebe7ece7ede7eee7efe7f0e7f1e7f2e7f3e7f4e7f5e7f6e7f7e7f8e7f9e7fae7fbe7fce7fde7fee7ffe700e801e802e803e804e805e806e807e808e809e80ae80be80ce80de80ee80fe810e811e812e813e814e815e816e817e818e819e81ae81be81ce81de81ee81fe820e821e822e823e824e825e826e827e828e829e82ae82be82ce82de82ee82fe830e831e832e833e834e835e836e837e838e839e83ae83be83ce83de83ee83fe840e841e842e843e844e845e846e847e848e849e84ae84be84ce84de84ee84fe850e851e852e853e854e855e856e857e858e859e85ae85be85ce85de85ee85fe860e861e862e863e864e865e866e867e868e869e86ae86be86ce86de86ee86fe870e871e872e873e874e875e876e877e878e879e87ae87be87ce87de87ee87fe880e881e882e883e884e885e886e887e888e889e88ae88be88ce88de88ee88fe890e891e892e893e894e895e896e897e898e899e89ae89be89ce89de89ee89fe8a0e8a1e8a2e8a3e8a4e8a5e8a6e8a7e8a8e8a9e8aae8abe8ace8ade8aee8afe8b0e8b1e8b2e8b3e8b4e8b5e8b6e8b7e8b8e8b9e8bae8bbe8bce8bde8bee8bfe8c0e8c1e8c2e8c3e8c4e8c5e8c6e8c7e8c8e8c9e8cae8cbe8cce8cde8cee8cfe8d0e8d1e8d2e8d3e8d4e8d5e8d6e8d7e8d8e8d9e8dae8dbe8dce8dde8dee8dfe8e0e8e1e8e2e8e3e8e4e8e5e8e6e8e7e8e8e8e9e8eae8ebe8ece8ede8eee8efe8f0e8f1e8f2e8f3e8f4e8f5e8f6e8f7e8f8e8f9e8fae8fbe8fce8fde8fee8ffe800e901e902e903e904e905e906e907e908e909e90ae90be90ce90de90ee90fe910e911e912e913e914e915e916e917e918e919e91ae91be91ce91de91ee91fe920e921e922e923e924e925e926e927e928e929e92ae92be92ce92de92ee92fe930e931e932e933e934e935e936e937e938e939e93ae93be93ce93de93ee93fe940e941e942e943e944e945e946e947e948e949e94ae94be94ce94de94ee94fe950e951e952e953e954e955e956e957e958e959e95ae95be95ce95de95ee95fe960e961e962e963e964e965e966e967e968e969e96ae96be96ce96de96ee96fe970e971e972e973e974e975e976e977e978e979e97ae97be97ce97de97ee97fe980e981e982e983e984e985e986e987e988e989e98ae98be98ce98de98ee98fe990e991e992e993e994e995e996e997e998e999e99ae99be99ce99de99ee99fe9a0e9a1e9a2e9a3e9a4e9a5e9a6e9a7e9a8e9a9e9aae9abe9ace9ade9aee9afe9b0e9b1e9b2e9b3e9b4e9b5e9b6e9b7e9b8e9b9e9bae9bbe9bce9bde9bee9bfe9c0e9c1e9c2e9c3e9c4e9c5e9c6e9c7e9c8e9c9e9cae9cbe9cce9cde9cee9cfe9d0e9d1e9d2e9d3e9d4e9d5e9d6e9d7e9d8e9d9e9dae9dbe9dce9dde9dee9dfe9e0e9e1e9e2e9e3e9e4e9e5e9e6e9e7e9e8e9e9e9eae9ebe9ece9ede9eee9efe9f0e9f1e9f2e9f3e9f4e9f5e9f6e9f7e9f8e9f9e9fae9fbe9fce9fde9fee9ffe900ea01ea02ea03ea04ea05ea06ea07ea08ea09ea0aea0bea0cea0dea0eea0fea10ea11ea12ea13ea14ea15ea16ea17ea18ea19ea1aea1bea1cea1dea1eea1fea20ea21ea22ea23ea24ea25ea26ea27ea28ea29ea2aea2bea2cea2dea2eea2fea30ea31ea32ea33ea34ea35ea36ea37ea38ea39ea3aea3bea3cea3dea3eea3fea40ea41ea42ea43ea44ea45ea46ea47ea48ea49ea4aea4bea4cea4dea4eea4fea50ea51ea52ea53ea54ea55ea56ea57ea58ea59ea5aea5bea5cea5dea5eea5fea60ea61ea62ea63ea64ea65ea66ea67ea68ea69ea6aea6bea6cea6dea6eea6fea70ea71ea72ea73ea74ea75ea76ea77ea78ea79ea7aea7bea7cea7dea7eea7fea80ea81ea82ea83ea84ea85ea86ea87ea88ea89ea8aea8bea8cea8dea8eea8fea90ea91ea92ea93ea94ea95ea96ea97ea98ea99ea9aea9bea9cea9dea9eea9feaa0eaa1eaa2eaa3eaa4eaa5eaa6eaa7eaa8eaa9eaaaeaabeaaceaadeaaeeaafeab0eab1eab2eab3eab4eab5eab6eab7eab8eab9eabaeabbeabceabdeabeeabfeac0eac1eac2eac3eac4eac5eac6eac7eac8eac9eacaeacbeacceacdeaceeacfead0ead1ead2ead3ead4ead5ead6ead7ead8ead9eadaeadbeadceaddeadeeadfeae0eae1eae2eae3eae4eae5eae6eae7eae8eae9eaeaeaebeaeceaedeaeeeaefeaf0eaf1eaf2eaf3eaf4eaf5eaf6eaf7eaf8eaf9eafaeafbeafceafdeafeeaffea00eb01eb02eb03eb04eb05eb06eb07eb08eb09eb0aeb0beb0ceb0deb0eeb0feb10eb11eb12eb13eb14eb15eb16eb17eb18eb19eb1aeb1beb1ceb1deb1eeb1feb20eb21eb22eb23eb24eb25eb26eb27eb28eb29eb2aeb2beb2ceb2deb2eeb2feb30eb31eb32eb33eb34eb35eb36eb37eb38eb39eb3aeb3beb3ceb3deb3eeb3feb40eb41eb42eb43eb44eb45eb46eb47eb48eb49eb4aeb4beb4ceb4deb4eeb4feb50eb51eb52eb53eb54eb55eb56eb57eb58eb59eb5aeb5beb5ceb5deb5eeb5feb60eb61eb62eb63eb64eb65eb66eb67eb68eb69eb6aeb6beb6ceb6deb6eeb6feb70eb71eb72eb73eb74eb75eb76eb77eb78eb79eb7aeb7beb7ceb7deb7eeb7feb80eb81eb82eb83eb84eb85eb86eb87eb88eb89eb8aeb8beb8ceb8deb8eeb8feb90eb91eb92eb93eb94eb95eb96eb97eb98eb99eb9aeb9beb9ceb9deb9eeb9feba0eba1eba2eba3eba4eba5eba6eba7eba8eba9ebaaebabebacebadebaeebafebb0ebb1ebb2ebb3ebb4ebb5ebb6ebb7ebb8ebb9ebbaebbbebbcebbdebbeebbfebc0ebc1ebc2ebc3ebc4ebc5ebc6ebc7ebc8ebc9ebcaebcbebccebcdebceebcfebd0ebd1ebd2ebd3ebd4ebd5ebd6ebd7ebd8ebd9ebdaebdbebdcebddebdeebdfebe0ebe1ebe2ebe3ebe4ebe5ebe6ebe7ebe8ebe9ebeaebebebecebedebeeebefebf0ebf1ebf2ebf3ebf4ebf5ebf6ebf7ebf8ebf9ebfaebfbebfcebfdebfeebffeb00ec01ec02ec03ec04ec05ec06ec07ec08ec09ec0aec0bec0cec0dec0eec0fec10ec11ec12ec13ec14ec15ec16ec17ec18ec19ec1aec1bec1cec1dec1eec1fec20ec21ec22ec23ec24ec25ec26ec27ec28ec29ec2aec2bec2cec2dec2eec2fec30ec31ec32ec33ec34ec35ec36ec37ec38ec39ec3aec3bec3cec3dec3eec3fec40ec41ec42ec43ec44ec45ec46ec47ec48ec49ec4aec4bec4cec4dec4eec4fec50ec51ec52ec53ec54ec55ec56ec57ec58ec59ec5aec5bec5cec5dec5eec5fec60ec61ec62ec63ec64ec65ec66ec67ec68ec69ec6aec6bec6cec6dec6eec6fec70ec71ec72ec73ec74ec75ec76ec77ec78ec79ec7aec7bec7cec7dec7eec7fec80ec81ec82ec83ec84ec85ec86ec87ec88ec89ec8aec8bec8cec8dec8eec8fec90ec91ec92ec93ec94ec95ec96ec97ec98ec99ec9aec9bec9cec9dec9eec9feca0eca1eca2eca3eca4eca5eca6eca7eca8eca9ecaaecabecacecadecaeecafecb0ecb1ecb2ecb3ecb4ecb5ecb6ecb7ecb8ecb9ecbaecbbecbcecbdecbeecbfecc0ecc1ecc2ecc3ecc4ecc5ecc6ecc7ecc8ecc9eccaeccbeccceccdecceeccfecd0ecd1ecd2ecd3ecd4ecd5ecd6ecd7ecd8ecd9ecdaecdbecdcecddecdeecdfece0ece1ece2ece3ece4ece5ece6ece7ece8ece9eceaecebecececedeceeecefecf0ecf1ecf2ecf3ecf4ecf5ecf6ecf7ecf8ecf9ecfaecfbecfcecfdecfeecffec00ed01ed02ed03ed04ed05ed06ed07ed08ed09ed0aed0bed0ced0ded0eed0fed10ed11ed12ed13ed14ed15ed16ed17ed18ed19ed1aed1bed1ced1ded1eed1fed20ed21ed22ed23ed24ed25ed26ed27ed28ed29ed2aed2bed2ced2ded2eed2fed30ed31ed32ed33ed34ed35ed36ed37ed38ed39ed3aed3bed3ced3ded3eed3fed40ed41ed42ed43ed44ed45ed46ed47ed48ed49ed4aed4bed4ced4ded4eed4fed50ed51ed52ed53ed54ed55ed56ed57ed58ed59ed5aed5bed5ced5ded5eed5fed60ed61ed62ed63ed64ed65ed66ed67ed68ed69ed6aed6bed6ced6ded6eed6fed70ed71ed72ed73ed74ed75ed76ed77ed78ed79ed7aed7bed7ced7ded7eed7fed80ed81ed82ed83ed84ed85ed86ed87ed88ed89ed8aed8bed8ced8ded8eed8fed90ed91ed92ed93ed94ed95ed96ed97ed98ed99ed9aed9bed9ced9ded9eed9feda0eda1eda2eda3eda4eda5eda6eda7eda8eda9edaaedabedacedadedaeedafedb0edb1edb2edb3edb4edb5edb6edb7edb8edb9edbaedbbedbcedbdedbeedbfedc0edc1edc2edc3edc4edc5edc6edc7edc8edc9edcaedcbedccedcdedceedcfedd0edd1edd2edd3edd4edd5edd6edd7edd8edd9eddaeddbeddcedddeddeeddfede0ede1ede2ede3ede4ede5ede6ede7ede8ede9edeaedebedecedededeeedefedf0edf1edf2edf3edf4edf5edf6edf7edf8edf9edfaedfbedfcedfdedfeedffed00ee01ee02ee03ee04ee05ee06ee07ee08ee09ee0aee0bee0cee0dee0eee0fee10ee11ee12ee13ee14ee15ee16ee17ee18ee19ee1aee1bee1cee1dee1eee1fee20ee21ee22ee23ee24ee25ee26ee27ee28ee29ee2aee2bee2cee2dee2eee2fee30ee31ee32ee33ee34ee35ee36ee37ee38ee39ee3aee3bee3cee3dee3eee3fee40ee41ee42ee43ee44ee45ee46ee47ee48ee49ee4aee4bee4cee4dee4eee4fee50ee51ee52ee53ee54ee55ee56ee57ee58ee59ee5aee5bee5cee5dee5eee5fee60ee61ee62ee63ee64ee65ee66ee67ee68ee69ee6aee6bee6cee6dee6eee6fee70ee71ee72ee73ee74ee75ee76ee77ee78ee79ee7aee7bee7cee7dee7eee7fee80ee81ee82ee83ee84ee85ee86ee87ee88ee89ee8aee8bee8cee8dee8eee8fee90ee91ee92ee93ee94ee95ee96ee97ee98ee99ee9aee9bee9cee9dee9eee9feea0eea1eea2eea3eea4eea5eea6eea7eea8eea9eeaaeeabeeaceeadeeaeeeafeeb0eeb1eeb2eeb3eeb4eeb5eeb6eeb7eeb8eeb9eebaeebbeebceebdeebeeebfeec0eec1eec2eec3eec4eec5eec6eec7eec8eec9eecaeecbeecceecdeeceeecfeed0eed1eed2eed3eed4eed5eed6eed7eed8eed9eedaeedbeedceeddeedeeedfeee0eee1eee2eee3eee4eee5eee6eee7eee8eee9eeeaeeebeeeceeedeeeeeeefeef0eef1eef2eef3eef4eef5eef6eef7eef8eef9eefaeefbeefceefdeefeeeffee00ef01ef02ef03ef04ef05ef06ef07ef08ef09ef0aef0bef0cef0def0eef0fef10ef11ef12ef13ef14ef15ef16ef17ef18ef19ef1aef1bef1cef1def1eef1fef20ef21ef22ef23ef24ef25ef26ef27ef28ef29ef2aef2bef2cef2def2eef2fef30ef31ef32ef33ef34ef35ef36ef37ef38ef39ef3aef3bef3cef3def3eef3fef40ef41ef42ef43ef44ef45ef46ef47ef48ef49ef4aef4bef4cef4def4eef4fef50ef51ef52ef53ef54ef55ef56ef57ef58ef59ef5aef5bef5cef5def5eef5fef60ef61ef62ef63ef64ef65ef66ef67ef68ef69ef6aef6bef6cef6def6eef6fef70ef71ef72ef73ef74ef75ef76ef77ef78ef79ef7aef7bef7cef7def7eef7fef80ef81ef82ef83ef84ef85ef86ef87ef88ef89ef8aef8bef8cef8def8eef8fef90ef91ef92ef93ef94ef95ef96ef97ef98ef99ef9aef9bef9cef9def9eef9fefa0efa1efa2efa3efa4efa5efa6efa7efa8efa9efaaefabefacefadefaeefafefb0efb1efb2efb3efb4efb5efb6efb7efb8efb9efbaefbbefbcefbdefbeefbfefc0efc1efc2efc3efc4efc5efc6efc7efc8efc9efcaefcbefccefcdefceefcfefd0efd1efd2efd3efd4efd5efd6efd7efd8efd9efdaefdbefdcefddefdeefdfefe0efe1efe2efe3efe4efe5efe6efe7efe8efe9efeaefebefecefedefeeefefeff0eff1eff2eff3eff4eff5eff6eff7eff8eff9effaeffbeffceffdeffeefffef00f001f002f003f004f005f006f007f008f009f00af00bf00cf00df00ef00ff010f011f012f013f014f015f016f017f018f019f01af01bf01cf01df01ef01ff020f021f022f023f024f025f026f027f028f029f02af02bf02cf02df02ef02ff030f031f032f033f034f035f036f037f038f039f03af03bf03cf03df03ef03ff040f041f042f043f044f045f046f047f048f049f04af04bf04cf04df04ef04ff050f051f052f053f054f055f056f057f058f059f05af05bf05cf05df05ef05ff060f061f062f063f064f065f066f067f068f069f06af06bf06cf06df06ef06ff070f071f072f073f074f075f076f077f078f079f07af07bf07cf07df07ef07ff080f081f082f083f084f085f086f087f088f089f08af08bf08cf08df08ef08ff090f091f092f093f094f095f096f097f098f099f09af09bf09cf09df09ef09ff0a0f0a1f0a2f0a3f0a4f0a5f0a6f0a7f0a8f0a9f0aaf0abf0acf0adf0aef0aff0b0f0b1f0b2f0b3f0b4f0b5f0b6f0b7f0b8f0b9f0baf0bbf0bcf0bdf0bef0bff0c0f0c1f0c2f0c3f0c4f0c5f0c6f0c7f0c8f0c9f0caf0cbf0ccf0cdf0cef0cff0d0f0d1f0d2f0d3f0d4f0d5f0d6f0d7f0d8f0d9f0daf0dbf0dcf0ddf0def0dff0e0f0e1f0e2f0e3f0e4f0e5f0e6f0e7f0e8f0e9f0eaf0ebf0ecf0edf0eef0eff0f0f0f1f0f2f0f3f0f4f0f5f0f6f0f7f0f8f0f9f0faf0fbf0fcf0fdf0fef0fff000f101f102f103f104f105f106f107f108f109f10af10bf10cf10df10ef10ff110f111f112f113f114f115f116f117f118f119f11af11bf11cf11df11ef11ff120f121f122f123f124f125f126f127f128f129f12af12bf12cf12df12ef12ff130f131f132f133f134f135f136f137f138f139f13af13bf13cf13df13ef13ff140f141f142f143f144f145f146f147f148f149f14af14bf14cf14df14ef14ff150f151f152f153f154f155f156f157f158f159f15af15bf15cf15df15ef15ff160f161f162f163f164f165f166f167f168f169f16af16bf16cf16df16ef16ff170f171f172f173f174f175f176f177f178f179f17af17bf17cf17df17ef17ff180f181f182f183f184f185f186f187f188f189f18af18bf18cf18df18ef18ff190f191f192f193f194f195f196f197f198f199f19af19bf19cf19df19ef19ff1a0f1a1f1a2f1a3f1a4f1a5f1a6f1a7f1a8f1a9f1aaf1abf1acf1adf1aef1aff1b0f1b1f1b2f1b3f1b4f1b5f1b6f1b7f1b8f1b9f1baf1bbf1bcf1bdf1bef1bff1c0f1c1f1c2f1c3f1c4f1c5f1c6f1c7f1c8f1c9f1caf1cbf1ccf1cdf1cef1cff1d0f1d1f1d2f1d3f1d4f1d5f1d6f1d7f1d8f1d9f1daf1dbf1dcf1ddf1def1dff1e0f1e1f1e2f1e3f1e4f1e5f1e6f1e7f1e8f1e9f1eaf1ebf1ecf1edf1eef1eff1f0f1f1f1f2f1f3f1f4f1f5f1f6f1f7f1f8f1f9f1faf1fbf1fcf1fdf1fef1fff100f201f202f203f204f205f206f207f208f209f20af20bf20cf20df20ef20ff210f211f212f213f214f215f216f217f218f219f21af21bf21cf21df21ef21ff220f221f222f223f224f225f226f227f228f229f22af22bf22cf22df22ef22ff230f231f232f233f234f235f236f237f238f239f23af23bf23cf23df23ef23ff240f241f242f243f244f245f246f247f248f249f24af24bf24cf24df24ef24ff250f251f252f253f254f255f256f257f258f259f25af25bf25cf25df25ef25ff260f261f262f263f264f265f266f267f268f269f26af26bf26cf26df26ef26ff270f271f272f273f274f275f276f277f278f279f27af27bf27cf27df27ef27ff280f281f282f283f284f285f286f287f288f289f28af28bf28cf28df28ef28ff290f291f292f293f294f295f296f297f298f299f29af29bf29cf29df29ef29ff2a0f2a1f2a2f2a3f2a4f2a5f2a6f2a7f2a8f2a9f2aaf2abf2acf2adf2aef2aff2b0f2b1f2b2f2b3f2b4f2b5f2b6f2b7f2b8f2b9f2baf2bbf2bcf2bdf2bef2bff2c0f2c1f2c2f2c3f2c4f2c5f2c6f2c7f2c8f2c9f2caf2cbf2ccf2cdf2cef2cff2d0f2d1f2d2f2d3f2d4f2d5f2d6f2d7f2d8f2d9f2daf2dbf2dcf2ddf2def2dff2e0f2e1f2e2f2e3f2e4f2e5f2e6f2e7f2e8f2e9f2eaf2ebf2ecf2edf2eef2eff2f0f2f1f2f2f2f3f2f4f2f5f2f6f2f7f2f8f2f9f2faf2fbf2fcf2fdf2fef2fff200f301f302f303f304f305f306f307f308f309f30af30bf30cf30df30ef30ff310f311f312f313f314f315f316f317f318f319f31af31bf31cf31df31ef31ff320f321f322f323f324f325f326f327f328f329f32af32bf32cf32df32ef32ff330f331f332f333f334f335f336f337f338f339f33af33bf33cf33df33ef33ff340f341f342f343f344f345f346f347f348f349f34af34bf34cf34df34ef34ff350f351f352f353f354f355f356f357f358f359f35af35bf35cf35df35ef35ff360f361f362f363f364f365f366f367f368f369f36af36bf36cf36df36ef36ff370f371f372f373f374f375f376f377f378f379f37af37bf37cf37df37ef37ff380f381f382f383f384f385f386f387f388f389f38af38bf38cf38df38ef38ff390f391f392f393f394f395f396f397f398f399f39af39bf39cf39df39ef39ff3a0f3a1f3a2f3a3f3a4f3a5f3a6f3a7f3a8f3a9f3aaf3abf3acf3adf3aef3aff3b0f3b1f3b2f3b3f3b4f3b5f3b6f3b7f3b8f3b9f3baf3bbf3bcf3bdf3bef3bff3c0f3c1f3c2f3c3f3c4f3c5f3c6f3c7f3c8f3c9f3caf3cbf3ccf3cdf3cef3cff3d0f3d1f3d2f3d3f3d4f3d5f3d6f3d7f3d8f3d9f3daf3dbf3dcf3ddf3def3dff3e0f3e1f3e2f3e3f3e4f3e5f3e6f3e7f3e8f3e9f3eaf3ebf3ecf3edf3eef3eff3f0f3f1f3f2f3f3f3f4f3f5f3f6f3f7f3f8f3f9f3faf3fbf3fcf3fdf3fef3fff300f401f402f403f404f405f406f407f408f409f40af40bf40cf40df40ef40ff410f411f412f413f414f415f416f417f418f419f41af41bf41cf41df41ef41ff420f421f422f423f424f425f426f427f428f429f42af42bf42cf42df42ef42ff430f431f432f433f434f435f436f437f438f439f43af43bf43cf43df43ef43ff440f441f442f443f444f445f446f447f448f449f44af44bf44cf44df44ef44ff450f451f452f453f454f455f456f457f458f459f45af45bf45cf45df45ef45ff460f461f462f463f464f465f466f467f468f469f46af46bf46cf46df46ef46ff470f471f472f473f474f475f476f477f478f479f47af47bf47cf47df47ef47ff480f481f482f483f484f485f486f487f488f489f48af48bf48cf48df48ef48ff490f491f492f493f494f495f496f497f498f499f49af49bf49cf49df49ef49ff4a0f4a1f4a2f4a3f4a4f4a5f4a6f4a7f4a8f4a9f4aaf4abf4acf4adf4aef4aff4b0f4b1f4b2f4b3f4b4f4b5f4b6f4b7f4b8f4b9f4baf4bbf4bcf4bdf4bef4bff4c0f4c1f4c2f4c3f4c4f4c5f4c6f4c7f4c8f4c9f4caf4cbf4ccf4cdf4cef4cff4d0f4d1f4d2f4d3f4d4f4d5f4d6f4d7f4d8f4d9f4daf4dbf4dcf4ddf4def4dff4e0f4e1f4e2f4e3f4e4f4e5f4e6f4e7f4e8f4e9f4eaf4ebf4ecf4edf4eef4eff4f0f4f1f4f2f4f3f4f4f4f5f4f6f4f7f4f8f4f9f4faf4fbf4fcf4fdf4fef4fff400f501f502f503f504f505f506f507f508f509f50af50bf50cf50df50ef50ff510f511f512f513f514f515f516f517f518f519f51af51bf51cf51df51ef51ff520f521f522f523f524f525f526f527f528f529f52af52bf52cf52df52ef52ff530f531f532f533f534f535f536f537f538f539f53af53bf53cf53df53ef53ff540f541f542f543f544f545f546f547f548f549f54af54bf54cf54df54ef54ff550f551f552f553f554f555f556f557f558f559f55af55bf55cf55df55ef55ff560f561f562f563f564f565f566f567f568f569f56af56bf56cf56df56ef56ff570f571f572f573f574f575f576f577f578f579f57af57bf57cf57df57ef57ff580f581f582f583f584f585f586f587f588f589f58af58bf58cf58df58ef58ff590f591f592f593f594f595f596f597f598f599f59af59bf59cf59df59ef59ff5a0f5a1f5a2f5a3f5a4f5a5f5a6f5a7f5a8f5a9f5aaf5abf5acf5adf5aef5aff5b0f5b1f5b2f5b3f5b4f5b5f5b6f5b7f5b8f5b9f5baf5bbf5bcf5bdf5bef5bff5c0f5c1f5c2f5c3f5c4f5c5f5c6f5c7f5c8f5c9f5caf5cbf5ccf5cdf5cef5cff5d0f5d1f5d2f5d3f5d4f5d5f5d6f5d7f5d8f5d9f5daf5dbf5dcf5ddf5def5dff5e0f5e1f5e2f5e3f5e4f5e5f5e6f5e7f5e8f5e9f5eaf5ebf5ecf5edf5eef5eff5f0f5f1f5f2f5f3f5f4f5f5f5f6f5f7f5f8f5f9f5faf5fbf5fcf5fdf5fef5fff500f601f602f603f604f605f606f607f608f609f60af60bf60cf60df60ef60ff610f611f612f613f614f615f616f617f618f619f61af61bf61cf61df61ef61ff620f621f622f623f624f625f626f627f628f629f62af62bf62cf62df62ef62ff630f631f632f633f634f635f636f637f638f639f63af63bf63cf63df63ef63ff640f641f642f643f644f645f646f647f648f649f64af64bf64cf64df64ef64ff650f651f652f653f654f655f656f657f658f659f65af65bf65cf65df65ef65ff660f661f662f663f664f665f666f667f668f669f66af66bf66cf66df66ef66ff670f671f672f673f674f675f676f677f678f679f67af67bf67cf67df67ef67ff680f681f682f683f684f685f686f687f688f689f68af68bf68cf68df68ef68ff690f691f692f693f694f695f696f697f698f699f69af69bf69cf69df69ef69ff6a0f6a1f6a2f6a3f6a4f6a5f6a6f6a7f6a8f6a9f6aaf6abf6acf6adf6aef6aff6b0f6b1f6b2f6b3f6b4f6b5f6b6f6b7f6b8f6b9f6baf6bbf6bcf6bdf6bef6bff6c0f6c1f6c2f6c3f6c4f6c5f6c6f6c7f6c8f6c9f6caf6cbf6ccf6cdf6cef6cff6d0f6d1f6d2f6d3f6d4f6d5f6d6f6d7f6d8f6d9f6daf6dbf6dcf6ddf6def6dff6e0f6e1f6e2f6e3f6e4f6e5f6e6f6e7f6e8f6e9f6eaf6ebf6ecf6edf6eef6eff6f0f6f1f6f2f6f3f6f4f6f5f6f6f6f7f6f8f6f9f6faf6fbf6fcf6fdf6fef6fff600f701f702f703f704f705f706f707f708f709f70af70bf70cf70df70ef70ff710f711f712f713f714f715f716f717f718f719f71af71bf71cf71df71ef71ff720f721f722f723f724f725f726f727f728f729f72af72bf72cf72df72ef72ff730f731f732f733f734f735f736f737f738f739f73af73bf73cf73df73ef73ff740f741f742f743f744f745f746f747f748f749f74af74bf74cf74df74ef74ff750f751f752f753f754f755f756f757f758f759f75af75bf75cf75df75ef75ff760f761f762f763f764f765f766f767f768f769f76af76bf76cf76df76ef76ff770f771f772f773f774f775f776f777f778f779f77af77bf77cf77df77ef77ff780f781f782f783f784f785f786f787f788f789f78af78bf78cf78df78ef78ff790f791f792f793f794f795f796f797f798f799f79af79bf79cf79df79ef79ff7a0f7a1f7a2f7a3f7a4f7a5f7a6f7a7f7a8f7a9f7aaf7abf7acf7adf7aef7aff7b0f7b1f7b2f7b3f7b4f7b5f7b6f7b7f7b8f7b9f7baf7bbf7bcf7bdf7bef7bff7c0f7c1f7c2f7c3f7c4f7c5f7c6f7c7f7c8f7c9f7caf7cbf7ccf7cdf7cef7cff7d0f7d1f7d2f7d3f7d4f7d5f7d6f7d7f7d8f7d9f7daf7dbf7dcf7ddf7def7dff7e0f7e1f7e2f7e3f7e4f7e5f7e6f7e7f7e8f7e9f7eaf7ebf7ecf7edf7eef7eff7f0f7f1f7f2f7f3f7f4f7f5f7f6f7f7f7f8f7f9f7faf7fbf7fcf7fdf7fef7fff700f801f802f803f804f805f806f807f808f809f80af80bf80cf80df80ef80ff810f811f812f813f814f815f816f817f818f819f81af81bf81cf81df81ef81ff820f821f822f823f824f825f826f827f828f829f82af82bf82cf82df82ef82ff830f831f832f833f834f835f836f837f838f839f83af83bf83cf83df83ef83ff840f841f842f843f844f845f846f847f848f849f84af84bf84cf84df84ef84ff850f851f852f853f854f855f856f857f858f859f85af85bf85cf85df85ef85ff860f861f862f863f864f865f866f867f868f869f86af86bf86cf86df86ef86ff870f871f872f873f874f875f876f877f878f879f87af87bf87cf87df87ef87ff880f881f882f883f884f885f886f887f888f889f88af88bf88cf88df88ef88ff890f891f892f893f894f895f896f897f898f899f89af89bf89cf89df89ef89ff8a0f8a1f8a2f8a3f8a4f8a5f8a6f8a7f8a8f8a9f8aaf8abf8acf8adf8aef8aff8b0f8b1f8b2f8b3f8b4f8b5f8b6f8b7f8b8f8b9f8baf8bbf8bcf8bdf8bef8bff8c0f8c1f8c2f8c3f8c4f8c5f8c6f8c7f8c8f8c9f8caf8cbf8ccf8cdf8cef8cff8d0f8d1f8d2f8d3f8d4f8d5f8d6f8d7f8d8f8d9f8daf8dbf8dcf8ddf8def8dff8e0f8e1f8e2f8e3f8e4f8e5f8e6f8e7f8e8f8e9f8eaf8ebf8ecf8edf8eef8eff8f0f8f1f8f2f8f3f8f4f8f5f8f6f8f7f8f8f8f9f8faf8fbf8fcf8fdf8fef8fff800f901f902f903f904f905f906f907f908f909f90af90bf90cf90df90ef90ff910f911f912f913f914f915f916f917f918f919f91af91bf91cf91df91ef91ff920f921f922f923f924f925f926f927f928f929f92af92bf92cf92df92ef92ff930f931f932f933f934f935f936f937f938f939f93af93bf93cf93df93ef93ff940f941f942f943f944f945f946f947f948f949f94af94bf94cf94df94ef94ff950f951f952f953f954f955f956f957f958f959f95af95bf95cf95df95ef95ff960f961f962f963f964f965f966f967f968f969f96af96bf96cf96df96ef96ff970f971f972f973f974f975f976f977f978f979f97af97bf97cf97df97ef97ff980f981f982f983f984f985f986f987f988f989f98af98bf98cf98df98ef98ff990f991f992f993f994f995f996f997f998f999f99af99bf99cf99df99ef99ff9a0f9a1f9a2f9a3f9a4f9a5f9a6f9a7f9a8f9a9f9aaf9abf9acf9adf9aef9aff9b0f9b1f9b2f9b3f9b4f9b5f9b6f9b7f9b8f9b9f9baf9bbf9bcf9bdf9bef9bff9c0f9c1f9c2f9c3f9c4f9c5f9c6f9c7f9c8f9c9f9caf9cbf9ccf9cdf9cef9cff9d0f9d1f9d2f9d3f9d4f9d5f9d6f9d7f9d8f9d9f9daf9dbf9dcf9ddf9def9dff9e0f9e1f9e2f9e3f9e4f9e5f9e6f9e7f9e8f9e9f9eaf9ebf9ecf9edf9eef9eff9f0f9f1f9f2f9f3f9f4f9f5f9f6f9f7f9f8f9f9f9faf9fbf9fcf9fdf9fef9fff900fa01fa02fa03fa04fa05fa06fa07fa08fa09fa0afa0bfa0cfa0dfa0efa0ffa10fa11fa12fa13fa14fa15fa16fa17fa18fa19fa1afa1bfa1cfa1dfa1efa1ffa20fa21fa22fa23fa24fa25fa26fa27fa28fa29fa2afa2bfa2cfa2dfa2efa2ffa30fa31fa32fa33fa34fa35fa36fa37fa38fa39fa3afa3bfa3cfa3dfa3efa3ffa40fa41fa42fa43fa44fa45fa46fa47fa48fa49fa4afa4bfa4cfa4dfa4efa4ffa50fa51fa52fa53fa54fa55fa56fa57fa58fa59fa5afa5bfa5cfa5dfa5efa5ffa60fa61fa62fa63fa64fa65fa66fa67fa68fa69fa6afa6bfa6cfa6dfa6efa6ffa70fa71fa72fa73fa74fa75fa76fa77fa78fa79fa7afa7bfa7cfa7dfa7efa7ffa80fa81fa82fa83fa84fa85fa86fa87fa88fa89fa8afa8bfa8cfa8dfa8efa8ffa90fa91fa92fa93fa94fa95fa96fa97fa98fa99fa9afa9bfa9cfa9dfa9efa9ffaa0faa1faa2faa3faa4faa5faa6faa7faa8faa9faaafaabfaacfaadfaaefaaffab0fab1fab2fab3fab4fab5fab6fab7fab8fab9fabafabbfabcfabdfabefabffac0fac1fac2fac3fac4fac5fac6fac7fac8fac9facafacbfaccfacdfacefacffad0fad1fad2fad3fad4fad5fad6fad7fad8fad9fadafadbfadcfaddfadefadffae0fae1fae2fae3fae4fae5fae6fae7fae8fae9faeafaebfaecfaedfaeefaeffaf0faf1faf2faf3faf4faf5faf6faf7faf8faf9fafafafbfafcfafdfafefafffa00fb01fb02fb03fb04fb05fb06fb07fb08fb09fb0afb0bfb0cfb0dfb0efb0ffb10fb11fb12fb13fb14fb15fb16fb17fb18fb19fb1afb1bfb1cfb1dfb1efb1ffb20fb21fb22fb23fb24fb25fb26fb27fb28fb29fb2afb2bfb2cfb2dfb2efb2ffb30fb31fb32fb33fb34fb35fb36fb37fb38fb39fb3afb3bfb3cfb3dfb3efb3ffb40fb41fb42fb43fb44fb45fb46fb47fb48fb49fb4afb4bfb4cfb4dfb4efb4ffb50fb51fb52fb53fb54fb55fb56fb57fb58fb59fb5afb5bfb5cfb5dfb5efb5ffb60fb61fb62fb63fb64fb65fb66fb67fb68fb69fb6afb6bfb6cfb6dfb6efb6ffb70fb71fb72fb73fb74fb75fb76fb77fb78fb79fb7afb7bfb7cfb7dfb7efb7ffb80fb81fb82fb83fb84fb85fb86fb87fb88fb89fb8afb8bfb8cfb8dfb8efb8ffb90fb91fb92fb93fb94fb95fb96fb97fb98fb99fb9afb9bfb9cfb9dfb9efb9ffba0fba1fba2fba3fba4fba5fba6fba7fba8fba9fbaafbabfbacfbadfbaefbaffbb0fbb1fbb2fbb3fbb4fbb5fbb6fbb7fbb8fbb9fbbafbbbfbbcfbbdfbbefbbffbc0fbc1fbc2fbc3fbc4fbc5fbc6fbc7fbc8fbc9fbcafbcbfbccfbcdfbcefbcffbd0fbd1fbd2fbd3fbd4fbd5fbd6fbd7fbd8fbd9fbdafbdbfbdcfbddfbdefbdffbe0fbe1fbe2fbe3fbe4fbe5fbe6fbe7fbe8fbe9fbeafbebfbecfbedfbeefbeffbf0fbf1fbf2fbf3fbf4fbf5fbf6fbf7fbf8fbf9fbfafbfbfbfcfbfdfbfefbfffb00fc01fc02fc03fc04fc05fc06fc07fc08fc09fc0afc0bfc0cfc0dfc0efc0ffc10fc11fc12fc13fc14fc15fc16fc17fc18fc19fc1afc1bfc1cfc1dfc1efc1ffc20fc21fc22fc23fc24fc25fc26fc27fc28fc29fc2afc2bfc2cfc2dfc2efc2ffc30fc31fc32fc33fc34fc35fc36fc37fc38fc39fc3afc3bfc3cfc3dfc3efc3ffc40fc41fc42fc43fc44fc45fc46fc47fc48fc49fc4afc4bfc4cfc4dfc4efc4ffc50fc51fc52fc53fc54fc55fc56fc57fc58fc59fc5afc5bfc5cfc5dfc5efc5ffc60fc61fc62fc63fc64fc65fc66fc67fc68fc69fc6afc6bfc6cfc6dfc6efc6ffc70fc71fc72fc73fc74fc75fc76fc77fc78fc79fc7afc7bfc7cfc7dfc7efc7ffc80fc81fc82fc83fc84fc85fc86fc87fc88fc89fc8afc8bfc8cfc8dfc8efc8ffc90fc91fc92fc93fc94fc95fc96fc97fc98fc99fc9afc9bfc9cfc9dfc9efc9ffca0fca1fca2fca3fca4fca5fca6fca7fca8fca9fcaafcabfcacfcadfcaefcaffcb0fcb1fcb2fcb3fcb4fcb5fcb6fcb7fcb8fcb9fcbafcbbfcbcfcbdfcbefcbffcc0fcc1fcc2fcc3fcc4fcc5fcc6fcc7fcc8fcc9fccafccbfcccfccdfccefccffcd0fcd1fcd2fcd3fcd4fcd5fcd6fcd7fcd8fcd9fcdafcdbfcdcfcddfcdefcdffce0fce1fce2fce3fce4fce5fce6fce7fce8fce9fceafcebfcecfcedfceefceffcf0fcf1fcf2fcf3fcf4fcf5fcf6fcf7fcf8fcf9fcfafcfbfcfcfcfdfcfefcfffc00fd01fd02fd03fd04fd05fd06fd07fd08fd09fd0afd0bfd0cfd0dfd0efd0ffd10fd11fd12fd13fd14fd15fd16fd17fd18fd19fd1afd1bfd1cfd1dfd1efd1ffd20fd21fd22fd23fd24fd25fd26fd27fd28fd29fd2afd2bfd2cfd2dfd2efd2ffd30fd31fd32fd33fd34fd35fd36fd37fd38fd39fd3afd3bfd3cfd3dfd3efd3ffd40fd41fd42fd43fd44fd45fd46fd47fd48fd49fd4afd4bfd4cfd4dfd4efd4ffd50fd51fd52fd53fd54fd55fd56fd57fd58fd59fd5afd5bfd5cfd5dfd5efd5ffd60fd61fd62fd63fd64fd65fd66fd67fd68fd69fd6afd6bfd6cfd6dfd6efd6ffd70fd71fd72fd73fd74fd75fd76fd77fd78fd79fd7afd7bfd7cfd7dfd7efd7ffd80fd81fd82fd83fd84fd85fd86fd87fd88fd89fd8afd8bfd8cfd8dfd8efd8ffd90fd91fd92fd93fd94fd95fd96fd97fd98fd99fd9afd9bfd9cfd9dfd9efd9ffda0fda1fda2fda3fda4fda5fda6fda7fda8fda9fdaafdabfdacfdadfdaefdaffdb0fdb1fdb2fdb3fdb4fdb5fdb6fdb7fdb8fdb9fdbafdbbfdbcfdbdfdbefdbffdc0fdc1fdc2fdc3fdc4fdc5fdc6fdc7fdc8fdc9fdcafdcbfdccfdcdfdcefdcffdd0fdd1fdd2fdd3fdd4fdd5fdd6fdd7fdd8fdd9fddafddbfddcfdddfddefddffde0fde1fde2fde3fde4fde5fde6fde7fde8fde9fdeafdebfdecfdedfdeefdeffdf0fdf1fdf2fdf3fdf4fdf5fdf6fdf7fdf8fdf9fdfafdfbfdfcfdfdfdfefdfffd00fe01fe02fe03fe04fe05fe06fe07fe08fe09fe0afe0bfe0cfe0dfe0efe0ffe10fe11fe12fe13fe14fe15fe16fe17fe18fe19fe1afe1bfe1cfe1dfe1efe1ffe20fe21fe22fe23fe24fe25fe26fe27fe28fe29fe2afe2bfe2cfe2dfe2efe2ffe30fe31fe32fe33fe34fe35fe36fe37fe38fe39fe3afe3bfe3cfe3dfe3efe3ffe40fe41fe42fe43fe44fe45fe46fe47fe48fe49fe4afe4bfe4cfe4dfe4efe4ffe50fe51fe52fe53fe54fe55fe56fe57fe58fe59fe5afe5bfe5cfe5dfe5efe5ffe60fe61fe62fe63fe64fe65fe66fe67fe68fe69fe6afe6bfe6cfe6dfe6efe6ffe70fe71fe72fe73fe74fe75fe76fe77fe78fe79fe7afe7bfe7cfe7dfe7efe7ffe80fe81fe82fe83fe84fe85fe86fe87fe88fe89fe8afe8bfe8cfe8dfe8efe8ffe90fe91fe92fe93fe94fe95fe96fe97fe98fe99fe9afe9bfe9cfe9dfe9efe9ffea0fea1fea2fea3fea4fea5fea6fea7fea8fea9feaafeabfeacfeadfeaefeaffeb0feb1feb2feb3feb4feb5feb6feb7feb8feb9febafebbfebcfebdfebefebffec0fec1fec2fec3fec4fec5fec6fec7fec8fec9fecafecbfeccfecdfecefecffed0fed1fed2fed3fed4fed5fed6fed7fed8fed9fedafedbfedcfeddfedefedffee0fee1fee2fee3fee4fee5fee6fee7fee8fee9feeafeebfeecfeedfeeefeeffef0fef1fef2fef3fef4fef5fef6fef7fef8fef9fefafefbfefcfefdfefefefffe00ff01ff02ff03ff04ff05ff06ff07ff08ff09ff0aff0bff0cff0dff0eff0fff10ff11ff12ff13ff14ff15ff16ff17ff18ff19ff1aff1bff1cff1dff1eff1fff20ff21ff22ff23ff24ff25ff26ff27ff28ff29ff2aff2bff2cff2dff2eff2fff30ff31ff32ff33ff34ff35ff36ff37ff38ff39ff3aff3bff3cff3dff3eff3fff40ff21ff22ff23ff24ff25ff26ff27ff28ff29ff2aff2bff2cff2dff2eff2fff30ff31ff32ff33ff34ff35ff36ff37ff38ff39ff3aff5bff5cff5dff5eff5fff60ff61ff62ff63ff64ff65ff66ff67ff68ff69ff6aff6bff6cff6dff6eff6fff70ff71ff72ff73ff74ff75ff76ff77ff78ff79ff7aff7bff7cff7dff7eff7fff80ff81ff82ff83ff84ff85ff86ff87ff88ff89ff8aff8bff8cff8dff8eff8fff90ff91ff92ff93ff94ff95ff96ff97ff98ff99ff9aff9bff9cff9dff9eff9fffa0ffa1ffa2ffa3ffa4ffa5ffa6ffa7ffa8ffa9ffaaffabffacffadffaeffafffb0ffb1ffb2ffb3ffb4ffb5ffb6ffb7ffb8ffb9ffbaffbbffbcffbdffbeffbfffc0ffc1ffc2ffc3ffc4ffc5ffc6ffc7ffc8ffc9ffcaffcbffccffcdffceffcfffd0ffd1ffd2ffd3ffd4ffd5ffd6ffd7ffd8ffd9ffdaffdbffdcffddffdeffdfffe0ffe1ffe2ffe3ffe4ffe5ffe6ffe7ffe8ffe9ffeaffebffecffedffeeffeffff0fff1fff2fff3fff4fff5fff6fff7fff8fff9fffafffbfffcfffdfffeffffff", 0x20000, 0x89000}, {&(0x7f000003c900)="46494c4530000300000000000000000001000100380001009801000000040000000000000000000004000000000000000800000000000000100000006000000000001800000000004800000018000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000300000006800000000001800000002004a000000180001000500000000000500006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601006f95ffc78dd6010070000000000000006c0000000000000600000000000000040324004d0046005400000000000000800000004800000001004000000001000000000000000000120000000000000040000000000000000030010000000000001801000000000000180100000000001113040000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000010000000000000100000000000000010000000000000001101020000000000ffffffff00"/416, 0x1a0, 0xff000}, {&(0x7f000003cb00)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\b\x00', 0x20, 0xff1e0}, {&(0x7f000003cc00)="000000000000000000000000000000000000000000000000000000000000080046494c4530000300000000000000000001000100380001005801000000040000000000000000000003000000010000000200000000000000100000006000000000001800000000004800000018000000006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601001000000000000000100000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000001000000000000000100000000000002101ff0000000000ffffffff00"/384, 0x180, 0xff3e0}, {&(0x7f000003ce00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xff5e0}, {&(0x7f000003cf00)="000000000000000000000000000000000000000000000000000000000000020046494c4530000300000000000000000002000100380001005801000000040000000000000000000003000000020000000200000000000000100000006000000000001800000000004800000018000000006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000003f0000000000000040000000000000000000040000000000000004000000000000000400000000002140000100000000ffffffff00"/384, 0x180, 0xff7e0}, {&(0x7f000003d100)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0xff9e0}, {&(0x7f000003d200)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000300010038000100e001000000040000000000000000000006000000030000000200000000000000100000004800000000001800000000003000000018000000006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601060000000000000000000000000000003000000068000000000018000000010050000000180001000500000000000500006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601006f95ffc78dd6010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c0000001800000000000000000000000301000000000000800000001800000000001800000003000000000018000000ffffffff000000000000000000000000000000000000000000000000000000000000000000000200", 0x220, 0xffbe0}, {&(0x7f000003d500)="0000000000000000000000000000000000000000000000000000000000000200ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff73797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c000000000000", 0x40440, 0xfffe0}, {&(0x7f000007da00)="eb52904e5446532020202000020800000000000000f8000000000000000000000000000080008000ff0f0000000000000400000000000000ff00000000000000f6000000010000003daaf55af9830909000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b2e20506c6561736520696e73657274206120626f6f7461626c6520666c6f70707920616e640d0a707265737320616e79206b657920746f2074727920616761696e202e2e2e200d0a00"/224, 0xe0, 0x1ffe00}, {&(0x7f000007db00)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1fffe0}], 0x0, &(0x7f000007dc00)) 16:00:22 executing program 1: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000000)={0xffffffffffffffff}) r1 = getpid() r2 = openat$ttyS3(0xffffffffffffff9c, &(0x7f0000000300)='/dev/ttyS3\x00', 0x0, 0x0) sendmmsg$unix(r0, &(0x7f0000004580)=[{0x0, 0x0, 0x0, 0x0, &(0x7f0000000440)=[@cred={{0x1c, 0x1, 0x2, {r1}}}, @cred={{0x1c, 0x1, 0x2, {r1}}}, @rights={{0x14, 0x1, 0x1, [r2]}}], 0x58}], 0x1, 0x0) 16:00:22 executing program 4: r0 = openat$uinput(0xffffffffffffff9c, &(0x7f0000001580)='/dev/uinput\x00', 0x2, 0x0) write$uinput_user_dev(r0, &(0x7f00000015c0)={'syz0\x00'}, 0x45c) 16:00:22 executing program 2: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000002140)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x201, 0x0, 0x0, {0xf}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz1\x00'}]}, @NFT_MSG_DELTABLE={0x20, 0x2, 0xa, 0x101, 0x0, 0x0, {0x7}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz1\x00'}]}, @NFT_MSG_NEWFLOWTABLE={0x30, 0x16, 0xa, 0x201, 0x0, 0x0, {0x5}, [@NFTA_FLOWTABLE_HOOK={0x4}, @NFTA_FLOWTABLE_TABLE={0x9, 0x1, 'syz0\x00'}, @NFTA_FLOWTABLE_NAME={0x9, 0x2, 'syz0\x00'}]}], {0x14}}, 0x98}}, 0x0) 16:00:22 executing program 0: perf_event_open(&(0x7f0000000840)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket$kcm(0x10, 0x2, 0x10) sendmsg$kcm(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000080)=[{&(0x7f00000000c0)="140000003300055bd20000648c63940d0424fc60", 0x14}], 0x1}, 0x0) [ 279.768582][T10838] loop5: detected capacity change from 0 to 8191 16:00:22 executing program 3: r0 = socket$inet6(0xa, 0x80002, 0x0) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f00000000c0)={@mcast2={0xff, 0x2, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa4ffffff]}, 0x800, 0x0, 0xff, 0x58998d2ab7869a03}, 0x20) r1 = perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, @perf_config_ext, 0x0, 0x0, 0xfffffffe, 0x3}, 0x0, 0xfffffff7ffffffff, 0xffffffffffffffff, 0x2) r2 = socket$inet6(0xa, 0x2, 0x0) setsockopt$inet6_IPV6_DSTOPTS(r2, 0x29, 0x3b, &(0x7f0000000140), 0x8) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r2, 0x29, 0x20, &(0x7f00000000c0)={@rand_addr=' \x01\x00', 0x800, 0x0, 0x103, 0x1}, 0x20) sendmsg$NLBL_UNLABEL_C_STATICREMOVE(0xffffffffffffffff, &(0x7f00000003c0)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x2000}, 0xc, &(0x7f0000000380)={&(0x7f0000000200)={0x1c, 0x0, 0x8, 0x70bd2b, 0x25dfdbff, {}, [@NLBL_UNLABEL_A_ACPTFLG={0x5}]}, 0x1c}}, 0x4000004) sendmsg$inet6(r2, &(0x7f0000000100)={&(0x7f0000000040)={0xa, 0x4e20, 0x5, @remote}, 0x1c, 0x0, 0x0, &(0x7f0000000580)=[@hopopts_2292={{0x60, 0x29, 0xb, {0x0, 0x8, [], [@hao={0xc9, 0xd, @loopback}, @hao={0xc9, 0x10, @dev}, @calipso={0x7, 0x20, {0x0, 0x6, 0x0, 0x0, [0x0, 0x0, 0x0]}}, @ra={0x5, 0x2, 0x2}, @hao={0xc9, 0x0, @rand_addr=' \x01\x00'}]}}}, @tclass={{0x0, 0x29, 0x43, 0x4}}], 0x60}, 0x0) ioctl$FICLONERANGE(r1, 0x4020940d, &(0x7f0000000180)={{r2}, 0x0, 0x7fffffff, 0x4c}) r3 = open$dir(&(0x7f0000000340)='./file1\x00', 0x200, 0x21) r4 = dup2(r1, r3) r5 = socket$inet6(0xa, 0x3, 0x6) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r5, 0x29, 0x20, &(0x7f0000000000)={@mcast1, 0x0, 0x0, 0x2, 0x1, 0x1f, 0x0, 0x400000000}, 0x20) r6 = syz_open_procfs(0x0, &(0x7f00000004c0)='net/ip6_flowlabel\x00') sendfile(r5, r6, &(0x7f0000000240)=0x202, 0x4000000000dc) r7 = syz_genetlink_get_family_id$netlbl_unlabel(&(0x7f0000001700)='NLBL_UNLBL\x00', 0xffffffffffffffff) sendmsg$NLBL_UNLABEL_C_STATICADD(r6, &(0x7f00000017c0)={&(0x7f00000016c0)={0x10, 0x0, 0x0, 0x4000}, 0xc, &(0x7f0000001780)={&(0x7f0000000740)=ANY=[@ANYBLOB="1c2000808830d3a6d6278593e2ae9a4b5a3f1e9a3ae12a4a1814d04bad32a326400d09ef28b08762de6a29bac1f068ef55773e37d9a419729ac12ecd2505b593214fe89e845ff643b46a873c0a88b5065556b478791f190b6058659a0ee4b2f89f12ce7f8e3df8d28ca4e55ebce5cad461784de170724c412196dc45e892d1c04988019b8d69f33156e2de93a8b215cc2f7ebbd212ee5dbad68556c239ff38e9ee9f6671afc459dc5a70454188925d5b52a34d02c8793a8fb4f7eb74ebb5e6bf9f2826e3174fc9a6353a15c0f3f74b6c0fa87b7d16ad2aa72c52b58ec6656444ca78d5aeffdd5b6174c6bbaab46080e876cf775eb07a", @ANYRES16=r7, @ANYBLOB="00022dbd7000fedbdf250300000008000400e0000002"], 0x1c}, 0x1, 0x0, 0x0, 0x8}, 0x20008004) sendmsg$NLBL_UNLABEL_C_STATICREMOVE(r4, &(0x7f0000000500)={&(0x7f0000000300), 0xc, &(0x7f00000002c0)={&(0x7f0000000400)=ANY=[@ANYBLOB="00000010", @ANYRES16=r7, @ANYBLOB="000829bd700000000000040000002600070073797374656d5f753a6f626a6563745f723a6b6c6f67645f657865635f743a73300000002200070073797374656d5f753a31f76a6563745f723a736861646f775f743a7330000000080005000a010101050001000000000005000100000000002500070008000000656d5f753a6f626a6563745f723a67657474795f6574635f743a73300000000014000300fe8000000000000000000000000000aa"], 0xb4}, 0x1, 0x0, 0x0, 0x40054}, 0x800) sendmsg$NLBL_UNLABEL_C_STATICREMOVE(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x100000}, 0xc, &(0x7f0000000100)={&(0x7f0000000080)={0x5c, r7, 0x8, 0x70bd26, 0x25dfdbfe, {}, [@NLBL_UNLABEL_A_IFACE={0x14, 0x6, 'veth1_virt_wifi\x00'}, @NLBL_UNLABEL_A_IPV4ADDR={0x8, 0x4, @broadcast}, @NLBL_UNLABEL_A_ACPTFLG={0x5}, @NLBL_UNLABEL_A_IPV4ADDR={0x8, 0x4, @broadcast}, @NLBL_UNLABEL_A_ACPTFLG={0x5}, @NLBL_UNLABEL_A_IPV6MASK={0x14, 0x3, @local}]}, 0x5c}, 0x1, 0x0, 0x0, 0xc4405}, 0x4010) 16:00:22 executing program 0: perf_event_open(&(0x7f0000000840)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket$kcm(0x10, 0x2, 0x10) sendmsg$kcm(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000080)=[{&(0x7f00000000c0)="140000003300055bd20000648c63940d0424fc60", 0x14}], 0x1}, 0x0) 16:00:22 executing program 2: r0 = socket$inet6(0xa, 0x80002, 0x0) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f00000000c0)={@mcast2={0xff, 0x2, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa4ffffff]}, 0x800, 0x0, 0xff, 0x58998d2ab7869a03}, 0x20) r1 = perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, @perf_config_ext, 0x0, 0x0, 0xfffffffe, 0x3}, 0x0, 0xfffffff7ffffffff, 0xffffffffffffffff, 0x2) r2 = socket$inet6(0xa, 0x2, 0x0) setsockopt$inet6_IPV6_DSTOPTS(r2, 0x29, 0x3b, &(0x7f0000000140), 0x8) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r2, 0x29, 0x20, &(0x7f00000000c0)={@rand_addr=' \x01\x00', 0x800, 0x0, 0x103, 0x1}, 0x20) sendmsg$NLBL_UNLABEL_C_STATICREMOVE(0xffffffffffffffff, &(0x7f00000003c0)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x2000}, 0xc, &(0x7f0000000380)={&(0x7f0000000200)={0x1c, 0x0, 0x8, 0x70bd2b, 0x25dfdbff, {}, [@NLBL_UNLABEL_A_ACPTFLG={0x5}]}, 0x1c}}, 0x4000004) sendmsg$inet6(r2, &(0x7f0000000100)={&(0x7f0000000040)={0xa, 0x4e20, 0x5, @remote}, 0x1c, 0x0, 0x0, &(0x7f0000000580)=[@hopopts_2292={{0x60, 0x29, 0xb, {0x0, 0x8, [], [@hao={0xc9, 0xd, @loopback}, @hao={0xc9, 0x10, @dev}, @calipso={0x7, 0x20, {0x0, 0x6, 0x0, 0x0, [0x0, 0x0, 0x0]}}, @ra={0x5, 0x2, 0x2}, @hao={0xc9, 0x0, @rand_addr=' \x01\x00'}]}}}, @tclass={{0x0, 0x29, 0x43, 0x4}}], 0x60}, 0x0) ioctl$FICLONERANGE(r1, 0x4020940d, &(0x7f0000000180)={{r2}, 0x0, 0x7fffffff, 0x4c}) r3 = open$dir(&(0x7f0000000340)='./file1\x00', 0x200, 0x21) r4 = dup2(r1, r3) r5 = socket$inet6(0xa, 0x3, 0x6) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r5, 0x29, 0x20, &(0x7f0000000000)={@mcast1, 0x0, 0x0, 0x2, 0x1, 0x1f, 0x0, 0x400000000}, 0x20) r6 = syz_open_procfs(0x0, &(0x7f00000004c0)='net/ip6_flowlabel\x00') sendfile(r5, r6, &(0x7f0000000240)=0x202, 0x4000000000dc) r7 = syz_genetlink_get_family_id$netlbl_unlabel(&(0x7f0000001700)='NLBL_UNLBL\x00', 0xffffffffffffffff) sendmsg$NLBL_UNLABEL_C_STATICADD(r6, &(0x7f00000017c0)={&(0x7f00000016c0)={0x10, 0x0, 0x0, 0x4000}, 0xc, &(0x7f0000001780)={&(0x7f0000000740)=ANY=[@ANYBLOB="1c2000808830d3a6d6278593e2ae9a4b5a3f1e9a3ae12a4a1814d04bad32a326400d09ef28b08762de6a29bac1f068ef55773e37d9a419729ac12ecd2505b593214fe89e845ff643b46a873c0a88b5065556b478791f190b6058659a0ee4b2f89f12ce7f8e3df8d28ca4e55ebce5cad461784de170724c412196dc45e892d1c04988019b8d69f33156e2de93a8b215cc2f7ebbd212ee5dbad68556c239ff38e9ee9f6671afc459dc5a70454188925d5b52a34d02c8793a8fb4f7eb74ebb5e6bf9f2826e3174fc9a6353a15c0f3f74b6c0fa87b7d16ad2aa72c52b58ec6656444ca78d5aeffdd5b6174c6bbaab46080e876cf775eb07a", @ANYRES16=r7, @ANYBLOB="00022dbd7000fedbdf250300000008000400e0000002"], 0x1c}, 0x1, 0x0, 0x0, 0x8}, 0x20008004) sendmsg$NLBL_UNLABEL_C_STATICREMOVE(r4, &(0x7f0000000500)={&(0x7f0000000300), 0xc, &(0x7f00000002c0)={&(0x7f0000000400)=ANY=[@ANYBLOB="00000010", @ANYRES16=r7, @ANYBLOB="000829bd700000000000040000002600070073797374656d5f753a6f626a6563745f723a6b6c6f67645f657865635f743a73300000002200070073797374656d5f753a31f76a6563745f723a736861646f775f743a7330000000080005000a010101050001000000000005000100000000002500070008000000656d5f753a6f626a6563745f723a67657474795f6574635f743a73300000000014000300fe8000000000000000000000000000aa"], 0xb4}, 0x1, 0x0, 0x0, 0x40054}, 0x800) sendmsg$NLBL_UNLABEL_C_STATICREMOVE(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x100000}, 0xc, &(0x7f0000000100)={&(0x7f0000000080)={0x5c, r7, 0x8, 0x70bd26, 0x25dfdbfe, {}, [@NLBL_UNLABEL_A_IFACE={0x14, 0x6, 'veth1_virt_wifi\x00'}, @NLBL_UNLABEL_A_IPV4ADDR={0x8, 0x4, @broadcast}, @NLBL_UNLABEL_A_ACPTFLG={0x5}, @NLBL_UNLABEL_A_IPV4ADDR={0x8, 0x4, @broadcast}, @NLBL_UNLABEL_A_ACPTFLG={0x5}, @NLBL_UNLABEL_A_IPV6MASK={0x14, 0x3, @local}]}, 0x5c}, 0x1, 0x0, 0x0, 0xc4405}, 0x4010) 16:00:22 executing program 4: ioctl$F2FS_IOC_MOVE_RANGE(0xffffffffffffffff, 0xc020f509, 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) perf_event_open(0x0, 0x0, 0xb, 0xffffffffffffffff, 0x9) r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$SG_SET_KEEP_ORPHAN(0xffffffffffffffff, 0x2287, &(0x7f0000000200)=0x2) pipe2(0x0, 0x0) sendmsg$TIPC_NL_BEARER_DISABLE(0xffffffffffffffff, &(0x7f0000000480)={0x0, 0x0, &(0x7f0000000440)={&(0x7f0000000340)=ANY=[@ANYBLOB="d4000000", @ANYRES16=0x0, @ANYBLOB="00012cbd7000ffdbdf25022d2e000c00098008000200ffff00005400058008000100657468000700010069620000080001007564700014000280080003000300000008000400030000001c00028008000400df07000000080003000700000007000100696200004400070000080000000d020000080002000100000008000200f9ffffff07000100440000003fd71651b46af606448771b56e8f7cd00c000300ff00000000000086b5000200000000001c00078008000100050000feff000000000000"], 0xd4}, 0x1, 0x0, 0x0, 0x4}, 0x4000) keyctl$get_keyring_id(0x0, 0x0, 0x0) ioctl$TIOCL_PASTESEL(r0, 0x541c, &(0x7f0000000100)) gettid() r1 = add_key$keyring(&(0x7f0000000080)='keyring\x00', &(0x7f0000000140)={'syz', 0x2}, 0x0, 0x0, 0xfffffffffffffffb) keyctl$search(0xa, r1, &(0x7f0000000000)='asymmetric\x00', &(0x7f0000000040)={'syz', 0x2}, 0xfffffffffffffffd) keyctl$set_timeout(0xf, r1, 0x4) r2 = add_key$keyring(&(0x7f00000000c0)='keyring\x00', &(0x7f0000000300)={'syz', 0x3}, 0x0, 0x0, 0xfffffffffffffffb) syz_open_dev$ttys(0xc, 0x2, 0x0) keyctl$search(0xa, r2, &(0x7f0000000040)='syzkaller\x00', &(0x7f0000000080)={'syz', 0x0}, 0x0) sync() 16:00:22 executing program 1: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000000)={0xffffffffffffffff}) r1 = getpid() r2 = openat$ttyS3(0xffffffffffffff9c, &(0x7f0000000300)='/dev/ttyS3\x00', 0x0, 0x0) sendmmsg$unix(r0, &(0x7f0000004580)=[{0x0, 0x0, 0x0, 0x0, &(0x7f0000000440)=[@cred={{0x1c, 0x1, 0x2, {r1}}}, @cred={{0x1c, 0x1, 0x2, {r1}}}, @rights={{0x14, 0x1, 0x1, [r2]}}], 0x58}], 0x1, 0x0) [ 279.996202][T10838] ntfs: volume version 3.1. 16:00:22 executing program 1: r0 = openat$adsp1(0xffffffffffffff9c, &(0x7f0000000080)='/dev/adsp1\x00', 0x0, 0x0) ioctl$SNDCTL_DSP_SPEED(r0, 0xc0045002, &(0x7f0000000140)) ioctl$SNDCTL_DSP_SETFRAGMENT(r0, 0xc004500a, &(0x7f00000000c0)) ioctl$SNDCTL_DSP_CHANNELS(r0, 0xc0045006, &(0x7f0000000000)=0x27) r1 = socket$inet6_icmp_raw(0xa, 0x3, 0x3a) dup3(r1, r0, 0x0) 16:00:23 executing program 0: perf_event_open(&(0x7f0000000840)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket$kcm(0x10, 0x2, 0x10) sendmsg$kcm(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000080)=[{&(0x7f00000000c0)="140000003300055bd20000648c63940d0424fc60", 0x14}], 0x1}, 0x0) 16:00:23 executing program 3: r0 = socket$inet6(0xa, 0x80002, 0x0) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f00000000c0)={@mcast2={0xff, 0x2, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa4ffffff]}, 0x800, 0x0, 0xff, 0x58998d2ab7869a03}, 0x20) r1 = perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, @perf_config_ext, 0x0, 0x0, 0xfffffffe, 0x3}, 0x0, 0xfffffff7ffffffff, 0xffffffffffffffff, 0x2) r2 = socket$inet6(0xa, 0x2, 0x0) setsockopt$inet6_IPV6_DSTOPTS(r2, 0x29, 0x3b, &(0x7f0000000140), 0x8) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r2, 0x29, 0x20, &(0x7f00000000c0)={@rand_addr=' \x01\x00', 0x800, 0x0, 0x103, 0x1}, 0x20) sendmsg$NLBL_UNLABEL_C_STATICREMOVE(0xffffffffffffffff, &(0x7f00000003c0)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x2000}, 0xc, &(0x7f0000000380)={&(0x7f0000000200)={0x1c, 0x0, 0x8, 0x70bd2b, 0x25dfdbff, {}, [@NLBL_UNLABEL_A_ACPTFLG={0x5}]}, 0x1c}}, 0x4000004) sendmsg$inet6(r2, &(0x7f0000000100)={&(0x7f0000000040)={0xa, 0x4e20, 0x5, @remote}, 0x1c, 0x0, 0x0, &(0x7f0000000580)=[@hopopts_2292={{0x60, 0x29, 0xb, {0x0, 0x8, [], [@hao={0xc9, 0xd, @loopback}, @hao={0xc9, 0x10, @dev}, @calipso={0x7, 0x20, {0x0, 0x6, 0x0, 0x0, [0x0, 0x0, 0x0]}}, @ra={0x5, 0x2, 0x2}, @hao={0xc9, 0x0, @rand_addr=' \x01\x00'}]}}}, @tclass={{0x0, 0x29, 0x43, 0x4}}], 0x60}, 0x0) ioctl$FICLONERANGE(r1, 0x4020940d, &(0x7f0000000180)={{r2}, 0x0, 0x7fffffff, 0x4c}) r3 = open$dir(&(0x7f0000000340)='./file1\x00', 0x200, 0x21) r4 = dup2(r1, r3) r5 = socket$inet6(0xa, 0x3, 0x6) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r5, 0x29, 0x20, &(0x7f0000000000)={@mcast1, 0x0, 0x0, 0x2, 0x1, 0x1f, 0x0, 0x400000000}, 0x20) r6 = syz_open_procfs(0x0, &(0x7f00000004c0)='net/ip6_flowlabel\x00') sendfile(r5, r6, &(0x7f0000000240)=0x202, 0x4000000000dc) r7 = syz_genetlink_get_family_id$netlbl_unlabel(&(0x7f0000001700)='NLBL_UNLBL\x00', 0xffffffffffffffff) sendmsg$NLBL_UNLABEL_C_STATICADD(r6, &(0x7f00000017c0)={&(0x7f00000016c0)={0x10, 0x0, 0x0, 0x4000}, 0xc, &(0x7f0000001780)={&(0x7f0000000740)=ANY=[@ANYBLOB="1c2000808830d3a6d6278593e2ae9a4b5a3f1e9a3ae12a4a1814d04bad32a326400d09ef28b08762de6a29bac1f068ef55773e37d9a419729ac12ecd2505b593214fe89e845ff643b46a873c0a88b5065556b478791f190b6058659a0ee4b2f89f12ce7f8e3df8d28ca4e55ebce5cad461784de170724c412196dc45e892d1c04988019b8d69f33156e2de93a8b215cc2f7ebbd212ee5dbad68556c239ff38e9ee9f6671afc459dc5a70454188925d5b52a34d02c8793a8fb4f7eb74ebb5e6bf9f2826e3174fc9a6353a15c0f3f74b6c0fa87b7d16ad2aa72c52b58ec6656444ca78d5aeffdd5b6174c6bbaab46080e876cf775eb07a", @ANYRES16=r7, @ANYBLOB="00022dbd7000fedbdf250300000008000400e0000002"], 0x1c}, 0x1, 0x0, 0x0, 0x8}, 0x20008004) sendmsg$NLBL_UNLABEL_C_STATICREMOVE(r4, &(0x7f0000000500)={&(0x7f0000000300), 0xc, &(0x7f00000002c0)={&(0x7f0000000400)=ANY=[@ANYBLOB="00000010", @ANYRES16=r7, @ANYBLOB="000829bd700000000000040000002600070073797374656d5f753a6f626a6563745f723a6b6c6f67645f657865635f743a73300000002200070073797374656d5f753a31f76a6563745f723a736861646f775f743a7330000000080005000a010101050001000000000005000100000000002500070008000000656d5f753a6f626a6563745f723a67657474795f6574635f743a73300000000014000300fe8000000000000000000000000000aa"], 0xb4}, 0x1, 0x0, 0x0, 0x40054}, 0x800) sendmsg$NLBL_UNLABEL_C_STATICREMOVE(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x100000}, 0xc, &(0x7f0000000100)={&(0x7f0000000080)={0x5c, r7, 0x8, 0x70bd26, 0x25dfdbfe, {}, [@NLBL_UNLABEL_A_IFACE={0x14, 0x6, 'veth1_virt_wifi\x00'}, @NLBL_UNLABEL_A_IPV4ADDR={0x8, 0x4, @broadcast}, @NLBL_UNLABEL_A_ACPTFLG={0x5}, @NLBL_UNLABEL_A_IPV4ADDR={0x8, 0x4, @broadcast}, @NLBL_UNLABEL_A_ACPTFLG={0x5}, @NLBL_UNLABEL_A_IPV6MASK={0x14, 0x3, @local}]}, 0x5c}, 0x1, 0x0, 0x0, 0xc4405}, 0x4010) 16:00:23 executing program 2: r0 = socket$inet6(0xa, 0x80002, 0x0) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f00000000c0)={@mcast2={0xff, 0x2, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa4ffffff]}, 0x800, 0x0, 0xff, 0x58998d2ab7869a03}, 0x20) r1 = perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, @perf_config_ext, 0x0, 0x0, 0xfffffffe, 0x3}, 0x0, 0xfffffff7ffffffff, 0xffffffffffffffff, 0x2) r2 = socket$inet6(0xa, 0x2, 0x0) setsockopt$inet6_IPV6_DSTOPTS(r2, 0x29, 0x3b, &(0x7f0000000140), 0x8) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r2, 0x29, 0x20, &(0x7f00000000c0)={@rand_addr=' \x01\x00', 0x800, 0x0, 0x103, 0x1}, 0x20) sendmsg$NLBL_UNLABEL_C_STATICREMOVE(0xffffffffffffffff, &(0x7f00000003c0)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x2000}, 0xc, &(0x7f0000000380)={&(0x7f0000000200)={0x1c, 0x0, 0x8, 0x70bd2b, 0x25dfdbff, {}, [@NLBL_UNLABEL_A_ACPTFLG={0x5}]}, 0x1c}}, 0x4000004) sendmsg$inet6(r2, &(0x7f0000000100)={&(0x7f0000000040)={0xa, 0x4e20, 0x5, @remote}, 0x1c, 0x0, 0x0, &(0x7f0000000580)=[@hopopts_2292={{0x60, 0x29, 0xb, {0x0, 0x8, [], [@hao={0xc9, 0xd, @loopback}, @hao={0xc9, 0x10, @dev}, @calipso={0x7, 0x20, {0x0, 0x6, 0x0, 0x0, [0x0, 0x0, 0x0]}}, @ra={0x5, 0x2, 0x2}, @hao={0xc9, 0x0, @rand_addr=' \x01\x00'}]}}}, @tclass={{0x0, 0x29, 0x43, 0x4}}], 0x60}, 0x0) ioctl$FICLONERANGE(r1, 0x4020940d, &(0x7f0000000180)={{r2}, 0x0, 0x7fffffff, 0x4c}) r3 = open$dir(&(0x7f0000000340)='./file1\x00', 0x200, 0x21) r4 = dup2(r1, r3) r5 = socket$inet6(0xa, 0x3, 0x6) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r5, 0x29, 0x20, &(0x7f0000000000)={@mcast1, 0x0, 0x0, 0x2, 0x1, 0x1f, 0x0, 0x400000000}, 0x20) r6 = syz_open_procfs(0x0, &(0x7f00000004c0)='net/ip6_flowlabel\x00') sendfile(r5, r6, &(0x7f0000000240)=0x202, 0x4000000000dc) r7 = syz_genetlink_get_family_id$netlbl_unlabel(&(0x7f0000001700)='NLBL_UNLBL\x00', 0xffffffffffffffff) sendmsg$NLBL_UNLABEL_C_STATICADD(r6, &(0x7f00000017c0)={&(0x7f00000016c0)={0x10, 0x0, 0x0, 0x4000}, 0xc, &(0x7f0000001780)={&(0x7f0000000740)=ANY=[@ANYBLOB="1c2000808830d3a6d6278593e2ae9a4b5a3f1e9a3ae12a4a1814d04bad32a326400d09ef28b08762de6a29bac1f068ef55773e37d9a419729ac12ecd2505b593214fe89e845ff643b46a873c0a88b5065556b478791f190b6058659a0ee4b2f89f12ce7f8e3df8d28ca4e55ebce5cad461784de170724c412196dc45e892d1c04988019b8d69f33156e2de93a8b215cc2f7ebbd212ee5dbad68556c239ff38e9ee9f6671afc459dc5a70454188925d5b52a34d02c8793a8fb4f7eb74ebb5e6bf9f2826e3174fc9a6353a15c0f3f74b6c0fa87b7d16ad2aa72c52b58ec6656444ca78d5aeffdd5b6174c6bbaab46080e876cf775eb07a", @ANYRES16=r7, @ANYBLOB="00022dbd7000fedbdf250300000008000400e0000002"], 0x1c}, 0x1, 0x0, 0x0, 0x8}, 0x20008004) sendmsg$NLBL_UNLABEL_C_STATICREMOVE(r4, &(0x7f0000000500)={&(0x7f0000000300), 0xc, &(0x7f00000002c0)={&(0x7f0000000400)=ANY=[@ANYBLOB="00000010", @ANYRES16=r7, @ANYBLOB="000829bd700000000000040000002600070073797374656d5f753a6f626a6563745f723a6b6c6f67645f657865635f743a73300000002200070073797374656d5f753a31f76a6563745f723a736861646f775f743a7330000000080005000a010101050001000000000005000100000000002500070008000000656d5f753a6f626a6563745f723a67657474795f6574635f743a73300000000014000300fe8000000000000000000000000000aa"], 0xb4}, 0x1, 0x0, 0x0, 0x40054}, 0x800) sendmsg$NLBL_UNLABEL_C_STATICREMOVE(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x100000}, 0xc, &(0x7f0000000100)={&(0x7f0000000080)={0x5c, r7, 0x8, 0x70bd26, 0x25dfdbfe, {}, [@NLBL_UNLABEL_A_IFACE={0x14, 0x6, 'veth1_virt_wifi\x00'}, @NLBL_UNLABEL_A_IPV4ADDR={0x8, 0x4, @broadcast}, @NLBL_UNLABEL_A_ACPTFLG={0x5}, @NLBL_UNLABEL_A_IPV4ADDR={0x8, 0x4, @broadcast}, @NLBL_UNLABEL_A_ACPTFLG={0x5}, @NLBL_UNLABEL_A_IPV6MASK={0x14, 0x3, @local}]}, 0x5c}, 0x1, 0x0, 0x0, 0xc4405}, 0x4010) 16:00:23 executing program 1: r0 = syz_open_procfs$namespace(0xffffffffffffffff, &(0x7f0000000040)='ns/net\x00') ioctl$NS_GET_USERNS(r0, 0xb701, 0x0) 16:00:23 executing program 4: ioctl$F2FS_IOC_MOVE_RANGE(0xffffffffffffffff, 0xc020f509, 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) perf_event_open(0x0, 0x0, 0xb, 0xffffffffffffffff, 0x9) r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$SG_SET_KEEP_ORPHAN(0xffffffffffffffff, 0x2287, &(0x7f0000000200)=0x2) pipe2(0x0, 0x0) sendmsg$TIPC_NL_BEARER_DISABLE(0xffffffffffffffff, &(0x7f0000000480)={0x0, 0x0, &(0x7f0000000440)={&(0x7f0000000340)=ANY=[@ANYBLOB="d4000000", @ANYRES16=0x0, @ANYBLOB="00012cbd7000ffdbdf25022d2e000c00098008000200ffff00005400058008000100657468000700010069620000080001007564700014000280080003000300000008000400030000001c00028008000400df07000000080003000700000007000100696200004400070000080000000d020000080002000100000008000200f9ffffff07000100440000003fd71651b46af606448771b56e8f7cd00c000300ff00000000000086b5000200000000001c00078008000100050000feff000000000000"], 0xd4}, 0x1, 0x0, 0x0, 0x4}, 0x4000) keyctl$get_keyring_id(0x0, 0x0, 0x0) ioctl$TIOCL_PASTESEL(r0, 0x541c, &(0x7f0000000100)) gettid() r1 = add_key$keyring(&(0x7f0000000080)='keyring\x00', &(0x7f0000000140)={'syz', 0x2}, 0x0, 0x0, 0xfffffffffffffffb) keyctl$search(0xa, r1, &(0x7f0000000000)='asymmetric\x00', &(0x7f0000000040)={'syz', 0x2}, 0xfffffffffffffffd) keyctl$set_timeout(0xf, r1, 0x4) r2 = add_key$keyring(&(0x7f00000000c0)='keyring\x00', &(0x7f0000000300)={'syz', 0x3}, 0x0, 0x0, 0xfffffffffffffffb) syz_open_dev$ttys(0xc, 0x2, 0x0) keyctl$search(0xa, r2, &(0x7f0000000040)='syzkaller\x00', &(0x7f0000000080)={'syz', 0x0}, 0x0) sync() 16:00:23 executing program 3: r0 = socket$inet6(0xa, 0x80002, 0x0) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f00000000c0)={@mcast2={0xff, 0x2, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa4ffffff]}, 0x800, 0x0, 0xff, 0x58998d2ab7869a03}, 0x20) r1 = perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, @perf_config_ext, 0x0, 0x0, 0xfffffffe, 0x3}, 0x0, 0xfffffff7ffffffff, 0xffffffffffffffff, 0x2) r2 = socket$inet6(0xa, 0x2, 0x0) setsockopt$inet6_IPV6_DSTOPTS(r2, 0x29, 0x3b, &(0x7f0000000140), 0x8) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r2, 0x29, 0x20, &(0x7f00000000c0)={@rand_addr=' \x01\x00', 0x800, 0x0, 0x103, 0x1}, 0x20) sendmsg$NLBL_UNLABEL_C_STATICREMOVE(0xffffffffffffffff, &(0x7f00000003c0)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x2000}, 0xc, &(0x7f0000000380)={&(0x7f0000000200)={0x1c, 0x0, 0x8, 0x70bd2b, 0x25dfdbff, {}, [@NLBL_UNLABEL_A_ACPTFLG={0x5}]}, 0x1c}}, 0x4000004) sendmsg$inet6(r2, &(0x7f0000000100)={&(0x7f0000000040)={0xa, 0x4e20, 0x5, @remote}, 0x1c, 0x0, 0x0, &(0x7f0000000580)=[@hopopts_2292={{0x60, 0x29, 0xb, {0x0, 0x8, [], [@hao={0xc9, 0xd, @loopback}, @hao={0xc9, 0x10, @dev}, @calipso={0x7, 0x20, {0x0, 0x6, 0x0, 0x0, [0x0, 0x0, 0x0]}}, @ra={0x5, 0x2, 0x2}, @hao={0xc9, 0x0, @rand_addr=' \x01\x00'}]}}}, @tclass={{0x0, 0x29, 0x43, 0x4}}], 0x60}, 0x0) ioctl$FICLONERANGE(r1, 0x4020940d, &(0x7f0000000180)={{r2}, 0x0, 0x7fffffff, 0x4c}) r3 = open$dir(&(0x7f0000000340)='./file1\x00', 0x200, 0x21) r4 = dup2(r1, r3) r5 = socket$inet6(0xa, 0x3, 0x6) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r5, 0x29, 0x20, &(0x7f0000000000)={@mcast1, 0x0, 0x0, 0x2, 0x1, 0x1f, 0x0, 0x400000000}, 0x20) r6 = syz_open_procfs(0x0, &(0x7f00000004c0)='net/ip6_flowlabel\x00') sendfile(r5, r6, &(0x7f0000000240)=0x202, 0x4000000000dc) r7 = syz_genetlink_get_family_id$netlbl_unlabel(&(0x7f0000001700)='NLBL_UNLBL\x00', 0xffffffffffffffff) sendmsg$NLBL_UNLABEL_C_STATICADD(r6, &(0x7f00000017c0)={&(0x7f00000016c0)={0x10, 0x0, 0x0, 0x4000}, 0xc, &(0x7f0000001780)={&(0x7f0000000740)=ANY=[@ANYBLOB="1c2000808830d3a6d6278593e2ae9a4b5a3f1e9a3ae12a4a1814d04bad32a326400d09ef28b08762de6a29bac1f068ef55773e37d9a419729ac12ecd2505b593214fe89e845ff643b46a873c0a88b5065556b478791f190b6058659a0ee4b2f89f12ce7f8e3df8d28ca4e55ebce5cad461784de170724c412196dc45e892d1c04988019b8d69f33156e2de93a8b215cc2f7ebbd212ee5dbad68556c239ff38e9ee9f6671afc459dc5a70454188925d5b52a34d02c8793a8fb4f7eb74ebb5e6bf9f2826e3174fc9a6353a15c0f3f74b6c0fa87b7d16ad2aa72c52b58ec6656444ca78d5aeffdd5b6174c6bbaab46080e876cf775eb07a", @ANYRES16=r7, @ANYBLOB="00022dbd7000fedbdf250300000008000400e0000002"], 0x1c}, 0x1, 0x0, 0x0, 0x8}, 0x20008004) sendmsg$NLBL_UNLABEL_C_STATICREMOVE(r4, &(0x7f0000000500)={&(0x7f0000000300), 0xc, &(0x7f00000002c0)={&(0x7f0000000400)=ANY=[@ANYBLOB="00000010", @ANYRES16=r7, @ANYBLOB="000829bd700000000000040000002600070073797374656d5f753a6f626a6563745f723a6b6c6f67645f657865635f743a73300000002200070073797374656d5f753a31f76a6563745f723a736861646f775f743a7330000000080005000a010101050001000000000005000100000000002500070008000000656d5f753a6f626a6563745f723a67657474795f6574635f743a73300000000014000300fe8000000000000000000000000000aa"], 0xb4}, 0x1, 0x0, 0x0, 0x40054}, 0x800) sendmsg$NLBL_UNLABEL_C_STATICREMOVE(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x100000}, 0xc, &(0x7f0000000100)={&(0x7f0000000080)={0x5c, r7, 0x8, 0x70bd26, 0x25dfdbfe, {}, [@NLBL_UNLABEL_A_IFACE={0x14, 0x6, 'veth1_virt_wifi\x00'}, @NLBL_UNLABEL_A_IPV4ADDR={0x8, 0x4, @broadcast}, @NLBL_UNLABEL_A_ACPTFLG={0x5}, @NLBL_UNLABEL_A_IPV4ADDR={0x8, 0x4, @broadcast}, @NLBL_UNLABEL_A_ACPTFLG={0x5}, @NLBL_UNLABEL_A_IPV6MASK={0x14, 0x3, @local}]}, 0x5c}, 0x1, 0x0, 0x0, 0xc4405}, 0x4010) 16:00:23 executing program 1: r0 = openat$zero(0xffffffffffffff9c, &(0x7f0000000000)='/dev/zero\x00', 0x0, 0x0) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r1, 0x0) preadv(r0, &(0x7f0000000280)=[{0x0}], 0x1, 0x0, 0x0) mmap(&(0x7f0000000000/0xfbe000)=nil, 0xfbe000, 0x7, 0x31, 0xffffffffffffffff, 0x0) prctl$PR_SET_PTRACER(0x59616d61, 0xffffffffffffffff) clone(0x80100900, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r2 = gettid() wait4(0x0, 0x0, 0x80000002, 0x0) vmsplice(0xffffffffffffffff, &(0x7f0000000100)=[{&(0x7f0000000000)="0f34", 0x2}], 0x1, 0x0) ptrace$setopts(0x4206, r2, 0x0, 0x0) bpf$BPF_BTF_LOAD(0x12, &(0x7f00000000c0)={&(0x7f0000000140)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0xa4, 0xa4, 0x5, [@enum={0x0, 0x7, 0x0, 0x6, 0x4, [{}, {}, {}, {}, {}, {}, {}]}, @union={0x0, 0x2, 0x0, 0x5, 0x0, 0x0, [{}, {}]}, @func_proto={0x0, 0x3, 0x0, 0xd, 0x0, [{}, {}, {}]}, @union={0x0, 0x1, 0x0, 0x5, 0x0, 0x0, [{}]}]}, {0x0, [0x0, 0x0, 0x0]}}, 0x0, 0xc1}, 0x20) process_vm_writev(0x0, &(0x7f0000000080)=[{0x0}, {0x0}, {&(0x7f00000193c0)=""/102389, 0x18ff5}], 0x0, 0x0, 0x0, 0x0) tkill(r2, 0x40) wait4(0x0, 0x0, 0x0, 0x0) ptrace$setregs(0xd, r2, 0x0, &(0x7f0000000080)) r3 = gettid() rt_sigqueueinfo(r3, 0x3c, &(0x7f0000000040)) 16:00:23 executing program 2: r0 = socket$inet6(0xa, 0x80002, 0x0) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r0, 0x29, 0x20, &(0x7f00000000c0)={@mcast2={0xff, 0x2, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa4ffffff]}, 0x800, 0x0, 0xff, 0x58998d2ab7869a03}, 0x20) r1 = perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, @perf_config_ext, 0x0, 0x0, 0xfffffffe, 0x3}, 0x0, 0xfffffff7ffffffff, 0xffffffffffffffff, 0x2) r2 = socket$inet6(0xa, 0x2, 0x0) setsockopt$inet6_IPV6_DSTOPTS(r2, 0x29, 0x3b, &(0x7f0000000140), 0x8) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r2, 0x29, 0x20, &(0x7f00000000c0)={@rand_addr=' \x01\x00', 0x800, 0x0, 0x103, 0x1}, 0x20) sendmsg$NLBL_UNLABEL_C_STATICREMOVE(0xffffffffffffffff, &(0x7f00000003c0)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x2000}, 0xc, &(0x7f0000000380)={&(0x7f0000000200)={0x1c, 0x0, 0x8, 0x70bd2b, 0x25dfdbff, {}, [@NLBL_UNLABEL_A_ACPTFLG={0x5}]}, 0x1c}}, 0x4000004) sendmsg$inet6(r2, &(0x7f0000000100)={&(0x7f0000000040)={0xa, 0x4e20, 0x5, @remote}, 0x1c, 0x0, 0x0, &(0x7f0000000580)=[@hopopts_2292={{0x60, 0x29, 0xb, {0x0, 0x8, [], [@hao={0xc9, 0xd, @loopback}, @hao={0xc9, 0x10, @dev}, @calipso={0x7, 0x20, {0x0, 0x6, 0x0, 0x0, [0x0, 0x0, 0x0]}}, @ra={0x5, 0x2, 0x2}, @hao={0xc9, 0x0, @rand_addr=' \x01\x00'}]}}}, @tclass={{0x0, 0x29, 0x43, 0x4}}], 0x60}, 0x0) ioctl$FICLONERANGE(r1, 0x4020940d, &(0x7f0000000180)={{r2}, 0x0, 0x7fffffff, 0x4c}) r3 = open$dir(&(0x7f0000000340)='./file1\x00', 0x200, 0x21) r4 = dup2(r1, r3) r5 = socket$inet6(0xa, 0x3, 0x6) setsockopt$inet6_IPV6_FLOWLABEL_MGR(r5, 0x29, 0x20, &(0x7f0000000000)={@mcast1, 0x0, 0x0, 0x2, 0x1, 0x1f, 0x0, 0x400000000}, 0x20) r6 = syz_open_procfs(0x0, &(0x7f00000004c0)='net/ip6_flowlabel\x00') sendfile(r5, r6, &(0x7f0000000240)=0x202, 0x4000000000dc) r7 = syz_genetlink_get_family_id$netlbl_unlabel(&(0x7f0000001700)='NLBL_UNLBL\x00', 0xffffffffffffffff) sendmsg$NLBL_UNLABEL_C_STATICADD(r6, &(0x7f00000017c0)={&(0x7f00000016c0)={0x10, 0x0, 0x0, 0x4000}, 0xc, &(0x7f0000001780)={&(0x7f0000000740)=ANY=[@ANYBLOB="1c2000808830d3a6d6278593e2ae9a4b5a3f1e9a3ae12a4a1814d04bad32a326400d09ef28b08762de6a29bac1f068ef55773e37d9a419729ac12ecd2505b593214fe89e845ff643b46a873c0a88b5065556b478791f190b6058659a0ee4b2f89f12ce7f8e3df8d28ca4e55ebce5cad461784de170724c412196dc45e892d1c04988019b8d69f33156e2de93a8b215cc2f7ebbd212ee5dbad68556c239ff38e9ee9f6671afc459dc5a70454188925d5b52a34d02c8793a8fb4f7eb74ebb5e6bf9f2826e3174fc9a6353a15c0f3f74b6c0fa87b7d16ad2aa72c52b58ec6656444ca78d5aeffdd5b6174c6bbaab46080e876cf775eb07a", @ANYRES16=r7, @ANYBLOB="00022dbd7000fedbdf250300000008000400e0000002"], 0x1c}, 0x1, 0x0, 0x0, 0x8}, 0x20008004) sendmsg$NLBL_UNLABEL_C_STATICREMOVE(r4, &(0x7f0000000500)={&(0x7f0000000300), 0xc, &(0x7f00000002c0)={&(0x7f0000000400)=ANY=[@ANYBLOB="00000010", @ANYRES16=r7, @ANYBLOB="000829bd700000000000040000002600070073797374656d5f753a6f626a6563745f723a6b6c6f67645f657865635f743a73300000002200070073797374656d5f753a31f76a6563745f723a736861646f775f743a7330000000080005000a010101050001000000000005000100000000002500070008000000656d5f753a6f626a6563745f723a67657474795f6574635f743a73300000000014000300fe8000000000000000000000000000aa"], 0xb4}, 0x1, 0x0, 0x0, 0x40054}, 0x800) sendmsg$NLBL_UNLABEL_C_STATICREMOVE(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x100000}, 0xc, &(0x7f0000000100)={&(0x7f0000000080)={0x5c, r7, 0x8, 0x70bd26, 0x25dfdbfe, {}, [@NLBL_UNLABEL_A_IFACE={0x14, 0x6, 'veth1_virt_wifi\x00'}, @NLBL_UNLABEL_A_IPV4ADDR={0x8, 0x4, @broadcast}, @NLBL_UNLABEL_A_ACPTFLG={0x5}, @NLBL_UNLABEL_A_IPV4ADDR={0x8, 0x4, @broadcast}, @NLBL_UNLABEL_A_ACPTFLG={0x5}, @NLBL_UNLABEL_A_IPV6MASK={0x14, 0x3, @local}]}, 0x5c}, 0x1, 0x0, 0x0, 0xc4405}, 0x4010) 16:00:23 executing program 4: ioctl$F2FS_IOC_MOVE_RANGE(0xffffffffffffffff, 0xc020f509, 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) perf_event_open(0x0, 0x0, 0xb, 0xffffffffffffffff, 0x9) r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$SG_SET_KEEP_ORPHAN(0xffffffffffffffff, 0x2287, &(0x7f0000000200)=0x2) pipe2(0x0, 0x0) sendmsg$TIPC_NL_BEARER_DISABLE(0xffffffffffffffff, &(0x7f0000000480)={0x0, 0x0, &(0x7f0000000440)={&(0x7f0000000340)=ANY=[@ANYBLOB="d4000000", @ANYRES16=0x0, @ANYBLOB="00012cbd7000ffdbdf25022d2e000c00098008000200ffff00005400058008000100657468000700010069620000080001007564700014000280080003000300000008000400030000001c00028008000400df07000000080003000700000007000100696200004400070000080000000d020000080002000100000008000200f9ffffff07000100440000003fd71651b46af606448771b56e8f7cd00c000300ff00000000000086b5000200000000001c00078008000100050000feff000000000000"], 0xd4}, 0x1, 0x0, 0x0, 0x4}, 0x4000) keyctl$get_keyring_id(0x0, 0x0, 0x0) ioctl$TIOCL_PASTESEL(r0, 0x541c, &(0x7f0000000100)) gettid() r1 = add_key$keyring(&(0x7f0000000080)='keyring\x00', &(0x7f0000000140)={'syz', 0x2}, 0x0, 0x0, 0xfffffffffffffffb) keyctl$search(0xa, r1, &(0x7f0000000000)='asymmetric\x00', &(0x7f0000000040)={'syz', 0x2}, 0xfffffffffffffffd) keyctl$set_timeout(0xf, r1, 0x4) r2 = add_key$keyring(&(0x7f00000000c0)='keyring\x00', &(0x7f0000000300)={'syz', 0x3}, 0x0, 0x0, 0xfffffffffffffffb) syz_open_dev$ttys(0xc, 0x2, 0x0) keyctl$search(0xa, r2, &(0x7f0000000040)='syzkaller\x00', &(0x7f0000000080)={'syz', 0x0}, 0x0) sync() 16:00:23 executing program 1: r0 = openat$zero(0xffffffffffffff9c, &(0x7f0000000000)='/dev/zero\x00', 0x0, 0x0) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r1, 0x0) preadv(r0, &(0x7f0000000280)=[{0x0}], 0x1, 0x0, 0x0) mmap(&(0x7f0000000000/0xfbe000)=nil, 0xfbe000, 0x7, 0x31, 0xffffffffffffffff, 0x0) prctl$PR_SET_PTRACER(0x59616d61, 0xffffffffffffffff) clone(0x80100900, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r2 = gettid() wait4(0x0, 0x0, 0x80000002, 0x0) vmsplice(0xffffffffffffffff, &(0x7f0000000100)=[{&(0x7f0000000000)="0f34", 0x2}], 0x1, 0x0) ptrace$setopts(0x4206, r2, 0x0, 0x0) bpf$BPF_BTF_LOAD(0x12, &(0x7f00000000c0)={&(0x7f0000000140)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0xa4, 0xa4, 0x5, [@enum={0x0, 0x7, 0x0, 0x6, 0x4, [{}, {}, {}, {}, {}, {}, {}]}, @union={0x0, 0x2, 0x0, 0x5, 0x0, 0x0, [{}, {}]}, @func_proto={0x0, 0x3, 0x0, 0xd, 0x0, [{}, {}, {}]}, @union={0x0, 0x1, 0x0, 0x5, 0x0, 0x0, [{}]}]}, {0x0, [0x0, 0x0, 0x0]}}, 0x0, 0xc1}, 0x20) process_vm_writev(0x0, &(0x7f0000000080)=[{0x0}, {0x0}, {&(0x7f00000193c0)=""/102389, 0x18ff5}], 0x0, 0x0, 0x0, 0x0) tkill(r2, 0x40) wait4(0x0, 0x0, 0x0, 0x0) ptrace$setregs(0xd, r2, 0x0, &(0x7f0000000080)) r3 = gettid() rt_sigqueueinfo(r3, 0x3c, &(0x7f0000000040)) 16:00:23 executing program 5: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket$inet6(0xa, 0x1, 0x8010000000000084) r1 = getpid() sched_setscheduler(r1, 0x5, &(0x7f0000000380)) bind$inet6(r0, &(0x7f0000000140)={0xa, 0x4e23, 0x0, @empty}, 0x1c) listen(r0, 0x10001) r2 = socket$inet6_sctp(0xa, 0x800000000000001, 0x84) setsockopt$inet_sctp6_SCTP_SOCKOPT_BINDX_ADD(r2, 0x84, 0x64, &(0x7f0000000200)=[@in6={0xa, 0x0, 0x0, @loopback}], 0x1c) ioctl$FS_IOC_GETFLAGS(0xffffffffffffffff, 0x80086601, &(0x7f0000000040)) setsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX_OLD(r2, 0x84, 0x6b, &(0x7f000055bfe4)=[@in6={0xa, 0x4e23, 0x0, @loopback}], 0x1c) 16:00:24 executing program 0: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = socket$l2tp(0x2, 0x2, 0x73) vmsplice(r0, &(0x7f00000001c0)=[{&(0x7f0000000000)='{', 0x1}], 0x1, 0x0) 16:00:24 executing program 2: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r0, 0x0) preadv(r0, &(0x7f0000000280), 0x18, 0xd9f, 0x0) r1 = socket(0x40000000015, 0x805, 0x0) getsockopt(r1, 0x114, 0x271c, 0x0, &(0x7f00000002c0)) 16:00:24 executing program 3: unshare(0x2a000400) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000040)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = eventfd(0x0) ioctl$KVM_IRQFD(r1, 0x4020ae76, &(0x7f0000000000)={r2, 0x0, 0x2, r2}) 16:00:24 executing program 1: r0 = openat$zero(0xffffffffffffff9c, &(0x7f0000000000)='/dev/zero\x00', 0x0, 0x0) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r1, 0x0) preadv(r0, &(0x7f0000000280)=[{0x0}], 0x1, 0x0, 0x0) mmap(&(0x7f0000000000/0xfbe000)=nil, 0xfbe000, 0x7, 0x31, 0xffffffffffffffff, 0x0) prctl$PR_SET_PTRACER(0x59616d61, 0xffffffffffffffff) clone(0x80100900, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r2 = gettid() wait4(0x0, 0x0, 0x80000002, 0x0) vmsplice(0xffffffffffffffff, &(0x7f0000000100)=[{&(0x7f0000000000)="0f34", 0x2}], 0x1, 0x0) ptrace$setopts(0x4206, r2, 0x0, 0x0) bpf$BPF_BTF_LOAD(0x12, &(0x7f00000000c0)={&(0x7f0000000140)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0xa4, 0xa4, 0x5, [@enum={0x0, 0x7, 0x0, 0x6, 0x4, [{}, {}, {}, {}, {}, {}, {}]}, @union={0x0, 0x2, 0x0, 0x5, 0x0, 0x0, [{}, {}]}, @func_proto={0x0, 0x3, 0x0, 0xd, 0x0, [{}, {}, {}]}, @union={0x0, 0x1, 0x0, 0x5, 0x0, 0x0, [{}]}]}, {0x0, [0x0, 0x0, 0x0]}}, 0x0, 0xc1}, 0x20) process_vm_writev(0x0, &(0x7f0000000080)=[{0x0}, {0x0}, {&(0x7f00000193c0)=""/102389, 0x18ff5}], 0x0, 0x0, 0x0, 0x0) tkill(r2, 0x40) wait4(0x0, 0x0, 0x0, 0x0) ptrace$setregs(0xd, r2, 0x0, &(0x7f0000000080)) r3 = gettid() rt_sigqueueinfo(r3, 0x3c, &(0x7f0000000040)) 16:00:24 executing program 4: ioctl$F2FS_IOC_MOVE_RANGE(0xffffffffffffffff, 0xc020f509, 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) perf_event_open(0x0, 0x0, 0xb, 0xffffffffffffffff, 0x9) r0 = syz_open_dev$tty1(0xc, 0x4, 0x1) ioctl$SG_SET_KEEP_ORPHAN(0xffffffffffffffff, 0x2287, &(0x7f0000000200)=0x2) pipe2(0x0, 0x0) sendmsg$TIPC_NL_BEARER_DISABLE(0xffffffffffffffff, &(0x7f0000000480)={0x0, 0x0, &(0x7f0000000440)={&(0x7f0000000340)=ANY=[@ANYBLOB="d4000000", @ANYRES16=0x0, @ANYBLOB="00012cbd7000ffdbdf25022d2e000c00098008000200ffff00005400058008000100657468000700010069620000080001007564700014000280080003000300000008000400030000001c00028008000400df07000000080003000700000007000100696200004400070000080000000d020000080002000100000008000200f9ffffff07000100440000003fd71651b46af606448771b56e8f7cd00c000300ff00000000000086b5000200000000001c00078008000100050000feff000000000000"], 0xd4}, 0x1, 0x0, 0x0, 0x4}, 0x4000) keyctl$get_keyring_id(0x0, 0x0, 0x0) ioctl$TIOCL_PASTESEL(r0, 0x541c, &(0x7f0000000100)) gettid() r1 = add_key$keyring(&(0x7f0000000080)='keyring\x00', &(0x7f0000000140)={'syz', 0x2}, 0x0, 0x0, 0xfffffffffffffffb) keyctl$search(0xa, r1, &(0x7f0000000000)='asymmetric\x00', &(0x7f0000000040)={'syz', 0x2}, 0xfffffffffffffffd) keyctl$set_timeout(0xf, r1, 0x4) r2 = add_key$keyring(&(0x7f00000000c0)='keyring\x00', &(0x7f0000000300)={'syz', 0x3}, 0x0, 0x0, 0xfffffffffffffffb) syz_open_dev$ttys(0xc, 0x2, 0x0) keyctl$search(0xa, r2, &(0x7f0000000040)='syzkaller\x00', &(0x7f0000000080)={'syz', 0x0}, 0x0) sync() 16:00:24 executing program 2: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r0, 0x0) preadv(r0, &(0x7f0000000280), 0x18, 0xd9f, 0x0) r1 = socket(0x40000000015, 0x805, 0x0) getsockopt(r1, 0x114, 0x271c, 0x0, &(0x7f00000002c0)) 16:00:24 executing program 0: r0 = syz_open_dev$sg(&(0x7f0000000040)='/dev/sg#\x00', 0x0, 0x0) ioctl$SG_SCSI_RESET(r0, 0x2286, 0x816d000) mmap$perf(&(0x7f0000ffb000/0x3000)=nil, 0x3000, 0x0, 0x1132, 0xffffffffffffffff, 0x0) mremap(&(0x7f0000ffe000/0x1000)=nil, 0x1000, 0x1000, 0x3, &(0x7f0000fff000/0x1000)=nil) mremap(&(0x7f0000ffd000/0x1000)=nil, 0x1000, 0x2000, 0x0, &(0x7f0000ffb000/0x2000)=nil) 16:00:24 executing program 3: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r0, 0x0) preadv(r0, &(0x7f0000000280), 0x18, 0xd9f, 0x0) syz_open_procfs(0x0, &(0x7f0000000080)='net/llc/socket\x00') 16:00:24 executing program 2: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r0, 0x0) preadv(r0, &(0x7f0000000280), 0x18, 0xd9f, 0x0) r1 = socket(0x40000000015, 0x805, 0x0) getsockopt(r1, 0x114, 0x271c, 0x0, &(0x7f00000002c0)) 16:00:24 executing program 1: r0 = openat$zero(0xffffffffffffff9c, &(0x7f0000000000)='/dev/zero\x00', 0x0, 0x0) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r1, 0x0) preadv(r0, &(0x7f0000000280)=[{0x0}], 0x1, 0x0, 0x0) mmap(&(0x7f0000000000/0xfbe000)=nil, 0xfbe000, 0x7, 0x31, 0xffffffffffffffff, 0x0) prctl$PR_SET_PTRACER(0x59616d61, 0xffffffffffffffff) clone(0x80100900, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r2 = gettid() wait4(0x0, 0x0, 0x80000002, 0x0) vmsplice(0xffffffffffffffff, &(0x7f0000000100)=[{&(0x7f0000000000)="0f34", 0x2}], 0x1, 0x0) ptrace$setopts(0x4206, r2, 0x0, 0x0) bpf$BPF_BTF_LOAD(0x12, &(0x7f00000000c0)={&(0x7f0000000140)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0xa4, 0xa4, 0x5, [@enum={0x0, 0x7, 0x0, 0x6, 0x4, [{}, {}, {}, {}, {}, {}, {}]}, @union={0x0, 0x2, 0x0, 0x5, 0x0, 0x0, [{}, {}]}, @func_proto={0x0, 0x3, 0x0, 0xd, 0x0, [{}, {}, {}]}, @union={0x0, 0x1, 0x0, 0x5, 0x0, 0x0, [{}]}]}, {0x0, [0x0, 0x0, 0x0]}}, 0x0, 0xc1}, 0x20) process_vm_writev(0x0, &(0x7f0000000080)=[{0x0}, {0x0}, {&(0x7f00000193c0)=""/102389, 0x18ff5}], 0x0, 0x0, 0x0, 0x0) tkill(r2, 0x40) wait4(0x0, 0x0, 0x0, 0x0) ptrace$setregs(0xd, r2, 0x0, &(0x7f0000000080)) r3 = gettid() rt_sigqueueinfo(r3, 0x3c, &(0x7f0000000040)) 16:00:24 executing program 0: gettid() r0 = socket$unix(0x1, 0x1, 0x0) r1 = socket$unix(0x1, 0x200000000001, 0x0) bind$unix(r1, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0x6e) listen(r1, 0x0) r2 = dup3(r1, r0, 0x0) connect$unix(r2, &(0x7f0000000180)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0x6e) 16:00:24 executing program 5: r0 = socket$key(0xf, 0x3, 0x2) sendmsg$key(r0, &(0x7f0000000040)={0x3, 0x0, &(0x7f0000000340)={&(0x7f0000000080)={0x2, 0x5, 0x0, 0x3, 0xa, 0x0, 0x0, 0x0, [@sadb_address={0x3, 0x6, 0x0, 0x0, 0x0, @in={0x2, 0x0, @rand_addr=0x1000000}}, @sadb_sa={0x2}, @sadb_address={0x3, 0x5, 0x0, 0x0, 0x0, @in={0x2, 0x0, @broadcast}}]}, 0x50}, 0x1, 0x7}, 0x0) 16:00:24 executing program 3: syz_mount_image$btrfs(&(0x7f0000000000)='btrfs\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="90e42e8500000000000000000000000000000000000000000000000000000000f90cac8b044b4fa88bee4b8d3da88dc2000001", 0x33, 0x10000}], 0x0, &(0x7f00000000c0)) 16:00:24 executing program 4: mkdirat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000)='./cgroup/syz0\x00', 0x1ff) r0 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000), 0x200002, 0x0) r1 = bpf$PROG_LOAD(0x5, &(0x7f0000000080)={0x9, 0x4, &(0x7f0000000280)=ANY=[@ANYBLOB="18000000000000000000000000000000611200000000000095000000000000001383096e16281fd43e588cf7a1d4c50ae8366e5cadf97f4e52fdb37bdab01f9f6cc297b130a1c98ea973fbaf38f9d47c570134b54dbee7458404277462d8ac80053e629d28c45b25e324fd54d237d71ff7b52f78ad9692619113594630a9eb6490c61332499f4861a57120ea351e61ca08b452a2bffd133c9c11305600a73d52319cc0e1b4049b537a6310d0ee13db80ad6553ed19a04679d0d664f61277501f370123113bd565aeb1486f9a79e314ecbc40fdb3702ecfcaed9cb384ec7011bd384577a5a78efdd8687e0574465e490aa62e217fa49e4167d7fcf28ec73d58a1d795c358c5aee99cae4c959ba2b9a78b4e231c46f8030523faf5b79e"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x70) r2 = openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000), 0x200002, 0x0) bpf$BPF_LINK_CREATE(0x1c, &(0x7f0000000100)={r1, r0, 0x2}, 0x10) bpf$BPF_PROG_DETACH(0x8, &(0x7f0000000040)={@cgroup=r2, r1, 0x2, 0x2}, 0x10) 16:00:24 executing program 2: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r0, 0x0) preadv(r0, &(0x7f0000000280), 0x18, 0xd9f, 0x0) r1 = socket(0x40000000015, 0x805, 0x0) getsockopt(r1, 0x114, 0x271c, 0x0, &(0x7f00000002c0)) 16:00:24 executing program 1: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000040)='/dev/kvm\x00', 0x0, 0x0) r3 = ioctl$KVM_CREATE_VM(r2, 0xae01, 0x0) ioctl$KVM_CREATE_IRQCHIP(r3, 0xae60) dup3(r3, r1, 0x0) r4 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) r5 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r5, 0x0) preadv(r5, &(0x7f0000000280), 0x18, 0xd9f, 0x0) ioctl$KVM_SET_LAPIC(r4, 0x4008ae89, &(0x7f0000000640)={"06000000dd245c8401010040c9c8dc1964325fa96fa42b76710000402bec0ba41f010a003a40c8a4710000403b00041f01ffff80003c5ca2c2000000ee377abaece6b88378e3d63a03000040361d264ffa8b46485f02baee010100c04252066178868d1ef4b5ffff5dc26ca097ddda7c21a984c2b9ca4bbb7a87165c0c1dbc75d7ea4df10000174a3ac8694525a7e8c499a573577736800000000000008f37f06e4ea9f1e5f0c6c379f9cc58bf69fcde318ead4825aa006a832d309fcda5bb5a6baa41d614f6c8941bee805954a62d196a4e8d4bf6b21224b57f530d0000c1ff53bf79a1f5c5dc34b2262d66ae793b6304a30b97077f1c131045cbc11c4562d22db88d0edc5daee171cc04d96d9ec2db07478fbe65449b404923ad4a5672b1b285c7988c4ec0922c655ff600000000c00dc290d936d93236051fadfb4b95d02c0bda7ce38dabb7cd103fe4d0c9c963cd717a77f8df8d46099b1f58e068af6afbbc19db161c6df1e7c9c71bc08a282fc2c142856b5569aff4c0a4f72445ef10dcd2c569319d6e9bb2058d023f669a64fc7d9684364673dcfa9235ea5a2ff23c4bb5c5acb2e8976dcac779ff000000000000003d185afe28b774b99d38c90937428617de4cdd6f53c419ce31054182fd898af706f1b1152c691611f897558d4b755cb783978d9859b0537b05b623dcb5c4ca9317471a40fa4998cca80e9605ab8c3c43840abd17deef0c8694c4395fc99be3c3fe7aeb8af4929ce7d346ca702f78b233b5208752726ed9f0c340d494b92d19cc930bb8a5f8b4da8f4603ac0c3b698384e17a570dc8524823ed15af4ecfabb4b2541d3c114b7bba1c21a845c9cf0d1cc24aba16f70f558b2246ad95ccf7d3f80cc0ab26f08336ea1a33b79cf35b898837016eb211a1734c7af076e15451e33519fc978f66df7df4557c91024a8dc130a28ef5f63ad07b39c8d23b85cf434e065e8a29a800655d127de6f6347b4951f97b5703dc78b1ca9d74ea6a9ae12ab367c0de2659cc38d2f33ddd86e0597d33361eada119b5132145fa4525c488c7fffd6ceda6e9a02ebd97ced6b0161f2cc84615ceb8b18883299c636e9e46724a9a0600a8bb02f3e489631d522019a35fe12a33caf9dd8768ddbc02a484c345c3efb254297b1dbb04989c3f9f3c7b3c985c39b1d313018068d3809bac8c657e39f47692613e28387e955722908dd88b56163be8312ff47c5b6f070072975af74e97a5a8110a4d74496f4c8ec82ddb56d9b962d2fc43fa01a047666865c84f7cff36056cc4ac258021e1581d43badaaec6cc5a2ef989de9801fed6d4be2bfcfe07a69c46bffb7e7603970800000000000000d372bdd6d89dc1ecf63c23d506114d0fba2bd1c69e8fdcda85ce975ec1381b1cec6ddaa76e186719d81916430000000000edffffffffffffff00"}) 16:00:24 executing program 0: gettid() r0 = socket$unix(0x1, 0x1, 0x0) r1 = socket$unix(0x1, 0x200000000001, 0x0) bind$unix(r1, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0x6e) listen(r1, 0x0) r2 = dup3(r1, r0, 0x0) connect$unix(r2, &(0x7f0000000180)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0x6e) 16:00:25 executing program 2: setrlimit(0x1, &(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) open(&(0x7f00000000c0)='./bus\x00', 0x141042, 0x0) r0 = open(&(0x7f0000000400)='./bus\x00', 0x14103e, 0x0) pwrite64(r0, &(0x7f0000000240)="eca307dcde3a", 0x6, 0xfffffffeffb) [ 282.399111][T10963] loop3: detected capacity change from 0 to 256 16:00:25 executing program 0: gettid() r0 = socket$unix(0x1, 0x1, 0x0) r1 = socket$unix(0x1, 0x200000000001, 0x0) bind$unix(r1, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0x6e) listen(r1, 0x0) r2 = dup3(r1, r0, 0x0) connect$unix(r2, &(0x7f0000000180)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0x6e) [ 282.477762][T10963] loop3: detected capacity change from 0 to 256 16:00:25 executing program 3: perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet6(0xa, 0x2, 0x0) connect$inet6(r0, &(0x7f0000002740)={0xa, 0x0, 0x0, @local, 0x9}, 0x1c) setsockopt$inet6_opts(r0, 0x29, 0x37, &(0x7f0000000180)=ANY=[], 0x18) sendmmsg(r0, &(0x7f0000007e00), 0x136a88c8311572c, 0x11) ioctl$UI_DEV_SETUP(0xffffffffffffffff, 0x405c5503, 0x0) ioctl$UI_DEV_SETUP(0xffffffffffffffff, 0x405c5503, 0x0) 16:00:25 executing program 5: r0 = socket$packet(0x11, 0x2, 0x300) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r0, 0x8933, &(0x7f0000000040)={'batadv_slave_0\x00', 0x0}) setsockopt$packet_add_memb(r0, 0x107, 0x1, &(0x7f0000000080)={r1, 0x2, 0x6}, 0x10) r2 = socket$packet(0x11, 0x2, 0x300) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r2, 0x8933, &(0x7f0000000040)={'batadv_slave_0\x00', 0x0}) setsockopt$packet_add_memb(r2, 0x107, 0x1, &(0x7f0000000080)={r3, 0x2, 0x6}, 0x10) 16:00:25 executing program 4: r0 = syz_open_dev$sg(&(0x7f0000000000)='/dev/sg#\x00', 0x0, 0x0) ioctl$SG_EMULATED_HOST(r0, 0x2203, &(0x7f0000000040)) [ 282.722671][T10994] kvm [10961]: vcpu0, guest rIP: 0xfff0 disabled perfctr wrmsr: 0xc2 data 0x3ad6e37883b8e6ec [ 282.736964][ T37] audit: type=1800 audit(1618243225.357:4): pid=10988 uid=0 auid=4294967295 ses=4294967295 subj=_ op=collect_data cause=failed comm="syz-executor.2" name="bus" dev="sda1" ino=14102 res=0 errno=0 16:00:25 executing program 0: gettid() r0 = socket$unix(0x1, 0x1, 0x0) r1 = socket$unix(0x1, 0x200000000001, 0x0) bind$unix(r1, &(0x7f0000366000)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0x6e) listen(r1, 0x0) r2 = dup3(r1, r0, 0x0) connect$unix(r2, &(0x7f0000000180)=@file={0x1, '\xe9\x1fq\x89Y\x1e\x923aK\x00'}, 0x6e) 16:00:25 executing program 2: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f000029f000/0x1000)=nil, 0x1000, 0x0, 0xa0012, r0, 0x0) [ 282.882663][ T37] audit: type=1800 audit(1618243225.357:5): pid=10992 uid=0 auid=4294967295 ses=4294967295 subj=_ op=collect_data cause=failed comm="syz-executor.2" name="bus" dev="sda1" ino=14102 res=0 errno=0 16:00:25 executing program 5: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r0, 0x0) preadv(r0, &(0x7f0000000280), 0x18, 0xd9f, 0x0) r1 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r2 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r3 = syz_genetlink_get_family_id$nbd(&(0x7f0000000180)='nbd\x00', r1) sendmsg$NBD_CMD_CONNECT(r2, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000040)={0x24, r3, 0xef4724ac5d7c4069, 0x0, 0x0, {}, [@NBD_ATTR_SOCKETS={0x4}, @NBD_ATTR_SIZE_BYTES={0xc, 0x2, 0x100000001}]}, 0x24}}, 0x0) 16:00:25 executing program 4: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r0, 0x0) preadv(r0, &(0x7f0000000280), 0x18, 0xd9f, 0x0) prctl$PR_SET_PTRACER(0x59616d61, 0xffffffffffffffff) clone(0x100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r1 = gettid() wait4(0x0, 0x0, 0x80000002, 0x0) vmsplice(0xffffffffffffffff, &(0x7f00000000c0)=[{0x0}, {0x0}, {0x0}, {&(0x7f0000000000)="66530700ae897094e71b0fb1f147a8378f364602812c66538d750f6ee1d001f43f0500bb9fb045f2d1eaa302ab6c2f7ead638e04700555ead251ad8120653c3eefac982bb63bc2", 0x47}], 0x4, 0x0) ptrace$setopts(0x4206, r1, 0x0, 0x5) tkill(r1, 0x34) ptrace$cont(0x18, r1, 0x0, 0x0) sendmsg$inet(0xffffffffffffffff, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)=[{0x0}], 0x1}, 0x0) ptrace$setregs(0xd, r1, 0x0, &(0x7f0000000080)) exit_group(0x0) 16:00:25 executing program 1: r0 = openat(0xffffffffffffff9c, &(0x7f0000000040)='/proc/self/exe\x00', 0x0, 0x0) r1 = socket$nl_xfrm(0x10, 0x3, 0x6) bind$netlink(r1, &(0x7f0000000080)={0x10, 0x0, 0x0, 0x1}, 0xc) r2 = socket$inet6(0xa, 0x3, 0x1) connect$inet6(r2, &(0x7f00000000c0)={0xa, 0x0, 0x0, @empty}, 0x1c) setsockopt$inet6_IPV6_XFRM_POLICY(r2, 0x29, 0x23, &(0x7f0000000340)={{{@in=@dev, @in6=@mcast2, 0x0, 0x0, 0x0, 0x0, 0xa}, {}, {}, 0x0, 0x0, 0x1}, {{@in6=@mcast1, 0x0, 0x33}, 0x0, @in=@dev, 0x0, 0x0, 0x0, 0x4}}, 0xe8) sendmmsg(r2, &(0x7f0000000480), 0x2e9, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r0, 0x0) preadv(r0, &(0x7f0000000280), 0x18, 0xd9f, 0x0) 16:00:25 executing program 2: r0 = socket$inet_tcp(0x2, 0x1, 0x0) setsockopt$inet_tcp_TCP_REPAIR(r0, 0x6, 0x13, &(0x7f0000000040)=0xffffffffffffffff, 0x4) 16:00:25 executing program 0: r0 = socket(0x18, 0x0, 0x2) getsockname$llc(r0, 0x0, &(0x7f0000000040)) 16:00:25 executing program 4: r0 = socket$inet_sctp(0x2, 0x5, 0x84) getsockopt$inet_sctp_SCTP_HMAC_IDENT(r0, 0x84, 0x14, &(0x7f0000000080)={0x2, [0x0, 0x0]}, &(0x7f00000000c0)=0x8) 16:00:26 executing program 1: getcwd(&(0x7f00000004c0)=""/4096, 0x1000) 16:00:26 executing program 3: perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet6(0xa, 0x2, 0x0) connect$inet6(r0, &(0x7f0000002740)={0xa, 0x0, 0x0, @local, 0x9}, 0x1c) setsockopt$inet6_opts(r0, 0x29, 0x37, &(0x7f0000000180)=ANY=[], 0x18) sendmmsg(r0, &(0x7f0000007e00), 0x136a88c8311572c, 0x11) ioctl$UI_DEV_SETUP(0xffffffffffffffff, 0x405c5503, 0x0) ioctl$UI_DEV_SETUP(0xffffffffffffffff, 0x405c5503, 0x0) 16:00:26 executing program 2: syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000000)={{0x12, 0x1, 0x0, 0x0, 0x0, 0x0, 0x20, 0x5ac, 0x21b, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x24, 0x1, 0x1, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x2, 0x3, 0x1, 0x2, 0x0, {0x9}}}]}}]}}, 0x0) 16:00:26 executing program 5: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000840)={{0x14}, [@NFT_MSG_DELSETELEM={0x3c54, 0xe, 0xa, 0x802, 0x0, 0x0, {0x7, 0x0, 0x9}, [@NFTA_SET_ELEM_LIST_ELEMENTS={0x3c38, 0x3, 0x0, 0x1, [{0x1518, 0x0, 0x0, 0x1, [@NFTA_SET_ELEM_USERDATA={0x1004, 0x6, 0x1, 0x0, "0360f4d61e0041597101d313e93bf6b4a2677c219e26d19598ef5aa5698d1243e276819cb23455be568ba2cb47b24669a7f94fdbb0bd66ce155f312eaa0b3fe9ead5c98509af562f39436389c662532f4f57cb7f0c221927e8584412a9c3c2feb60823b7788f7ef8d656c033888557d4209fce17417c79994a1ec00f5d0e4588a09ca8a6ef6469ccbf409e9ecd9371672d3cf7d77230ef35c6f118b68790e67bff6e5385a299ed80e5fefc85a10f3dcd16ea35d716e0eeb950fefe8a7c4e73e954d1e9a1e62db88920af176918f1928f168efeadc91fd67766940033eb68d4b879f57744bf92bada863c1ce96efa9c03b5c8b7ef17fbd48ebd4bf3690c39a8eb6d1e5131c7466649d41f53588a02de5467ab306a42540321e5d8a002750ec895a320fd89973d37272298661dab3190c2e724225f4617fb290bcffd37ca8c1e1e1d40b7db863c28341b515fcb067a997196493b644fa911bbb9f1c918b37eeee6a5eb56b7b97a0daed1e5547f9eb0f36b30dd7815dbfa897cf306ee04337ea6028ec0b20502051ab48da89a75c2b12373170f6e764d1ff6dd363bb776662e6df433c09bfb4a0b5a3d0d5ee205eaaef4bc2f9abd1277e35f42c76b742bcb13f336993ff6399a8d503323a0191c17f0d5ff3b6fd65994f7daec9ea4fa51902e18f28884784de672a4ed0fa86eb44ccfe9f6953aa12a7b3cee1a36e16c451e2ce05d8d51f75d17b95e597879f15689b55a9878e47e048b859a0238199d6742cb5dab9a442b76e55d420167f01f3f87103936a1000bcb310c11df1c2062dba210cdb6a455e34a530268a88cc814627cdf88f30be94ca9be8eec1af8699819692ca59dd18b205965910282bd8d05b353aa32904d210cf5dd8a10a69d2c8abe0cb0f3d5e1b17a2b4a31b9e00895d135b67ae84dfcde9b62c268d33013bfd64481019b0d48e1957826a34f2f209ac47dd8ba5ebd4cfe3fa71e6333429652718bc8adadaac5535235a2f6db3599879ffcb022e813d6685738b614279a51e3af772b5c78759ce315c5befdc39a2d3c43c7e40296462e805ceb7ed6a86bde275ff544324ae864e8c044c368bdd41832670d555cf9f747c2280d3e0572ae5776036ea5fc9eaf6a62866431430fbab15083b659d45a733999f1f595bbd5a99667240ba85cc8b32b1844cb5eebe7981c3909d0d63e13837e5b44fa45279126f47f32219b25cbf5115c1a13f025d7c1394bc2221c48800c4902f563ae68b3e85b5d907ac11b3fd5b14baaa43214b2333e034a35ef9c73daf90311c142455ac4af06cd9bc2d499058db3ba219feb9cee82738addbe1b7232578445e421375f0921e9b277fbc7a003a8a2b6f8222c120427ebd10f3bbb18dd883e692d2f2c73cf3b878bd27a572576d4886d593dd0c8b443ec5972284ed090850a5a62e4b4dbf9d5e4b2a9f652f6c906ca7ba6f6d813b5cac02c49a438ef7a8322fb382722aa843f8d5e3321489292363efbc39b8e38954f71931b5e7afcd91e40bb1a5b0c30ae5faba114e571c6e3f7b2e7d8683aa8e452041b71db91525eeecd42bf074d061d7a887e28fcb79ca1d576b95bb4a4800a9fe6d6bcd7f6bd44da8f61a5998a2710dbd7b304ed79f31b507578dbc0f16a1ad87b9d188bfb52e0d5bd17dbb044f3ce53a1dfec46bd52172fdd4e64c4abeee68dc4684a7b4ac8a4eed95d78af8c0694581a8cf40964b844bd77deaa7624ba1d96269d05212e58ee24b597938333d2af30b1aaddc02e91f98f0369b35ee90c7c640dbc414d62a421556feb30c21001dc741a30db73c35c18711a83800634e4fb9499628b64540f42c845729a0a291ba9083b4cf5f751e3b5ced5579e2e0258440bde890f56095c69fa8e76b2d7c2298a79fee8be78d6f098bd34067a181fa65deaa37386167bb7f563539d65ae10a6870cb1fa60a3267ab746ae110628c5211f4fe295d384f5aee363fe84f7612652d780a3547cb876a628a660f492e8a945d9605f8e0cd948ec2db5426a0e96969b0081fd86457454af7df81a8875c797dc0f085d71b52a5a41d17274d8948b55d2e366c0e6046f4740d90109ed4d9e874d3fe01a3da83c8a710246b2da8c12290c157a27a15e206103093acf59caa7356710b37ae7997a33098bfda0c4acf9b9adbb8232a97f16e66832d50f918b1c5eff834ffff7eff6e6f5b49cb7ffa4b8653d06e546115e520457b8e57e3e95c61c2e4295d94b87b00f2f6cf3370387caa1d194cb97b104667b8030f167e8b3829f776c76d370110d486775a31796eb2ff4197b429d4c69d80c45bdc0dffa943ec1c6704839fa9e9993a0fdd942e73828d34961acae15b71c1788e5215fc1208599bca14814beb3f6b550c469627b509f1957a5850273737ea02be4df9c1ad2483f7aed059d6e61d6c6b29d4b3bda90c3ceb5579887856e6dc6fb17482bd08c380c5f71c93d7cbdfb2d8b1a6962ae86d8c5982817941f2a212fa5c177bf8d9b7d7d44e590183f2c5a7241d9c651aa0a0f9b04bab193662d57cc4a39684c058857e79f3b80eb7c25c9de8a560b3288411722f3589ddcf30054af2bb22b7a6275c97383d42c824c328caaf27c6d7c11c1c998cc5ef43fb60bb64209bf6f5cea6270d61e36a188d9fe660a9dd5a0dd98aac4837bec86a7aee4d56a61d99026989c1f13f0ad15a428b0bde84f0d03327905be596bceac942ef1f07c486ed331e0153b8117553f36bd6bc078808273981199e3af2436a031d23789e74d0df96fdc946f46764248f88989ef35958f377d02c9e3eec7879e00fe1287507ef84c5d410355e4ed05392d5a0a641baa5f15cc2331b28be4e0151eb93533a155327b5ef5972f1d9ef987a6a1f8730e5d5a04e2cd2431187dc6e2175db3810af03af44fc772a2ebab0c1823489188999ebdad41e091de29cb06fc66efeb6c0ab88c5ff98026c96462d473da852f8ac5b171650607749fd688fefbcee16c9490b42c4bc647b9f630a980d9dbd9303fbfcd07603308e31b1e92a0694b07efe4ce3c72e53268b409c406cbeb7d97a5cbcb1efe908fcb51025c19d5f326027bb515a1348b41c84022ec9c01a7f71cdf0120e83ba6d7b8aab70d15e2ecf13a23e640a972ea5c4b94385b1b9b091142e080f15df1258f5a0c8888c1b8df9561629634f3566e3211408ba95f0fc0999f97a5284e573a33956ad69f459ab34ee47722ec00ccbed7eca9cb6f2c2cf4d4d1afea8366bf95f7ae95b087c324fbfa191f999ff23df61fb41663ac0583635079347a33a73c75cfdf8a40574243939e92b65883b0e6e87dce189d3e9b94437923ea18f82421ef0e7f58ec618d79689205a75f30872931f3a284f2e3bb19163afb3cdfd56a7b7ef6d15655fbeb5b133f0931fd89f9365365bc60cbbb5a128be570d0ce6f2548a56d737fd6fc1ca4a8de7eeb54f67e4a79f20494c4863146583f598f25a7910eb19d0391d8ee4b90405e02d2220adf579890392981d544b76bc5efa12e84164a4f83061017b447a242b8f6174be1caed17be2c7a1f7835d65c08461e4ae542f788e737cf9af6780ba4ef8a8f14ee9722881b49d1ebedf485d070b9a5f0a26f7464d070d058efa5cd5ec70b5b9738915f2e728b1edb27c90b1c848409552f2e2abaf9e897052a33a38362620185f82cf499b6d2346f2d5c7c71eea8f6d102e3c6b20bae80a3811eb0b3fcae568c6e2aa080e5a6af768b5a141f0a8b79b5bd8b8b0bff17d39d6fa99e3174ed7c46d0105eca456873420007037f5cd091ca9b47a67834f69b8996c156787bd1ddda86fc854226943ce338d18f7f2d0e09b00668e3518067a46a4d842c143aaced1fdad4ddd5f857fac1826f246c198f4292f0123f8ba17455471376ae0272b5d4706bf7fb7cb7370fd41e803220da5dc1e369df5b7ce20f2fd7394e29fc5f83fb34eb1acd39512759bc37f82002c1cf8caffd2a3df941c601df00d0e1760b93a0e6991559d0b064a92b738aafdfa0a88b4cf429b6ee897e13a79ddfa8a17de61a3e49859c5ccc397341643af43c22fa0829d34f67282f21a8d4b5c80fca5665cae2d2cfa19d9fb47af0d0ae138484ac99d9f22dc0972e7a57363aaf560f39292418a8fa81abbf157b80a2f30deeaaa867afee0c852daad0a8ca85449ba1111228157b813023464d93d9252b05cf9b66ead5ffa8eb93c27f819e70b23a2285d46e3a372f99d7f305598726679a660f778cc38a5552d3a64eacf5acdd8264764b8dcc8b2665a448014010a22601937243834495b39d69f0370e0cf1c328119fc5b2b761b3594d8177d4b5087fa76956eea8a3c5facb6b3ce2004807c8387f0594f1968f55c3ce336a47d724b73ba666acc224fce364dcd7c17c5e7216cd67d5b8f36d17e241741b039d8cdd733cb1e79c310080400e84949cd46ab970dee4c7b20ef7c1f5d88271010c96c83b988084fb556d524734710d700d69959e0cdb8fe043d26a515c32224d567eff46cbdb93437f5346d2b57b93571aa5b446766f51ab2d60dce2a63c00df40d62601b5894a07e42bf941343cd2c7f115f8d5de017ef2f25800a028d13971f60cf985d244adfe8a2bc5c33a98efc7a2c931c4980e548cbe5dd3e820983b1991adfcb05dde3508152913329f9a9be38bd7d2f89f7d654f1e0a411af6c3fe2d1b47de81425620a876b8204405dab525e121393494e116430e8277a2cfc4c236a383b72b34520f4727e1a9cfe1644388b25b4dd2b9ae5b3b1c2d1bf8601c14e6969adea536a8c5969b5c4c725e24844adad7db06709c34e3d01d1a4e795fabee580b63da72a0b353620c21ffef1a4873e00d67a9b2a41424e2ef82ab17e5d6b69b81f4447dad831b2c38fc2140e5b036f4f35ea8e749c2ad81c8d8e32f82b507997fe0a882986a59d501af430bd55da8b3f59e36cb0bef14eab7fb9aded4f04cb7c1c30c5963ae18cce486c037574c91a830bc4f940b6ed2163226476efaae6a4744bc3fb243b7bc3bac6a5816ca68e4e316f198516ef15e1e90aa4356e5e72fbdb002d7c83be34f251db32caeb8427fcb8bf918a4c82b8ee3aee7b91cf8df0fad0789d49ba459a20698d8ca7675126f2c50613a90ab9d9c13b2080f742965849854824f662cf1df80b2e1b862515422f3875e07b6d56e774efc10a6c0e09b5800e2578270c68add879618e5bab641ac375fd49c597834a4eaf161e5ce2284904a05c5a2501950d649ded3e788efa652140d97c2ac52667688441a3d965be94ec3d1679a59cfe5f4ad0209e667c41e897253efbf8d4a4b785197f788c67cd66a3e7b3037b74f0745823cfe2f0cec44feb64d60cfe7e943f2ea3736e2f25aa4a20fa876872a284eed255d05dbc20252c910fb8b33af03eee51c188f109516a9a8ba0a17a7229c75d58917d2df7f29acd844b685e1d9472dd6a826bedbfee82a388cc511cb5c51c6b5b9a87122520bbf81d9dfcb22e3f03017ffd981f862b18fa41c2900be18c5b3b3c526e5a7a90f0df15b6b4d21cccb7c0fe9c1ccd77c617e6f69d109a05dd67ee42f6e41158075067d7a3a17eb64860a9860fe39e7a97cede530ee8b09ee68bf5b8693c0424912aa37eb97d77f50ac546d0365d734049dd63dedf3b2cd6b71e901d3d5b679621aa6c4259ed8d8368eb2b611c850834612b27695d52d625f409ead857296e6a20ef0b777a525e2dbcb74e93505e81614e2a3df7fab92dd7c6a04702ae65876c8a39098956d515dd1ecd6d0b6fe40345e7709eb49f0a40ecc195dc4e6cc5b9ae5f3bf5c9e5941e2b312b1608c84b2b0b3"}, @NFTA_SET_ELEM_OBJREF={0x9, 0x9, 'syz1\x00'}, @NFTA_SET_ELEM_KEY={0x38, 0x1, 0x0, 0x1, [@NFTA_DATA_VALUE={0x33, 0x1, "e7f5334a79d2694814a6d7ca23dde8dff0df1c017507c6951e7e659aac6cc3693298c3ca9573ba0ec1522c0a23d144"}]}, @NFTA_SET_ELEM_EXPIRATION={0xc, 0x5, 0x1, 0x0, 0xffffffffffffff00}, @NFTA_SET_ELEM_KEY={0x218, 0x1, 0x0, 0x1, [@NFTA_DATA_VERDICT={0x64, 0x2, 0x0, 0x1, [@NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz1\x00'}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz1\x00'}, @NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffb}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz2\x00'}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz0\x00'}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz1\x00'}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz1\x00'}, @NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffe}, @NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xffffffffffffffff}]}, @NFTA_DATA_VERDICT={0x20, 0x2, 0x0, 0x1, [@NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffc}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz0\x00'}, @NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffc}]}, @NFTA_DATA_VALUE={0x4c, 0x1, "9fc16b394d2aad0a3987bfe9d6697186da93e5899ee6576508279f3abc3c4875fc2ca2bdc808ed7005bb34b7ed166e3e30e2e18db44424eed2b2f1546afd08aa2cb7e184d2bfe5a7"}, @NFTA_DATA_VALUE={0x3c, 0x1, "af31581792ae5bde552117bc5dfed8ce90f832ba57339c8bb4be9df86e2cb1fad6aac888794a31f112da4fd7ec887bdfd03fce26b8493bed"}, @NFTA_DATA_VERDICT={0xc, 0x2, 0x0, 0x1, [@NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffe}]}, @NFTA_DATA_VERDICT={0x3c, 0x2, 0x0, 0x1, [@NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz0\x00'}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz0\x00'}, @NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffe}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz1\x00'}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz1\x00'}]}, @NFTA_DATA_VALUE={0xbd, 0x1, "f76d0f0c2e46ff2f3e1e0a033a7b69cee15e935126f1a3bfd428ebb2312b61ec600842364f41e06740cbf9f3364c447aa0f1aeda8fb30927527597ecbc9a9b03c8299bceec574021be18a640fafcec607bede1be6785cea95acb3886115787276defd8617360ef99ee6b1d5f29a177b25e8ad194bb9921519aa622a03cf20ddbf822aba0e4d9af19e4b4626abe8609787617f242d53f38df6df34c23432bbaabf397526c9a0e72f7c41721f2c4f7300773d5a4feb16cc4a7a4"}]}, @NFTA_SET_ELEM_EXPIRATION={0xc, 0x5, 0x1, 0x0, 0x803b}, @NFTA_SET_ELEM_KEY_END={0x114, 0xa, 0x0, 0x1, [@NFTA_DATA_VALUE={0xe4, 0x1, "7082f5cc3da12ca4f66e477b22192aeb5a1376a86095e7e0186695dfed5fbb6ec911a9bfb468f5a0026c329bc7045ada9e0389450685a2be8442f2afe1ab36db8c61b524b20511230c26fdfae3567cdfd5a8f4b2cf8b8c502c98911d4af4f6f65f1b1704897c4c0439843b642fc4dc82464150f1f1eb6425c97f1185674b597c4ec38c857b55dfa583502fcf9e085b721401f1f072f742f7ba8b0401356f147340a381017d27edf46cfdfac09396500df5ebf8b8d267dcad26ba8b40dac14acda5bd6da50987b29851e399dde117847b201d93138a7400a419bb1dfa2e7db27a"}, @NFTA_DATA_VERDICT={0x2c, 0x2, 0x0, 0x1, [@NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz2\x00'}, @NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xffffffffffffffff}, @NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xffffffffffffffff}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz2\x00'}]}]}, @NFTA_SET_ELEM_USERDATA={0xfb, 0x6, 0x1, 0x0, "5aade856793a8d6e34da7ffe776a590d29c92e2c231a952b67994c25dab8ac798f7444eb01051b196da2e039b8e7234dd39ff8e65a64fcc80750fe60f0cf0e1c09b63405893083226408418663812bc96c4814b8adc4c64765d8fabd8052e00c19b0eb0be6fa616946ddeccce8781f2cb1229a8c4d93fe4605c869900c4f76ebe8916b8a71ca0551ea5ecfbacc7a841dc38d54694a08d63dd0a85217e215b71720a53e352d965c757c83dad0435e8f2dbf66f0300cd710f0ffa4c5876cdc8f2e22bda747da76c512f6418b5afc4aa870b0f82493d9ce78006901dcfb98591e5a7051412f52b5a4206a6d2b7424e30e91c29ec2271ace7f"}, @NFTA_SET_ELEM_USERDATA={0x8b, 0x6, 0x1, 0x0, "95fe340d870dd21803827df8a365e81f31211babbc18a6dc82b30385271d543db04ac70075ed7257dec588c2b906e7344cb07190b06709e2320c8fee11a091a67d8ec7da0c2399affba4d4b6df94d6b4069c07bf3b409ddf0611f4a55ad47e288f262238b4c436d1d8b0205bdb815a536732f872af90d96ba1682b7aef9da135de182198e3bd62"}]}, {0x166c, 0x0, 0x0, 0x1, [@NFTA_SET_ELEM_FLAGS={0x8}, @NFTA_SET_ELEM_EXPR={0x4}, @NFTA_SET_ELEM_TIMEOUT={0xc, 0x4, 0x1, 0x0, 0x2}, @NFTA_SET_ELEM_KEY_END={0x117c, 0xa, 0x0, 0x1, [@NFTA_DATA_VERDICT={0x40, 0x2, 0x0, 0x1, [@NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz1\x00'}, @NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffe}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz2\x00'}, @NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffe}, @NFTA_VERDICT_CODE={0x8}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz1\x00'}]}, @NFTA_DATA_VALUE={0x1004, 0x1, "420f9334f214d682c707afdcef2cc1e0c7c39b35408c015af24ef2da51d8e67453779e6629e5c3eb6ea89b11d77b8ebd5e55be6bdc756953cc9735634325ef98c8e89463d0283b66486f70d1ca73ff459afabe61fed321193aa7c83d5463821d6f1bef0a595a52c37df95cd7a331d48e2abed502014ec000ff143f3fe4f2347033194135d29d99bb2516deeafdf7b5a891b9d76d7546ce24584ce9819c4fec67e0e851660318baa7015b1300e1c16db79a91de87bbd6ce5a295588582becc091c918c68c7075ee48efff3e24cb18b062e0c97db9cb0a9bf326e503eca70ada597836fc860e4c84e082db74837a7e939bbdaa838c8dd49a7d6070db6cbb13ea4d8818b3f32f5f1f9be0a207e9bbeaea19beb4da9985dc72a53d938234fab2b9154a11cb727310345371d463aaf1717e25aa800dfbdca5699dbcb2062a3f97e27fee6b2dce5cdb192fdb3874c49165e296dfa35e5976c769c7c045ba19427a6b23d874c8366167d5fd14d301e698c5b5c34cc2d0932ac3c87d37a2dc6b6866cf96b6448d54805c6285cf86aa3e74f17a42424b1cc4b2cb40ffa344480006a9b4cd4f6d3c8b70fb6deb7895fc33489dc5d9d938c617efc6d1c18e36a7c3717272d4c07dc3eb16a9e86feccfd2161f06f9e42b79136b612755821ea405db2c8b53f1ffc0d08ead70656f724e75290fe0be9e904a0eada76928053bd642a77bed2e2474284cecb807c3371e954ef48e54f7a8af18c0219079ee2e0bf65116e4e9c62a66f45d802c377cf427fe7120c63f73424d0bd8b31e59d58f751543c98da12342aed5a49bb76d39f100094169f2f293ad9ee35487258e2baee64e08751d3f9925a673d7516d4c4a30ce6f22a945035a33e774aa08c362c2c84c07ae52bf7f39083aeb29fa79eeae3726d3b3b4e7f6232eec74b06acae9af2f1d04e9ed63638a422ad6afedecee31896f1416127405ee4ec70dcf3a5f9214a89341d35197caba34f4c8432072418a4fbaeb0d4bf546019c93967fc53ad7aae7842b0fb70954762cfd6caee608fae27a99fd8f03d3e134e4aad72d45d57c94bdbc5bcf1179fb479f86e1b112c562102a614fd62468e9a5c8b553b007c28662ed8ca7ed7ae04fe5c1c075a530977ec2de2d4a1b1d2e944ba6f4e3ad288bc72ba3da2bea192aa098ec784a92e700a33a586aea98be48213ce1ec3261316f51ea9961dc76fc7ddd3f1bc552d684e7452a0b50ee38c45f075957da800c5c2ee0f188c451a41c5cff19a544b3e61e19f8b6349db0b1a0c43ea4e48948e6059fe28b6be92cfdf34cc976119919430c45e3198a6791c97b5346fa6ae5883025b556b5f2ce292d588de029c6c3904430a2358f297c95286b164c8e07f7c55c6ee33abfc2f1975676b2c4dcb7e120eaff219d5c796d2f6a84a88496b9781a3061b149fa86bfe1fe95ac87af8352e7629e4042680d53b88f18af3ed520d84cf9a0d897239f6008124896dbbd6545793fc7b0aaf64ebd5fbe0d80d933103ad4e10658ed01e082332647a982864b67c4725a98f0369df14f54f9f9e93e293687f73a5028a9762ead9114ac7645b109381e1a393289092eb0d104507486ee34867467fed5743602a2041cad2632c04b37013894abd4198636716a5bcf4267b01d660578ef872c49e0793f41e78052b92ee39e73d9d38c742a96f0e5df7615f5eea1699b719100d97007e6bbec6ca0ddbcd99e72ff878461f0d2735be713103b6e99079364fddc312ae8e8eb5055c9f220bfd55c9272e595a54c3d6dd5f2c82c918ab4e9d1cc7a7e571ccee733c6c08f27071d50e3d2699ad5f4729a9ad677912221c23055ebfc4e260926e36973c9e91b6d6be263e6de8a6e54088e977750fbc53f7a9e5b917a7acd17c861f706307ce9baea013a679ade1136f929dd673122950947d62daef2f9c161cef54089c40ae799bd9c61530ac504d1fafd513efb05ba3fe0a09b2016b11b2ab15336354664d9b70ce6c0b4a2801dbf32b1f9cc26a4f95f8dffbf4eaf44704f9c0af4bbbab1420567a8b247f216e19fc1607ec86d841b5f52f05e723569ea2713cd24fb3c67cb7289afc67ce2ee123467ee15444720ea18087e63874bd5060d2f72748d58c4218cb2004a989a8ce3caac268f34df11d9255fb7e8fe5b1293999807e3e78be2709ed098025c330b48d37014e19dab49bf4dbc7306d5a192c72e8152c4619907d653c3f7c07e68917792207371706a8f458951a6a125d876e1e406cc6a4f5971e6c46117fbd5ffa9e551c04cf8b07e4bad4b6c34fcc0277cdca6e380d861b91884344a8a3f3a01ab88da100cca60611104887154c001b413d84c68d5bbb684754581f08b96eadd766f29aa8b8646701b46e00ff9e7a136d5a66469b4374434eb1753f87d365c3ffe996a4886491df141a97c56905128769fa8f54b38a530d2a5a33598857967a1e53aef788854132fc3db33715f23fc7e84f22fe28d20d5907f2222acb3537d0e81477069feb4dc3d762b2604a18776e17b06220c94a7e2ee0df57898388b747286a8837e787ef8dc7984da39422a0236a4132f8e5c81817a68235dbfbcfa8a3792653a896965d59c08a0dee727f49daf927a5f7d70c93b638a4e1ae6e41887bb7dc31f51dcbf337ceafc9bad32e3755457c6b338f312b93fa652ca9c5006655afd704e417d5650f3dc3947659f763b8928b5afbd7a8094497c7e6f6ad53b9f8c2267e0dbff4d0cb249b4bf1f4c1c1165aa8d388ba291b7c35ad630e249618280470c9f8e471c6866caf45f2a252c295601606760890f0e28d9da6719b7e35bee7a71a3f39c77a1358ce583d634a58f19bc0feb43aebd9a77097ae7193213c67c9c4425e0db5a477989dfaf226c0102c17fd0e47b5eba6f8d7f7b92cfb7e9798dc21ac8828b5c14670a6d4768f6abc0dd5daebc51a374bb5fa8ec0d89ffbe0cf148d87a1ea4a1c9a264812bdc234446603da094adfef6be99be9453de31c08f29925d27850da5a84c3db0aed2cee274994e175c2634c34a16ec89cd33b08e17819c2a36c81990be02fff30f3ea225a8f7222bf2a106dff058c92ffd3e251ddecc00bbd5222febea238f06cf160cfa13166d076dac454fa67e980e15d61a211cba4afb4d8483520f0270a64264de0a88fe5ceeef2067a9d680ebfe3ee9695f2ed4dfdb70742ae9701f2c614cbbd9b9976ec6c7d979ae53fb167a0ed60e6d1f830589e5ba77c9f42eb6bdea8ae000d4499b2301aeda181f8e3290ddd72d59c941015bea196ac57bacb137fbd12220e05f1936b8650028bb2fba0a4006cde25e4ca5174d2644a5b7a47e3bdb5e6dadfc3d91e377ba083e793148c4872ede2fa052c7a8ae099262da3334c4e599f565a8a10a2fb56abb2cef93b541b548e65e4354fa41d196d4a42da0c49ac6c20f5db2c5bb94ccb9934a9b0b26255db2cc392d5c3b5c5db55b07db7bf8f8a7162533c2cd71475f3846ec6a4e7471aaedb32f93b591d98c58496b79cb917a33bb48ba90767481fe3440963d92b6553b42936b4364856fab306d76b79cb2ba3263dd60a5e9568a8e98ebf4bf33ed9e9ccc21f77945b9d6a6a2d9c6ba0545ca3a2d222b7f842e93c1705c0881b8888ceeccd342825491a8c28ff5f681855827f008fd59821f4261c34aa279d3a4858c9e1589057cceda8bd9ab0277c9f1bc9f8e163a73727809b50390d502402fadf922f490807379d9d60958966286f3bb2773a99adf3162d1988c2a674dd168b3af57b450dedf366425f738f51841569e23891e3f921e20b2a9fe2239495f8c49b1a850c2ce6aa30d940fea5d34133e70a8513ad5107f8d9adbf00bb452c574398d4c8548e5c2ec60ce6ee545eb94b78c24207dbb95a32d03a935b38d0db68fb81a48676bd7d211139eb7c64ed1554092a9647ae4b8143b87b0614c364c670f66e1b87089fb3f72e91160b1c8d6dee2c3f36eb3d81c0a8fb3c04353e8296d389d53e01148444839cf2ae045f4ae1884292ecf52aadeca81b08098e3f69ecc02705766d9725c8757fe1ed237758ceaf3d1e6d85aef429ceb94a16453595672e06cca759c8459f67801ef6f7b5aca31f6ec978303f565ca0f9cda84e371b5f1b98498ffa102632133bdbcb1f7f0e3f982a0af8079d5313df96c1c8bf860b147fb60de2956009edec43800cf42c7f1eddec7241016fdbe0bfc87854f1729d7665b02f7d62f697663473649e5836d8f85f9391e2741ebf087cd1c15392912357f4af8416d06dbfeea9e6ed53f0a57baae7b2a7edd58c51e9c8ea6df584a10e9dc7c66ef5c31b311155098e566bd5411c860080df8dda34cc8b0b9494aa69d322553546de122e26cd29c6940198dbe62f4feb3d10f29ccd9babcbbce5e21dc3241ceda657062beee4350f05cb0055aad3b7ebca2ba433a1745dee18cb7bd2c34c0d7916eb2fa51688856c13b443e1a145bb8aba6f897c803de250bc260cc83dc82b982db64574578b95cb75f6a7adaf23a4ae074a0fcfa8583639480065471c3877f0e3fc40a7e52ff178446c78d6f2aa2049aeef463ca7316e7793c90a44507209bd7ea19a1967037e5d290dee57aafcb218376a1710f9bd835dfc2744dd03ef738a990d3781fcb26ebf2144e2e41538b1d6d8260ad98f91f9d476df77953b747f72dd3ce9f2630c2aa22b5cab67f23274c24b7293241339fb02c89f01a0f198602ee549340c36638297f272f909232e9b17874ea9cb88599d5459ef3a79a75f2ac19fc397b009eebce5b7395acf23172d3783fdf551bd22aca0152a9e752c1bda1607513433f79892ff0423e7f930b1783cbff218b175cf83b17058e2d67874df90b8bb841dc103dae4feb08547b9c60abe8522e0e3510f969dc50426019a7f5aba1464e125982dd818266b87ce05bb65865e79ab34c1b3d94b9e89921e3e20a0ece108b79bdc1eb17d6e9b7eb6e76fd0d325aee0f06607fd4c05774509b6b684fb98217a4d530ce96f191ba6430cac198e8290aa8a95dc493087e0caee0894fecfb96d9614b77be579e17b0bf6a40950f1c3de9cc5e322c493072cdf38ee57f2a44fbe693a8a47ad5f9110d5ea99513c02115967e304b34543eb85142c5117ce2f3e67bc59ba32308aa84a94b6148f11d2bf654fe999d2c91adb3bda596cfadd8c3d47093663022c2b06710fdf81b22c5af5852b78f082a42783ae8dcb2b95f6bf1ac2103f8e9f9617c30924c905c8600ca1ab5841a96cdf87dad0ce486bc6b3a1159b4ecfc7860eac68d569c0e5425b24e5c8a892a9e61be0e3924e4b0a03248c718e2eb1bd572ffcffe27b4353f9ab5b5c6a8537c9ce6f6da36b53bc7f13080e896b13487bfbc37332ad14f43d6b549c45a7e122a58946217f8e52b28b849d0d8ac3389faa97548dacf0c7bd9828eeadaf0faa3d4615e37932ebcf5c68adc6cfa36de803c9618feda0f5847a3590702a1e66cf52e81da5a986e5fde9da1cebc51f48db64a573627688ce79395512fea64539314bfbb406b75a2fdfc02a9401ef0fa967a2e5c484f47786a3dc9be1cd290ed06b1c605e04f4ca1811f177f1d101a4299161ec831aa6aa8ca7a0e9b6ad7dfdb49da8991bf3fff6fd82dc282099ffc0395b6220564286b125afe16f98fe37af0aecfbf2743613d6f74a85eccf58627619fc903b4ce51004db8b8f0c724fd48e8a4fa48141089055d2c8e3b8238a6416d078464ba4b35e1e28b31d7279d18d217a5e74581299987768beaf63881578f136dd79507da16c9cf74c686df11afb8726080a5383e2f3174f1f05ee4915cfa"}, @NFTA_DATA_VALUE={0x7d, 0x1, "35214b192b6bc4970fc7e945e5e1bc6ad8554f5ff3b30ca9c084b98a4125fd17cbeb52d28fa85e39b6e65b9c37140eea3fa5753bc71ce53d2a803db4df8b7d12de822561683d97b85c5cdac6f4ad5aa678c1156cf82349e960cd7680af5641dada6059ff2ab42a3f3e26b1c1c961521d7062bbea908c8a7e5e"}, @NFTA_DATA_VALUE={0xb1, 0x1, "9a6ac4a8bb3976b39f349651022f534f9612dc29b8f1cec3d253b7ea841500e2e9f3c84d6c6cc38092a5df7a192fd12df6478be9296a714f3315a96aeb9ce342758dba98aabcebc28303c1f7f2221b31b3c8e3eec712ed4262ae728703a25fa56bef26dd129a3e1cead0b3199c9776f6c6e84feeb42567b927d8c89a5e7c5517380d2e5828272ff99a4623a2bae6554bb5536bd686e01c9c4580a5791dcca49ef49e03279fa2c969556d1b03cb"}]}, @NFTA_SET_ELEM_FLAGS={0x8}, @NFTA_SET_ELEM_TIMEOUT={0xc, 0x4, 0x1, 0x0, 0x1000}, @NFTA_SET_ELEM_KEY={0x20c, 0x1, 0x0, 0x1, [@NFTA_DATA_VALUE={0xd3, 0x1, "181b7be18940eab5a60d3f1b28f21904b3933b5a038ac5598187195c0f512a4c8a473a6caf30309b7249bf379ccb83e69033b3670b20987986fd4a4e80e1bb74e3b1526f619fbd180f0dc2a5bde3b6d28f2f2ccb308b9b9ede8b466782afea966240be9b4b1ae1313694496d83ece191ace7789037f803d761ef56643706dc2713f1f244752ea38175fd92c56d3ef462800757ad14277f5a1edb3eeddd0b7d25dc9f2057c3c9a207a95e9b86706634a2113153e39f4b4447c63508a6a4ed8bb670c06c95a69066a13d6b5ae763aa67"}, @NFTA_DATA_VERDICT={0x40, 0x2, 0x0, 0x1, [@NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffe}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz0\x00'}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz0\x00'}, @NFTA_VERDICT_CODE={0x8}, @NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffc}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz0\x00'}]}, @NFTA_DATA_VERDICT={0x18, 0x2, 0x0, 0x1, [@NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffc}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz1\x00'}]}, @NFTA_DATA_VALUE={0xda, 0x1, "f2276a87ec8a28cb9cd8203bc0f59eafd0e60d101bfaebd043d27c92ac48fc87c41b4fdffb0539ccecd0ea7b190bd71ffb39116b651ee6f5206631fadfb29c9b356e2ae3559c132e6af621798b31145ff3f73f8acb994b64d8c16df28cf5bc928f947422ae2c20b75da942f28915733a1dd9e7f1c1853ae56e93d7c122c80e451db8cc3b20dd29f8d109860163be923648932fbba1ddd0ddc7233658a6b396d0f6cb084af1f8da828c4b83b4cd428bd3b05f7317f320a160daac0979e805f35cd51616d2252d6b60d3a64d4250546a6486fd09f5a06b"}]}, @NFTA_SET_ELEM_KEY_END={0x2a8, 0xa, 0x0, 0x1, [@NFTA_DATA_VERDICT={0x58, 0x2, 0x0, 0x1, [@NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffc}, @NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffb}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz0\x00'}, @NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xffffffffffffffff}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz1\x00'}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz2\x00'}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz2\x00'}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz2\x00'}]}, @NFTA_DATA_VERDICT={0x20, 0x2, 0x0, 0x1, [@NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffd}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz1\x00'}, @NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffe}]}, @NFTA_DATA_VERDICT={0x50, 0x2, 0x0, 0x1, [@NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz1\x00'}, @NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0x7ffffffffffffffd}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz1\x00'}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz1\x00'}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz1\x00'}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz0\x00'}, @NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffe}]}, @NFTA_DATA_VALUE={0x9, 0x1, "52c6303fa5"}, @NFTA_DATA_VERDICT={0x20, 0x2, 0x0, 0x1, [@NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffb}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz1\x00'}, @NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xffffffffffffffff}]}, @NFTA_DATA_VERDICT={0x24, 0x2, 0x0, 0x1, [@NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz1\x00'}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz0\x00'}, @NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xffffffffffffffff}]}, @NFTA_DATA_VALUE={0x54, 0x1, "39d8e92a1a644ff42b82a5c1fa1c827bb7a5a47b2a15967af31a3392531e21371c6a7af1ef9a8355c687ae72b781bb75c2ab7245a373da1472c6480748f75fb76210621cf9e197908554d74cc7e1bc6d"}, @NFTA_DATA_VALUE={0xc1, 0x1, "574a8b7372f2d51789cf5642459841c8c4d139e871d75694580d2a12964482b5d61041d84aa21aa41cf2931131a730e80564213a55e98faf70438b1d3675f8f146f1f072119b5f815b37eabef809e6733c49371effb687a548382c056b4bd144d883a72524eb7e8a00baa1dd9583828660228c9fe867641bd71de71fb02d21a1a62c44de61a9235640ce6e622397a996d7bee7932c895369d8d42a1cd50d8931a6ca4c0521d84f4616c644b1629014bd3ae178f09b18d30955fb46f66a"}, @NFTA_DATA_VALUE={0x24, 0x1, "4b3a036a3c0f0c902bdfc154120658ff2e00a2262ae043ff2aaf98a9bbd5a433"}, @NFTA_DATA_VERDICT={0x50, 0x2, 0x0, 0x1, [@NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffb}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz0\x00'}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz2\x00'}, @NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffd}, @NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffc}, @NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xffffffffffffffff}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz2\x00'}, @NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffc}]}]}, @NFTA_SET_ELEM_EXPIRATION={0xc, 0x5, 0x1, 0x0, 0x3f}]}, {0x10a8, 0x0, 0x0, 0x1, [@NFTA_SET_ELEM_KEY_END={0x10a0, 0xa, 0x0, 0x1, [@NFTA_DATA_VALUE={0xc, 0x1, "6425ab506f8cce5a"}, @NFTA_DATA_VALUE={0x1004, 0x1, "05b000c8c5e83d4d2855f003f322dc937d9e72fc3e16a5d96a0e4485de594a6ceff32ed9363a9019c4d9ccfbb5b2f469a5234fda6f347f6cf30c5dda93f4a6bd76eb32242a5edf096f383978565b7b487a8a21453e3e49f484f8f2eef31e959d8b43dbbe6983c6b05e204fa3239cab8b9d48f255abf74ddbe11b4eeef99c833a5d44a87824aefbbc3ff0ce2b92dd9ea5c81f9f9a102c9b642daedab28e681a387f1ba15f7ed745b75b1e6cc796a148a51db6502021d0725f6beeb2d5b2325540729acf89dd5423fabd37f6570c2e21d0801ac54e2e549c9e0e8816c9669fbf276bc116acdc4e3b8db531ae6172ad1601c639199854d4d91a901ba11d3dc5b048e29cbfc7350e6c696d65eabe0b02897535c21d96680e7b660b7f9f7b766515b1aa066dc83e83aee6a12fe07d6d4f31a100470159eccc7e13cf9aea0dd4ff540e0dc215e2eca1dbb054f8717e14e8dd356ce72ebd4160d4d7fbb5292aeb67f6dacad5c10b0337483067c0412a0cf2d51c42d37b07c3d5cf98f536a3f6c948872a159e039332417bd062423dda8ee203e75635628f98d5db1d5ee61c1309f487c2fb09ed0dfd33c445fb046cc246bbf16da158efcb7c54e5cfe902e9b8ccb87a98ec337c95d18361861da5d02ac64e4a284ac795158048cde289433416a346318b0d9026567a0e15f1b014e016f76641e5514c0515d78be7e5498bd5e151f32c923f49584ded368fb2edbf979361e1d4dcc632a22abf1668546a98ef731de16621c0cc4bcdb8dc086c02e1ca0ba84bb2b4903b784213dd9e5d3f3c1adf21b794ae45d6f062ee63e9bf9f791167b6d4ea921672e8c1335b2daa0a8daf9cbbc33ce3e66cb0f4a67eaefc2cebb91d4cc7fb74793cd20022a910b23eac451f84565fc41071adb24153ef9371c13259a9bdb12d4e647972c7b2ad6fdcc01cd0ce349f79d2885a8cee77df4b55975e726e843d014c1d4f2c4c4628483deef360e1db587cb17c16594f420543f038a50d54784317e1de89288c1f5f42a26b93cac64989a86cf240bac37b050dd2576ec7f442ebfaabac2a36831573439f8bc76f7e129ec101f3ac83ed1d434303b6526c839a99494990697a1d5f96faa19f954ac5b621467695bc807fe311258b60f0fba13fb2e63b861b7a22557a17f419ab30aa67721d75a7e855914f6b538fed9d8c8c38b85be85f6f4437c87e79db41974f2c671ccc2fd6391ed09fc59a10f54cbb9e443872a50402180321e5ba7ccc6730826179a67ae7051084d18fb2e11e29b36fb5f75f0b11cb9a7fbf67be2e5cce0758fdccbff063476514a36202674e3e31b9ac6a0b6101469bedc24fda007fc14ada655f08d70e28526494768f087f18ff53b6f79a502c84d92f1edafa7a932e6f55dca359b6e472bc6a08efc284df4621acc931dfdece82d88f9f9964f3ee6a78bc7b04e70499ba276a475b6f480c4e0d2a6f804019f1bf28d8d2ed2c45ed6e1f25fd32857dc5253bfe7fe6b39f72ca5b9810df6b0e0caa3cc84cc69a69c0779341d3cbc07662dc958838462b2cd52fa297eb4dc46a7abcc0e17834b5df64cfef80b9cbf7a441ac5c7ac77b6b3972d4f9310043e3fed101f93438f42f33ff686a9c0465f93ff1d2baf50b8ee79b46d70f7b34160ae1f32919ee232ecfeefbfd4b6a03643d36fc74b9fd687f07383fc385db4290e331d9257ac1414d6c8f17eaf9f4f590507811f6ec1a9bbe7cc6ba9c0e11d5d9d844a90f4bfb7447b53b4e9f9d56b27b080cfddfc62d1eb24cbcadedd72c070af1bd2f573a6e1777cc82a1af15564c430368385b70506feaeffb5261d9fdf97c510453c5076e9290985d3b6d30e982ec31bd304a0f6add16dd64ebfac3986815136407eeb25b5ec1881f333c90a522b94c5e4fc66eb8cd5999f2d8876bd52dce766ca19860abfb7be5b7f444adb536ac4eb716fea9dd24bb386b32d1538a190314870ebccabc11c21c0bcebc9ab05247b978ba5180dd455e809024fa0aa94feba17f5b6bf40f7023830046778277ed528cb1c948ba695977bdbc8c888a84225f4c9da540ab817ce15a48cf8fefedf80fc0b96bf7f61a86dc5e62dcd2883e2d6836557b2af90dff563a482eea1f708a7b54c04aba931c8b2729d365010e524e128619d7985e8695dce0a88bb445d5f8c6fb5505956bded019df1bc1d268c1c057a505aed449329f49eb6fbd9c3b3f5d01545f2da6299ce4229818763ac1e6e11d3c5e410a7a2e45d89171935a50a03cc1cbf8d6c358bb4b2146676555e85ad601971be127560d51324d885c5143e6d915d20f27c903a8066ac3f206026e1d3676c63f773ed67ccb500125d952f651bc9e81daad49ba49a2c4628fd52a55ab8fbe56c523f61acca3e0c84008b73cde740f61035cf0f42c569b4f582fe90f6dc4b1bc066d892a339d0e56228c7b09434f19038e4902bb73fce81acd1dc9c0ef30db0d91bb642c2e0eb6105dca466f8da326a82727361f059ce6f281203d655487945d48e963a8b64a5b1525d1b06b12b68c48838e9195c6059c14206c10908866dbf8d47b7f56ad2c3da9f705bbc65e5111d0b6fc9beee4f11b10a50bccad11193646fe6e78a29ee3995ee6b713917461e92a3a3d083798e092943e5e6b8757ab2d7ffb4f1032703217a3e7177aab349eda69d0765177c5f7402d9fe9364e3d632a1a25d52e3795389fc8fe5f36ebf1096733f68a86a9b492a8b4ed209dea5f66d00388c960a4190b2ae395cb66d07764dc1da58c92aee8263cd2a1c8748c69acea7c039bbc9cefa83c53439ddd9f451a1269d30517674eefd67988f3df05224763a1124a14becc3519f3e98ab8791237ea53c7e33b42718d8f473457d4efbf7844a503931b468f281fe739f9a2b452a713452791a4cd022e0818a1ad5c348e710229eec33a1212a85fe5e4af5bfd8897269563cb7199dc8a8a9f85c98ef9f3c787664be1f5a9ed3b2b633e8f2b3c388d6ef690b802952dc60c6dc3e8c565e086e80301d29c8ecc75c03b1ff3a440801ea6828490bbee0289113365b9803c6c8c43e018a4bf84160fe3afeb3c2576ac3fb88a47cbffca1cb7d1b73f39201dcc0f46c6750004b4ef8c23194847703e262132c8d94b211bef3a519248ebb4c1a779fcf7fecde39fff1a73c42ef20c5a667e7ffaa3cc9e64a25a6b2e59450cfbd5bbe152e011db94329ef0fc53daea31c2c1c83e4f5c045e609197a8c914df6309d18db077befe08e55155d04fec94b364cfda4701f487489c2b78771722081079046319b3b0bbd86b11842aa41db79f84a8759073f17fad0efac22d02ae6f4b2e63a5b850c8f79fa8939ae76acb391c9c1a6faf8d8101fb45d42dad847cf47fc3cceab6e0f461b9e089db313f7454d81c6ccf6b9192686293698ae1a72f832da75c167afd04e7681a403308382080de8e7d5dfadcb392a475312088bbb7ea368fe285b6f9c06d9eaeb616b86f52cb957fb63980037d389c9581206278b3cfc7e954a12e18ea7e924e07de38a9c397e96081e3cc6e5044a997404813ae65414abe9199a4cfd204349d42236a8e9030fd043defd7dc67ba9026db53dd1cf1c54a9793c45007b0011e698b742d742fe457c8e5ef333d096ce62e2224f698c379fd5f4e4bdde3be9177f0d97fbb14f5c24d2b8c6d361ecb1809c7418a0d1e8423d9e6e84987db87af4ce228eeacb7ba27828218b76c9c8c0a692d37dacf3f3fbbf994e1bf7342a9c8912364bc66a727314726d712114884c163e7e8a17ddf9ba9e2491e95bd2fcba57b0af34f6f90032d0bc5cdf17a466f9dc4f2a5e0b8d2c71974a616e4a8dcd25c80e0a1955e17e6f422c3fdd8166efc559b64bb24d9a035b8ab1b67b93b539f0b051256bc40551cf34fe68fd726bfd3d9811b5f3b43f229ff0376a462fb712ed45bb97bf0344fd3dbed89761be070ce9d20ec6efa62a4afadfd0c4a0364d8e01ca91c4af59b258d2fec6bca5b9e9c29ccf158ba1ebd1928f18cd0c4dded0020a96c01a2e752e9a51edf7cdf49efaa822333d25b07d90121f097090cde4e48fa5f4ba8b73edee709b5e59baf2699e3e0e510dd7ad0b7c1961e315310c92e2b9a94f0bb830729bcd3f21fc86f29c168caf164bd9cdbd389af38aa4b8af1c6c2035c2d746c13459b963b2e8abeaf08aeaf79b475cd20511dff4e5b6f6a8542423e0e45578d8c4b840ce4b68e15c5722addcda1550d4f1ada0c66b8efadb4b80bcfb5352440ec634ef50dd418ead34bcebb029f6f9c376470d8499babfc0ad52aa63bf4c14f68746372088d81d39e3eae03d34a8dd903aceb3a096bcf0f2c14a1de6c4bd7022769b56f442cb346cb06e2117db12b3dac6d4ef45518400df874891abb1af837f3c780b011510db3914b3e45c941ad49b695b82aefdc71158318c1aeb6c076f5c69669321ef4d4f9e4bab5038a8626fc955acfad534d7860ff2e49e4fe4f9c52a844e7a6eee616434306389781c312df7aa0ed35d1526e134d0c7ff941e23d3c57f0c84bfd6336b8c10f91da0d246eff7931cabe702216d4458a905efc5cdc647ad70c4581d17426d721ce4da73c7d315dcc8a400579974e89081bf26ef1061173f6420b538d8f02bffc3dcd339d1ec5bdccfff8d756f3aea8031773360c92be0cc7679de40e689d765044c86a2e99a2073b3b7de6aea4657b7b110b84b3eb23371a93e05ccc69a7269a10f67ad106fbdcc79f6e1b5f946d811ea6ee168f08e87d028942433ba71733b747629bd77a337ae5f180b387f56faf027a12a082bc9d7d0568941778528cf6f4e75fcfa32f70586a4516302b3fd85ebc9ad2aca7d01b97bae7ff99bf17d4fe9c5715d55609ba0fc16dd932bfabf4314427e1048266f93263450b154e31b703f78fa32d133e45155911b8e3076f1507090af125b6dbacde613b80a30bd13d6d286a766ed9d7ad1b3b6e2b76d5e13d5502bc633d63bf855a19a07c5fcde8c10ff1d20d572b8de2e5fda57ab69e1880c8810099faa80a310b58623a266115a3b757b39027acdab31029c7b5f95379eedfb98e530ec1bb26ed8c471f3374c469d8a658dfaddac13a3e1226f9994c7a1d60316ac62c9e11f35f2bbcac43334a68b84fdaa98d852c3f4ceddad3ddef37b2ed5d5e83575d26e3a7de58f90e345b94ae5e064d5c2e5cbf4969407200e7887fa197d254aba6a556da0dd98a43e3720adf40cd1784d8e47d88e6af3c17d9cc104888b71330ce8efd8190717f2a3f733d3f6f89f023b1cb1c8eeb8e35e88664b5d0c4a64663a30804dc7f8b30adb80054cfbc0d95774cb27107ae0e8ecd1c6bd16bb70d69c50b2b7ff103e15c128d1925448d9a3d2750423925484f71cfcde135cd8feb13ef9568e5d3ae48a3deed57d9905a5c0ebd69a78362d616d35c3c365b2e47b5afec0410548a1c6f49876d7a5010ae06368f8bf219f277cc4d98cbc34e72f399c7d1b3eb3431801e7a87294e3a1a9dff9e644a64cfbf5e23940336e2f36ccfc311b51f443807b48abfe2468cad023125c8b2f0002e1ee35b3ea8b29ad60fc0698b01485293dadc4a9d3e698fae1ab28e4d25b2a2821e797bf4ead751f329852ee4a78cc0617f1229f377bff100c890ea53eaaa0208e27311250720af223fba822a73df4f4922f77fa6ae3a135aa9b72475e99313606e2195bb5cec905e106a8eba3c48674a2cefada74ee5f06a6dc3cde2c0cfc53b415fdc131bbd814a6a6b6f9ebf8d49759d6b5365c00085e42d5d3318272ddb7d3fe5672caa4e025ee39b4c82c4991686e49d56bade2d7aa48498"}, @NFTA_DATA_VERDICT={0x18, 0x2, 0x0, 0x1, [@NFTA_VERDICT_CODE={0x8}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz2\x00'}]}, @NFTA_DATA_VERDICT={0x50, 0x2, 0x0, 0x1, [@NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffb}, @NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffc}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz0\x00'}, @NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffd}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz0\x00'}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz1\x00'}, @NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffc}, @NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffb}]}, @NFTA_DATA_VERDICT={0x24, 0x2, 0x0, 0x1, [@NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz2\x00'}, @NFTA_VERDICT_CHAIN={0x9, 0x2, 'syz1\x00'}, @NFTA_VERDICT_CODE={0x8, 0x1, 0x0, 0x1, 0xfffffffffffffffb}]}]}, @NFTA_SET_ELEM_EXPR={0x4}]}, {0x8, 0x0, 0x0, 0x1, [@NFTA_SET_ELEM_EXPR={0x4}]}]}, @NFTA_SET_ELEM_LIST_SET_ID={0x8}]}, @NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x301, 0x0, 0x0, {0x1}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz0\x00'}]}, @NFT_MSG_NEWCHAIN={0x40, 0x3, 0xa, 0x5, 0x0, 0x0, {0x1}, [@NFTA_CHAIN_TABLE={0x9, 0x1, 'syz0\x00'}, @NFTA_CHAIN_HOOK={0x14, 0x4, 0x0, 0x1, [@NFTA_HOOK_PRIORITY={0x8}, @NFTA_HOOK_HOOKNUM={0x8}]}, @NFTA_CHAIN_NAME={0x9, 0x3, 'syz0\x00'}]}], {0x14}}, 0x3cdc}, 0x1, 0x0, 0x0, 0x44010}, 0x4004000) 16:00:26 executing program 0: r0 = socket$vsock_stream(0x28, 0x1, 0x0) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r1, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) preadv(r2, &(0x7f0000000280), 0x18, 0xd9f, 0x0) connect$vsock_stream(r0, &(0x7f0000000040)={0x28, 0x0, 0x0, @my=0x1}, 0x10) r3 = socket$inet6_tcp(0xa, 0x1, 0x0) dup3(r3, r0, 0x0) 16:00:26 executing program 4: clock_gettime(0x0, 0x0) clock_nanosleep(0x0, 0x0, &(0x7f00000003c0)={0x77359400}, &(0x7f0000000400)) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000040)='cpuacct.usage_percpu_user\x00', 0x26e1, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x3, &(0x7f00000000c0)=ANY=[@ANYBLOB="1800000000000000000000000006000095"], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000140)={&(0x7f0000000000)='ext4_da_reserve_space\x00', r1}, 0x10) write$cgroup_int(r0, &(0x7f0000000200), 0x400086) openat$cgroup_ro(0xffffffffffffffff, 0x0, 0x0, 0x0) 16:00:26 executing program 1: add_key(&(0x7f0000002580)='id_resolver\x00', 0x0, 0x0, 0x0, 0xffffffffffffffff) add_key$fscrypt_v1(0x0, 0x0, &(0x7f0000000300)={0x0, "f84d3520f4c6b659032a9df44d85a370b53e61e4130a7818c6ed87376ee14d9694b48241807f02e71ca6ecd3c131b828afb708cc124bbd5a276585b789f1458b", 0x2f}, 0x48, 0xfffffffffffffffb) clone(0x40080080, 0x0, 0x0, 0x0, 0x0) 16:00:26 executing program 5: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$FOU_CMD_ADD(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={0x0}}, 0x0) sendmsg$IPVS_CMD_NEW_DAEMON(r0, &(0x7f0000000780)={0x0, 0x0, &(0x7f0000000740)={0x0}}, 0x0) 16:00:26 executing program 0: prlimit64(0x0, 0xf93fd2cb0b33ec6d, 0x0, 0x0) [ 283.960629][ T9526] usb 3-1: new high-speed USB device number 2 using dummy_hcd 16:00:26 executing program 5: r0 = socket$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000540)=@newsa={0x13c, 0x10, 0x713, 0x0, 0x0, {{@in6=@loopback}, {@in6=@remote, 0x0, 0x2b}, @in=@dev, {}, {}, {}, 0x0, 0x0, 0xa}, [@algo_auth_trunc={0x4c, 0x14, {{'cmac(aes)\x00'}}}]}, 0x13c}}, 0x0) [ 284.004448][T11057] IPVS: ftp: loaded support on port[0] = 21 16:00:26 executing program 0: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$ieee802154(&(0x7f0000000280)='802.15.4 MAC\x00', r0) ioctl$sock_SIOCGIFINDEX_802154(r0, 0x8933, &(0x7f00000002c0)={'wpan1\x00', 0x0}) sendmsg$IEEE802154_LLSEC_SETPARAMS(r0, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000480)={&(0x7f0000000400)={0x1c, r1, 0x1, 0x0, 0x0, {}, [@IEEE802154_ATTR_DEV_INDEX={0x8, 0x2, r2}]}, 0x1c}}, 0x0) [ 284.232915][ T9526] usb 3-1: Using ep0 maxpacket: 32 16:00:27 executing program 5: r0 = seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0xa, &(0x7f0000000040)={0x1, &(0x7f0000000000)=[{0x6, 0x0, 0x0, 0x7fc00000}]}) perf_event_open(0x0, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r0, 0xc0502100, &(0x7f0000000180)={0x0}) ioctl$SECCOMP_IOCTL_NOTIF_SEND(r0, 0x80082102, &(0x7f0000000200)={r1}) [ 284.370059][ T9526] usb 3-1: config 1 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 16:00:27 executing program 0: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$ieee802154(&(0x7f0000000280)='802.15.4 MAC\x00', r0) ioctl$sock_SIOCGIFINDEX_802154(r0, 0x8933, &(0x7f00000002c0)={'wpan1\x00', 0x0}) sendmsg$IEEE802154_LLSEC_SETPARAMS(r0, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000480)={&(0x7f0000000400)={0x1c, r1, 0x1, 0x0, 0x0, {}, [@IEEE802154_ATTR_DEV_INDEX={0x8, 0x2, r2}]}, 0x1c}}, 0x0) [ 284.431292][ T9526] usb 3-1: config 1 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 [ 284.562834][ T9526] usb 3-1: config 1 interface 0 altsetting 0 has 1 endpoint descriptor, different from the interface descriptor's value: 2 16:00:27 executing program 3: perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet6(0xa, 0x2, 0x0) connect$inet6(r0, &(0x7f0000002740)={0xa, 0x0, 0x0, @local, 0x9}, 0x1c) setsockopt$inet6_opts(r0, 0x29, 0x37, &(0x7f0000000180)=ANY=[], 0x18) sendmmsg(r0, &(0x7f0000007e00), 0x136a88c8311572c, 0x11) ioctl$UI_DEV_SETUP(0xffffffffffffffff, 0x405c5503, 0x0) ioctl$UI_DEV_SETUP(0xffffffffffffffff, 0x405c5503, 0x0) [ 284.646417][T11090] IPVS: ftp: loaded support on port[0] = 21 [ 284.830659][ T9526] usb 3-1: New USB device found, idVendor=05ac, idProduct=021b, bcdDevice= 0.40 [ 284.850332][ T9526] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 284.880269][ T9526] usb 3-1: Product: syz [ 284.902695][ T9526] usb 3-1: Manufacturer: syz [ 284.918032][ T9526] usb 3-1: SerialNumber: syz [ 285.220059][ T9526] appletouch 3-1:1.0: Failed to read mode from device. [ 285.228271][ T9526] appletouch: probe of 3-1:1.0 failed with error -5 [ 285.345478][ T9526] usb 3-1: USB disconnect, device number 2 [ 285.441661][ T37] audit: type=1326 audit(1618243228.067:6): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=_ pid=11086 comm="syz-executor.5" exe="/root/syz-executor.5" sig=0 arch=c000003e syscall=202 compat=0 ip=0x466459 code=0x7fc00000 [ 285.496215][ T37] audit: type=1326 audit(1618243228.067:7): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=_ pid=11086 comm="syz-executor.5" exe="/root/syz-executor.5" sig=0 arch=c000003e syscall=298 compat=0 ip=0x466459 code=0x7fc00000 [ 285.552276][ T37] audit: type=1326 audit(1618243228.067:8): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=_ pid=11086 comm="syz-executor.5" exe="/root/syz-executor.5" sig=0 arch=c000003e syscall=202 compat=0 ip=0x466459 code=0x7fc00000 [ 285.577530][ T37] audit: type=1326 audit(1618243228.067:9): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=_ pid=11086 comm="syz-executor.5" exe="/root/syz-executor.5" sig=0 arch=c000003e syscall=202 compat=0 ip=0x466459 code=0x7fc00000 [ 285.613988][ T37] audit: type=1326 audit(1618243228.067:10): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=_ pid=11086 comm="syz-executor.5" exe="/root/syz-executor.5" sig=0 arch=c000003e syscall=202 compat=0 ip=0x466459 code=0x7fc00000 [ 285.667905][ T37] audit: type=1326 audit(1618243228.067:11): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=_ pid=11086 comm="syz-executor.5" exe="/root/syz-executor.5" sig=0 arch=c000003e syscall=202 compat=0 ip=0x466459 code=0x7fc00000 [ 285.732662][ T37] audit: type=1326 audit(1618243228.067:12): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=_ pid=11086 comm="syz-executor.5" exe="/root/syz-executor.5" sig=0 arch=c000003e syscall=202 compat=0 ip=0x466459 code=0x7fc00000 [ 285.782751][ T37] audit: type=1326 audit(1618243228.067:13): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=_ pid=11086 comm="syz-executor.5" exe="/root/syz-executor.5" sig=0 arch=c000003e syscall=202 compat=0 ip=0x466459 code=0x7fc00000 [ 286.067520][ T9383] usb 3-1: new high-speed USB device number 3 using dummy_hcd [ 286.359677][ T9383] usb 3-1: Using ep0 maxpacket: 32 [ 286.499976][ T9383] usb 3-1: config 1 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 286.511131][ T9383] usb 3-1: config 1 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 [ 286.521415][ T9383] usb 3-1: config 1 interface 0 altsetting 0 has 1 endpoint descriptor, different from the interface descriptor's value: 2 16:00:29 executing program 2: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='memory.events\x00', 0x26e1, 0x0) perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x4, 0x0, 0x0, 0x0, 0x3}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$PERF_EVENT_IOC_PAUSE_OUTPUT(r0, 0x40086602, 0x400007) r1 = perf_event_open(0x0, 0x0, 0x10, 0xffffffffffffffff, 0x9) write$cgroup_subtree(0xffffffffffffffff, &(0x7f0000000300)=ANY=[], 0x32600) ioctl$TUNSETOFFLOAD(0xffffffffffffffff, 0x400454d0, 0x0) r2 = openat$cgroup_ro(0xffffffffffffffff, &(0x7f0000000080)='rdma.current\x00', 0x7a05, 0x1700) setsockopt$SO_ATTACH_FILTER(0xffffffffffffffff, 0x1, 0x1a, &(0x7f0000ab9ff0), 0x10) dup(0xffffffffffffffff) write$cgroup_subtree(0xffffffffffffffff, 0x0, 0xda00) ioctl$sock_FIOGETOWN(0xffffffffffffffff, 0x8903, 0x0) r3 = socket$inet(0x2, 0x4000000000000001, 0x0) ioctl$BTRFS_IOC_SNAP_CREATE_V2(r1, 0x50009417, &(0x7f0000000880)={{r2}, 0x0, 0x0, @inherit={0x68, &(0x7f0000000280)=ANY=[@ANYBLOB]}, @subvolid}) setsockopt$inet_tcp_int(r3, 0x6, 0x80000000000002, &(0x7f00000005c0)=0x169, 0x4) setsockopt$inet_tcp_TCP_MD5SIG(r3, 0x6, 0xe, &(0x7f0000000780)={@in={{0x2, 0x0, @local}}, 0x0, 0x9, 0x6}, 0xd8) bind$inet(r3, &(0x7f0000000200)={0x2, 0x4e23, @multicast1}, 0x10) sendto$inet(r3, 0x0, 0x5, 0x200007fd, &(0x7f0000000040)={0x2, 0x4e23, @local}, 0x10) setsockopt$sock_int(r3, 0x1, 0x8, &(0x7f0000000100), 0x4) recvmsg(r3, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000180)=[{&(0x7f0000003ac0)=""/4084, 0xff4}], 0x1}, 0x100) write$binfmt_elf64(r3, &(0x7f0000000140)=ANY=[@ANYRES32=r2, @ANYRESOCT, @ANYRESDEC], 0x1000001bd) 16:00:29 executing program 4: syz_read_part_table(0x0, 0x2, &(0x7f0000000040)=[{&(0x7f0000000100)="8199ee7e19ff010000008107008d2300000000a440f03562e3493c00005536b560000001040000000000604d6c7d00000b73005c4d8810a49792055f000855aa", 0x40, 0x1c0}, {0x0, 0x0, 0x8000000000000000}]) 16:00:29 executing program 3: perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c0, 0x0, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet6(0xa, 0x2, 0x0) connect$inet6(r0, &(0x7f0000002740)={0xa, 0x0, 0x0, @local, 0x9}, 0x1c) setsockopt$inet6_opts(r0, 0x29, 0x37, &(0x7f0000000180)=ANY=[], 0x18) sendmmsg(r0, &(0x7f0000007e00), 0x136a88c8311572c, 0x11) ioctl$UI_DEV_SETUP(0xffffffffffffffff, 0x405c5503, 0x0) ioctl$UI_DEV_SETUP(0xffffffffffffffff, 0x405c5503, 0x0) 16:00:29 executing program 0: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$ieee802154(&(0x7f0000000280)='802.15.4 MAC\x00', r0) ioctl$sock_SIOCGIFINDEX_802154(r0, 0x8933, &(0x7f00000002c0)={'wpan1\x00', 0x0}) sendmsg$IEEE802154_LLSEC_SETPARAMS(r0, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000480)={&(0x7f0000000400)={0x1c, r1, 0x1, 0x0, 0x0, {}, [@IEEE802154_ATTR_DEV_INDEX={0x8, 0x2, r2}]}, 0x1c}}, 0x0) 16:00:29 executing program 1: add_key(&(0x7f0000002580)='id_resolver\x00', 0x0, 0x0, 0x0, 0xffffffffffffffff) add_key$fscrypt_v1(0x0, 0x0, &(0x7f0000000300)={0x0, "f84d3520f4c6b659032a9df44d85a370b53e61e4130a7818c6ed87376ee14d9694b48241807f02e71ca6ecd3c131b828afb708cc124bbd5a276585b789f1458b", 0x2f}, 0x48, 0xfffffffffffffffb) clone(0x40080080, 0x0, 0x0, 0x0, 0x0) 16:00:29 executing program 5: r0 = seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0xa, &(0x7f0000000040)={0x1, &(0x7f0000000000)=[{0x6, 0x0, 0x0, 0x7fc00000}]}) perf_event_open(0x0, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r0, 0xc0502100, &(0x7f0000000180)={0x0}) ioctl$SECCOMP_IOCTL_NOTIF_SEND(r0, 0x80082102, &(0x7f0000000200)={r1}) [ 286.731123][ T9383] usb 3-1: New USB device found, idVendor=05ac, idProduct=021b, bcdDevice= 0.40 [ 286.740307][ T9383] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 286.753249][ T9383] usb 3-1: Product: syz [ 286.757708][ T9383] usb 3-1: Manufacturer: syz [ 286.764580][ T9383] usb 3-1: SerialNumber: syz [ 286.829902][ T9383] usb 3-1: can't set config #1, error -71 [ 286.847114][ T9383] usb 3-1: USB disconnect, device number 3 [ 286.940245][T11165] loop4: detected capacity change from 0 to 8192 [ 286.984408][T11163] IPVS: ftp: loaded support on port[0] = 21 16:00:29 executing program 0: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$ieee802154(&(0x7f0000000280)='802.15.4 MAC\x00', r0) ioctl$sock_SIOCGIFINDEX_802154(r0, 0x8933, &(0x7f00000002c0)={'wpan1\x00', 0x0}) sendmsg$IEEE802154_LLSEC_SETPARAMS(r0, &(0x7f00000004c0)={0x0, 0x0, &(0x7f0000000480)={&(0x7f0000000400)={0x1c, r1, 0x1, 0x0, 0x0, {}, [@IEEE802154_ATTR_DEV_INDEX={0x8, 0x2, r2}]}, 0x1c}}, 0x0) [ 287.082478][T11165] loop4: detected capacity change from 0 to 8192 16:00:29 executing program 1: add_key(&(0x7f0000002580)='id_resolver\x00', 0x0, 0x0, 0x0, 0xffffffffffffffff) add_key$fscrypt_v1(0x0, 0x0, &(0x7f0000000300)={0x0, "f84d3520f4c6b659032a9df44d85a370b53e61e4130a7818c6ed87376ee14d9694b48241807f02e71ca6ecd3c131b828afb708cc124bbd5a276585b789f1458b", 0x2f}, 0x48, 0xfffffffffffffffb) clone(0x40080080, 0x0, 0x0, 0x0, 0x0) 16:00:30 executing program 0: unshare(0x20400) r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x3, &(0x7f00000000c0)=ANY=[@ANYBLOB="1800000000000000000000000008000095"], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$OBJ_PIN_PROG(0x6, &(0x7f0000001840)={0x0, r0}, 0x10) 16:00:30 executing program 4: syz_usb_connect$hid(0x7, 0xfffffc46, &(0x7f0000000000)={{0x12, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6253, 0x100, 0x40, 0x0, 0x0, 0x0, 0x1, [{{0x9, 0x2, 0x24, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x3, 0x1, 0x0, 0x0, {0x9}, {{{0x9, 0x5, 0x81, 0x3, 0x0, 0x0, 0x0, 0x1f}}}}}]}}]}}, 0x0) syz_usb_connect(0x0, 0x58, &(0x7f0000000000)=ANY=[@ANYBLOB="1201000036ee3808d30b55056a694000000109024600010000000009040000000e010000082403ff0103000009"], 0x0) [ 287.509087][T11206] IPVS: ftp: loaded support on port[0] = 21 16:00:30 executing program 0: r0 = syz_open_dev$hidraw(0xfffffffffffffffc, 0x0, 0x1e9342) ioctl$HIDIOCGRAWNAME(r0, 0x40086602, &(0x7f0000000080)) r1 = syz_open_dev$hidraw(0xfffffffffffffffc, 0x0, 0x1e9342) write$hidraw(r1, &(0x7f0000000000)="2f33c906001c60f09d5cd9f20a0013b48ae8d35b2ef5e4a6b5d717e5797327d9fd654fe4b45550f9e1967693", 0xfee4) r2 = syz_open_dev$hidraw(0xfffffffffffffffc, 0x0, 0x0) syz_open_dev$hidraw(0xfffffffffffffffc, 0x0, 0x161f42) write$hidraw(r1, &(0x7f00000000c0)="aa", 0x1) ioctl$HIDIOCGRAWNAME(r2, 0x6609, 0x0) 16:00:30 executing program 5: r0 = seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0xa, &(0x7f0000000040)={0x1, &(0x7f0000000000)=[{0x6, 0x0, 0x0, 0x7fc00000}]}) perf_event_open(0x0, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r0, 0xc0502100, &(0x7f0000000180)={0x0}) ioctl$SECCOMP_IOCTL_NOTIF_SEND(r0, 0x80082102, &(0x7f0000000200)={r1}) 16:00:30 executing program 2: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='memory.events\x00', 0x26e1, 0x0) perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x4, 0x0, 0x0, 0x0, 0x3}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$PERF_EVENT_IOC_PAUSE_OUTPUT(r0, 0x40086602, 0x400007) r1 = perf_event_open(0x0, 0x0, 0x10, 0xffffffffffffffff, 0x9) write$cgroup_subtree(0xffffffffffffffff, &(0x7f0000000300)=ANY=[], 0x32600) ioctl$TUNSETOFFLOAD(0xffffffffffffffff, 0x400454d0, 0x0) r2 = openat$cgroup_ro(0xffffffffffffffff, &(0x7f0000000080)='rdma.current\x00', 0x7a05, 0x1700) setsockopt$SO_ATTACH_FILTER(0xffffffffffffffff, 0x1, 0x1a, &(0x7f0000ab9ff0), 0x10) dup(0xffffffffffffffff) write$cgroup_subtree(0xffffffffffffffff, 0x0, 0xda00) ioctl$sock_FIOGETOWN(0xffffffffffffffff, 0x8903, 0x0) r3 = socket$inet(0x2, 0x4000000000000001, 0x0) ioctl$BTRFS_IOC_SNAP_CREATE_V2(r1, 0x50009417, &(0x7f0000000880)={{r2}, 0x0, 0x0, @inherit={0x68, &(0x7f0000000280)=ANY=[@ANYBLOB]}, @subvolid}) setsockopt$inet_tcp_int(r3, 0x6, 0x80000000000002, &(0x7f00000005c0)=0x169, 0x4) setsockopt$inet_tcp_TCP_MD5SIG(r3, 0x6, 0xe, &(0x7f0000000780)={@in={{0x2, 0x0, @local}}, 0x0, 0x9, 0x6}, 0xd8) bind$inet(r3, &(0x7f0000000200)={0x2, 0x4e23, @multicast1}, 0x10) sendto$inet(r3, 0x0, 0x5, 0x200007fd, &(0x7f0000000040)={0x2, 0x4e23, @local}, 0x10) setsockopt$sock_int(r3, 0x1, 0x8, &(0x7f0000000100), 0x4) recvmsg(r3, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000180)=[{&(0x7f0000003ac0)=""/4084, 0xff4}], 0x1}, 0x100) write$binfmt_elf64(r3, &(0x7f0000000140)=ANY=[@ANYRES32=r2, @ANYRESOCT, @ANYRESDEC], 0x1000001bd) 16:00:30 executing program 3: mount$bpf(0x20000000, &(0x7f00000000c0)='./file0\x00', 0x0, 0x2001001, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0xfffffffffffffffd}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$PERF_EVENT_IOC_SET_FILTER(0xffffffffffffffff, 0x8923, 0x0) ioctl$sock_SIOCGIFINDEX_80211(0xffffffffffffffff, 0x8933, 0x0) socket$nl_route(0x10, 0x3, 0x0) statx(0xffffffffffffff9c, &(0x7f0000000440)='./file0\x00', 0x6000, 0x0, 0x0) unlinkat(0xffffffffffffffff, &(0x7f00000006c0)='./file0\x00', 0x0) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r1, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000b80)=@newlink={0x50, 0x10, 0x401, 0x350, 0x0, {0x0, 0x0, 0x0, 0x0, 0x32b}, [@IFLA_LINKINFO={0x20, 0x12, 0x0, 0x1, @geneve={{0xb, 0x1, 'geneve\x00'}, {0x10, 0x2, 0x0, 0x1, [@IFLA_GENEVE_PORT={0x6}, @IFLA_GENEVE_COLLECT_METADATA={0x4}]}}}, @IFLA_LINK={0x8}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x50}}, 0x0) [ 287.909715][ T9709] usb 5-1: new high-speed USB device number 6 using dummy_hcd 16:00:30 executing program 1: add_key(&(0x7f0000002580)='id_resolver\x00', 0x0, 0x0, 0x0, 0xffffffffffffffff) add_key$fscrypt_v1(0x0, 0x0, &(0x7f0000000300)={0x0, "f84d3520f4c6b659032a9df44d85a370b53e61e4130a7818c6ed87376ee14d9694b48241807f02e71ca6ecd3c131b828afb708cc124bbd5a276585b789f1458b", 0x2f}, 0x48, 0xfffffffffffffffb) clone(0x40080080, 0x0, 0x0, 0x0, 0x0) [ 288.023285][ T37] kauditd_printk_skb: 61 callbacks suppressed [ 288.023300][ T37] audit: type=1804 audit(1618243230.647:75): pid=11241 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.0" name=2F726F6F742F73797A6B616C6C65722D746573746469723931323731373938322F73797A6B616C6C65722E557A6E6874312F35342F48C7C060 dev="sda1" ino=14154 res=1 errno=0 [ 288.179728][ T9709] usb 5-1: Using ep0 maxpacket: 8 16:00:30 executing program 0: r0 = syz_open_dev$hidraw(0xfffffffffffffffc, 0x0, 0x1e9342) ioctl$HIDIOCGRAWNAME(r0, 0x40086602, &(0x7f0000000080)) r1 = syz_open_dev$hidraw(0xfffffffffffffffc, 0x0, 0x1e9342) write$hidraw(r1, &(0x7f0000000000)="2f33c906001c60f09d5cd9f20a0013b48ae8d35b2ef5e4a6b5d717e5797327d9fd654fe4b45550f9e1967693", 0xfee4) r2 = syz_open_dev$hidraw(0xfffffffffffffffc, 0x0, 0x0) syz_open_dev$hidraw(0xfffffffffffffffc, 0x0, 0x161f42) write$hidraw(r1, &(0x7f00000000c0)="aa", 0x1) ioctl$HIDIOCGRAWNAME(r2, 0x6609, 0x0) [ 288.329960][ T9709] usb 5-1: config 0 has an invalid descriptor of length 0, skipping remainder of the config [ 288.361741][T11244] netdevsim netdevsim3 netdevsim0: set [1, 1] type 2 family 0 port 46223 - 0 [ 288.386645][ T37] audit: type=1804 audit(1618243230.717:76): pid=11236 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=ToMToU comm="syz-executor.0" name=2F726F6F742F73797A6B616C6C65722D746573746469723931323731373938322F73797A6B616C6C65722E557A6E6874312F35342F48C7C060 dev="sda1" ino=14154 res=1 errno=0 [ 288.417787][T11253] IPVS: ftp: loaded support on port[0] = 21 [ 288.452172][ T9709] usb 5-1: New USB device found, idVendor=0bd3, idProduct=0555, bcdDevice=69.6a [ 288.466544][T11244] netdevsim netdevsim3 netdevsim1: set [1, 1] type 2 family 0 port 46223 - 0 [ 288.490956][ T9709] usb 5-1: New USB device strings: Mfr=64, Product=0, SerialNumber=0 [ 288.509545][T11244] netdevsim netdevsim3 netdevsim2: set [1, 1] type 2 family 0 port 46223 - 0 [ 288.550702][T11244] netdevsim netdevsim3 netdevsim3: set [1, 1] type 2 family 0 port 46223 - 0 [ 288.563791][ T37] audit: type=1804 audit(1618243230.777:77): pid=11247 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.0" name=2F726F6F742F73797A6B616C6C65722D746573746469723931323731373938322F73797A6B616C6C65722E557A6E6874312F35342F48C7C060 dev="sda1" ino=14154 res=1 errno=0 [ 288.567298][ T9709] usb 5-1: Manufacturer: syz 16:00:31 executing program 0: r0 = syz_open_dev$hidraw(0xfffffffffffffffc, 0x0, 0x1e9342) ioctl$HIDIOCGRAWNAME(r0, 0x40086602, &(0x7f0000000080)) r1 = syz_open_dev$hidraw(0xfffffffffffffffc, 0x0, 0x1e9342) write$hidraw(r1, &(0x7f0000000000)="2f33c906001c60f09d5cd9f20a0013b48ae8d35b2ef5e4a6b5d717e5797327d9fd654fe4b45550f9e1967693", 0xfee4) r2 = syz_open_dev$hidraw(0xfffffffffffffffc, 0x0, 0x0) syz_open_dev$hidraw(0xfffffffffffffffc, 0x0, 0x161f42) write$hidraw(r1, &(0x7f00000000c0)="aa", 0x1) ioctl$HIDIOCGRAWNAME(r2, 0x6609, 0x0) [ 288.694064][T11244] netdevsim netdevsim3 netdevsim0: set [1, 2] type 2 family 0 port 52201 - 0 [ 288.745966][ T9709] usb 5-1: config 0 descriptor?? [ 288.746537][T11244] netdevsim netdevsim3 netdevsim1: set [1, 2] type 2 family 0 port 52201 - 0 [ 288.777546][ T37] audit: type=1804 audit(1618243230.777:78): pid=11236 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=ToMToU comm="syz-executor.0" name=2F726F6F742F73797A6B616C6C65722D746573746469723931323731373938322F73797A6B616C6C65722E557A6E6874312F35342F48C7C060 dev="sda1" ino=14154 res=1 errno=0 [ 288.849021][T11244] netdevsim netdevsim3 netdevsim2: set [1, 2] type 2 family 0 port 52201 - 0 16:00:31 executing program 5: r0 = seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0xa, &(0x7f0000000040)={0x1, &(0x7f0000000000)=[{0x6, 0x0, 0x0, 0x7fc00000}]}) perf_event_open(0x0, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) ioctl$SECCOMP_IOCTL_NOTIF_RECV(r0, 0xc0502100, &(0x7f0000000180)={0x0}) ioctl$SECCOMP_IOCTL_NOTIF_SEND(r0, 0x80082102, &(0x7f0000000200)={r1}) [ 288.906217][T11244] netdevsim netdevsim3 netdevsim3: set [1, 2] type 2 family 0 port 52201 - 0 [ 288.909908][ T37] audit: type=1804 audit(1618243231.257:79): pid=11258 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=open_writers comm="syz-executor.0" name=2F726F6F742F73797A6B616C6C65722D746573746469723931323731373938322F73797A6B616C6C65722E557A6E6874312F35352F48C7C060 dev="sda1" ino=14179 res=1 errno=0 16:00:31 executing program 0: r0 = syz_open_dev$hidraw(0xfffffffffffffffc, 0x0, 0x1e9342) ioctl$HIDIOCGRAWNAME(r0, 0x40086602, &(0x7f0000000080)) r1 = syz_open_dev$hidraw(0xfffffffffffffffc, 0x0, 0x1e9342) write$hidraw(r1, &(0x7f0000000000)="2f33c906001c60f09d5cd9f20a0013b48ae8d35b2ef5e4a6b5d717e5797327d9fd654fe4b45550f9e1967693", 0xfee4) r2 = syz_open_dev$hidraw(0xfffffffffffffffc, 0x0, 0x0) syz_open_dev$hidraw(0xfffffffffffffffc, 0x0, 0x161f42) write$hidraw(r1, &(0x7f00000000c0)="aa", 0x1) ioctl$HIDIOCGRAWNAME(r2, 0x6609, 0x0) [ 289.009507][ T37] audit: type=1804 audit(1618243231.267:80): pid=11255 uid=0 auid=4294967295 ses=4294967295 subj=_ op=invalid_pcr cause=ToMToU comm="syz-executor.0" name=2F726F6F742F73797A6B616C6C65722D746573746469723931323731373938322F73797A6B616C6C65722E557A6E6874312F35352F48C7C060 dev="sda1" ino=14179 res=1 errno=0 [ 289.040327][T11244] device geneve2 entered promiscuous mode 16:00:31 executing program 2: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='memory.events\x00', 0x26e1, 0x0) perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x4, 0x0, 0x0, 0x0, 0x3}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$PERF_EVENT_IOC_PAUSE_OUTPUT(r0, 0x40086602, 0x400007) r1 = perf_event_open(0x0, 0x0, 0x10, 0xffffffffffffffff, 0x9) write$cgroup_subtree(0xffffffffffffffff, &(0x7f0000000300)=ANY=[], 0x32600) ioctl$TUNSETOFFLOAD(0xffffffffffffffff, 0x400454d0, 0x0) r2 = openat$cgroup_ro(0xffffffffffffffff, &(0x7f0000000080)='rdma.current\x00', 0x7a05, 0x1700) setsockopt$SO_ATTACH_FILTER(0xffffffffffffffff, 0x1, 0x1a, &(0x7f0000ab9ff0), 0x10) dup(0xffffffffffffffff) write$cgroup_subtree(0xffffffffffffffff, 0x0, 0xda00) ioctl$sock_FIOGETOWN(0xffffffffffffffff, 0x8903, 0x0) r3 = socket$inet(0x2, 0x4000000000000001, 0x0) ioctl$BTRFS_IOC_SNAP_CREATE_V2(r1, 0x50009417, &(0x7f0000000880)={{r2}, 0x0, 0x0, @inherit={0x68, &(0x7f0000000280)=ANY=[@ANYBLOB]}, @subvolid}) setsockopt$inet_tcp_int(r3, 0x6, 0x80000000000002, &(0x7f00000005c0)=0x169, 0x4) setsockopt$inet_tcp_TCP_MD5SIG(r3, 0x6, 0xe, &(0x7f0000000780)={@in={{0x2, 0x0, @local}}, 0x0, 0x9, 0x6}, 0xd8) bind$inet(r3, &(0x7f0000000200)={0x2, 0x4e23, @multicast1}, 0x10) sendto$inet(r3, 0x0, 0x5, 0x200007fd, &(0x7f0000000040)={0x2, 0x4e23, @local}, 0x10) setsockopt$sock_int(r3, 0x1, 0x8, &(0x7f0000000100), 0x4) recvmsg(r3, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000180)=[{&(0x7f0000003ac0)=""/4084, 0xff4}], 0x1}, 0x100) write$binfmt_elf64(r3, &(0x7f0000000140)=ANY=[@ANYRES32=r2, @ANYRESOCT, @ANYRESDEC], 0x1000001bd) [ 289.045300][ T37] audit: type=1326 audit(1618243231.457:81): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=_ pid=11238 comm="syz-executor.5" exe="/root/syz-executor.5" sig=0 arch=c000003e syscall=202 compat=0 ip=0x466459 code=0x7fc00000 [ 289.089928][T11244] netdevsim netdevsim3 netdevsim0: unset [1, 2] type 2 family 0 port 52201 - 0 [ 289.103930][ T9709] usb 5-1: Found UVC 0.00 device (0bd3:0555) [ 289.121603][ T9709] usb 5-1: Failed to initialize entity for entity 255 [ 289.130641][ T9709] usb 5-1: Failed to register entities (-22). [ 289.162685][T11244] netdevsim netdevsim3 netdevsim1: unset [1, 2] type 2 family 0 port 52201 - 0 [ 289.180010][ T9709] usb 5-1: USB disconnect, device number 6 [ 289.200313][ T37] audit: type=1326 audit(1618243231.457:82): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=_ pid=11238 comm="syz-executor.5" exe="/root/syz-executor.5" sig=0 arch=c000003e syscall=298 compat=0 ip=0x466459 code=0x7fc00000 [ 289.249767][T11244] netdevsim netdevsim3 netdevsim2: unset [1, 2] type 2 family 0 port 52201 - 0 [ 289.304902][T11244] netdevsim netdevsim3 netdevsim3: unset [1, 2] type 2 family 0 port 52201 - 0 [ 289.340608][ T37] audit: type=1326 audit(1618243231.457:83): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=_ pid=11238 comm="syz-executor.5" exe="/root/syz-executor.5" sig=0 arch=c000003e syscall=202 compat=0 ip=0x466459 code=0x7fc00000 [ 289.347628][T11244] netdevsim netdevsim3 netdevsim0: unset [1, 1] type 2 family 0 port 46223 - 0 16:00:32 executing program 0: unshare(0x20000400) r0 = openat$uinput(0xffffffffffffff9c, &(0x7f0000000240)='/dev/uinput\x00', 0x0, 0x0) ioctl$UI_END_FF_UPLOAD(r0, 0x40045564, &(0x7f00000002c0)={0x0, 0x0, {}, {0x0, 0x0, 0x0, {}, {}, @period={0x0, 0x0, 0x0, 0x0, 0x0, {}, 0x0, 0x0}}}) [ 289.459041][T11244] netdevsim netdevsim3 netdevsim1: unset [1, 1] type 2 family 0 port 46223 - 0 [ 289.479298][T11244] netdevsim netdevsim3 netdevsim2: unset [1, 1] type 2 family 0 port 46223 - 0 [ 289.522995][T11244] netdevsim netdevsim3 netdevsim3: unset [1, 1] type 2 family 0 port 46223 - 0 [ 289.566891][ T37] audit: type=1326 audit(1618243231.457:84): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=_ pid=11238 comm="syz-executor.5" exe="/root/syz-executor.5" sig=0 arch=c000003e syscall=202 compat=0 ip=0x466459 code=0x7fc00000 16:00:32 executing program 4: clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) r0 = gettid() r1 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) ioctl$sock_bt_hci(r1, 0x400448cb, 0x0) tkill(r0, 0xb) 16:00:32 executing program 0: syz_usb_connect(0x0, 0x36, &(0x7f0000000880)=ANY=[@ANYBLOB="120100009b6588088612462071ee0000000109022400010000d2440904000002ff0401"], 0x0) 16:00:32 executing program 5: perf_event_open(&(0x7f0000001340)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000080)={0x26, 'hash\x00', 0x0, 0x0, 'blake2b-384\x00'}, 0x58) setsockopt$ALG_SET_KEY(r0, 0x117, 0x1, &(0x7f0000c18000)='\x00', 0x1) r1 = accept4(r0, 0x0, 0x0, 0x0) recvmmsg(r1, &(0x7f00000005c0)=[{{0x0, 0xfffffffffffffea3, 0x0}}], 0x3ffffffffffff62, 0x0, 0x0) 16:00:32 executing program 4: clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) r0 = gettid() r1 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) ioctl$sock_bt_hci(r1, 0x400448cb, 0x0) tkill(r0, 0xb) [ 290.060243][ T5] usb 1-1: new high-speed USB device number 3 using dummy_hcd [ 290.309763][ T5] usb 1-1: Using ep0 maxpacket: 8 [ 290.440087][ T5] usb 1-1: config 0 has an invalid descriptor of length 0, skipping remainder of the config [ 290.481334][ T5] usb 1-1: config 0 interface 0 altsetting 0 has 0 endpoint descriptors, different from the interface descriptor's value: 2 [ 290.522101][ T5] usb 1-1: New USB device found, idVendor=1286, idProduct=2046, bcdDevice=ee.71 [ 290.533690][ T5] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 290.573334][ T5] usb 1-1: config 0 descriptor?? 16:00:33 executing program 3: mount$bpf(0x20000000, &(0x7f00000000c0)='./file0\x00', 0x0, 0x2001001, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0xfffffffffffffffd}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$PERF_EVENT_IOC_SET_FILTER(0xffffffffffffffff, 0x8923, 0x0) ioctl$sock_SIOCGIFINDEX_80211(0xffffffffffffffff, 0x8933, 0x0) socket$nl_route(0x10, 0x3, 0x0) statx(0xffffffffffffff9c, &(0x7f0000000440)='./file0\x00', 0x6000, 0x0, 0x0) unlinkat(0xffffffffffffffff, &(0x7f00000006c0)='./file0\x00', 0x0) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r1, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000b80)=@newlink={0x50, 0x10, 0x401, 0x350, 0x0, {0x0, 0x0, 0x0, 0x0, 0x32b}, [@IFLA_LINKINFO={0x20, 0x12, 0x0, 0x1, @geneve={{0xb, 0x1, 'geneve\x00'}, {0x10, 0x2, 0x0, 0x1, [@IFLA_GENEVE_PORT={0x6}, @IFLA_GENEVE_COLLECT_METADATA={0x4}]}}}, @IFLA_LINK={0x8}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x50}}, 0x0) [ 290.632224][ T5] usb 1-1: NFC: intf ffff88807ab3f000 id ffffffff8ce7b580 16:00:33 executing program 2: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='memory.events\x00', 0x26e1, 0x0) perf_event_open(&(0x7f0000000180)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x4, 0x0, 0x0, 0x0, 0x3}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$PERF_EVENT_IOC_PAUSE_OUTPUT(r0, 0x40086602, 0x400007) r1 = perf_event_open(0x0, 0x0, 0x10, 0xffffffffffffffff, 0x9) write$cgroup_subtree(0xffffffffffffffff, &(0x7f0000000300)=ANY=[], 0x32600) ioctl$TUNSETOFFLOAD(0xffffffffffffffff, 0x400454d0, 0x0) r2 = openat$cgroup_ro(0xffffffffffffffff, &(0x7f0000000080)='rdma.current\x00', 0x7a05, 0x1700) setsockopt$SO_ATTACH_FILTER(0xffffffffffffffff, 0x1, 0x1a, &(0x7f0000ab9ff0), 0x10) dup(0xffffffffffffffff) write$cgroup_subtree(0xffffffffffffffff, 0x0, 0xda00) ioctl$sock_FIOGETOWN(0xffffffffffffffff, 0x8903, 0x0) r3 = socket$inet(0x2, 0x4000000000000001, 0x0) ioctl$BTRFS_IOC_SNAP_CREATE_V2(r1, 0x50009417, &(0x7f0000000880)={{r2}, 0x0, 0x0, @inherit={0x68, &(0x7f0000000280)=ANY=[@ANYBLOB]}, @subvolid}) setsockopt$inet_tcp_int(r3, 0x6, 0x80000000000002, &(0x7f00000005c0)=0x169, 0x4) setsockopt$inet_tcp_TCP_MD5SIG(r3, 0x6, 0xe, &(0x7f0000000780)={@in={{0x2, 0x0, @local}}, 0x0, 0x9, 0x6}, 0xd8) bind$inet(r3, &(0x7f0000000200)={0x2, 0x4e23, @multicast1}, 0x10) sendto$inet(r3, 0x0, 0x5, 0x200007fd, &(0x7f0000000040)={0x2, 0x4e23, @local}, 0x10) setsockopt$sock_int(r3, 0x1, 0x8, &(0x7f0000000100), 0x4) recvmsg(r3, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000180)=[{&(0x7f0000003ac0)=""/4084, 0xff4}], 0x1}, 0x100) write$binfmt_elf64(r3, &(0x7f0000000140)=ANY=[@ANYRES32=r2, @ANYRESOCT, @ANYRESDEC], 0x1000001bd) 16:00:33 executing program 4: clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) r0 = gettid() r1 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) ioctl$sock_bt_hci(r1, 0x400448cb, 0x0) tkill(r0, 0xb) [ 290.833887][ T9383] usb 1-1: USB disconnect, device number 3 16:00:33 executing program 1: sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000380)={&(0x7f0000000200)={0x10, 0x0, 0x0, 0x2000000}, 0xc, &(0x7f0000000340)={&(0x7f00000015c0)=ANY=[@ANYBLOB="606f00006d0020002cbd7000ffdbdf2500000000", @ANYRES32=0x0, @ANYBLOB="02000000008004000800280086af0000140035006970766c616e3100000000000000000008002800e170000008001b000500000005002700000000000a000200f370a51f471ef70005be668675e41f1494ad9a819689b55f75fae388caffdd5ebfe1749e71fe6837d5c0062c1038921d21f03b00a732a4e165ecf20f65353b8c5c65d52eaae5df80235c60b0bffb010eebf5ae00ccfb56171ddb262b860962155864d62d35475066aef7d3984c0cccb21c7621"], 0x60}, 0x1, 0x0, 0x0, 0x4000080}, 0x4000881) r0 = openat$cgroup_devices(0xffffffffffffffff, &(0x7f0000000440)='devices.deny\x00', 0x2, 0x0) mkdir(&(0x7f0000000140)='./file0\x00', 0x0) clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) clock_gettime(0x4e82ff4c1886faec, &(0x7f0000003000)) recvmmsg(0xffffffffffffffff, &(0x7f00000031c0)=[{{&(0x7f0000000240)=@ll={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @local}, 0x80, &(0x7f0000001740)=[{&(0x7f0000000080)=""/35, 0x23}, {&(0x7f00000016c0)=""/107, 0x6b}, {&(0x7f0000000400)=""/53, 0x35}], 0x3}, 0x80000001}, {{&(0x7f0000001780)=@pppol2tpv3in6={0x18, 0x1, {0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, {0xa, 0x0, 0x0, @loopback}}}, 0x80, &(0x7f00000018c0)=[{&(0x7f0000001800)=""/150, 0x96}], 0x1, &(0x7f0000001900)=""/132, 0x84}, 0x8001}, {{&(0x7f00000019c0)=@rc={0x1f, @none}, 0x80, &(0x7f0000002d00)=[{&(0x7f0000001a40)=""/211, 0xd3}, {&(0x7f0000001b40)=""/96, 0x60}, {&(0x7f0000001bc0)=""/4096, 0x1000}, {&(0x7f0000002bc0)=""/145, 0x91}, {&(0x7f0000002c80)=""/62, 0x3e}], 0x5, &(0x7f0000002d80)=""/204, 0xcc}, 0x4}, {{&(0x7f0000002e80)=@pppol2tpin6={0x18, 0x1, {0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, {0xa, 0x0, 0x0, @loopback}}}, 0x80, &(0x7f0000003140)=[{&(0x7f0000002f00)=""/226, 0xe2}, {&(0x7f0000003300)=""/55, 0x37}, {&(0x7f0000003040)=""/207, 0xcf}], 0x3, &(0x7f0000003180)=""/34, 0x22}}], 0x4, 0x40000000, &(0x7f00000032c0)={0x0, 0x3938700}) timer_create(0x0, &(0x7f0000000300)={0x0, 0x12, 0x0, @thr={&(0x7f00000004c0)="dc58f5ca47458e73f54a60fdf06c8ea136cdebc0e531eda607aa9970657eb326b635567983f6390be1864419f011bd43a63340f692788e99250f495a0bb0fe8202", &(0x7f0000000540)="872aa7653d79b32a26040c0aa08fcb53d6a58301cdcb6f728fc9ccfcfb66b1790a7ff5747f3e1b169b523b2d9f7be7aa0d5e13295200107c81d75e335b6cafc5bebda5c8a8966e8b76ffae24c15cc127753242bd370b8fe6aa898abdd8cebef0f675d0ea24a1931a8116dc37f31c3538135178533e9031abe6a553c5f672b0e18de329f9"}}, &(0x7f00000003c0)) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f0000000100), 0xd}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) timer_settime(0x0, 0x0, &(0x7f00000002c0)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) timer_create(0x0, &(0x7f00000001c0)={0x0, 0x15}, &(0x7f0000000040)=0x0) timer_settime(r1, 0x0, &(0x7f0000000180)={{0x0, 0x3938700}, {0x0, 0x3938700}}, 0x0) clone(0x4007fc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) mount(&(0x7f0000000480)=ANY=[@ANYBLOB='[d::]:'], &(0x7f00000000c0)='./file0\x00', &(0x7f0000000040)='ceph\x00', 0x0, 0x0) socket$inet6(0xa, 0x400000000001, 0x0) ftruncate(0xffffffffffffffff, 0x7) r2 = open(&(0x7f0000000140)='./bus\x00', 0x141042, 0x0) write$UHID_INPUT(r2, &(0x7f0000000580), 0x10000005c) sendfile(0xffffffffffffffff, r0, 0x0, 0x7ff) [ 291.036775][T11350] netdevsim netdevsim3 netdevsim0: set [1, 1] type 2 family 0 port 41336 - 0 [ 291.079892][T11350] netdevsim netdevsim3 netdevsim1: set [1, 1] type 2 family 0 port 41336 - 0 [ 291.100863][T11350] netdevsim netdevsim3 netdevsim2: set [1, 1] type 2 family 0 port 41336 - 0 16:00:33 executing program 4: clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) r0 = gettid() r1 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) ioctl$sock_bt_hci(r1, 0x400448cb, 0x0) tkill(r0, 0xb) [ 291.127824][T11350] netdevsim netdevsim3 netdevsim3: set [1, 1] type 2 family 0 port 41336 - 0 [ 291.241650][T11350] netdevsim netdevsim3 netdevsim0: set [1, 2] type 2 family 0 port 43590 - 0 [ 291.317636][T11350] netdevsim netdevsim3 netdevsim1: set [1, 2] type 2 family 0 port 43590 - 0 [ 291.370231][T11350] netdevsim netdevsim3 netdevsim2: set [1, 2] type 2 family 0 port 43590 - 0 [ 291.431171][ T5] libceph: connect (1)[d::]:6789 error -101 [ 291.437578][ T5] libceph: mon0 (1)[d::]:6789 connect error [ 291.452167][T11371] ceph: No mds server is up or the cluster is laggy [ 291.471853][T11350] netdevsim netdevsim3 netdevsim3: set [1, 2] type 2 family 0 port 43590 - 0 [ 291.472505][ T5] libceph: connect (1)[d::]:6789 error -101 [ 291.487623][ T5] libceph: mon0 (1)[d::]:6789 connect error [ 291.501244][T11350] device geneve2 entered promiscuous mode [ 291.554239][T11350] netdevsim netdevsim3 netdevsim0: unset [1, 2] type 2 family 0 port 43590 - 0 [ 291.587289][T11350] netdevsim netdevsim3 netdevsim1: unset [1, 2] type 2 family 0 port 43590 - 0 [ 291.597542][T11350] netdevsim netdevsim3 netdevsim2: unset [1, 2] type 2 family 0 port 43590 - 0 [ 291.615919][T11350] netdevsim netdevsim3 netdevsim3: unset [1, 2] type 2 family 0 port 43590 - 0 16:00:34 executing program 4: r0 = openat(0xffffffffffffff9c, &(0x7f0000000040)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r0, 0x0) preadv(r0, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) mmap(&(0x7f0000000000/0xfbe000)=nil, 0xfbe000, 0x2, 0x31, 0xffffffffffffffff, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r1, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000000c0)=@newlink={0x44, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x24, 0x12, 0x0, 0x1, @bond={{0x9, 0x1, 'bond\x00'}, {0x14, 0x2, 0x0, 0x1, [@IFLA_BOND_MODE={0x5, 0x1, 0x6}, @IFLA_BOND_UPDELAY={0x8, 0x4, 0xe25}]}}}]}, 0x44}}, 0x0) [ 291.649788][ T5] usb 1-1: new high-speed USB device number 4 using dummy_hcd [ 291.661207][T11350] netdevsim netdevsim3 netdevsim0: unset [1, 1] type 2 family 0 port 41336 - 0 [ 291.677504][T11350] netdevsim netdevsim3 netdevsim1: unset [1, 1] type 2 family 0 port 41336 - 0 [ 291.741735][T11350] netdevsim netdevsim3 netdevsim2: unset [1, 1] type 2 family 0 port 41336 - 0 [ 291.753033][ T9709] libceph: connect (1)[d::]:6789 error -101 [ 291.775313][ T9709] libceph: mon0 (1)[d::]:6789 connect error [ 291.819677][T11350] netdevsim netdevsim3 netdevsim3: unset [1, 1] type 2 family 0 port 41336 - 0 16:00:34 executing program 2: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r0, 0x0) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) preadv(r1, &(0x7f0000000280), 0x18, 0xd9f, 0x0) bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x7, 0x4, &(0x7f0000000040)=@framed={{0xffffffb4, 0x5, 0x0, 0x0, 0x0, 0x71, 0x10, 0xb5}, [@ldst={0x4}]}, &(0x7f0000003ff6)='GPL\x00', 0x5, 0xfd90, &(0x7f000000cf3d)=""/190, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0xfffffffffffffd56, 0x10, &(0x7f0000000000), 0x1dd}, 0x48) 16:00:34 executing program 1: sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000380)={&(0x7f0000000200)={0x10, 0x0, 0x0, 0x2000000}, 0xc, &(0x7f0000000340)={&(0x7f00000015c0)=ANY=[@ANYBLOB="606f00006d0020002cbd7000ffdbdf2500000000", @ANYRES32=0x0, @ANYBLOB="02000000008004000800280086af0000140035006970766c616e3100000000000000000008002800e170000008001b000500000005002700000000000a000200f370a51f471ef70005be668675e41f1494ad9a819689b55f75fae388caffdd5ebfe1749e71fe6837d5c0062c1038921d21f03b00a732a4e165ecf20f65353b8c5c65d52eaae5df80235c60b0bffb010eebf5ae00ccfb56171ddb262b860962155864d62d35475066aef7d3984c0cccb21c7621"], 0x60}, 0x1, 0x0, 0x0, 0x4000080}, 0x4000881) r0 = openat$cgroup_devices(0xffffffffffffffff, &(0x7f0000000440)='devices.deny\x00', 0x2, 0x0) mkdir(&(0x7f0000000140)='./file0\x00', 0x0) clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) clock_gettime(0x4e82ff4c1886faec, &(0x7f0000003000)) recvmmsg(0xffffffffffffffff, &(0x7f00000031c0)=[{{&(0x7f0000000240)=@ll={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @local}, 0x80, &(0x7f0000001740)=[{&(0x7f0000000080)=""/35, 0x23}, {&(0x7f00000016c0)=""/107, 0x6b}, {&(0x7f0000000400)=""/53, 0x35}], 0x3}, 0x80000001}, {{&(0x7f0000001780)=@pppol2tpv3in6={0x18, 0x1, {0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, {0xa, 0x0, 0x0, @loopback}}}, 0x80, &(0x7f00000018c0)=[{&(0x7f0000001800)=""/150, 0x96}], 0x1, &(0x7f0000001900)=""/132, 0x84}, 0x8001}, {{&(0x7f00000019c0)=@rc={0x1f, @none}, 0x80, &(0x7f0000002d00)=[{&(0x7f0000001a40)=""/211, 0xd3}, {&(0x7f0000001b40)=""/96, 0x60}, {&(0x7f0000001bc0)=""/4096, 0x1000}, {&(0x7f0000002bc0)=""/145, 0x91}, {&(0x7f0000002c80)=""/62, 0x3e}], 0x5, &(0x7f0000002d80)=""/204, 0xcc}, 0x4}, {{&(0x7f0000002e80)=@pppol2tpin6={0x18, 0x1, {0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, {0xa, 0x0, 0x0, @loopback}}}, 0x80, &(0x7f0000003140)=[{&(0x7f0000002f00)=""/226, 0xe2}, {&(0x7f0000003300)=""/55, 0x37}, {&(0x7f0000003040)=""/207, 0xcf}], 0x3, &(0x7f0000003180)=""/34, 0x22}}], 0x4, 0x40000000, &(0x7f00000032c0)={0x0, 0x3938700}) timer_create(0x0, &(0x7f0000000300)={0x0, 0x12, 0x0, @thr={&(0x7f00000004c0)="dc58f5ca47458e73f54a60fdf06c8ea136cdebc0e531eda607aa9970657eb326b635567983f6390be1864419f011bd43a63340f692788e99250f495a0bb0fe8202", &(0x7f0000000540)="872aa7653d79b32a26040c0aa08fcb53d6a58301cdcb6f728fc9ccfcfb66b1790a7ff5747f3e1b169b523b2d9f7be7aa0d5e13295200107c81d75e335b6cafc5bebda5c8a8966e8b76ffae24c15cc127753242bd370b8fe6aa898abdd8cebef0f675d0ea24a1931a8116dc37f31c3538135178533e9031abe6a553c5f672b0e18de329f9"}}, &(0x7f00000003c0)) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f0000000100), 0xd}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) timer_settime(0x0, 0x0, &(0x7f00000002c0)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) timer_create(0x0, &(0x7f00000001c0)={0x0, 0x15}, &(0x7f0000000040)=0x0) timer_settime(r1, 0x0, &(0x7f0000000180)={{0x0, 0x3938700}, {0x0, 0x3938700}}, 0x0) clone(0x4007fc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) mount(&(0x7f0000000480)=ANY=[@ANYBLOB='[d::]:'], &(0x7f00000000c0)='./file0\x00', &(0x7f0000000040)='ceph\x00', 0x0, 0x0) socket$inet6(0xa, 0x400000000001, 0x0) ftruncate(0xffffffffffffffff, 0x7) r2 = open(&(0x7f0000000140)='./bus\x00', 0x141042, 0x0) write$UHID_INPUT(r2, &(0x7f0000000580), 0x10000005c) sendfile(0xffffffffffffffff, r0, 0x0, 0x7ff) [ 291.889750][ T5] usb 1-1: Using ep0 maxpacket: 8 [ 292.009943][ T5] usb 1-1: config 0 has an invalid descriptor of length 0, skipping remainder of the config [ 292.041595][ T5] usb 1-1: config 0 interface 0 altsetting 0 has 0 endpoint descriptors, different from the interface descriptor's value: 2 16:00:34 executing program 2: sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000380)={&(0x7f0000000200)={0x10, 0x0, 0x0, 0x2000000}, 0xc, &(0x7f0000000340)={&(0x7f00000015c0)=ANY=[@ANYBLOB="606f00006d0020002cbd7000ffdbdf2500000000", @ANYRES32=0x0, @ANYBLOB="02000000008004000800280086af0000140035006970766c616e3100000000000000000008002800e170000008001b000500000005002700000000000a000200f370a51f471ef70005be668675e41f1494ad9a819689b55f75fae388caffdd5ebfe1749e71fe6837d5c0062c1038921d21f03b00a732a4e165ecf20f65353b8c5c65d52eaae5df80235c60b0bffb010eebf5ae00ccfb56171ddb262b860962155864d62d35475066aef7d3984c0cccb21c7621"], 0x60}, 0x1, 0x0, 0x0, 0x4000080}, 0x4000881) r0 = openat$cgroup_devices(0xffffffffffffffff, &(0x7f0000000440)='devices.deny\x00', 0x2, 0x0) mkdir(&(0x7f0000000140)='./file0\x00', 0x0) clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) clock_gettime(0x4e82ff4c1886faec, &(0x7f0000003000)) recvmmsg(0xffffffffffffffff, &(0x7f00000031c0)=[{{&(0x7f0000000240)=@ll={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @local}, 0x80, &(0x7f0000001740)=[{&(0x7f0000000080)=""/35, 0x23}, {&(0x7f00000016c0)=""/107, 0x6b}, {&(0x7f0000000400)=""/53, 0x35}], 0x3}, 0x80000001}, {{&(0x7f0000001780)=@pppol2tpv3in6={0x18, 0x1, {0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, {0xa, 0x0, 0x0, @loopback}}}, 0x80, &(0x7f00000018c0)=[{&(0x7f0000001800)=""/150, 0x96}], 0x1, &(0x7f0000001900)=""/132, 0x84}, 0x8001}, {{&(0x7f00000019c0)=@rc={0x1f, @none}, 0x80, &(0x7f0000002d00)=[{&(0x7f0000001a40)=""/211, 0xd3}, {&(0x7f0000001b40)=""/96, 0x60}, {&(0x7f0000001bc0)=""/4096, 0x1000}, {&(0x7f0000002bc0)=""/145, 0x91}, {&(0x7f0000002c80)=""/62, 0x3e}], 0x5, &(0x7f0000002d80)=""/204, 0xcc}, 0x4}, {{&(0x7f0000002e80)=@pppol2tpin6={0x18, 0x1, {0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, {0xa, 0x0, 0x0, @loopback}}}, 0x80, &(0x7f0000003140)=[{&(0x7f0000002f00)=""/226, 0xe2}, {&(0x7f0000003300)=""/55, 0x37}, {&(0x7f0000003040)=""/207, 0xcf}], 0x3, &(0x7f0000003180)=""/34, 0x22}}], 0x4, 0x40000000, &(0x7f00000032c0)={0x0, 0x3938700}) timer_create(0x0, &(0x7f0000000300)={0x0, 0x12, 0x0, @thr={&(0x7f00000004c0)="dc58f5ca47458e73f54a60fdf06c8ea136cdebc0e531eda607aa9970657eb326b635567983f6390be1864419f011bd43a63340f692788e99250f495a0bb0fe8202", &(0x7f0000000540)="872aa7653d79b32a26040c0aa08fcb53d6a58301cdcb6f728fc9ccfcfb66b1790a7ff5747f3e1b169b523b2d9f7be7aa0d5e13295200107c81d75e335b6cafc5bebda5c8a8966e8b76ffae24c15cc127753242bd370b8fe6aa898abdd8cebef0f675d0ea24a1931a8116dc37f31c3538135178533e9031abe6a553c5f672b0e18de329f9"}}, &(0x7f00000003c0)) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f0000000100), 0xd}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) timer_settime(0x0, 0x0, &(0x7f00000002c0)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) timer_create(0x0, &(0x7f00000001c0)={0x0, 0x15}, &(0x7f0000000040)=0x0) timer_settime(r1, 0x0, &(0x7f0000000180)={{0x0, 0x3938700}, {0x0, 0x3938700}}, 0x0) clone(0x4007fc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) mount(&(0x7f0000000480)=ANY=[@ANYBLOB='[d::]:'], &(0x7f00000000c0)='./file0\x00', &(0x7f0000000040)='ceph\x00', 0x0, 0x0) socket$inet6(0xa, 0x400000000001, 0x0) ftruncate(0xffffffffffffffff, 0x7) r2 = open(&(0x7f0000000140)='./bus\x00', 0x141042, 0x0) write$UHID_INPUT(r2, &(0x7f0000000580), 0x10000005c) sendfile(0xffffffffffffffff, r0, 0x0, 0x7ff) [ 292.116248][ T5] usb 1-1: New USB device found, idVendor=1286, idProduct=2046, bcdDevice=ee.71 [ 292.178891][ T5] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 292.248278][ T5] usb 1-1: config 0 descriptor?? [ 292.321900][ T5] usb 1-1: NFC: intf ffff8880123fa000 id ffffffff8ce7b580 [ 292.459834][ T5] libceph: connect (1)[d::]:6789 error -101 [ 292.465980][ T5] libceph: mon0 (1)[d::]:6789 connect error [ 292.474637][T11398] ceph: No mds server is up or the cluster is laggy [ 292.493835][ T5] libceph: connect (1)[d::]:6789 error -101 [ 292.502248][ T5] libceph: mon0 (1)[d::]:6789 connect error 16:00:35 executing program 0: waitid(0x2, 0x0, 0x0, 0x2, 0x0) [ 292.770268][ T5] libceph: connect (1)[d::]:6789 error -101 [ 292.777259][ T5] libceph: mon0 (1)[d::]:6789 connect error [ 293.070089][ T9383] usb 1-1: USB disconnect, device number 4 [ 293.117271][T11388] (unnamed net_device) (uninitialized): up delay (3621) is not a multiple of miimon (100), value rounded to 3600 ms 16:00:41 executing program 5: perf_event_open(&(0x7f0000001340)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000080)={0x26, 'hash\x00', 0x0, 0x0, 'blake2b-384\x00'}, 0x58) setsockopt$ALG_SET_KEY(r0, 0x117, 0x1, &(0x7f0000c18000)='\x00', 0x1) r1 = accept4(r0, 0x0, 0x0, 0x0) recvmmsg(r1, &(0x7f00000005c0)=[{{0x0, 0xfffffffffffffea3, 0x0}}], 0x3ffffffffffff62, 0x0, 0x0) 16:00:41 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000001c0)={{0x14}, [@NFT_MSG_NEWTABLE={0x20, 0x0, 0xa, 0x3, 0x0, 0x0, {}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz0\x00'}]}, @NFT_MSG_NEWSET={0x60, 0x9, 0xa, 0x401, 0x0, 0x0, {}, [@NFTA_SET_ID={0x8}, @NFTA_SET_NAME={0x9, 0x2, 'syz1\x00'}, @NFTA_SET_TABLE={0x9, 0x1, 'syz0\x00'}, @NFTA_SET_KEY_LEN={0x8, 0x5, 0x1, 0x0, 0x2}, @NFTA_SET_EXPR={0x24, 0x11, 0x0, 0x1, @queue={{0xa, 0x1, 'queue\x00'}, @val={0x14, 0x2, 0x0, 0x1, [@NFTA_QUEUE_TOTAL={0x6, 0x2, 0x1, 0x0, 0x7fff}, @NFTA_QUEUE_NUM={0x6, 0x1, 0x1, 0x0, 0x9c00}]}}}]}], {0x14, 0x10}}, 0xa8}}, 0x0) 16:00:41 executing program 2: sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000380)={&(0x7f0000000200)={0x10, 0x0, 0x0, 0x2000000}, 0xc, &(0x7f0000000340)={&(0x7f00000015c0)=ANY=[@ANYBLOB="606f00006d0020002cbd7000ffdbdf2500000000", @ANYRES32=0x0, @ANYBLOB="02000000008004000800280086af0000140035006970766c616e3100000000000000000008002800e170000008001b000500000005002700000000000a000200f370a51f471ef70005be668675e41f1494ad9a819689b55f75fae388caffdd5ebfe1749e71fe6837d5c0062c1038921d21f03b00a732a4e165ecf20f65353b8c5c65d52eaae5df80235c60b0bffb010eebf5ae00ccfb56171ddb262b860962155864d62d35475066aef7d3984c0cccb21c7621"], 0x60}, 0x1, 0x0, 0x0, 0x4000080}, 0x4000881) r0 = openat$cgroup_devices(0xffffffffffffffff, &(0x7f0000000440)='devices.deny\x00', 0x2, 0x0) mkdir(&(0x7f0000000140)='./file0\x00', 0x0) clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) clock_gettime(0x4e82ff4c1886faec, &(0x7f0000003000)) recvmmsg(0xffffffffffffffff, &(0x7f00000031c0)=[{{&(0x7f0000000240)=@ll={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @local}, 0x80, &(0x7f0000001740)=[{&(0x7f0000000080)=""/35, 0x23}, {&(0x7f00000016c0)=""/107, 0x6b}, {&(0x7f0000000400)=""/53, 0x35}], 0x3}, 0x80000001}, {{&(0x7f0000001780)=@pppol2tpv3in6={0x18, 0x1, {0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, {0xa, 0x0, 0x0, @loopback}}}, 0x80, &(0x7f00000018c0)=[{&(0x7f0000001800)=""/150, 0x96}], 0x1, &(0x7f0000001900)=""/132, 0x84}, 0x8001}, {{&(0x7f00000019c0)=@rc={0x1f, @none}, 0x80, &(0x7f0000002d00)=[{&(0x7f0000001a40)=""/211, 0xd3}, {&(0x7f0000001b40)=""/96, 0x60}, {&(0x7f0000001bc0)=""/4096, 0x1000}, {&(0x7f0000002bc0)=""/145, 0x91}, {&(0x7f0000002c80)=""/62, 0x3e}], 0x5, &(0x7f0000002d80)=""/204, 0xcc}, 0x4}, {{&(0x7f0000002e80)=@pppol2tpin6={0x18, 0x1, {0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, {0xa, 0x0, 0x0, @loopback}}}, 0x80, &(0x7f0000003140)=[{&(0x7f0000002f00)=""/226, 0xe2}, {&(0x7f0000003300)=""/55, 0x37}, {&(0x7f0000003040)=""/207, 0xcf}], 0x3, &(0x7f0000003180)=""/34, 0x22}}], 0x4, 0x40000000, &(0x7f00000032c0)={0x0, 0x3938700}) timer_create(0x0, &(0x7f0000000300)={0x0, 0x12, 0x0, @thr={&(0x7f00000004c0)="dc58f5ca47458e73f54a60fdf06c8ea136cdebc0e531eda607aa9970657eb326b635567983f6390be1864419f011bd43a63340f692788e99250f495a0bb0fe8202", &(0x7f0000000540)="872aa7653d79b32a26040c0aa08fcb53d6a58301cdcb6f728fc9ccfcfb66b1790a7ff5747f3e1b169b523b2d9f7be7aa0d5e13295200107c81d75e335b6cafc5bebda5c8a8966e8b76ffae24c15cc127753242bd370b8fe6aa898abdd8cebef0f675d0ea24a1931a8116dc37f31c3538135178533e9031abe6a553c5f672b0e18de329f9"}}, &(0x7f00000003c0)) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f0000000100), 0xd}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) timer_settime(0x0, 0x0, &(0x7f00000002c0)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) timer_create(0x0, &(0x7f00000001c0)={0x0, 0x15}, &(0x7f0000000040)=0x0) timer_settime(r1, 0x0, &(0x7f0000000180)={{0x0, 0x3938700}, {0x0, 0x3938700}}, 0x0) clone(0x4007fc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) mount(&(0x7f0000000480)=ANY=[@ANYBLOB='[d::]:'], &(0x7f00000000c0)='./file0\x00', &(0x7f0000000040)='ceph\x00', 0x0, 0x0) socket$inet6(0xa, 0x400000000001, 0x0) ftruncate(0xffffffffffffffff, 0x7) r2 = open(&(0x7f0000000140)='./bus\x00', 0x141042, 0x0) write$UHID_INPUT(r2, &(0x7f0000000580), 0x10000005c) sendfile(0xffffffffffffffff, r0, 0x0, 0x7ff) 16:00:41 executing program 3: mount$bpf(0x20000000, &(0x7f00000000c0)='./file0\x00', 0x0, 0x2001001, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0xfffffffffffffffd}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$PERF_EVENT_IOC_SET_FILTER(0xffffffffffffffff, 0x8923, 0x0) ioctl$sock_SIOCGIFINDEX_80211(0xffffffffffffffff, 0x8933, 0x0) socket$nl_route(0x10, 0x3, 0x0) statx(0xffffffffffffff9c, &(0x7f0000000440)='./file0\x00', 0x6000, 0x0, 0x0) unlinkat(0xffffffffffffffff, &(0x7f00000006c0)='./file0\x00', 0x0) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r1, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000b80)=@newlink={0x50, 0x10, 0x401, 0x350, 0x0, {0x0, 0x0, 0x0, 0x0, 0x32b}, [@IFLA_LINKINFO={0x20, 0x12, 0x0, 0x1, @geneve={{0xb, 0x1, 'geneve\x00'}, {0x10, 0x2, 0x0, 0x1, [@IFLA_GENEVE_PORT={0x6}, @IFLA_GENEVE_COLLECT_METADATA={0x4}]}}}, @IFLA_LINK={0x8}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x50}}, 0x0) 16:00:41 executing program 4: r0 = socket$inet(0x2, 0x3, 0x23) setsockopt$inet_MCAST_MSFILTER(r0, 0x0, 0x30, &(0x7f00000000c0)={0x0, {{0x2, 0x0, @multicast2}}}, 0x90) 16:00:41 executing program 1: sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000380)={&(0x7f0000000200)={0x10, 0x0, 0x0, 0x2000000}, 0xc, &(0x7f0000000340)={&(0x7f00000015c0)=ANY=[@ANYBLOB="606f00006d0020002cbd7000ffdbdf2500000000", @ANYRES32=0x0, @ANYBLOB="02000000008004000800280086af0000140035006970766c616e3100000000000000000008002800e170000008001b000500000005002700000000000a000200f370a51f471ef70005be668675e41f1494ad9a819689b55f75fae388caffdd5ebfe1749e71fe6837d5c0062c1038921d21f03b00a732a4e165ecf20f65353b8c5c65d52eaae5df80235c60b0bffb010eebf5ae00ccfb56171ddb262b860962155864d62d35475066aef7d3984c0cccb21c7621"], 0x60}, 0x1, 0x0, 0x0, 0x4000080}, 0x4000881) r0 = openat$cgroup_devices(0xffffffffffffffff, &(0x7f0000000440)='devices.deny\x00', 0x2, 0x0) mkdir(&(0x7f0000000140)='./file0\x00', 0x0) clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) clock_gettime(0x4e82ff4c1886faec, &(0x7f0000003000)) recvmmsg(0xffffffffffffffff, &(0x7f00000031c0)=[{{&(0x7f0000000240)=@ll={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @local}, 0x80, &(0x7f0000001740)=[{&(0x7f0000000080)=""/35, 0x23}, {&(0x7f00000016c0)=""/107, 0x6b}, {&(0x7f0000000400)=""/53, 0x35}], 0x3}, 0x80000001}, {{&(0x7f0000001780)=@pppol2tpv3in6={0x18, 0x1, {0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, {0xa, 0x0, 0x0, @loopback}}}, 0x80, &(0x7f00000018c0)=[{&(0x7f0000001800)=""/150, 0x96}], 0x1, &(0x7f0000001900)=""/132, 0x84}, 0x8001}, {{&(0x7f00000019c0)=@rc={0x1f, @none}, 0x80, &(0x7f0000002d00)=[{&(0x7f0000001a40)=""/211, 0xd3}, {&(0x7f0000001b40)=""/96, 0x60}, {&(0x7f0000001bc0)=""/4096, 0x1000}, {&(0x7f0000002bc0)=""/145, 0x91}, {&(0x7f0000002c80)=""/62, 0x3e}], 0x5, &(0x7f0000002d80)=""/204, 0xcc}, 0x4}, {{&(0x7f0000002e80)=@pppol2tpin6={0x18, 0x1, {0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, {0xa, 0x0, 0x0, @loopback}}}, 0x80, &(0x7f0000003140)=[{&(0x7f0000002f00)=""/226, 0xe2}, {&(0x7f0000003300)=""/55, 0x37}, {&(0x7f0000003040)=""/207, 0xcf}], 0x3, &(0x7f0000003180)=""/34, 0x22}}], 0x4, 0x40000000, &(0x7f00000032c0)={0x0, 0x3938700}) timer_create(0x0, &(0x7f0000000300)={0x0, 0x12, 0x0, @thr={&(0x7f00000004c0)="dc58f5ca47458e73f54a60fdf06c8ea136cdebc0e531eda607aa9970657eb326b635567983f6390be1864419f011bd43a63340f692788e99250f495a0bb0fe8202", &(0x7f0000000540)="872aa7653d79b32a26040c0aa08fcb53d6a58301cdcb6f728fc9ccfcfb66b1790a7ff5747f3e1b169b523b2d9f7be7aa0d5e13295200107c81d75e335b6cafc5bebda5c8a8966e8b76ffae24c15cc127753242bd370b8fe6aa898abdd8cebef0f675d0ea24a1931a8116dc37f31c3538135178533e9031abe6a553c5f672b0e18de329f9"}}, &(0x7f00000003c0)) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f0000000100), 0xd}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) timer_settime(0x0, 0x0, &(0x7f00000002c0)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) timer_create(0x0, &(0x7f00000001c0)={0x0, 0x15}, &(0x7f0000000040)=0x0) timer_settime(r1, 0x0, &(0x7f0000000180)={{0x0, 0x3938700}, {0x0, 0x3938700}}, 0x0) clone(0x4007fc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) mount(&(0x7f0000000480)=ANY=[@ANYBLOB='[d::]:'], &(0x7f00000000c0)='./file0\x00', &(0x7f0000000040)='ceph\x00', 0x0, 0x0) socket$inet6(0xa, 0x400000000001, 0x0) ftruncate(0xffffffffffffffff, 0x7) r2 = open(&(0x7f0000000140)='./bus\x00', 0x141042, 0x0) write$UHID_INPUT(r2, &(0x7f0000000580), 0x10000005c) sendfile(0xffffffffffffffff, r0, 0x0, 0x7ff) 16:00:42 executing program 4: prctl$PR_SET_PTRACER(0x59616d61, 0xffffffffffffffff) clone(0x100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r0 = gettid() wait4(0x0, 0x0, 0x80000002, 0x0) vmsplice(0xffffffffffffffff, &(0x7f00000000c0)=[{0x0}, {0x0}, {0x0}, {&(0x7f0000000340)="66530700ae897094e71b0fb1f147a8378f364602812c66538d750f6ee1d001f43f0500bb9fb045f2d1eaa302ab6c2fef2308003ea1315b9532f3af2f5e153eb78020fa00eb298802d8f6c1f3b18d6d352507f7018b31a53bad1ec3533c791a753a1fef2c560001000000000000fb", 0x6e}], 0x4, 0x0) ptrace$setopts(0x4206, r0, 0x0, 0x5) tkill(r0, 0x34) ptrace$cont(0x18, r0, 0x0, 0x0) sendmsg$inet(0xffffffffffffffff, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)=[{&(0x7f0000000080)="4dc3", 0x2}], 0x1}, 0x0) ptrace$setregs(0xd, r0, 0x0, &(0x7f0000000080)) r1 = gettid() rt_sigqueueinfo(r1, 0x24, &(0x7f0000000180)) 16:00:42 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_CREATE_PIT2(r1, 0x4040ae77, &(0x7f0000000080)) ioctl$KVM_GET_PIT(r1, 0xc048ae65, &(0x7f00000016c0)) [ 299.882089][T11452] ceph: No mds server is up or the cluster is laggy [ 299.891088][ T9526] libceph: connect (1)[d::]:6789 error -101 [ 299.957798][T11446] netdevsim netdevsim3 netdevsim0: set [1, 1] type 2 family 0 port 53130 - 0 [ 299.988198][ T9526] libceph: mon0 (1)[d::]:6789 connect error [ 300.050077][T11445] ceph: No mds server is up or the cluster is laggy 16:00:42 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$ethtool(&(0x7f00000008c0)='ethtool\x00', 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_DEBUG_SET(r0, &(0x7f0000001b00)={0x0, 0x0, &(0x7f0000002240)={&(0x7f0000000900)={0x40, r1, 0x1, 0x0, 0x0, {}, [@ETHTOOL_A_DEBUG_MSGMASK={0x14, 0x2, 0x0, 0x1, [@ETHTOOL_A_BITSET_BITS={0x10, 0x3, 0x0, 0x1, [{0xc, 0x1, 0x0, 0x1, [@ETHTOOL_A_BITSET_BIT_INDEX={0x8}]}]}]}, @ETHTOOL_A_DEBUG_HEADER={0x18, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'ipvlan0\x00'}]}]}, 0x40}}, 0x0) [ 300.108423][T11446] netdevsim netdevsim3 netdevsim1: set [1, 1] type 2 family 0 port 53130 - 0 [ 300.113479][ T9526] libceph: connect (1)[d::]:6789 error -101 [ 300.158487][ T9526] libceph: mon0 (1)[d::]:6789 connect error [ 300.183224][T11446] netdevsim netdevsim3 netdevsim2: set [1, 1] type 2 family 0 port 53130 - 0 [ 300.256878][T11446] netdevsim netdevsim3 netdevsim3: set [1, 1] type 2 family 0 port 53130 - 0 [ 300.355475][T11446] netdevsim netdevsim3 netdevsim0: set [1, 2] type 2 family 0 port 49644 - 0 16:00:43 executing program 0: r0 = syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000000)={{0x12, 0x1, 0x0, 0x0, 0x0, 0x0, 0x10000000140, 0x5ac, 0x245, 0x40, 0x0, 0x0, 0x0, 0x1, [{{0x9, 0x2, 0x24, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x1, 0x3, 0x1, 0x0, 0x0, {0x9, 0x21, 0x0, 0x0, 0x1, {0x22, 0x1}}}}]}}]}}, 0x0) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$hid(r0, &(0x7f0000000240)={0x24, 0x0, 0x0, &(0x7f00000001c0)={0x0, 0x22, 0x5, {[@global=@item_4={0x3, 0x1, 0x0, "46583be2"}]}}, 0x0}, 0x0) [ 300.426477][T11446] netdevsim netdevsim3 netdevsim1: set [1, 2] type 2 family 0 port 49644 - 0 [ 300.469028][T11446] netdevsim netdevsim3 netdevsim2: set [1, 2] type 2 family 0 port 49644 - 0 [ 300.490238][ T9569] libceph: connect (1)[d::]:6789 error -101 [ 300.496776][ T9569] libceph: mon0 (1)[d::]:6789 connect error [ 300.517184][T11446] netdevsim netdevsim3 netdevsim3: set [1, 2] type 2 family 0 port 49644 - 0 [ 300.531672][ T9569] libceph: connect (1)[d::]:6789 error -101 16:00:43 executing program 2: sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000380)={&(0x7f0000000200)={0x10, 0x0, 0x0, 0x2000000}, 0xc, &(0x7f0000000340)={&(0x7f00000015c0)=ANY=[@ANYBLOB="606f00006d0020002cbd7000ffdbdf2500000000", @ANYRES32=0x0, @ANYBLOB="02000000008004000800280086af0000140035006970766c616e3100000000000000000008002800e170000008001b000500000005002700000000000a000200f370a51f471ef70005be668675e41f1494ad9a819689b55f75fae388caffdd5ebfe1749e71fe6837d5c0062c1038921d21f03b00a732a4e165ecf20f65353b8c5c65d52eaae5df80235c60b0bffb010eebf5ae00ccfb56171ddb262b860962155864d62d35475066aef7d3984c0cccb21c7621"], 0x60}, 0x1, 0x0, 0x0, 0x4000080}, 0x4000881) r0 = openat$cgroup_devices(0xffffffffffffffff, &(0x7f0000000440)='devices.deny\x00', 0x2, 0x0) mkdir(&(0x7f0000000140)='./file0\x00', 0x0) clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) clock_gettime(0x4e82ff4c1886faec, &(0x7f0000003000)) recvmmsg(0xffffffffffffffff, &(0x7f00000031c0)=[{{&(0x7f0000000240)=@ll={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @local}, 0x80, &(0x7f0000001740)=[{&(0x7f0000000080)=""/35, 0x23}, {&(0x7f00000016c0)=""/107, 0x6b}, {&(0x7f0000000400)=""/53, 0x35}], 0x3}, 0x80000001}, {{&(0x7f0000001780)=@pppol2tpv3in6={0x18, 0x1, {0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, {0xa, 0x0, 0x0, @loopback}}}, 0x80, &(0x7f00000018c0)=[{&(0x7f0000001800)=""/150, 0x96}], 0x1, &(0x7f0000001900)=""/132, 0x84}, 0x8001}, {{&(0x7f00000019c0)=@rc={0x1f, @none}, 0x80, &(0x7f0000002d00)=[{&(0x7f0000001a40)=""/211, 0xd3}, {&(0x7f0000001b40)=""/96, 0x60}, {&(0x7f0000001bc0)=""/4096, 0x1000}, {&(0x7f0000002bc0)=""/145, 0x91}, {&(0x7f0000002c80)=""/62, 0x3e}], 0x5, &(0x7f0000002d80)=""/204, 0xcc}, 0x4}, {{&(0x7f0000002e80)=@pppol2tpin6={0x18, 0x1, {0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, {0xa, 0x0, 0x0, @loopback}}}, 0x80, &(0x7f0000003140)=[{&(0x7f0000002f00)=""/226, 0xe2}, {&(0x7f0000003300)=""/55, 0x37}, {&(0x7f0000003040)=""/207, 0xcf}], 0x3, &(0x7f0000003180)=""/34, 0x22}}], 0x4, 0x40000000, &(0x7f00000032c0)={0x0, 0x3938700}) timer_create(0x0, &(0x7f0000000300)={0x0, 0x12, 0x0, @thr={&(0x7f00000004c0)="dc58f5ca47458e73f54a60fdf06c8ea136cdebc0e531eda607aa9970657eb326b635567983f6390be1864419f011bd43a63340f692788e99250f495a0bb0fe8202", &(0x7f0000000540)="872aa7653d79b32a26040c0aa08fcb53d6a58301cdcb6f728fc9ccfcfb66b1790a7ff5747f3e1b169b523b2d9f7be7aa0d5e13295200107c81d75e335b6cafc5bebda5c8a8966e8b76ffae24c15cc127753242bd370b8fe6aa898abdd8cebef0f675d0ea24a1931a8116dc37f31c3538135178533e9031abe6a553c5f672b0e18de329f9"}}, &(0x7f00000003c0)) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f0000000100), 0xd}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) timer_settime(0x0, 0x0, &(0x7f00000002c0)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) timer_create(0x0, &(0x7f00000001c0)={0x0, 0x15}, &(0x7f0000000040)=0x0) timer_settime(r1, 0x0, &(0x7f0000000180)={{0x0, 0x3938700}, {0x0, 0x3938700}}, 0x0) clone(0x4007fc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) mount(&(0x7f0000000480)=ANY=[@ANYBLOB='[d::]:'], &(0x7f00000000c0)='./file0\x00', &(0x7f0000000040)='ceph\x00', 0x0, 0x0) socket$inet6(0xa, 0x400000000001, 0x0) ftruncate(0xffffffffffffffff, 0x7) r2 = open(&(0x7f0000000140)='./bus\x00', 0x141042, 0x0) write$UHID_INPUT(r2, &(0x7f0000000580), 0x10000005c) sendfile(0xffffffffffffffff, r0, 0x0, 0x7ff) 16:00:43 executing program 1: sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000380)={&(0x7f0000000200)={0x10, 0x0, 0x0, 0x2000000}, 0xc, &(0x7f0000000340)={&(0x7f00000015c0)=ANY=[@ANYBLOB="606f00006d0020002cbd7000ffdbdf2500000000", @ANYRES32=0x0, @ANYBLOB="02000000008004000800280086af0000140035006970766c616e3100000000000000000008002800e170000008001b000500000005002700000000000a000200f370a51f471ef70005be668675e41f1494ad9a819689b55f75fae388caffdd5ebfe1749e71fe6837d5c0062c1038921d21f03b00a732a4e165ecf20f65353b8c5c65d52eaae5df80235c60b0bffb010eebf5ae00ccfb56171ddb262b860962155864d62d35475066aef7d3984c0cccb21c7621"], 0x60}, 0x1, 0x0, 0x0, 0x4000080}, 0x4000881) r0 = openat$cgroup_devices(0xffffffffffffffff, &(0x7f0000000440)='devices.deny\x00', 0x2, 0x0) mkdir(&(0x7f0000000140)='./file0\x00', 0x0) clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) clock_gettime(0x4e82ff4c1886faec, &(0x7f0000003000)) recvmmsg(0xffffffffffffffff, &(0x7f00000031c0)=[{{&(0x7f0000000240)=@ll={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @local}, 0x80, &(0x7f0000001740)=[{&(0x7f0000000080)=""/35, 0x23}, {&(0x7f00000016c0)=""/107, 0x6b}, {&(0x7f0000000400)=""/53, 0x35}], 0x3}, 0x80000001}, {{&(0x7f0000001780)=@pppol2tpv3in6={0x18, 0x1, {0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, {0xa, 0x0, 0x0, @loopback}}}, 0x80, &(0x7f00000018c0)=[{&(0x7f0000001800)=""/150, 0x96}], 0x1, &(0x7f0000001900)=""/132, 0x84}, 0x8001}, {{&(0x7f00000019c0)=@rc={0x1f, @none}, 0x80, &(0x7f0000002d00)=[{&(0x7f0000001a40)=""/211, 0xd3}, {&(0x7f0000001b40)=""/96, 0x60}, {&(0x7f0000001bc0)=""/4096, 0x1000}, {&(0x7f0000002bc0)=""/145, 0x91}, {&(0x7f0000002c80)=""/62, 0x3e}], 0x5, &(0x7f0000002d80)=""/204, 0xcc}, 0x4}, {{&(0x7f0000002e80)=@pppol2tpin6={0x18, 0x1, {0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, {0xa, 0x0, 0x0, @loopback}}}, 0x80, &(0x7f0000003140)=[{&(0x7f0000002f00)=""/226, 0xe2}, {&(0x7f0000003300)=""/55, 0x37}, {&(0x7f0000003040)=""/207, 0xcf}], 0x3, &(0x7f0000003180)=""/34, 0x22}}], 0x4, 0x40000000, &(0x7f00000032c0)={0x0, 0x3938700}) timer_create(0x0, &(0x7f0000000300)={0x0, 0x12, 0x0, @thr={&(0x7f00000004c0)="dc58f5ca47458e73f54a60fdf06c8ea136cdebc0e531eda607aa9970657eb326b635567983f6390be1864419f011bd43a63340f692788e99250f495a0bb0fe8202", &(0x7f0000000540)="872aa7653d79b32a26040c0aa08fcb53d6a58301cdcb6f728fc9ccfcfb66b1790a7ff5747f3e1b169b523b2d9f7be7aa0d5e13295200107c81d75e335b6cafc5bebda5c8a8966e8b76ffae24c15cc127753242bd370b8fe6aa898abdd8cebef0f675d0ea24a1931a8116dc37f31c3538135178533e9031abe6a553c5f672b0e18de329f9"}}, &(0x7f00000003c0)) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f0000000100), 0xd}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) timer_settime(0x0, 0x0, &(0x7f00000002c0)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) timer_create(0x0, &(0x7f00000001c0)={0x0, 0x15}, &(0x7f0000000040)=0x0) timer_settime(r1, 0x0, &(0x7f0000000180)={{0x0, 0x3938700}, {0x0, 0x3938700}}, 0x0) clone(0x4007fc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) mount(&(0x7f0000000480)=ANY=[@ANYBLOB='[d::]:'], &(0x7f00000000c0)='./file0\x00', &(0x7f0000000040)='ceph\x00', 0x0, 0x0) socket$inet6(0xa, 0x400000000001, 0x0) ftruncate(0xffffffffffffffff, 0x7) r2 = open(&(0x7f0000000140)='./bus\x00', 0x141042, 0x0) write$UHID_INPUT(r2, &(0x7f0000000580), 0x10000005c) sendfile(0xffffffffffffffff, r0, 0x0, 0x7ff) [ 300.562741][T11446] device geneve2 entered promiscuous mode [ 300.568825][ T9569] libceph: mon0 (1)[d::]:6789 connect error [ 300.647556][T11446] netdevsim netdevsim3 netdevsim0: unset [1, 2] type 2 family 0 port 49644 - 0 [ 300.679811][T11446] netdevsim netdevsim3 netdevsim1: unset [1, 2] type 2 family 0 port 49644 - 0 [ 300.719980][T11446] netdevsim netdevsim3 netdevsim2: unset [1, 2] type 2 family 0 port 49644 - 0 [ 300.778490][T11446] netdevsim netdevsim3 netdevsim3: unset [1, 2] type 2 family 0 port 49644 - 0 [ 300.826426][T11446] netdevsim netdevsim3 netdevsim0: unset [1, 1] type 2 family 0 port 53130 - 0 [ 300.869783][ T7] usb 1-1: new high-speed USB device number 5 using dummy_hcd [ 300.878840][T11446] netdevsim netdevsim3 netdevsim1: unset [1, 1] type 2 family 0 port 53130 - 0 [ 300.914726][T11446] netdevsim netdevsim3 netdevsim2: unset [1, 1] type 2 family 0 port 53130 - 0 [ 300.949047][T11446] netdevsim netdevsim3 netdevsim3: unset [1, 1] type 2 family 0 port 53130 - 0 [ 301.310156][ T7] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 301.365065][ T7] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 [ 301.457279][ T7] usb 1-1: New USB device found, idVendor=05ac, idProduct=0245, bcdDevice= 0.40 [ 301.580798][ T7] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 301.594581][ T7] usb 1-1: config 0 descriptor?? [ 301.638413][T11513] ceph: No mds server is up or the cluster is laggy [ 301.930919][ T4029] libceph: connect (1)[d::]:6789 error -101 [ 301.937005][ T4029] libceph: mon0 (1)[d::]:6789 connect error [ 302.072020][ T7] apple 0003:05AC:0245.0002: item fetching failed at offset 0/1 [ 302.137586][ T7] apple 0003:05AC:0245.0002: parse failed [ 302.209304][ T7] apple: probe of 0003:05AC:0245.0002 failed with error -22 [ 302.333075][ T7] usb 1-1: USB disconnect, device number 5 [ 302.376436][ T9383] libceph: connect (1)[d::]:6789 error -101 [ 302.398154][ T9383] libceph: mon0 (1)[d::]:6789 connect error [ 302.453595][T11527] ceph: No mds server is up or the cluster is laggy [ 302.488236][ T4029] libceph: connect (1)[d::]:6789 error -101 [ 302.496865][ T4029] libceph: mon0 (1)[d::]:6789 connect error [ 303.049866][ T9709] usb 1-1: new high-speed USB device number 6 using dummy_hcd [ 303.440172][ T9709] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 303.465832][ T9709] usb 1-1: config 0 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 [ 303.500261][ T9709] usb 1-1: New USB device found, idVendor=05ac, idProduct=0245, bcdDevice= 0.40 [ 303.531172][ T9709] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 303.547444][ T9709] usb 1-1: config 0 descriptor?? [ 303.799940][ T9709] usbhid 1-1:0.0: can't add hid device: -71 [ 303.806081][ T9709] usbhid: probe of 1-1:0.0 failed with error -71 [ 303.831290][ T9709] usb 1-1: USB disconnect, device number 6 16:00:50 executing program 5: perf_event_open(&(0x7f0000001340)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000080)={0x26, 'hash\x00', 0x0, 0x0, 'blake2b-384\x00'}, 0x58) setsockopt$ALG_SET_KEY(r0, 0x117, 0x1, &(0x7f0000c18000)='\x00', 0x1) r1 = accept4(r0, 0x0, 0x0, 0x0) recvmmsg(r1, &(0x7f00000005c0)=[{{0x0, 0xfffffffffffffea3, 0x0}}], 0x3ffffffffffff62, 0x0, 0x0) 16:00:50 executing program 4: mkdir(&(0x7f0000000080)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f000000c000)='ramfs\x00', 0x402, 0x0) mount(0x0, &(0x7f0000000200)='./file0\x00', 0x0, 0x100000, 0x0) clone(0x70024000, 0x0, 0x0, 0x0, 0x0) write$FUSE_NOTIFY_STORE(0xffffffffffffffff, &(0x7f0000000000)=ANY=[@ANYBLOB='/\x00'], 0x2) mount$fuse(0x20000000, &(0x7f0000000580)='./file0\x00', 0x0, 0x7a04, 0x0) write$FUSE_INIT(0xffffffffffffffff, 0x0, 0x0) read$FUSE(0xffffffffffffffff, &(0x7f00000004c0)={0x2020}, 0x2020) perf_event_open(&(0x7f0000000240)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) umount2(&(0x7f00000001c0)='./file0\x00', 0x2) 16:00:50 executing program 1: r0 = openat$ipvs(0xffffffffffffff9c, &(0x7f0000000000)='/proc/sys/net/ipv4/vs/sync_ports\x00', 0x2, 0x0) write$cgroup_int(r0, &(0x7f0000000040)=0x3d02, 0x12) 16:00:50 executing program 3: mount$bpf(0x20000000, &(0x7f00000000c0)='./file0\x00', 0x0, 0x2001001, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0xfffffffffffffffd}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$PERF_EVENT_IOC_SET_FILTER(0xffffffffffffffff, 0x8923, 0x0) ioctl$sock_SIOCGIFINDEX_80211(0xffffffffffffffff, 0x8933, 0x0) socket$nl_route(0x10, 0x3, 0x0) statx(0xffffffffffffff9c, &(0x7f0000000440)='./file0\x00', 0x6000, 0x0, 0x0) unlinkat(0xffffffffffffffff, &(0x7f00000006c0)='./file0\x00', 0x0) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r1, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000b80)=@newlink={0x50, 0x10, 0x401, 0x350, 0x0, {0x0, 0x0, 0x0, 0x0, 0x32b}, [@IFLA_LINKINFO={0x20, 0x12, 0x0, 0x1, @geneve={{0xb, 0x1, 'geneve\x00'}, {0x10, 0x2, 0x0, 0x1, [@IFLA_GENEVE_PORT={0x6}, @IFLA_GENEVE_COLLECT_METADATA={0x4}]}}}, @IFLA_LINK={0x8}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x50}}, 0x0) 16:00:50 executing program 2: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) socket(0x11, 0x0, 0x0) r0 = syz_genetlink_get_family_id$team(&(0x7f0000000040)='team\x00', 0xffffffffffffffff) r1 = socket$nl_generic(0x10, 0x3, 0x10) r2 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$ifreq_SIOCGIFINDEX_team(r2, 0x8933, &(0x7f0000000180)={'team0\x00', 0x0}) sendmsg$TEAM_CMD_OPTIONS_SET(r1, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000300)={0x20, r0, 0x1, 0x0, 0x0, {}, [{{0x8, 0x1, r3}, {0x4}}]}, 0x20}}, 0x0) 16:00:50 executing program 0: r0 = openat(0xffffffffffffffff, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r0, 0x0) timer_settime(0x0, 0x0, &(0x7f000006b000)={{0x0, 0x8}, {0x0, 0x1c9c380}}, 0x0) 16:00:50 executing program 0: r0 = socket$kcm(0x29, 0x5, 0x0) ioctl$PERF_EVENT_IOC_SET_FILTER(r0, 0x8b19, &(0x7f0000000000)='wlan0\x00\x1b\x1a\xec\xb5\x12\x03F\xd9\x00\x0e\x00\x00U\x00\x00\x00\x00\x00h\x01C\xfdj\xe3\x8d\xe3\xd6\xe0|6l\xe9\xd9;\x13\xdf\xf7\xber\'\x8a\xd5\xd5\xe1\xf5\\\x9b\xb2\b\"\xe4g\x89\x12=z\xbff\xcb\xe8oOArYZ\xe1\x1f\xebp\xf5\xfb\xaad\x1a\xa0\xb1 ]X\x1e^9P\xee\x8aG\xdd\x00\x0e\xd8\a\xca\xc8~\x82\xf6\xaaJ\xe5\xf7\x19\xeb#;|\xabA1\xaa\xbc7Tf\xf1Y\x1c\xed~\xe9\xe9\xf9\xcfW\xdc\xcf\xe9\x8d\xe8\xcf\x9e2I[\xcf\xf7\xb0K\x1c\x1c\x06h\x8cd\f6\xfe\xb7\xbf\xae\xea\x99\xea\xb3G\x8a\xe3\x9c\x96\xf5\xf8\xb5\x19\twp\xfa\xa9\xd8\xbfSa\xb9\v\xb3\xb1\x05\xa05\xdc\x12\x86\xb9\xf93\xac\x1c\x1fXfQ\xab\x8c\xe2\xbe\xd4|\xd9\xd6y\\\xfd\xde0\x83\x7f\x80\xddH[t% /H\xed\xea\x80*NA\xbaX\r\xea\v\x83<\xa1d\x00\x00\x00\x00\x00\x00\x10\x00\x00\xaf\xf6\xbd2\xbc%\xbe?\xe0m9\xc0\x1f\x10\'\x18\x83@\v\x0f5\x0e\x84\xb0\xdd7\xe5\xc2\xf3Yg\xf8\x1dX\xff\xb7]8\xaa\xbd\xb2\xbd#\xa9\xb6\xcd\xc1\x9eDa \xba\x13\x9dY\xec;_\x0f-\xbaI\x85\xac\x9e\xea\xf7\xf3\xee\xc4\xb7\xce\x87\\\xdb~ZQ\xe3j!\xdf\"I(T\x12\x18/u\xd2\xc2r6}\xbe\x81\xdf\xca\xf3n\xa0\a\x02\xabL\x0f`\x9c3)\x9f\xa1\xa5\xe2:\vc\x96SI\b-\x19\xd8\xd1\xf1\xdb\x86\rd\xdc\xcby\xcf\xeb\xaa\xc4\x94\xb4Y\xc2}\xc5p\x05\xf1\xd6\x05\x03\x04\x89\x9aJI\xf4\xf1w\x10LFX\xbd\x9f\xfe\n\xf6\xa5\xd0\xbc\xa7\x11;\x97\x16\xec\\r9wv[+eo0\x93\xbeFAeq%\xae<\xf9@N\xca\xebF2&\x99\xeb9J`o\xfa\x18\xce\x9dd\x00\x05\x91') 16:00:50 executing program 1: unshare(0x20000400) r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x6, 0x3, &(0x7f0000000000)=@framed, &(0x7f0000000080)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [0x48], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000300)={0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, &(0x7f0000000280)="ca"}, 0x48) bpf$BPF_GET_PROG_INFO(0xf, &(0x7f0000000340)={r0, 0xc0, &(0x7f0000000280)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ""/16, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, 0x10) [ 308.011786][T11579] IPVS: ftp: loaded support on port[0] = 21 [ 308.147859][T11584] netdevsim netdevsim3 netdevsim0: set [1, 1] type 2 family 0 port 34009 - 0 [ 308.165354][T11584] netdevsim netdevsim3 netdevsim1: set [1, 1] type 2 family 0 port 34009 - 0 [ 308.191980][T11584] netdevsim netdevsim3 netdevsim2: set [1, 1] type 2 family 0 port 34009 - 0 [ 308.207624][T11584] netdevsim netdevsim3 netdevsim3: set [1, 1] type 2 family 0 port 34009 - 0 [ 308.248803][T11584] netdevsim netdevsim3 netdevsim0: set [1, 2] type 2 family 0 port 60251 - 0 16:00:51 executing program 1: r0 = openat$sndseq(0xffffffffffffff9c, &(0x7f0000000000)='/dev/snd/seq\x00', 0x0) ioctl$SNDRV_SEQ_IOCTL_CREATE_QUEUE(r0, 0xc08c5332, &(0x7f0000000080)={0x0, 0x0, 0x0, 'queue1\x00'}) ioctl$SNDRV_SEQ_IOCTL_SET_QUEUE_TEMPO(r0, 0xc0605345, &(0x7f0000000300)) [ 308.323790][T11584] netdevsim netdevsim3 netdevsim1: set [1, 2] type 2 family 0 port 60251 - 0 [ 308.419160][T11584] netdevsim netdevsim3 netdevsim2: set [1, 2] type 2 family 0 port 60251 - 0 [ 308.497177][T11584] netdevsim netdevsim3 netdevsim3: set [1, 2] type 2 family 0 port 60251 - 0 [ 308.608949][T11584] device geneve2 entered promiscuous mode 16:00:51 executing program 1: r0 = openat$sndseq(0xffffffffffffff9c, &(0x7f0000000000)='/dev/snd/seq\x00', 0x0) ioctl$SNDRV_SEQ_IOCTL_CREATE_QUEUE(r0, 0xc08c5332, &(0x7f0000000080)={0x0, 0x0, 0x0, 'queue1\x00'}) ioctl$SNDRV_SEQ_IOCTL_SET_QUEUE_TEMPO(r0, 0xc0605345, &(0x7f0000000300)) [ 308.704058][T11584] netdevsim netdevsim3 netdevsim0: unset [1, 2] type 2 family 0 port 60251 - 0 [ 308.757090][T11584] netdevsim netdevsim3 netdevsim1: unset [1, 2] type 2 family 0 port 60251 - 0 [ 308.763451][T11587] IPVS: ftp: loaded support on port[0] = 21 [ 308.791420][T11584] netdevsim netdevsim3 netdevsim2: unset [1, 2] type 2 family 0 port 60251 - 0 [ 308.838329][T11584] netdevsim netdevsim3 netdevsim3: unset [1, 2] type 2 family 0 port 60251 - 0 16:00:51 executing program 1: r0 = openat$sndseq(0xffffffffffffff9c, &(0x7f0000000000)='/dev/snd/seq\x00', 0x0) ioctl$SNDRV_SEQ_IOCTL_CREATE_QUEUE(r0, 0xc08c5332, &(0x7f0000000080)={0x0, 0x0, 0x0, 'queue1\x00'}) ioctl$SNDRV_SEQ_IOCTL_SET_QUEUE_TEMPO(r0, 0xc0605345, &(0x7f0000000300)) [ 308.885510][T11584] netdevsim netdevsim3 netdevsim0: unset [1, 1] type 2 family 0 port 34009 - 0 [ 308.922964][T11584] netdevsim netdevsim3 netdevsim1: unset [1, 1] type 2 family 0 port 34009 - 0 [ 308.954093][T11584] netdevsim netdevsim3 netdevsim2: unset [1, 1] type 2 family 0 port 34009 - 0 16:00:51 executing program 1: r0 = openat$sndseq(0xffffffffffffff9c, &(0x7f0000000000)='/dev/snd/seq\x00', 0x0) ioctl$SNDRV_SEQ_IOCTL_CREATE_QUEUE(r0, 0xc08c5332, &(0x7f0000000080)={0x0, 0x0, 0x0, 'queue1\x00'}) ioctl$SNDRV_SEQ_IOCTL_SET_QUEUE_TEMPO(r0, 0xc0605345, &(0x7f0000000300)) [ 309.000932][T11584] netdevsim netdevsim3 netdevsim3: unset [1, 1] type 2 family 0 port 34009 - 0 16:00:58 executing program 5: perf_event_open(&(0x7f0000001340)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000080)={0x26, 'hash\x00', 0x0, 0x0, 'blake2b-384\x00'}, 0x58) setsockopt$ALG_SET_KEY(r0, 0x117, 0x1, &(0x7f0000c18000)='\x00', 0x1) r1 = accept4(r0, 0x0, 0x0, 0x0) recvmmsg(r1, &(0x7f00000005c0)=[{{0x0, 0xfffffffffffffea3, 0x0}}], 0x3ffffffffffff62, 0x0, 0x0) 16:00:58 executing program 1: r0 = socket(0x10, 0x803, 0x0) write(r0, &(0x7f0000000040)="2600000022004701050007008980e8ff06006d20002b1f00c0e9ff094a51f10101c7033500b0", 0x26) setsockopt$sock_int(r0, 0x1, 0x8, &(0x7f0000d9bffc), 0x4) sendto(r0, &(0x7f00000005c0)="120000001200e7ef007b00000000000000a1", 0x12, 0x0, 0x0, 0x45) recvmsg(r0, &(0x7f0000002500)={0x0, 0x0, 0x0}, 0x0) recvmmsg(r0, &(0x7f0000000d00)=[{{0x0, 0x0, &(0x7f0000000700)=[{&(0x7f0000000440)=""/245, 0xbb}, {&(0x7f0000000300)=""/170, 0xa0}, {&(0x7f0000000e00)=""/96, 0xc4}, {&(0x7f0000000600)=""/204, 0x1bc}, {&(0x7f0000001040)=""/4096, 0x1011}], 0x5}}], 0x14, 0x0, 0x0) 16:00:58 executing program 2: r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000100)={0x26, 'skcipher\x00', 0x0, 0x0, 'ecb(arc4)-generic\x00'}, 0x58) setsockopt$ALG_SET_KEY(r0, 0x117, 0x1, &(0x7f0000000040)='\n', 0x1) r1 = accept$alg(r0, 0x0, 0x0) r2 = dup(r1) write$UHID_DESTROY(r2, &(0x7f0000000200), 0xffffff77) read$usbmon(r2, &(0x7f0000000100)=""/75, 0xff00) 16:00:58 executing program 0: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x3, &(0x7f00000000c0)=ANY=[@ANYBLOB="1800000000000000000000001000000095"], &(0x7f0000000080)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000480)={&(0x7f0000000440)='sys_exit\x00', r0}, 0x10) inotify_init1(0x4) 16:00:58 executing program 3: r0 = syz_open_dev$evdev(&(0x7f0000000000)='/dev/input/event#\x00', 0x0, 0x0) syz_usb_disconnect(r0) syz_usb_connect(0x6, 0x24, &(0x7f00000001c0)={{0x12, 0x1, 0x0, 0xe7, 0x63, 0x70, 0x0, 0x7c0, 0x158a, 0x85a2, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x12, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x61, 0x60, 0x2}}]}}]}}, 0x0) syz_usb_connect$hid(0x0, 0x3f, &(0x7f0000000180)=ANY=[@ANYBLOB="12010000000c00086d0423c64000010203010902"], 0xfffffffffffffffe) ioctl$EVIOCRMFF(r0, 0x40095505, &(0x7f0000000180)) 16:00:58 executing program 4: mkdir(&(0x7f0000000080)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f000000c000)='ramfs\x00', 0x402, 0x0) mount(0x0, &(0x7f0000000200)='./file0\x00', 0x0, 0x100000, 0x0) clone(0x70024000, 0x0, 0x0, 0x0, 0x0) write$FUSE_NOTIFY_STORE(0xffffffffffffffff, &(0x7f0000000000)=ANY=[@ANYBLOB='/\x00'], 0x2) mount$fuse(0x20000000, &(0x7f0000000580)='./file0\x00', 0x0, 0x7a04, 0x0) write$FUSE_INIT(0xffffffffffffffff, 0x0, 0x0) read$FUSE(0xffffffffffffffff, &(0x7f00000004c0)={0x2020}, 0x2020) perf_event_open(&(0x7f0000000240)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) umount2(&(0x7f00000001c0)='./file0\x00', 0x2) [ 316.072794][T11689] "syz-executor.2" (11689) uses obsolete ecb(arc4) skcipher 16:00:58 executing program 1: mkdir(&(0x7f0000000080)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f000000c000)='ramfs\x00', 0x402, 0x0) mount(0x0, &(0x7f0000000200)='./file0\x00', 0x0, 0x100000, 0x0) clone(0x70024000, 0x0, 0x0, 0x0, 0x0) write$FUSE_NOTIFY_STORE(0xffffffffffffffff, &(0x7f0000000000)=ANY=[@ANYBLOB='/\x00'], 0x2) mount$fuse(0x20000000, &(0x7f0000000580)='./file0\x00', 0x0, 0x7a04, 0x0) write$FUSE_INIT(0xffffffffffffffff, 0x0, 0x0) read$FUSE(0xffffffffffffffff, &(0x7f00000004c0)={0x2020}, 0x2020) perf_event_open(&(0x7f0000000240)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) umount2(&(0x7f00000001c0)='./file0\x00', 0x2) [ 316.117256][T11685] IPVS: ftp: loaded support on port[0] = 21 16:00:58 executing program 0: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000040)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) openat$tun(0xffffffffffffff9c, &(0x7f0000000080)='/dev/net/tun\x00', 0x0, 0x0) pipe(&(0x7f00000000c0)) perf_event_open(&(0x7f0000000000)={0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f0000000300)}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x4}, 0x0, 0x0, 0xffffffffffffffff, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000012000/0x18000)=nil, &(0x7f00000001c0)=[@textreal={0x8, &(0x7f0000000100)="ffb10c10ba4300b0c866b94d0900000f320f0133f30f01e80f69e8650f01c883dd000f0131ba400c3ef20f2c2b66efbafc0ced", 0x33}], 0x1, 0x0, 0x0, 0x0) pipe(&(0x7f00000000c0)) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000bf7000)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) ioctl$KVM_SET_USER_MEMORY_REGION(0xffffffffffffffff, 0x4020ae46, &(0x7f0000000200)={0x0, 0x0, 0x6000, 0x2000, &(0x7f0000029000/0x2000)=nil}) ioctl$KVM_CREATE_PIT2(r1, 0x4040ae77, &(0x7f0000000140)) ioctl$KVM_SET_REGS(r2, 0x4090ae82, &(0x7f0000000240)={[0x0, 0x0, 0x0, 0x0, 0x200000000000203, 0x800, 0x4ca]}) ioctl$KVM_RUN(r2, 0xae80, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) [ 316.422071][T11709] IPVS: ftp: loaded support on port[0] = 21 [ 316.619902][ T9383] usb 4-1: new high-speed USB device number 2 using dummy_hcd 16:00:59 executing program 0: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet_udp(0x2, 0x2, 0x0) setsockopt$SO_BINDTODEVICE(r0, 0x1, 0x19, &(0x7f0000000080)='ip_vti0\x00', 0x10) connect$inet(r0, &(0x7f0000000100)={0x2, 0x0, @rand_addr=0x7fffffff}, 0x10) sendmmsg(r0, &(0x7f0000007fc0), 0x400000000000075, 0x0) [ 316.895573][T11696] "syz-executor.2" (11696) uses obsolete ecb(arc4) skcipher [ 316.909820][ T9383] usb 4-1: Using ep0 maxpacket: 8 16:00:59 executing program 2: r0 = socket$inet6_dccp(0xa, 0x6, 0x0) setsockopt$sock_int(r0, 0x1, 0x20, &(0x7f0000000080), 0x4) 16:00:59 executing program 4: mkdir(&(0x7f0000000080)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f000000c000)='ramfs\x00', 0x402, 0x0) mount(0x0, &(0x7f0000000200)='./file0\x00', 0x0, 0x100000, 0x0) clone(0x70024000, 0x0, 0x0, 0x0, 0x0) write$FUSE_NOTIFY_STORE(0xffffffffffffffff, &(0x7f0000000000)=ANY=[@ANYBLOB='/\x00'], 0x2) mount$fuse(0x20000000, &(0x7f0000000580)='./file0\x00', 0x0, 0x7a04, 0x0) write$FUSE_INIT(0xffffffffffffffff, 0x0, 0x0) read$FUSE(0xffffffffffffffff, &(0x7f00000004c0)={0x2020}, 0x2020) perf_event_open(&(0x7f0000000240)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) umount2(&(0x7f00000001c0)='./file0\x00', 0x2) [ 317.060253][ T9383] usb 4-1: config 0 has no interfaces? [ 317.134718][ T9383] usb 4-1: string descriptor 0 read error: -71 [ 317.167456][ T9383] usb 4-1: New USB device found, idVendor=046d, idProduct=c623, bcdDevice= 0.40 [ 317.217269][ T3218] ieee802154 phy0 wpan0: encryption failed: -22 [ 317.223858][ T3218] ieee802154 phy1 wpan1: encryption failed: -22 16:01:00 executing program 1: mkdir(&(0x7f0000000080)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f000000c000)='ramfs\x00', 0x402, 0x0) mount(0x0, &(0x7f0000000200)='./file0\x00', 0x0, 0x100000, 0x0) clone(0x70024000, 0x0, 0x0, 0x0, 0x0) write$FUSE_NOTIFY_STORE(0xffffffffffffffff, &(0x7f0000000000)=ANY=[@ANYBLOB='/\x00'], 0x2) mount$fuse(0x20000000, &(0x7f0000000580)='./file0\x00', 0x0, 0x7a04, 0x0) write$FUSE_INIT(0xffffffffffffffff, 0x0, 0x0) read$FUSE(0xffffffffffffffff, &(0x7f00000004c0)={0x2020}, 0x2020) perf_event_open(&(0x7f0000000240)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) umount2(&(0x7f00000001c0)='./file0\x00', 0x2) [ 317.318128][ T9383] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 317.378576][ T9383] usb 4-1: config 0 descriptor?? [ 317.440284][ T9383] usb 4-1: can't set config #0, error -71 [ 317.474053][T11770] IPVS: ftp: loaded support on port[0] = 21 [ 317.490548][ T9383] usb 4-1: USB disconnect, device number 2 [ 317.713072][T11775] IPVS: ftp: loaded support on port[0] = 21 16:01:05 executing program 1: mkdir(&(0x7f0000000080)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f000000c000)='ramfs\x00', 0x402, 0x0) mount(0x0, &(0x7f0000000200)='./file0\x00', 0x0, 0x100000, 0x0) clone(0x70024000, 0x0, 0x0, 0x0, 0x0) write$FUSE_NOTIFY_STORE(0xffffffffffffffff, &(0x7f0000000000)=ANY=[@ANYBLOB='/\x00'], 0x2) mount$fuse(0x20000000, &(0x7f0000000580)='./file0\x00', 0x0, 0x7a04, 0x0) write$FUSE_INIT(0xffffffffffffffff, 0x0, 0x0) read$FUSE(0xffffffffffffffff, &(0x7f00000004c0)={0x2020}, 0x2020) perf_event_open(&(0x7f0000000240)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) umount2(&(0x7f00000001c0)='./file0\x00', 0x2) 16:01:05 executing program 2: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r0, 0x0) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) preadv(r1, &(0x7f0000000280), 0x18, 0xd9f, 0x0) r2 = socket$nl_generic(0x10, 0x3, 0x10) r3 = syz_genetlink_get_family_id$ipvs(&(0x7f0000000400)='IPVS\x00', 0xffffffffffffffff) sendmsg$IPVS_CMD_NEW_SERVICE(r2, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000580)={&(0x7f0000000200)={0x4c, r3, 0x1, 0x0, 0x0, {}, [@IPVS_CMD_ATTR_SERVICE={0x38, 0x1, 0x0, 0x1, [@IPVS_SVC_ATTR_AF={0x6, 0x1, 0x2}, @IPVS_SVC_ATTR_FLAGS={0xc}, @IPVS_SVC_ATTR_PE_NAME={0x8, 0x6, 'sip\x00'}, @IPVS_SVC_ATTR_NETMASK={0x8}, @IPVS_SVC_ATTR_FWMARK={0x8, 0x5, 0x2}, @IPVS_SVC_ATTR_TIMEOUT={0x8}]}]}, 0x4c}, 0x1, 0xa00000000000000}, 0x0) 16:01:05 executing program 5: r0 = openat$uinput(0xffffffffffffff9c, &(0x7f0000000080)='/dev/uinput\x00', 0x800000805, 0x0) ioctl$UI_SET_SNDBIT(r0, 0x4004556a, 0x1) ioctl$UI_SET_EVBIT(r0, 0x40045564, 0x12) write$uinput_user_dev(r0, &(0x7f0000000880)={'syz0\x00'}, 0x45c) r1 = openat(0xffffffffffffff9c, &(0x7f0000000040)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r1, 0x0) preadv(r1, &(0x7f0000000280), 0x18, 0xd9f, 0x0) ioctl$UI_DEV_CREATE(r0, 0x5501) 16:01:05 executing program 0: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet_udp(0x2, 0x2, 0x0) setsockopt$SO_BINDTODEVICE(r0, 0x1, 0x19, &(0x7f0000000080)='ip_vti0\x00', 0x10) connect$inet(r0, &(0x7f0000000100)={0x2, 0x0, @rand_addr=0x7fffffff}, 0x10) sendmmsg(r0, &(0x7f0000007fc0), 0x400000000000075, 0x0) 16:01:05 executing program 3: r0 = syz_open_dev$evdev(&(0x7f0000000000)='/dev/input/event#\x00', 0x0, 0x0) syz_usb_disconnect(r0) syz_usb_connect(0x6, 0x24, &(0x7f00000001c0)={{0x12, 0x1, 0x0, 0xe7, 0x63, 0x70, 0x0, 0x7c0, 0x158a, 0x85a2, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x12, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x61, 0x60, 0x2}}]}}]}}, 0x0) syz_usb_connect$hid(0x0, 0x3f, &(0x7f0000000180)=ANY=[@ANYBLOB="12010000000c00086d0423c64000010203010902"], 0xfffffffffffffffe) ioctl$EVIOCRMFF(r0, 0x40095505, &(0x7f0000000180)) 16:01:05 executing program 4: mkdir(&(0x7f0000000080)='./file0\x00', 0x0) mount(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f000000c000)='ramfs\x00', 0x402, 0x0) mount(0x0, &(0x7f0000000200)='./file0\x00', 0x0, 0x100000, 0x0) clone(0x70024000, 0x0, 0x0, 0x0, 0x0) write$FUSE_NOTIFY_STORE(0xffffffffffffffff, &(0x7f0000000000)=ANY=[@ANYBLOB='/\x00'], 0x2) mount$fuse(0x20000000, &(0x7f0000000580)='./file0\x00', 0x0, 0x7a04, 0x0) write$FUSE_INIT(0xffffffffffffffff, 0x0, 0x0) read$FUSE(0xffffffffffffffff, &(0x7f00000004c0)={0x2020}, 0x2020) perf_event_open(&(0x7f0000000240)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) umount2(&(0x7f00000001c0)='./file0\x00', 0x2) [ 322.863216][T11841] IPVS: Scheduler module ip_vs_sip not found [ 322.910208][T11847] IPVS: ftp: loaded support on port[0] = 21 [ 322.955675][T11849] input: syz0 as /devices/virtual/input/input8 [ 322.968661][T11848] IPVS: ftp: loaded support on port[0] = 21 [ 322.979698][T11852] IPVS: Scheduler module ip_vs_sip not found 16:01:05 executing program 2: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000001000)={0x18, 0x4, &(0x7f00000002c0)=ANY=[@ANYBLOB="18010000000000000000000000000000850000"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r0, 0x0) preadv(r0, &(0x7f0000000280), 0x18, 0xd9f, 0x0) r1 = bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, 0x0, 0x0) perf_event_open(&(0x7f0000000300)={0x0, 0x70, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x8008, 0x0, 0x0, 0x1, 0x0, 0x9, 0x6}, 0xffffffffffffffff, 0x5, r1, 0x19) [ 323.189811][ T9944] usb 4-1: new high-speed USB device number 3 using dummy_hcd 16:01:06 executing program 5: r0 = openat$sequencer2(0xffffffffffffff9c, &(0x7f0000000040)='/dev/sequencer2\x00', 0x2, 0x0) pwritev(r0, &(0x7f00000006c0)=[{&(0x7f0000000440)="9191908a", 0x4}], 0x1, 0x0, 0x0) [ 323.490013][ T9944] usb 4-1: Using ep0 maxpacket: 8 16:01:06 executing program 2: r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000000)={0x26, 'aead\x00', 0x0, 0x0, 'aegis128-generic\x00'}, 0x58) setsockopt$ALG_SET_KEY(r0, 0x117, 0x1, &(0x7f0000000180)="b5eed4af01db22b7c134010000007a15", 0x10) r1 = accept4$alg(r0, 0x0, 0x0, 0x0) read$alg(r1, &(0x7f0000001480)=""/4096, 0x1000) sendmsg$alg(r1, &(0x7f00000003c0)={0x0, 0x0, &(0x7f00000001c0)=[{&(0x7f0000002480)="e566e08561a785f31f3b09ee0a4a6b98", 0x10}], 0x1}, 0x0) [ 323.629795][ T9944] usb 4-1: config 0 has no interfaces? 16:01:06 executing program 5: r0 = openat$udambuf(0xffffffffffffff9c, &(0x7f0000000200)='/dev/udmabuf\x00', 0x2) r1 = memfd_create(&(0x7f0000000080)='y\x105%\xfa,\x1f\x99\xa2\xc9\x8e\xcd\xfc\xfa\xf6\x12\x95^\xdfT\xe2=\x0e~F\xcds', 0x2) fcntl$addseals(r1, 0x409, 0x7) ioctl$UDMABUF_CREATE_LIST(r0, 0x40087543, &(0x7f00000002c0)={0x0, 0x2, [{r1}, {r1}]}) [ 323.689844][ T9944] usb 4-1: string descriptor 0 read error: -71 [ 323.696502][ T9944] usb 4-1: New USB device found, idVendor=046d, idProduct=c623, bcdDevice= 0.40 16:01:06 executing program 0: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet_udp(0x2, 0x2, 0x0) setsockopt$SO_BINDTODEVICE(r0, 0x1, 0x19, &(0x7f0000000080)='ip_vti0\x00', 0x10) connect$inet(r0, &(0x7f0000000100)={0x2, 0x0, @rand_addr=0x7fffffff}, 0x10) sendmmsg(r0, &(0x7f0000007fc0), 0x400000000000075, 0x0) 16:01:06 executing program 1: unshare(0x6c060000) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x8031, 0xffffffffffffffff, 0x0) openat$ttyprintk(0xffffffffffffff9c, 0x0, 0x0, 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket(0xa, 0x1, 0x0) getsockopt$IP6T_SO_GET_INFO(r0, 0x29, 0x40, &(0x7f0000000080)={'nat\x00', 0x0, [0x6300]}, &(0x7f0000000100)=0x54) [ 323.737018][ T9944] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 16:01:06 executing program 4: r0 = syz_usb_connect$printer(0x0, 0x36, &(0x7f0000000040)={{0x12, 0x1, 0x0, 0x0, 0x0, 0x0, 0x20, 0x3f0, 0x6c17, 0x40, 0x0, 0x0, 0x0, 0x1, [{{0x9, 0x2, 0x24, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x12, 0x7, 0x1, 0x3, 0x0, "", {{}, [{{0x9, 0x5, 0x82, 0x2, 0x200}}]}}}]}}]}}, 0x0) syz_usb_disconnect(r0) r1 = syz_usb_connect(0x0, 0x2d, &(0x7f0000000140)=ANY=[], 0x0) syz_usb_control_io$hid(r1, 0x0, 0x0) syz_usb_ep_write$ath9k_ep1(r1, 0x82, 0x38, &(0x7f0000000480)=ANY=[]) r2 = syz_open_dev$char_usb(0xc, 0xb4, 0x0) read$char_usb(r2, 0x0, 0x6000000) [ 323.785480][ T9944] usb 4-1: config 0 descriptor?? [ 323.830317][ T9944] usb 4-1: can't set config #0, error -71 [ 323.842458][ T9944] usb 4-1: USB disconnect, device number 3 16:01:06 executing program 2: r0 = socket$nl_xfrm(0x10, 0x3, 0x6) sendmsg$nl_xfrm(r0, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000300)=ANY=[@ANYBLOB="24010000160011020000000000000000ac1e0001000000000000000000000000ac141400"/64, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="ff01000000000000000000000000000100000000330000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c001300e0"], 0x124}}, 0x0) [ 324.023805][T11929] IPVS: ftp: loaded support on port[0] = 21 [ 324.084255][T11933] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.2'. [ 324.155019][T11933] unsupported nla_type 224 16:01:06 executing program 3: r0 = syz_open_dev$evdev(&(0x7f0000000000)='/dev/input/event#\x00', 0x0, 0x0) syz_usb_disconnect(r0) syz_usb_connect(0x6, 0x24, &(0x7f00000001c0)={{0x12, 0x1, 0x0, 0xe7, 0x63, 0x70, 0x0, 0x7c0, 0x158a, 0x85a2, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x12, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x61, 0x60, 0x2}}]}}]}}, 0x0) syz_usb_connect$hid(0x0, 0x3f, &(0x7f0000000180)=ANY=[@ANYBLOB="12010000000c00086d0423c64000010203010902"], 0xfffffffffffffffe) ioctl$EVIOCRMFF(r0, 0x40095505, &(0x7f0000000180)) [ 324.308976][ T4029] usb 5-1: new high-speed USB device number 7 using dummy_hcd 16:01:07 executing program 2: syz_mount_image$f2fs(&(0x7f0000000000)='f2fs\x00', &(0x7f0000000100)='./mnt\x00', 0x0, 0x5, &(0x7f0000000200)=[{&(0x7f0000010360)="1020f5f201000e0009000000030000000c000000090000000100000001000000000000000040000000000000180000001f0000000200000002000000020000000100000018000000000200000002000000060000000a0000000e000000100000030000000100000002", 0x69, 0x1400}, {&(0x7f00000106c0)="0bd03b7500000000001000000000000002000000000000000d0000001000000012000000000000000100000002000000ffffffffffffffffffffffffffffffffffffffff01000000000000000000000000000000030000000b00000005000000ffffffffffffffffffffffffffffffffffffffff010000000000000000000000000000008501000006000000010000000100000001000000040000004000000040000000fc0f", 0xa6, 0x200000}, {&(0x7f0000010780)="00000000000000000000000000000000000000000000000000000000d9fa28d5", 0x20, 0x200fe0}, {&(0x7f0000010920)="00000000000000000000000000000000000000000000000000000001000000000bd03b7500000000001000000000000002000000000000000d0000001000000012000000000000000100000002000000ffffffffffffffffffffffffffffffffffffffff01000000000000000000000000000000030000000b00000005000000ffffffffffffffffffffffffffffffffffffffff010000000000000000000000000000008501000006000000010000000100000001000000040000004000000040000000fc0f", 0xc6, 0x204fe0}, {&(0x7f0000010a00)="00000000000000000000000000000000000000000000000000000000d9fa28d5", 0x20, 0x205fe0}], 0x0, &(0x7f0000000140)={[{@lfs_mode='mode=lfs'}]}) [ 324.609872][ T4029] usb 5-1: Using ep0 maxpacket: 32 [ 324.612024][T11958] loop2: detected capacity change from 0 to 8287 [ 324.714826][T11958] F2FS-fs (loop2): Magic Mismatch, valid(0xf2f52010) - read(0x0) [ 324.729105][T11958] F2FS-fs (loop2): Can't find valid F2FS filesystem in 1th superblock [ 324.760201][ T4029] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x1 has invalid wMaxPacketSize 0 [ 324.763352][T11958] F2FS-fs (loop2): invalid crc_offset: 0 [ 324.790671][ T4029] usb 5-1: config 0 interface 0 altsetting 0 bulk endpoint 0x1 has invalid maxpacket 0 [ 324.806734][T11958] attempt to access beyond end of device [ 324.806734][T11958] loop2: rw=12288, want=12296, limit=8287 [ 324.831408][T11958] attempt to access beyond end of device [ 324.831408][T11958] loop2: rw=12288, want=12296, limit=8287 16:01:07 executing program 0: perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet_udp(0x2, 0x2, 0x0) setsockopt$SO_BINDTODEVICE(r0, 0x1, 0x19, &(0x7f0000000080)='ip_vti0\x00', 0x10) connect$inet(r0, &(0x7f0000000100)={0x2, 0x0, @rand_addr=0x7fffffff}, 0x10) sendmmsg(r0, &(0x7f0000007fc0), 0x400000000000075, 0x0) [ 324.848722][ T4029] usb 5-1: config 0 interface 0 altsetting 0 has 2 endpoint descriptors, different from the interface descriptor's value: 18 [ 324.876377][T11958] F2FS-fs (loop2): Failed to initialize F2FS segment manager (-5) [ 324.894997][ T4029] usb 5-1: New USB device found, idVendor=03f0, idProduct=6c17, bcdDevice= 0.40 [ 324.942944][ T4029] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 324.968596][ T4029] usb 5-1: config 0 descriptor?? 16:01:07 executing program 5: r0 = openat$udambuf(0xffffffffffffff9c, &(0x7f0000000200)='/dev/udmabuf\x00', 0x2) r1 = memfd_create(&(0x7f0000000080)='y\x105%\xfa,\x1f\x99\xa2\xc9\x8e\xcd\xfc\xfa\xf6\x12\x95^\xdfT\xe2=\x0e~F\xcds', 0x2) fcntl$addseals(r1, 0x409, 0x7) ioctl$UDMABUF_CREATE_LIST(r0, 0x40087543, &(0x7f00000002c0)={0x0, 0x2, [{r1}, {r1}]}) [ 325.011689][T11958] loop2: detected capacity change from 0 to 8287 [ 325.026161][ T9709] usb 4-1: new high-speed USB device number 4 using dummy_hcd [ 325.037284][T11958] F2FS-fs (loop2): Magic Mismatch, valid(0xf2f52010) - read(0x0) [ 325.105751][T11958] F2FS-fs (loop2): Can't find valid F2FS filesystem in 1th superblock [ 325.119293][T11958] F2FS-fs (loop2): invalid crc_offset: 0 [ 325.126002][T11958] F2FS-fs (loop2): Failed to initialize F2FS segment manager (-4) 16:01:07 executing program 2: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x5, &(0x7f0000000200)=[{&(0x7f0000010000)="200000004000000003000000290000000f000000000000000200000002000000008000000080000020000000e0f4655fe0f4655f0100ffff53ef", 0x3a, 0x400}, {&(0x7f0000010200)="010000000000050008", 0x9, 0x560}, {&(0x7f0000010400)="020000001200000022", 0x9, 0x1000}, {&(0x7f0000011a00)="504d4d00504d4dff", 0x8, 0x8000}, {&(0x7f0000013b00)="ed41000000100000dff4655fe0f4655fe0f4655f000000000000040008", 0x1d, 0x22080}], 0x0, &(0x7f0000000840)={[{@abort='abort'}]}) [ 325.262180][ T4029] usblp 5-1:0.0: usblp0: USB Bidirectional printer dev 7 if 0 alt 0 proto 3 vid 0x03F0 pid 0x6C17 [ 325.280185][ T9709] usb 4-1: Using ep0 maxpacket: 8 16:01:08 executing program 5: r0 = openat$udambuf(0xffffffffffffff9c, &(0x7f0000000200)='/dev/udmabuf\x00', 0x2) r1 = memfd_create(&(0x7f0000000080)='y\x105%\xfa,\x1f\x99\xa2\xc9\x8e\xcd\xfc\xfa\xf6\x12\x95^\xdfT\xe2=\x0e~F\xcds', 0x2) fcntl$addseals(r1, 0x409, 0x7) ioctl$UDMABUF_CREATE_LIST(r0, 0x40087543, &(0x7f00000002c0)={0x0, 0x2, [{r1}, {r1}]}) [ 325.368753][ T4029] usb 5-1: USB disconnect, device number 7 [ 325.406501][ T9709] usb 4-1: config 0 has no interfaces? [ 325.465084][ T4029] usblp0: removed [ 325.491757][ T9709] usb 4-1: string descriptor 0 read error: -71 [ 325.498052][ T9709] usb 4-1: New USB device found, idVendor=046d, idProduct=c623, bcdDevice= 0.40 [ 325.554977][T11990] loop2: detected capacity change from 0 to 544 16:01:08 executing program 1: unshare(0x6c060000) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x8031, 0xffffffffffffffff, 0x0) openat$ttyprintk(0xffffffffffffff9c, 0x0, 0x0, 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket(0xa, 0x1, 0x0) getsockopt$IP6T_SO_GET_INFO(r0, 0x29, 0x40, &(0x7f0000000080)={'nat\x00', 0x0, [0x6300]}, &(0x7f0000000100)=0x54) [ 325.646598][ T9709] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 325.652040][T11990] EXT4-fs (loop2): warning: mounting unchecked fs, running e2fsck is recommended [ 325.671702][T11990] EXT4-fs (loop2): mounted filesystem without journal. Opts: abort,,errors=continue. Quota mode: none. [ 325.694848][ T9709] usb 4-1: config 0 descriptor?? 16:01:08 executing program 2: r0 = socket$packet(0x11, 0x3, 0x300) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = dup3(r1, r0, 0x0) recvfrom$packet(r2, 0x0, 0x0, 0x2001, 0x0, 0x0) 16:01:08 executing program 5: r0 = openat$udambuf(0xffffffffffffff9c, &(0x7f0000000200)='/dev/udmabuf\x00', 0x2) r1 = memfd_create(&(0x7f0000000080)='y\x105%\xfa,\x1f\x99\xa2\xc9\x8e\xcd\xfc\xfa\xf6\x12\x95^\xdfT\xe2=\x0e~F\xcds', 0x2) fcntl$addseals(r1, 0x409, 0x7) ioctl$UDMABUF_CREATE_LIST(r0, 0x40087543, &(0x7f00000002c0)={0x0, 0x2, [{r1}, {r1}]}) [ 325.719815][ T9709] usb 4-1: can't set config #0, error -71 [ 325.728116][ T9709] usb 4-1: USB disconnect, device number 4 [ 325.805996][T12005] IPVS: ftp: loaded support on port[0] = 21 16:01:08 executing program 0: r0 = socket$inet6_udp(0xa, 0x2, 0x0) getsockopt$IP6T_SO_GET_REVISION_TARGET(r0, 0x29, 0x33, 0x0, &(0x7f0000000040)) [ 325.899810][ T4029] usb 5-1: new high-speed USB device number 8 using dummy_hcd [ 326.189810][ T4029] usb 5-1: Using ep0 maxpacket: 32 [ 326.340012][ T4029] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x1 has invalid wMaxPacketSize 0 [ 326.362259][ T4029] usb 5-1: config 0 interface 0 altsetting 0 bulk endpoint 0x1 has invalid maxpacket 0 [ 326.396678][ T4029] usb 5-1: config 0 interface 0 altsetting 0 has 2 endpoint descriptors, different from the interface descriptor's value: 18 [ 326.426910][ T4029] usb 5-1: New USB device found, idVendor=03f0, idProduct=6c17, bcdDevice= 0.40 [ 326.475247][ T4029] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 326.535693][ T4029] usb 5-1: config 0 descriptor?? [ 326.859127][ T4029] usblp 5-1:0.0: usblp0: USB Bidirectional printer dev 8 if 0 alt 0 proto 3 vid 0x03F0 pid 0x6C17 [ 327.047704][ T9944] usb 5-1: USB disconnect, device number 8 [ 327.067758][ T9944] usblp0: removed [ 327.809745][ T9944] usb 5-1: new high-speed USB device number 9 using dummy_hcd [ 328.062812][ T9944] usb 5-1: Using ep0 maxpacket: 32 [ 328.180080][ T9944] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x1 has invalid wMaxPacketSize 0 [ 328.190749][ T9944] usb 5-1: config 0 interface 0 altsetting 0 bulk endpoint 0x1 has invalid maxpacket 0 [ 328.205116][ T9944] usb 5-1: config 0 interface 0 altsetting 0 has 2 endpoint descriptors, different from the interface descriptor's value: 18 [ 328.220480][ T9944] usb 5-1: New USB device found, idVendor=03f0, idProduct=6c17, bcdDevice= 0.40 [ 328.231656][ T9944] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 328.244654][ T9944] usb 5-1: config 0 descriptor?? 16:01:11 executing program 4: r0 = syz_usb_connect$printer(0x0, 0x36, &(0x7f0000000040)={{0x12, 0x1, 0x0, 0x0, 0x0, 0x0, 0x20, 0x3f0, 0x6c17, 0x40, 0x0, 0x0, 0x0, 0x1, [{{0x9, 0x2, 0x24, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x12, 0x7, 0x1, 0x3, 0x0, "", {{}, [{{0x9, 0x5, 0x82, 0x2, 0x200}}]}}}]}}]}}, 0x0) syz_usb_disconnect(r0) r1 = syz_usb_connect(0x0, 0x2d, &(0x7f0000000140)=ANY=[], 0x0) syz_usb_control_io$hid(r1, 0x0, 0x0) syz_usb_ep_write$ath9k_ep1(r1, 0x82, 0x38, &(0x7f0000000480)=ANY=[]) r2 = syz_open_dev$char_usb(0xc, 0xb4, 0x0) read$char_usb(r2, 0x0, 0x6000000) 16:01:11 executing program 3: r0 = syz_open_dev$evdev(&(0x7f0000000000)='/dev/input/event#\x00', 0x0, 0x0) syz_usb_disconnect(r0) syz_usb_connect(0x6, 0x24, &(0x7f00000001c0)={{0x12, 0x1, 0x0, 0xe7, 0x63, 0x70, 0x0, 0x7c0, 0x158a, 0x85a2, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x12, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x0, 0x61, 0x60, 0x2}}]}}]}}, 0x0) syz_usb_connect$hid(0x0, 0x3f, &(0x7f0000000180)=ANY=[@ANYBLOB="12010000000c00086d0423c64000010203010902"], 0xfffffffffffffffe) ioctl$EVIOCRMFF(r0, 0x40095505, &(0x7f0000000180)) 16:01:11 executing program 5: perf_event_open(&(0x7f0000001340)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) syz_io_uring_setup(0x83, 0x0, &(0x7f0000ee7000/0x1000)=nil, &(0x7f0000ffe000/0x2000)=nil, &(0x7f00000002c0), &(0x7f0000000040)) syz_mount_image$msdos(&(0x7f0000000040)='msdos\x00', &(0x7f00000003c0)='./file1\x00', 0xffffffff, 0x1, &(0x7f0000000080)=[{&(0x7f00000000c0)="0400050900000000666174000404090a0200027400f801", 0x17}], 0x0, &(0x7f00000004c0)=ANY=[]) chdir(&(0x7f0000000000)='./file1\x00') r0 = creat(&(0x7f0000000680)='./bus\x00', 0x0) r1 = creat(&(0x7f0000000680)='./bus\x00', 0x0) ftruncate(r1, 0x1000) lseek(r1, 0x0, 0x2) sendfile(r1, 0xffffffffffffffff, 0x0, 0x8400fffffffa) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3ff, 0x408, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = open(&(0x7f0000000200)='./bus\x00', 0x4c102, 0x0) sendfile(r0, r2, 0x0, 0x8400fffffffa) 16:01:11 executing program 2: r0 = syz_usb_connect(0x0, 0x24, &(0x7f0000000580)=ANY=[@ANYBLOB="120100005a92cd10c41004f01811010203010902120001000000000904"], 0x0) syz_usb_control_io(r0, 0x0, &(0x7f0000000780)={0x84, &(0x7f0000000300)={0x0, 0x0, 0x1, "05"}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$hid(r0, 0x0, &(0x7f0000000dc0)={0x2c, &(0x7f0000000b00)={0x0, 0x0, 0x2, "7db3"}, 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$cdc_ncm(r0, 0x0, &(0x7f0000000500)={0x44, &(0x7f00000001c0)={0x0, 0x0, 0xf, "85e8c951c32c236d71e3fa2085bf76"}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) 16:01:11 executing program 0: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10000}, 0x0, 0xffffefffffffffff, 0xffffffffffffffff, 0x0) r1 = perf_event_open(&(0x7f0000000140)={0x0, 0x70, 0xfc, 0xc6, 0x0, 0x0, 0x0, 0x0, 0x8, 0x4, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, @perf_config_ext, 0x0, 0x0, 0x201, 0x5, 0x2}, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) mkdir(&(0x7f00000001c0)='./file1\x00', 0x0) mkdir(&(0x7f00000002c0)='./bus\x00', 0x0) mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mkdir(&(0x7f0000000240)='./file0/file0\x00', 0x0) r2 = creat(&(0x7f0000000080)='./bus/file0\x00', 0x0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x2400, 0x6) write$binfmt_script(0xffffffffffffffff, &(0x7f00000004c0)={'#! ', './file1', [{0x20, ';%[&r:'}], 0xa, "94d537963879a49cf3cb55424255310b0cf1ff9c52c7035ea0e693369f741fb8b36c8cbd1cc2d6ca27e5056e672b9552ef43144b04314fbe97659bebeae94c3bc6190a6a046784357099daf24ce215fdba51ce37aa8c3bd6424ef27ff8ccb881fb5d87d7fb8f070bfb8cce8afc0f0956aa4dc6a106324e9003b40c5f"}, 0x8e) r3 = openat$bsg(0xffffffffffffff9c, &(0x7f0000000000)='/dev/bsg\x00', 0x0, 0x0) lseek(r3, 0x0, 0x2) ioctl$PERF_EVENT_IOC_SET_FILTER(r3, 0x40082406, &(0x7f0000000200)=':\\}:\x00') ioctl$F2FS_IOC_MOVE_RANGE(r0, 0xc020f509, &(0x7f0000000100)={0xffffffffffffffff, 0x80, 0x0, 0x8}) perf_event_open(&(0x7f0000000300)={0x2, 0x70, 0x4, 0x3, 0x5, 0x40, 0x0, 0xdf, 0xea10, 0xc, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x2, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb4, 0x6, @perf_bp={0x0, 0xd}, 0x58601, 0x4, 0x0, 0x4, 0x9, 0x0, 0x7ff}, 0x0, 0xb, 0xffffffffffffffff, 0x8) syncfs(r2) mount$overlay(0x400000, &(0x7f0000000000)='./bus\x00', &(0x7f0000000440)='overlay\x00', 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='lowerdir=./bus,workdir=./file1,upperdir=./file0']) rmdir(&(0x7f00000000c0)='./bus/file0\x00') setxattr$system_posix_acl(&(0x7f00000003c0)='./file0\x00', &(0x7f0000000680)='system.posix_acl_default\x00', &(0x7f0000000bc0), 0x24, 0x0) write$P9_RREADLINK(r2, &(0x7f0000000040)={0xe, 0x17, 0x1, {0x5, './bus'}}, 0xe) mkdir(&(0x7f0000000480)='./bus/file0\x00', 0x6c) 16:01:11 executing program 1: unshare(0x6c060000) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x8031, 0xffffffffffffffff, 0x0) openat$ttyprintk(0xffffffffffffff9c, 0x0, 0x0, 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket(0xa, 0x1, 0x0) getsockopt$IP6T_SO_GET_INFO(r0, 0x29, 0x40, &(0x7f0000000080)={'nat\x00', 0x0, [0x6300]}, &(0x7f0000000100)=0x54) [ 328.370036][ T9944] usblp 5-1:0.0: usblp0: USB Bidirectional printer dev 9 if 0 alt 0 proto 3 vid 0x03F0 pid 0x6C17 [ 328.427424][ T9944] usb 5-1: USB disconnect, device number 9 [ 328.470058][T12084] IPVS: ftp: loaded support on port[0] = 21 [ 328.478063][ T9944] usblp0: removed [ 328.652197][T12087] loop5: detected capacity change from 0 to 264192 [ 328.783624][ T37] kauditd_printk_skb: 37 callbacks suppressed [ 328.783641][ T37] audit: type=1800 audit(1618243271.416:122): pid=12100 uid=0 auid=4294967295 ses=4294967295 subj=_ op=collect_data cause=failed(directio) comm="syz-executor.5" name="bus" dev="sda1" ino=14283 res=0 errno=0 [ 328.791812][ T9709] usb 3-1: new high-speed USB device number 4 using dummy_hcd [ 328.900110][ T9944] usb 5-1: new high-speed USB device number 10 using dummy_hcd 16:01:11 executing program 5: perf_event_open(&(0x7f0000001340)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) syz_io_uring_setup(0x83, 0x0, &(0x7f0000ee7000/0x1000)=nil, &(0x7f0000ffe000/0x2000)=nil, &(0x7f00000002c0), &(0x7f0000000040)) syz_mount_image$msdos(&(0x7f0000000040)='msdos\x00', &(0x7f00000003c0)='./file1\x00', 0xffffffff, 0x1, &(0x7f0000000080)=[{&(0x7f00000000c0)="0400050900000000666174000404090a0200027400f801", 0x17}], 0x0, &(0x7f00000004c0)=ANY=[]) chdir(&(0x7f0000000000)='./file1\x00') r0 = creat(&(0x7f0000000680)='./bus\x00', 0x0) r1 = creat(&(0x7f0000000680)='./bus\x00', 0x0) ftruncate(r1, 0x1000) lseek(r1, 0x0, 0x2) sendfile(r1, 0xffffffffffffffff, 0x0, 0x8400fffffffa) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3ff, 0x408, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = open(&(0x7f0000000200)='./bus\x00', 0x4c102, 0x0) sendfile(r0, r2, 0x0, 0x8400fffffffa) [ 329.080551][ T37] audit: type=1800 audit(1618243271.716:123): pid=12129 uid=0 auid=4294967295 ses=4294967295 subj=_ op=collect_data cause=failed(directio) comm="syz-executor.5" name="bus" dev="loop5" ino=4 res=0 errno=0 [ 329.130741][ T9569] usb 4-1: new high-speed USB device number 5 using dummy_hcd [ 329.159932][ T9944] usb 5-1: Using ep0 maxpacket: 32 [ 329.281065][ T9944] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x1 has invalid wMaxPacketSize 0 [ 329.292357][ T9944] usb 5-1: config 0 interface 0 altsetting 0 bulk endpoint 0x1 has invalid maxpacket 0 [ 329.310015][ T9709] usb 3-1: Using ep0 maxpacket: 16 [ 329.334791][ T9944] usb 5-1: config 0 interface 0 altsetting 0 has 2 endpoint descriptors, different from the interface descriptor's value: 18 [ 329.399891][ T9569] usb 4-1: Using ep0 maxpacket: 8 [ 329.415708][ T37] audit: type=1800 audit(1618243272.046:124): pid=12135 uid=0 auid=4294967295 ses=4294967295 subj=_ op=collect_data cause=failed(directio) comm="syz-executor.5" name="bus" dev="sda1" ino=13906 res=0 errno=0 [ 329.428554][ T9944] usb 5-1: New USB device found, idVendor=03f0, idProduct=6c17, bcdDevice= 0.40 16:01:12 executing program 0: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10000}, 0x0, 0xffffefffffffffff, 0xffffffffffffffff, 0x0) r1 = perf_event_open(&(0x7f0000000140)={0x0, 0x70, 0xfc, 0xc6, 0x0, 0x0, 0x0, 0x0, 0x8, 0x4, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, @perf_config_ext, 0x0, 0x0, 0x201, 0x5, 0x2}, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) mkdir(&(0x7f00000001c0)='./file1\x00', 0x0) mkdir(&(0x7f00000002c0)='./bus\x00', 0x0) mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mkdir(&(0x7f0000000240)='./file0/file0\x00', 0x0) r2 = creat(&(0x7f0000000080)='./bus/file0\x00', 0x0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x2400, 0x6) write$binfmt_script(0xffffffffffffffff, &(0x7f00000004c0)={'#! ', './file1', [{0x20, ';%[&r:'}], 0xa, "94d537963879a49cf3cb55424255310b0cf1ff9c52c7035ea0e693369f741fb8b36c8cbd1cc2d6ca27e5056e672b9552ef43144b04314fbe97659bebeae94c3bc6190a6a046784357099daf24ce215fdba51ce37aa8c3bd6424ef27ff8ccb881fb5d87d7fb8f070bfb8cce8afc0f0956aa4dc6a106324e9003b40c5f"}, 0x8e) r3 = openat$bsg(0xffffffffffffff9c, &(0x7f0000000000)='/dev/bsg\x00', 0x0, 0x0) lseek(r3, 0x0, 0x2) ioctl$PERF_EVENT_IOC_SET_FILTER(r3, 0x40082406, &(0x7f0000000200)=':\\}:\x00') ioctl$F2FS_IOC_MOVE_RANGE(r0, 0xc020f509, &(0x7f0000000100)={0xffffffffffffffff, 0x80, 0x0, 0x8}) perf_event_open(&(0x7f0000000300)={0x2, 0x70, 0x4, 0x3, 0x5, 0x40, 0x0, 0xdf, 0xea10, 0xc, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x2, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb4, 0x6, @perf_bp={0x0, 0xd}, 0x58601, 0x4, 0x0, 0x4, 0x9, 0x0, 0x7ff}, 0x0, 0xb, 0xffffffffffffffff, 0x8) syncfs(r2) mount$overlay(0x400000, &(0x7f0000000000)='./bus\x00', &(0x7f0000000440)='overlay\x00', 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='lowerdir=./bus,workdir=./file1,upperdir=./file0']) rmdir(&(0x7f00000000c0)='./bus/file0\x00') setxattr$system_posix_acl(&(0x7f00000003c0)='./file0\x00', &(0x7f0000000680)='system.posix_acl_default\x00', &(0x7f0000000bc0), 0x24, 0x0) write$P9_RREADLINK(r2, &(0x7f0000000040)={0xe, 0x17, 0x1, {0x5, './bus'}}, 0xe) mkdir(&(0x7f0000000480)='./bus/file0\x00', 0x6c) 16:01:12 executing program 5: perf_event_open(&(0x7f0000001340)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) syz_io_uring_setup(0x83, 0x0, &(0x7f0000ee7000/0x1000)=nil, &(0x7f0000ffe000/0x2000)=nil, &(0x7f00000002c0), &(0x7f0000000040)) syz_mount_image$msdos(&(0x7f0000000040)='msdos\x00', &(0x7f00000003c0)='./file1\x00', 0xffffffff, 0x1, &(0x7f0000000080)=[{&(0x7f00000000c0)="0400050900000000666174000404090a0200027400f801", 0x17}], 0x0, &(0x7f00000004c0)=ANY=[]) chdir(&(0x7f0000000000)='./file1\x00') r0 = creat(&(0x7f0000000680)='./bus\x00', 0x0) r1 = creat(&(0x7f0000000680)='./bus\x00', 0x0) ftruncate(r1, 0x1000) lseek(r1, 0x0, 0x2) sendfile(r1, 0xffffffffffffffff, 0x0, 0x8400fffffffa) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3ff, 0x408, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = open(&(0x7f0000000200)='./bus\x00', 0x4c102, 0x0) sendfile(r0, r2, 0x0, 0x8400fffffffa) [ 329.540053][ T9569] usb 4-1: config 0 has no interfaces? [ 329.541031][ T9944] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 329.600084][ T9709] usb 3-1: New USB device found, idVendor=10c4, idProduct=f004, bcdDevice=11.18 [ 329.620484][ T9569] usb 4-1: string descriptor 0 read error: -71 [ 329.629784][ T9709] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 329.633633][ T9569] usb 4-1: New USB device found, idVendor=046d, idProduct=c623, bcdDevice= 0.40 [ 329.637908][ T9709] usb 3-1: Product: syz [ 329.637930][ T9709] usb 3-1: Manufacturer: syz [ 329.637943][ T9709] usb 3-1: SerialNumber: syz [ 329.676068][ T9944] usb 5-1: config 0 descriptor?? [ 329.711680][ T9709] usb 3-1: config 0 descriptor?? [ 329.731666][ T9569] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 329.745942][T12141] loop5: detected capacity change from 0 to 264192 [ 329.781450][ T9709] cp210x 3-1:0.0: cp210x converter detected [ 329.932944][ T9569] usb 4-1: config 0 descriptor?? [ 329.967468][ T37] audit: type=1800 audit(1618243272.596:125): pid=12147 uid=0 auid=4294967295 ses=4294967295 subj=_ op=collect_data cause=failed(directio) comm="syz-executor.5" name="bus" dev="sda1" ino=13909 res=0 errno=0 [ 329.972001][ T9944] usblp 5-1:0.0: usblp0: USB Bidirectional printer dev 10 if 0 alt 0 proto 3 vid 0x03F0 pid 0x6C17 [ 330.040360][ T9569] usb 4-1: can't set config #0, error -71 16:01:12 executing program 3: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x840000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="200000004000000003000000300000000f000000000000000200000002000000008000000080002020000000dcf48a5fdcf4655f0100ffff53ef010001000000dbf4655f000000000000000001000000000000000b0000000002000028", 0x5d, 0x400}, {&(0x7f0000010400)="020000000300000004", 0x9, 0x1000}, {&(0x7f0000012600)="ed41000000100000dbf4655fdcf4655fdcf4655f000000000000040008", 0x1d, 0x4200}], 0x3, &(0x7f0000000140)={[{@test_dummy_encryption='test_dummy_encryption'}]}) [ 330.224082][ T9569] usb 4-1: USB disconnect, device number 5 [ 330.324476][ T9944] usb 5-1: USB disconnect, device number 10 [ 330.379528][ T9944] usblp0: removed [ 330.456747][ T9709] usb 3-1: cp210x converter now attached to ttyUSB0 16:01:13 executing program 0: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10000}, 0x0, 0xffffefffffffffff, 0xffffffffffffffff, 0x0) r1 = perf_event_open(&(0x7f0000000140)={0x0, 0x70, 0xfc, 0xc6, 0x0, 0x0, 0x0, 0x0, 0x8, 0x4, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, @perf_config_ext, 0x0, 0x0, 0x201, 0x5, 0x2}, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) mkdir(&(0x7f00000001c0)='./file1\x00', 0x0) mkdir(&(0x7f00000002c0)='./bus\x00', 0x0) mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mkdir(&(0x7f0000000240)='./file0/file0\x00', 0x0) r2 = creat(&(0x7f0000000080)='./bus/file0\x00', 0x0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x2400, 0x6) write$binfmt_script(0xffffffffffffffff, &(0x7f00000004c0)={'#! ', './file1', [{0x20, ';%[&r:'}], 0xa, "94d537963879a49cf3cb55424255310b0cf1ff9c52c7035ea0e693369f741fb8b36c8cbd1cc2d6ca27e5056e672b9552ef43144b04314fbe97659bebeae94c3bc6190a6a046784357099daf24ce215fdba51ce37aa8c3bd6424ef27ff8ccb881fb5d87d7fb8f070bfb8cce8afc0f0956aa4dc6a106324e9003b40c5f"}, 0x8e) r3 = openat$bsg(0xffffffffffffff9c, &(0x7f0000000000)='/dev/bsg\x00', 0x0, 0x0) lseek(r3, 0x0, 0x2) ioctl$PERF_EVENT_IOC_SET_FILTER(r3, 0x40082406, &(0x7f0000000200)=':\\}:\x00') ioctl$F2FS_IOC_MOVE_RANGE(r0, 0xc020f509, &(0x7f0000000100)={0xffffffffffffffff, 0x80, 0x0, 0x8}) perf_event_open(&(0x7f0000000300)={0x2, 0x70, 0x4, 0x3, 0x5, 0x40, 0x0, 0xdf, 0xea10, 0xc, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x2, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb4, 0x6, @perf_bp={0x0, 0xd}, 0x58601, 0x4, 0x0, 0x4, 0x9, 0x0, 0x7ff}, 0x0, 0xb, 0xffffffffffffffff, 0x8) syncfs(r2) mount$overlay(0x400000, &(0x7f0000000000)='./bus\x00', &(0x7f0000000440)='overlay\x00', 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='lowerdir=./bus,workdir=./file1,upperdir=./file0']) rmdir(&(0x7f00000000c0)='./bus/file0\x00') setxattr$system_posix_acl(&(0x7f00000003c0)='./file0\x00', &(0x7f0000000680)='system.posix_acl_default\x00', &(0x7f0000000bc0), 0x24, 0x0) write$P9_RREADLINK(r2, &(0x7f0000000040)={0xe, 0x17, 0x1, {0x5, './bus'}}, 0xe) mkdir(&(0x7f0000000480)='./bus/file0\x00', 0x6c) 16:01:13 executing program 5: perf_event_open(&(0x7f0000001340)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) syz_io_uring_setup(0x83, 0x0, &(0x7f0000ee7000/0x1000)=nil, &(0x7f0000ffe000/0x2000)=nil, &(0x7f00000002c0), &(0x7f0000000040)) syz_mount_image$msdos(&(0x7f0000000040)='msdos\x00', &(0x7f00000003c0)='./file1\x00', 0xffffffff, 0x1, &(0x7f0000000080)=[{&(0x7f00000000c0)="0400050900000000666174000404090a0200027400f801", 0x17}], 0x0, &(0x7f00000004c0)=ANY=[]) chdir(&(0x7f0000000000)='./file1\x00') r0 = creat(&(0x7f0000000680)='./bus\x00', 0x0) r1 = creat(&(0x7f0000000680)='./bus\x00', 0x0) ftruncate(r1, 0x1000) lseek(r1, 0x0, 0x2) sendfile(r1, 0xffffffffffffffff, 0x0, 0x8400fffffffa) perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3ff, 0x408, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = open(&(0x7f0000000200)='./bus\x00', 0x4c102, 0x0) sendfile(r0, r2, 0x0, 0x8400fffffffa) [ 330.527490][T12179] loop3: detected capacity change from 0 to 16896 [ 330.653481][ T7] usb 3-1: USB disconnect, device number 4 [ 330.667807][ T7] cp210x ttyUSB0: cp210x converter now disconnected from ttyUSB0 [ 330.680365][ T7] cp210x 3-1:0.0: device disconnected [ 330.779905][ T9944] usb 5-1: new high-speed USB device number 11 using dummy_hcd [ 330.821924][T12179] EXT4-fs (loop3): Test dummy encryption mode enabled [ 330.860868][T12179] EXT4-fs (loop3): mounted filesystem without journal. Opts: test_dummy_encryption,,errors=continue. Quota mode: none. [ 331.060279][ T9944] usb 5-1: Using ep0 maxpacket: 32 [ 331.102537][T12207] loop5: detected capacity change from 0 to 264192 [ 331.143007][ T37] audit: type=1800 audit(1618243273.776:126): pid=12209 uid=0 auid=4294967295 ses=4294967295 subj=_ op=collect_data cause=failed(directio) comm="syz-executor.5" name="bus" dev="sda1" ino=13899 res=0 errno=0 [ 331.179907][ T9944] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x1 has invalid wMaxPacketSize 0 [ 331.269101][ T9944] usb 5-1: config 0 interface 0 altsetting 0 bulk endpoint 0x1 has invalid maxpacket 0 [ 331.345273][ T9944] usb 5-1: config 0 interface 0 altsetting 0 has 2 endpoint descriptors, different from the interface descriptor's value: 18 16:01:14 executing program 4: r0 = syz_usb_connect$printer(0x0, 0x36, &(0x7f0000000040)={{0x12, 0x1, 0x0, 0x0, 0x0, 0x0, 0x20, 0x3f0, 0x6c17, 0x40, 0x0, 0x0, 0x0, 0x1, [{{0x9, 0x2, 0x24, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x12, 0x7, 0x1, 0x3, 0x0, "", {{}, [{{0x9, 0x5, 0x82, 0x2, 0x200}}]}}}]}}]}}, 0x0) syz_usb_disconnect(r0) r1 = syz_usb_connect(0x0, 0x2d, &(0x7f0000000140)=ANY=[], 0x0) syz_usb_control_io$hid(r1, 0x0, 0x0) syz_usb_ep_write$ath9k_ep1(r1, 0x82, 0x38, &(0x7f0000000480)=ANY=[]) r2 = syz_open_dev$char_usb(0xc, 0xb4, 0x0) read$char_usb(r2, 0x0, 0x6000000) 16:01:14 executing program 1: unshare(0x6c060000) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x8031, 0xffffffffffffffff, 0x0) openat$ttyprintk(0xffffffffffffff9c, 0x0, 0x0, 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket(0xa, 0x1, 0x0) getsockopt$IP6T_SO_GET_INFO(r0, 0x29, 0x40, &(0x7f0000000080)={'nat\x00', 0x0, [0x6300]}, &(0x7f0000000100)=0x54) 16:01:14 executing program 3: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x840000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="200000004000000003000000300000000f000000000000000200000002000000008000000080002020000000dcf48a5fdcf4655f0100ffff53ef010001000000dbf4655f000000000000000001000000000000000b0000000002000028", 0x5d, 0x400}, {&(0x7f0000010400)="020000000300000004", 0x9, 0x1000}, {&(0x7f0000012600)="ed41000000100000dbf4655fdcf4655fdcf4655f000000000000040008", 0x1d, 0x4200}], 0x3, &(0x7f0000000140)={[{@test_dummy_encryption='test_dummy_encryption'}]}) [ 331.474446][ T9944] usb 5-1: New USB device found, idVendor=03f0, idProduct=6c17, bcdDevice= 0.40 [ 331.517573][T12220] IPVS: ftp: loaded support on port[0] = 21 [ 331.662949][ T9944] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 331.690265][T12237] loop3: detected capacity change from 0 to 16896 [ 331.748658][ T9944] usb 5-1: config 0 descriptor?? [ 331.770386][ T9944] usb 5-1: can't set config #0, error -71 [ 331.779317][ T9944] usb 5-1: USB disconnect, device number 11 [ 331.812889][T12237] EXT4-fs (loop3): Test dummy encryption mode enabled 16:01:14 executing program 2: r0 = syz_usb_connect(0x0, 0x24, &(0x7f0000000580)=ANY=[@ANYBLOB="120100005a92cd10c41004f01811010203010902120001000000000904"], 0x0) syz_usb_control_io(r0, 0x0, &(0x7f0000000780)={0x84, &(0x7f0000000300)={0x0, 0x0, 0x1, "05"}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$hid(r0, 0x0, &(0x7f0000000dc0)={0x2c, &(0x7f0000000b00)={0x0, 0x0, 0x2, "7db3"}, 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$cdc_ncm(r0, 0x0, &(0x7f0000000500)={0x44, &(0x7f00000001c0)={0x0, 0x0, 0xf, "85e8c951c32c236d71e3fa2085bf76"}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) 16:01:14 executing program 0: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7ff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10000}, 0x0, 0xffffefffffffffff, 0xffffffffffffffff, 0x0) r1 = perf_event_open(&(0x7f0000000140)={0x0, 0x70, 0xfc, 0xc6, 0x0, 0x0, 0x0, 0x0, 0x8, 0x4, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, @perf_config_ext, 0x0, 0x0, 0x201, 0x5, 0x2}, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) mkdir(&(0x7f00000001c0)='./file1\x00', 0x0) mkdir(&(0x7f00000002c0)='./bus\x00', 0x0) mkdir(&(0x7f0000000280)='./file0\x00', 0x0) mkdir(&(0x7f0000000240)='./file0/file0\x00', 0x0) r2 = creat(&(0x7f0000000080)='./bus/file0\x00', 0x0) ioctl$PERF_EVENT_IOC_ENABLE(r1, 0x2400, 0x6) write$binfmt_script(0xffffffffffffffff, &(0x7f00000004c0)={'#! ', './file1', [{0x20, ';%[&r:'}], 0xa, "94d537963879a49cf3cb55424255310b0cf1ff9c52c7035ea0e693369f741fb8b36c8cbd1cc2d6ca27e5056e672b9552ef43144b04314fbe97659bebeae94c3bc6190a6a046784357099daf24ce215fdba51ce37aa8c3bd6424ef27ff8ccb881fb5d87d7fb8f070bfb8cce8afc0f0956aa4dc6a106324e9003b40c5f"}, 0x8e) r3 = openat$bsg(0xffffffffffffff9c, &(0x7f0000000000)='/dev/bsg\x00', 0x0, 0x0) lseek(r3, 0x0, 0x2) ioctl$PERF_EVENT_IOC_SET_FILTER(r3, 0x40082406, &(0x7f0000000200)=':\\}:\x00') ioctl$F2FS_IOC_MOVE_RANGE(r0, 0xc020f509, &(0x7f0000000100)={0xffffffffffffffff, 0x80, 0x0, 0x8}) perf_event_open(&(0x7f0000000300)={0x2, 0x70, 0x4, 0x3, 0x5, 0x40, 0x0, 0xdf, 0xea10, 0xc, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x2, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0xb4, 0x6, @perf_bp={0x0, 0xd}, 0x58601, 0x4, 0x0, 0x4, 0x9, 0x0, 0x7ff}, 0x0, 0xb, 0xffffffffffffffff, 0x8) syncfs(r2) mount$overlay(0x400000, &(0x7f0000000000)='./bus\x00', &(0x7f0000000440)='overlay\x00', 0x0, &(0x7f0000000400)=ANY=[@ANYBLOB='lowerdir=./bus,workdir=./file1,upperdir=./file0']) rmdir(&(0x7f00000000c0)='./bus/file0\x00') setxattr$system_posix_acl(&(0x7f00000003c0)='./file0\x00', &(0x7f0000000680)='system.posix_acl_default\x00', &(0x7f0000000bc0), 0x24, 0x0) write$P9_RREADLINK(r2, &(0x7f0000000040)={0xe, 0x17, 0x1, {0x5, './bus'}}, 0xe) mkdir(&(0x7f0000000480)='./bus/file0\x00', 0x6c) 16:01:14 executing program 5: syz_mount_image$nfs(0x0, &(0x7f0000000040)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) mount$9p_xen(0x0, &(0x7f00000035c0)='./file0\x00', &(0x7f0000003600)='9p\x00', 0x0, &(0x7f0000003700)={'trans=xen,', {[{@noextend='noextend'}]}}) [ 331.909945][ T7] usb 3-1: new high-speed USB device number 5 using dummy_hcd [ 331.940876][T12237] EXT4-fs (loop3): mounted filesystem without journal. Opts: test_dummy_encryption,,errors=continue. Quota mode: none. 16:01:14 executing program 3: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x840000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="200000004000000003000000300000000f000000000000000200000002000000008000000080002020000000dcf48a5fdcf4655f0100ffff53ef010001000000dbf4655f000000000000000001000000000000000b0000000002000028", 0x5d, 0x400}, {&(0x7f0000010400)="020000000300000004", 0x9, 0x1000}, {&(0x7f0000012600)="ed41000000100000dbf4655fdcf4655fdcf4655f000000000000040008", 0x1d, 0x4200}], 0x3, &(0x7f0000000140)={[{@test_dummy_encryption='test_dummy_encryption'}]}) [ 332.094365][T12259] 9pnet: Could not find request transport: xen 16:01:14 executing program 5: r0 = syz_open_dev$vbi(&(0x7f0000000040)='/dev/vbi#\x00', 0x2, 0x2) ioctl$VIDIOC_G_FMT(r0, 0xc0d05604, &(0x7f0000000240)={0x4, @sliced}) [ 332.142982][ T9944] usb 5-1: new high-speed USB device number 12 using dummy_hcd 16:01:15 executing program 5: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000040)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) ioctl$KVM_SET_IRQCHIP(r1, 0xc208ae62, &(0x7f0000000280)={0x2, 0x0, @ioapic={0x0, 0x0, 0x0, 0x0, 0x0, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, 0x0, 0x0, [], 0xff}]}}) [ 332.379814][ T7] usb 3-1: device descriptor read/64, error -71 [ 332.390663][ T9944] usb 5-1: Using ep0 maxpacket: 32 [ 332.450681][T12269] loop3: detected capacity change from 0 to 16896 [ 332.510520][ T9944] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x1 has invalid wMaxPacketSize 0 [ 332.532907][ T9944] usb 5-1: config 0 interface 0 altsetting 0 bulk endpoint 0x1 has invalid maxpacket 0 [ 332.543896][ T9944] usb 5-1: config 0 interface 0 altsetting 0 has 2 endpoint descriptors, different from the interface descriptor's value: 18 [ 332.555729][T12269] EXT4-fs (loop3): Test dummy encryption mode enabled [ 332.559371][ T9944] usb 5-1: New USB device found, idVendor=03f0, idProduct=6c17, bcdDevice= 0.40 [ 332.573674][ T9944] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 332.604856][ T9944] usb 5-1: config 0 descriptor?? [ 332.709787][ T7] usb 3-1: new high-speed USB device number 6 using dummy_hcd [ 332.711926][T12269] EXT4-fs (loop3): mounted filesystem without journal. Opts: test_dummy_encryption,,errors=continue. Quota mode: none. 16:01:15 executing program 5: r0 = syz_open_dev$sndmidi(&(0x7f0000009dc0)='/dev/snd/midiC#D#\x00', 0x2, 0x0) poll(&(0x7f0000000040)=[{r0}], 0x1, 0x0) [ 332.912835][ T9944] usblp 5-1:0.0: usblp0: USB Bidirectional printer dev 12 if 0 alt 0 proto 3 vid 0x03F0 pid 0x6C17 [ 332.969874][ T7] usb 3-1: Using ep0 maxpacket: 16 [ 333.003393][ T9944] usb 5-1: USB disconnect, device number 12 16:01:15 executing program 0: r0 = openat$capi20(0xffffffffffffff9c, &(0x7f0000000000)='/dev/capi20\x00', 0x0, 0x0) ioctl$CAPI_GET_SERIAL(r0, 0xc0044308, &(0x7f0000000040)=0x40) 16:01:15 executing program 3: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x840000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="200000004000000003000000300000000f000000000000000200000002000000008000000080002020000000dcf48a5fdcf4655f0100ffff53ef010001000000dbf4655f000000000000000001000000000000000b0000000002000028", 0x5d, 0x400}, {&(0x7f0000010400)="020000000300000004", 0x9, 0x1000}, {&(0x7f0000012600)="ed41000000100000dbf4655fdcf4655fdcf4655f000000000000040008", 0x1d, 0x4200}], 0x3, &(0x7f0000000140)={[{@test_dummy_encryption='test_dummy_encryption'}]}) [ 333.108445][ T9944] usblp0: removed [ 333.250133][ T7] usb 3-1: New USB device found, idVendor=10c4, idProduct=f004, bcdDevice=11.18 [ 333.274152][ T7] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 333.304826][T12306] loop3: detected capacity change from 0 to 16896 [ 333.316648][ T7] usb 3-1: Product: syz [ 333.359050][ T7] usb 3-1: Manufacturer: syz [ 333.369354][T12306] EXT4-fs (loop3): Test dummy encryption mode enabled [ 333.394641][ T7] usb 3-1: SerialNumber: syz [ 333.431154][ T7] usb 3-1: config 0 descriptor?? [ 333.471586][T12306] EXT4-fs (loop3): mounted filesystem without journal. Opts: test_dummy_encryption,,errors=continue. Quota mode: none. [ 333.501282][ T7] cp210x 3-1:0.0: cp210x converter detected [ 333.540690][ T9944] usb 5-1: new high-speed USB device number 13 using dummy_hcd [ 333.779943][ T9944] usb 5-1: Using ep0 maxpacket: 32 [ 333.900582][ T9944] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x1 has invalid wMaxPacketSize 0 [ 333.915519][ T9944] usb 5-1: config 0 interface 0 altsetting 0 bulk endpoint 0x1 has invalid maxpacket 0 [ 333.937314][ T9944] usb 5-1: config 0 interface 0 altsetting 0 has 2 endpoint descriptors, different from the interface descriptor's value: 18 [ 333.952781][ T9944] usb 5-1: New USB device found, idVendor=03f0, idProduct=6c17, bcdDevice= 0.40 [ 333.963773][ T9944] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 333.992012][ T9944] usb 5-1: config 0 descriptor?? [ 334.114186][ T7] usb 3-1: cp210x converter now attached to ttyUSB0 [ 334.262798][ T9944] usblp 5-1:0.0: usblp0: USB Bidirectional printer dev 13 if 0 alt 0 proto 3 vid 0x03F0 pid 0x6C17 [ 334.326337][ T4029] usb 3-1: USB disconnect, device number 6 [ 334.350404][ T4029] cp210x ttyUSB0: cp210x converter now disconnected from ttyUSB0 [ 334.377177][ T4029] cp210x 3-1:0.0: device disconnected [ 334.491607][ T9383] usb 5-1: USB disconnect, device number 13 [ 334.513532][ T9383] usblp0: removed 16:01:17 executing program 4: r0 = syz_usb_connect$printer(0x0, 0x36, &(0x7f0000000040)={{0x12, 0x1, 0x0, 0x0, 0x0, 0x0, 0x20, 0x3f0, 0x6c17, 0x40, 0x0, 0x0, 0x0, 0x1, [{{0x9, 0x2, 0x24, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x12, 0x7, 0x1, 0x3, 0x0, "", {{}, [{{0x9, 0x5, 0x82, 0x2, 0x200}}]}}}]}}]}}, 0x0) syz_usb_disconnect(r0) r1 = syz_usb_connect(0x0, 0x2d, &(0x7f0000000140)=ANY=[], 0x0) syz_usb_control_io$hid(r1, 0x0, 0x0) syz_usb_ep_write$ath9k_ep1(r1, 0x82, 0x38, &(0x7f0000000480)=ANY=[]) r2 = syz_open_dev$char_usb(0xc, 0xb4, 0x0) read$char_usb(r2, 0x0, 0x6000000) 16:01:17 executing program 5: prctl$PR_SET_PTRACER(0x59616d61, 0xffffffffffffffff) clone(0x100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r0 = gettid() wait4(0x0, 0x0, 0x80000002, 0x0) vmsplice(0xffffffffffffffff, &(0x7f00000000c0)=[{0x0}, {0x0}, {0x0}, {&(0x7f0000000140)="66530700ae897094e7b126b097eaa769be6d05c41bd34e677d114b654b499374a8db38f8c44f7b7d9ce423c26f45958dc387cf4c2e1fea4b7a3dfc8ea6a7efefe48dd9e05485b4ff15f715134d82ce9c0952d644157684e3dae491de7642a7c52cc2d523be91b5877341e0e1dcc2025aa18c9228103b66e1d49d31d322dbecfa63da445b8bef5bd9125939f50bd2d4ed96", 0x91}], 0x4, 0x0) ptrace$setopts(0x4206, r0, 0x0, 0x5) tkill(r0, 0x34) ptrace$cont(0x18, r0, 0x0, 0x0) sendmsg$inet(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000100)=[{&(0x7f0000000080)="4dc3", 0x2}], 0x1}, 0x0) ptrace$setregs(0xd, r0, 0x0, &(0x7f0000000080)) exit_group(0x0) 16:01:17 executing program 0: r0 = socket$inet(0x2, 0x2, 0x0) setsockopt$inet_opts(r0, 0x0, 0x4, &(0x7f0000000140)="890704faf3", 0x5) setsockopt$SO_BINDTODEVICE(r0, 0x1, 0x19, &(0x7f0000000000)='veth1_to_team\x00', 0x10) sendto$inet(r0, 0x0, 0x0, 0x0, &(0x7f00000000c0)={0x2, 0x4e21, @local}, 0x10) 16:01:17 executing program 1: syz_mount_image$msdos(&(0x7f0000000040)='msdos\x00', 0x0, 0x0, 0x0, 0x0, 0x0, 0x0) lstat(0x0, &(0x7f0000000440)) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0xb) clone(0x26140900, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r0 = socket$inet_icmp_raw(0x2, 0x3, 0x1) setsockopt$IPT_SO_SET_REPLACE(r0, 0x4000000000000, 0x40, &(0x7f00000009c0)=@raw={'raw\x00', 0x4001, 0x3, 0x2c0, 0x158, 0x0, 0x148, 0x0, 0x148, 0x228, 0x240, 0x240, 0x228, 0x240, 0x3, 0x0, {[{{@uncond=[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x64, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa], 0x0, 0xf0, 0x158, 0x0, {}, [@common=@inet=@hashlimit1={{0x58, 'hashlimit\x00'}, {'ip6gretap0\x00', {0x28, 0x66010000, 0x0, 0x0, 0x0, 0xed, 0x7}}}, @common=@inet=@socket2={{0x28, 'socket\x00', 0x3}}]}, @unspec=@CT2={0x68, 'CT\x00', 0x2, {0x0, 0x0, 0x0, 0x0, 'syz1\x00', 'syz0\x00'}}}, {{@ip={@empty, @private, 0x0, 0x0, 'veth0_to_bond\x00', 'bond_slave_0\x00'}, 0x0, 0x70, 0xd0}, @common=@CLUSTERIP={0x60, 'CLUSTERIP\x00', 0x0, {0x0, @broadcast, 0x0, 0x0, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10]}}}], {{[], 0x0, 0x70, 0x98}, {0x28}}}}, 0x320) 16:01:17 executing program 3: pipe(&(0x7f00000000c0)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_int(r2, 0x107, 0xa, &(0x7f0000000080)=0x2, 0x4) setsockopt$packet_tx_ring(r2, 0x107, 0x5, &(0x7f00000000c0)=@req3={0x8000, 0x6, 0x8000, 0x6, 0x0, 0x0, 0xfffffffd}, 0x1c) r3 = socket$inet_udp(0x2, 0x2, 0x0) fcntl$setpipe(r0, 0x407, 0x0) write$binfmt_misc(r1, &(0x7f0000000200)=ANY=[], 0x4240a2a0) bind$inet(r3, &(0x7f0000000240)={0x2, 0x0, @local}, 0x10) connect$inet(r3, &(0x7f0000000040)={0x2, 0x0, @multicast1}, 0x10) splice(r0, 0x0, r3, 0x0, 0x2ffff, 0x0) 16:01:17 executing program 2: r0 = syz_usb_connect(0x0, 0x24, &(0x7f0000000580)=ANY=[@ANYBLOB="120100005a92cd10c41004f01811010203010902120001000000000904"], 0x0) syz_usb_control_io(r0, 0x0, &(0x7f0000000780)={0x84, &(0x7f0000000300)={0x0, 0x0, 0x1, "05"}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$hid(r0, 0x0, &(0x7f0000000dc0)={0x2c, &(0x7f0000000b00)={0x0, 0x0, 0x2, "7db3"}, 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$cdc_ncm(r0, 0x0, &(0x7f0000000500)={0x44, &(0x7f00000001c0)={0x0, 0x0, 0xf, "85e8c951c32c236d71e3fa2085bf76"}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) 16:01:17 executing program 5: r0 = socket$inet_udp(0x2, 0x2, 0x0) close(r0) r1 = socket(0x840000000002, 0x3, 0xff) setsockopt$SO_BINDTODEVICE(r1, 0x1, 0x19, &(0x7f0000000040)='syz_tun\x00', 0x10) setsockopt$sock_int(r0, 0x1, 0x6, &(0x7f0000000080)=0x32, 0x4) setsockopt$SO_TIMESTAMPING(r1, 0x1, 0x41, &(0x7f0000000000)=0x379, 0xe) connect$inet(r0, &(0x7f0000593000)={0x2, 0x0, @broadcast}, 0x10) r2 = openat(0xffffffffffffffff, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r2, 0x0) preadv(r2, &(0x7f0000000280), 0x18, 0xd9f, 0x0) sendmmsg$inet(r0, &(0x7f0000000a40)=[{{0x0, 0x0, &(0x7f0000000140)=[{&(0x7f00000001c0)="9061d4d40000000000000000f189f687089cd0ce", 0x14}], 0x1}}], 0x1, 0x0) 16:01:17 executing program 0: r0 = openat(0xffffffffffffffff, &(0x7f00000002c0)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r0, 0x0) preadv(r0, &(0x7f0000000280), 0x18, 0xd9f, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r3, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r3, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000180)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000240)=ANY=[@ANYBLOB="440000001000010400"/20, @ANYRES32=r4, @ANYBLOB="0100000000000000240012000c000100627269646765"], 0x44}}, 0x0) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000500)={&(0x7f0000000000)=@newlink={0x40, 0x10, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r4}, [@IFLA_LINKINFO={0x20, 0x12, 0x0, 0x1, @bridge={{0xb, 0x1, 'bridge\x00'}, {0x10, 0x2, 0x0, 0x1, [@IFLA_BR_MCAST_LAST_MEMBER_INTVL={0xc, 0x2e, 0xf0ffff01000003}]}}}]}, 0x40}}, 0x0) [ 335.234240][T12375] xt_CT: No such helper "syz1" 16:01:18 executing program 5: r0 = socket$inet_udp(0x2, 0x2, 0x0) close(r0) r1 = socket(0x840000000002, 0x3, 0xff) setsockopt$SO_BINDTODEVICE(r1, 0x1, 0x19, &(0x7f0000000040)='syz_tun\x00', 0x10) setsockopt$sock_int(r0, 0x1, 0x6, &(0x7f0000000080)=0x32, 0x4) setsockopt$SO_TIMESTAMPING(r1, 0x1, 0x41, &(0x7f0000000000)=0x379, 0xe) connect$inet(r0, &(0x7f0000593000)={0x2, 0x0, @broadcast}, 0x10) r2 = openat(0xffffffffffffffff, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r2, 0x0) preadv(r2, &(0x7f0000000280), 0x18, 0xd9f, 0x0) sendmmsg$inet(r0, &(0x7f0000000a40)=[{{0x0, 0x0, &(0x7f0000000140)=[{&(0x7f00000001c0)="9061d4d40000000000000000f189f687089cd0ce", 0x14}], 0x1}}], 0x1, 0x0) [ 335.334494][T12392] netlink: 20 bytes leftover after parsing attributes in process `syz-executor.0'. [ 335.350274][ T4029] usb 3-1: new high-speed USB device number 7 using dummy_hcd [ 335.427323][T12397] netlink: 20 bytes leftover after parsing attributes in process `syz-executor.0'. [ 335.469938][ T20] usb 5-1: new high-speed USB device number 14 using dummy_hcd 16:01:18 executing program 0: perf_event_open(0x0, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) openat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000)='./cgroup.cpu/syz0\x00', 0x200002, 0x0) pipe(&(0x7f0000000100)) r0 = socket$inet_udp(0x2, 0x2, 0x0) perf_event_open(&(0x7f0000000840)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = open(&(0x7f0000000000)='./bus\x00', 0x141042, 0x0) ioctl$FITRIM(0xffffffffffffffff, 0xc0185879, 0x0) ioctl$FITRIM(r1, 0xc0185879, &(0x7f00000000c0)={0x0, 0xffffffff}) setsockopt$SO_BINDTODEVICE(r0, 0x1, 0x19, &(0x7f0000000180)='syz_tun\x00', 0x10) openat$cgroup_ro(0xffffffffffffffff, &(0x7f0000000040)='memory.stat\x00', 0x0, 0x0) 16:01:18 executing program 1: r0 = socket$tipc(0x1e, 0x2, 0x0) bind$tipc(r0, &(0x7f0000000180)=@name, 0x10) [ 335.599944][ T4029] usb 3-1: Using ep0 maxpacket: 16 [ 335.711946][T12405] tipc: Can't bind to reserved service type 0 [ 335.730238][ T20] usb 5-1: Using ep0 maxpacket: 32 16:01:18 executing program 5: r0 = socket$inet_udp(0x2, 0x2, 0x0) close(r0) r1 = socket(0x840000000002, 0x3, 0xff) setsockopt$SO_BINDTODEVICE(r1, 0x1, 0x19, &(0x7f0000000040)='syz_tun\x00', 0x10) setsockopt$sock_int(r0, 0x1, 0x6, &(0x7f0000000080)=0x32, 0x4) setsockopt$SO_TIMESTAMPING(r1, 0x1, 0x41, &(0x7f0000000000)=0x379, 0xe) connect$inet(r0, &(0x7f0000593000)={0x2, 0x0, @broadcast}, 0x10) r2 = openat(0xffffffffffffffff, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r2, 0x0) preadv(r2, &(0x7f0000000280), 0x18, 0xd9f, 0x0) sendmmsg$inet(r0, &(0x7f0000000a40)=[{{0x0, 0x0, &(0x7f0000000140)=[{&(0x7f00000001c0)="9061d4d40000000000000000f189f687089cd0ce", 0x14}], 0x1}}], 0x1, 0x0) [ 335.888880][ T20] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x1 has invalid wMaxPacketSize 0 [ 335.902995][ T20] usb 5-1: config 0 interface 0 altsetting 0 bulk endpoint 0x1 has invalid maxpacket 0 [ 335.923584][ T20] usb 5-1: config 0 interface 0 altsetting 0 has 2 endpoint descriptors, different from the interface descriptor's value: 18 [ 335.938244][ T4029] usb 3-1: New USB device found, idVendor=10c4, idProduct=f004, bcdDevice=11.18 [ 335.955803][ T4029] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 335.988365][ T4029] usb 3-1: Product: syz [ 335.999876][ T20] usb 5-1: New USB device found, idVendor=03f0, idProduct=6c17, bcdDevice= 0.40 [ 336.017234][ T4029] usb 3-1: Manufacturer: syz [ 336.028235][ T4029] usb 3-1: SerialNumber: syz [ 336.036260][ T20] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 336.056642][ T4029] usb 3-1: config 0 descriptor?? [ 336.088957][ T20] usb 5-1: config 0 descriptor?? [ 336.111029][ T4029] cp210x 3-1:0.0: cp210x converter detected [ 336.352300][ T20] usblp 5-1:0.0: usblp0: USB Bidirectional printer dev 14 if 0 alt 0 proto 3 vid 0x03F0 pid 0x6C17 [ 336.393669][ T20] usb 5-1: USB disconnect, device number 14 [ 336.405544][ T20] usblp0: removed [ 336.780674][ T4029] usb 3-1: cp210x converter now attached to ttyUSB0 [ 336.939899][ T20] usb 5-1: new high-speed USB device number 15 using dummy_hcd [ 336.996056][ T4029] usb 3-1: USB disconnect, device number 7 [ 337.020056][ T4029] cp210x ttyUSB0: cp210x converter now disconnected from ttyUSB0 [ 337.063321][ T4029] cp210x 3-1:0.0: device disconnected [ 337.202533][ T20] usb 5-1: Using ep0 maxpacket: 32 [ 337.320307][ T20] usb 5-1: config 0 interface 0 altsetting 0 endpoint 0x1 has invalid wMaxPacketSize 0 [ 337.339138][ T20] usb 5-1: config 0 interface 0 altsetting 0 bulk endpoint 0x1 has invalid maxpacket 0 [ 337.354089][ T20] usb 5-1: config 0 interface 0 altsetting 0 has 2 endpoint descriptors, different from the interface descriptor's value: 18 [ 337.383529][ T20] usb 5-1: New USB device found, idVendor=03f0, idProduct=6c17, bcdDevice= 0.40 [ 337.402830][ T20] usb 5-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 337.438311][ T20] usb 5-1: config 0 descriptor?? [ 337.716037][ T20] usblp 5-1:0.0: usblp0: USB Bidirectional printer dev 15 if 0 alt 0 proto 3 vid 0x03F0 pid 0x6C17 [ 337.941400][ T7] usb 5-1: USB disconnect, device number 15 [ 337.958173][ T7] usblp0: removed 16:01:21 executing program 2: r0 = syz_usb_connect(0x0, 0x24, &(0x7f0000000580)=ANY=[@ANYBLOB="120100005a92cd10c41004f01811010203010902120001000000000904"], 0x0) syz_usb_control_io(r0, 0x0, &(0x7f0000000780)={0x84, &(0x7f0000000300)={0x0, 0x0, 0x1, "05"}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$hid(r0, 0x0, &(0x7f0000000dc0)={0x2c, &(0x7f0000000b00)={0x0, 0x0, 0x2, "7db3"}, 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$cdc_ncm(r0, 0x0, &(0x7f0000000500)={0x44, &(0x7f00000001c0)={0x0, 0x0, 0xf, "85e8c951c32c236d71e3fa2085bf76"}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) 16:01:21 executing program 4: perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) mmap(&(0x7f0000000000/0xfbe000)=nil, 0xfbe000, 0x100000f, 0x31, 0xffffffffffffffff, 0x0) remap_file_pages(&(0x7f00002ec000/0x200000)=nil, 0x200000, 0x0, 0x0, 0x0) mincore(&(0x7f0000000000/0x400000)=nil, 0x400000, &(0x7f0000000080)=""/164) 16:01:21 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$batadv(&(0x7f00000003c0)='batadv\x00', 0xffffffffffffffff) sendmsg$BATADV_CMD_GET_TRANSTABLE_LOCAL(r0, &(0x7f0000000840)={0x0, 0x0, &(0x7f0000000800)={&(0x7f0000000000)={0x1c, r1, 0x317, 0x0, 0x0, {0x5}, [@BATADV_ATTR_ELP_INTERVAL={0x8, 0x3, 0x2}]}, 0x1c}}, 0x0) 16:01:21 executing program 1: r0 = syz_init_net_socket$rose(0xb, 0x5, 0x0) ioctl$sock_rose_SIOCADDRT(r0, 0x890b, &(0x7f0000000000)={@remote={0xcc, 0xcc, 0xcc, 0xcc, 0x1}, 0x0, @default, @rose={'rose', 0x0}, 0x0, [@netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x1}, @bcast, @default, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x0}, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x0}, @netrom={0xbb, 0xbb, 0xbb, 0xbb, 0xbb, 0x0, 0x0}]}) 16:01:21 executing program 3: perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket(0x10, 0x803, 0x0) write(r0, &(0x7f0000000040)="2600000022004701050007008980e8ff06006d20002b1f00c0e9ff094a51f10101c7033500b0", 0x26) setsockopt$sock_int(r0, 0x1, 0x8, &(0x7f0000d9bffc), 0x4) sendto(r0, &(0x7f00000005c0)="120000001200e7ef007b00000000000000a1", 0x12, 0x0, 0x0, 0x45) recvmsg(r0, &(0x7f0000002500)={0x0, 0x0, 0x0}, 0x0) recvmmsg(r0, &(0x7f0000000d00)=[{{0x0, 0x0, &(0x7f0000000700)=[{&(0x7f0000000440)=""/245, 0xbb}, {&(0x7f0000000300)=""/170, 0x8}, {&(0x7f0000000e00)=""/96, 0x8}, {&(0x7f0000000600)=""/204, 0x1bc}, {&(0x7f0000001040)=""/4096, 0x1011}], 0x5}}], 0x14, 0x0, 0x0) open$dir(0x0, 0x0, 0x0) 16:01:21 executing program 5: r0 = socket$inet_udp(0x2, 0x2, 0x0) close(r0) r1 = socket(0x840000000002, 0x3, 0xff) setsockopt$SO_BINDTODEVICE(r1, 0x1, 0x19, &(0x7f0000000040)='syz_tun\x00', 0x10) setsockopt$sock_int(r0, 0x1, 0x6, &(0x7f0000000080)=0x32, 0x4) setsockopt$SO_TIMESTAMPING(r1, 0x1, 0x41, &(0x7f0000000000)=0x379, 0xe) connect$inet(r0, &(0x7f0000593000)={0x2, 0x0, @broadcast}, 0x10) r2 = openat(0xffffffffffffffff, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r2, 0x0) preadv(r2, &(0x7f0000000280), 0x18, 0xd9f, 0x0) sendmmsg$inet(r0, &(0x7f0000000a40)=[{{0x0, 0x0, &(0x7f0000000140)=[{&(0x7f00000001c0)="9061d4d40000000000000000f189f687089cd0ce", 0x14}], 0x1}}], 0x1, 0x0) 16:01:21 executing program 1: r0 = syz_open_dev$swradio(&(0x7f0000000080)='/dev/swradio#\x00', 0x1, 0x2) r1 = syz_open_dev$swradio(&(0x7f0000000040)='/dev/swradio#\x00', 0x1, 0x2) ioctl$VIDIOC_CREATE_BUFS(r1, 0xc100565c, &(0x7f0000000440)={0x0, 0x9, 0x1, {0xb, @sdr={0x0, 0xfffffffe}}}) r2 = openat(0xffffffffffffffff, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r2, 0x0) preadv(r2, &(0x7f0000000280), 0x18, 0xd9f, 0x0) mmap$binder(&(0x7f0000ffc000/0x4000)=nil, 0xb05300, 0x1, 0x11, r1, 0x0) mmap$binder(&(0x7f0000ffc000/0x3000)=nil, 0x3000, 0x1, 0x11, r0, 0x0) 16:01:21 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$inet6_udp(0xa, 0x2, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f0000000000)={'batadv_slave_0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000480)=@setlink={0x38, 0x13, 0x1, 0x0, 0x0, {0x0, 0x0, 0x0, r2}, [@IFLA_VFINFO_LIST={0x14, 0x16, 0x0, 0x1, [{0x10, 0x1, 0x0, 0x1, [@IFLA_VF_LINK_STATE={0xc}]}]}, @IFLA_IFALIASn={0x4}]}, 0x38}}, 0x0) 16:01:21 executing program 5: r0 = openat$adsp1(0xffffffffffffff9c, &(0x7f0000000000)='/dev/adsp1\x00', 0x0, 0x0) ioctl$SNDCTL_DSP_CHANNELS(r0, 0xc0045006, &(0x7f0000000080)=0x40) ioctl$SNDCTL_DSP_SPEED(r0, 0xc0045002, &(0x7f0000000040)) ioctl$SNDCTL_DSP_SETFRAGMENT(r0, 0xc004500a, &(0x7f0000000140)) mmap$dsp(&(0x7f0000ffc000/0x4000)=nil, 0x4000, 0x7, 0x4004812, r0, 0x0) [ 338.748501][T12505] mmap: syz-executor.4 (12505) uses deprecated remap_file_pages() syscall. See Documentation/vm/remap_file_pages.rst. [ 338.830366][ T9944] usb 3-1: new high-speed USB device number 8 using dummy_hcd [ 338.844648][T12507] A link change request failed with some changes committed already. Interface batadv_slave_0 may have been left with an inconsistent configuration, please check. 16:01:21 executing program 1: r0 = syz_open_dev$swradio(&(0x7f0000000080)='/dev/swradio#\x00', 0x1, 0x2) r1 = syz_open_dev$swradio(&(0x7f0000000040)='/dev/swradio#\x00', 0x1, 0x2) ioctl$VIDIOC_CREATE_BUFS(r1, 0xc100565c, &(0x7f0000000440)={0x0, 0x9, 0x1, {0xb, @sdr={0x0, 0xfffffffe}}}) r2 = openat(0xffffffffffffffff, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r2, 0x0) preadv(r2, &(0x7f0000000280), 0x18, 0xd9f, 0x0) mmap$binder(&(0x7f0000ffc000/0x4000)=nil, 0xb05300, 0x1, 0x11, r1, 0x0) mmap$binder(&(0x7f0000ffc000/0x3000)=nil, 0x3000, 0x1, 0x11, r0, 0x0) 16:01:21 executing program 3: perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket(0x10, 0x803, 0x0) write(r0, &(0x7f0000000040)="2600000022004701050007008980e8ff06006d20002b1f00c0e9ff094a51f10101c7033500b0", 0x26) setsockopt$sock_int(r0, 0x1, 0x8, &(0x7f0000d9bffc), 0x4) sendto(r0, &(0x7f00000005c0)="120000001200e7ef007b00000000000000a1", 0x12, 0x0, 0x0, 0x45) recvmsg(r0, &(0x7f0000002500)={0x0, 0x0, 0x0}, 0x0) recvmmsg(r0, &(0x7f0000000d00)=[{{0x0, 0x0, &(0x7f0000000700)=[{&(0x7f0000000440)=""/245, 0xbb}, {&(0x7f0000000300)=""/170, 0x8}, {&(0x7f0000000e00)=""/96, 0x8}, {&(0x7f0000000600)=""/204, 0x1bc}, {&(0x7f0000001040)=""/4096, 0x1011}], 0x5}}], 0x14, 0x0, 0x0) open$dir(0x0, 0x0, 0x0) [ 339.079804][ T9944] usb 3-1: Using ep0 maxpacket: 16 16:01:21 executing program 0: perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket(0x10, 0x803, 0x0) write(r0, &(0x7f0000000040)="2600000022004701050007008980e8ff06006d20002b1f00c0e9ff094a51f10101c7033500b0", 0x26) setsockopt$sock_int(r0, 0x1, 0x8, &(0x7f0000d9bffc), 0x4) sendto(r0, &(0x7f00000005c0)="120000001200e7ef007b00000000000000a1", 0x12, 0x0, 0x0, 0x45) recvmsg(r0, &(0x7f0000002500)={0x0, 0x0, 0x0}, 0x0) recvmmsg(r0, &(0x7f0000000d00)=[{{0x0, 0x0, &(0x7f0000000700)=[{&(0x7f0000000440)=""/245, 0xbb}, {&(0x7f0000000300)=""/170, 0x8}, {&(0x7f0000000e00)=""/96, 0x8}, {&(0x7f0000000600)=""/204, 0x1bc}, {&(0x7f0000001040)=""/4096, 0x1011}], 0x5}}], 0x14, 0x0, 0x0) open$dir(0x0, 0x0, 0x0) [ 339.360236][ T9944] usb 3-1: New USB device found, idVendor=10c4, idProduct=f004, bcdDevice=11.18 [ 339.405285][ T9944] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 339.472541][ T9944] usb 3-1: Product: syz [ 339.501862][ T9944] usb 3-1: Manufacturer: syz [ 339.513296][ T9944] usb 3-1: SerialNumber: syz [ 339.578860][ T9944] usb 3-1: config 0 descriptor?? [ 339.622109][ T9944] cp210x 3-1:0.0: cp210x converter detected [ 340.283273][ T9944] usb 3-1: cp210x converter now attached to ttyUSB0 [ 340.488952][ T4029] usb 3-1: USB disconnect, device number 8 [ 340.498030][ T4029] cp210x ttyUSB0: cp210x converter now disconnected from ttyUSB0 [ 340.515893][ T4029] cp210x 3-1:0.0: device disconnected 16:01:23 executing program 1: r0 = syz_open_dev$swradio(&(0x7f0000000080)='/dev/swradio#\x00', 0x1, 0x2) r1 = syz_open_dev$swradio(&(0x7f0000000040)='/dev/swradio#\x00', 0x1, 0x2) ioctl$VIDIOC_CREATE_BUFS(r1, 0xc100565c, &(0x7f0000000440)={0x0, 0x9, 0x1, {0xb, @sdr={0x0, 0xfffffffe}}}) r2 = openat(0xffffffffffffffff, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r2, 0x0) preadv(r2, &(0x7f0000000280), 0x18, 0xd9f, 0x0) mmap$binder(&(0x7f0000ffc000/0x4000)=nil, 0xb05300, 0x1, 0x11, r1, 0x0) mmap$binder(&(0x7f0000ffc000/0x3000)=nil, 0x3000, 0x1, 0x11, r0, 0x0) 16:01:23 executing program 5: r0 = openat$adsp1(0xffffffffffffff9c, &(0x7f0000000000)='/dev/adsp1\x00', 0x0, 0x0) ioctl$SNDCTL_DSP_CHANNELS(r0, 0xc0045006, &(0x7f0000000080)=0x40) ioctl$SNDCTL_DSP_SPEED(r0, 0xc0045002, &(0x7f0000000040)) ioctl$SNDCTL_DSP_SETFRAGMENT(r0, 0xc004500a, &(0x7f0000000140)) mmap$dsp(&(0x7f0000ffc000/0x4000)=nil, 0x4000, 0x7, 0x4004812, r0, 0x0) 16:01:23 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) getsockopt$sock_buf(r0, 0x1, 0x1c, &(0x7f0000000000)=""/62, &(0x7f0000000040)=0x3e) 16:01:23 executing program 3: perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket(0x10, 0x803, 0x0) write(r0, &(0x7f0000000040)="2600000022004701050007008980e8ff06006d20002b1f00c0e9ff094a51f10101c7033500b0", 0x26) setsockopt$sock_int(r0, 0x1, 0x8, &(0x7f0000d9bffc), 0x4) sendto(r0, &(0x7f00000005c0)="120000001200e7ef007b00000000000000a1", 0x12, 0x0, 0x0, 0x45) recvmsg(r0, &(0x7f0000002500)={0x0, 0x0, 0x0}, 0x0) recvmmsg(r0, &(0x7f0000000d00)=[{{0x0, 0x0, &(0x7f0000000700)=[{&(0x7f0000000440)=""/245, 0xbb}, {&(0x7f0000000300)=""/170, 0x8}, {&(0x7f0000000e00)=""/96, 0x8}, {&(0x7f0000000600)=""/204, 0x1bc}, {&(0x7f0000001040)=""/4096, 0x1011}], 0x5}}], 0x14, 0x0, 0x0) open$dir(0x0, 0x0, 0x0) 16:01:23 executing program 0: perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket(0x10, 0x803, 0x0) write(r0, &(0x7f0000000040)="2600000022004701050007008980e8ff06006d20002b1f00c0e9ff094a51f10101c7033500b0", 0x26) setsockopt$sock_int(r0, 0x1, 0x8, &(0x7f0000d9bffc), 0x4) sendto(r0, &(0x7f00000005c0)="120000001200e7ef007b00000000000000a1", 0x12, 0x0, 0x0, 0x45) recvmsg(r0, &(0x7f0000002500)={0x0, 0x0, 0x0}, 0x0) recvmmsg(r0, &(0x7f0000000d00)=[{{0x0, 0x0, &(0x7f0000000700)=[{&(0x7f0000000440)=""/245, 0xbb}, {&(0x7f0000000300)=""/170, 0x8}, {&(0x7f0000000e00)=""/96, 0x8}, {&(0x7f0000000600)=""/204, 0x1bc}, {&(0x7f0000001040)=""/4096, 0x1011}], 0x5}}], 0x14, 0x0, 0x0) open$dir(0x0, 0x0, 0x0) 16:01:23 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000100)=@newtaction={0x48, 0x30, 0x1, 0x0, 0x0, {}, [{0x34, 0x1, [@m_mpls={0x30, 0x1, 0x0, 0x0, {{0x9, 0x1, 'mpls\x00'}, {0x4, 0xa}, {0x4}, {0xc}, {0xc}}}]}]}, 0x48}}, 0x0) 16:01:23 executing program 4: recvmsg$kcm(0xffffffffffffffff, 0x0, 0x0) 16:01:24 executing program 1: r0 = syz_open_dev$swradio(&(0x7f0000000080)='/dev/swradio#\x00', 0x1, 0x2) r1 = syz_open_dev$swradio(&(0x7f0000000040)='/dev/swradio#\x00', 0x1, 0x2) ioctl$VIDIOC_CREATE_BUFS(r1, 0xc100565c, &(0x7f0000000440)={0x0, 0x9, 0x1, {0xb, @sdr={0x0, 0xfffffffe}}}) r2 = openat(0xffffffffffffffff, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r2, 0x0) preadv(r2, &(0x7f0000000280), 0x18, 0xd9f, 0x0) mmap$binder(&(0x7f0000ffc000/0x4000)=nil, 0xb05300, 0x1, 0x11, r1, 0x0) mmap$binder(&(0x7f0000ffc000/0x3000)=nil, 0x3000, 0x1, 0x11, r0, 0x0) 16:01:24 executing program 2: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000100)={0x54, 0x2, 0x6, 0x5, 0x0, 0xf0ffff, {}, [@IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}, @IPSET_ATTR_FAMILY={0x5}, @IPSET_ATTR_TYPENAME={0xd, 0x3, 'hash:mac\x00'}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_HASHSIZE={0x8, 0x12, 0x0}]}, @IPSET_ATTR_REVISION={0x5}]}, 0x54}}, 0x0) 16:01:24 executing program 5: r0 = openat$adsp1(0xffffffffffffff9c, &(0x7f0000000000)='/dev/adsp1\x00', 0x0, 0x0) ioctl$SNDCTL_DSP_CHANNELS(r0, 0xc0045006, &(0x7f0000000080)=0x40) ioctl$SNDCTL_DSP_SPEED(r0, 0xc0045002, &(0x7f0000000040)) ioctl$SNDCTL_DSP_SETFRAGMENT(r0, 0xc004500a, &(0x7f0000000140)) mmap$dsp(&(0x7f0000ffc000/0x4000)=nil, 0x4000, 0x7, 0x4004812, r0, 0x0) 16:01:24 executing program 4: r0 = socket$phonet_pipe(0x23, 0x5, 0x2) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(r0, 0x80108907, 0x0) 16:01:24 executing program 3: perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket(0x10, 0x803, 0x0) write(r0, &(0x7f0000000040)="2600000022004701050007008980e8ff06006d20002b1f00c0e9ff094a51f10101c7033500b0", 0x26) setsockopt$sock_int(r0, 0x1, 0x8, &(0x7f0000d9bffc), 0x4) sendto(r0, &(0x7f00000005c0)="120000001200e7ef007b00000000000000a1", 0x12, 0x0, 0x0, 0x45) recvmsg(r0, &(0x7f0000002500)={0x0, 0x0, 0x0}, 0x0) recvmmsg(r0, &(0x7f0000000d00)=[{{0x0, 0x0, &(0x7f0000000700)=[{&(0x7f0000000440)=""/245, 0xbb}, {&(0x7f0000000300)=""/170, 0x8}, {&(0x7f0000000e00)=""/96, 0x8}, {&(0x7f0000000600)=""/204, 0x1bc}, {&(0x7f0000001040)=""/4096, 0x1011}], 0x5}}], 0x14, 0x0, 0x0) open$dir(0x0, 0x0, 0x0) 16:01:24 executing program 2: r0 = epoll_create1(0x0) epoll_pwait(r0, &(0x7f0000000000)=[{}], 0x1, 0xe40, 0x0, 0x0) ioctl$KVM_SIGNAL_MSI(0xffffffffffffffff, 0x4020aea5, 0x0) 16:01:24 executing program 0: perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket(0x10, 0x803, 0x0) write(r0, &(0x7f0000000040)="2600000022004701050007008980e8ff06006d20002b1f00c0e9ff094a51f10101c7033500b0", 0x26) setsockopt$sock_int(r0, 0x1, 0x8, &(0x7f0000d9bffc), 0x4) sendto(r0, &(0x7f00000005c0)="120000001200e7ef007b00000000000000a1", 0x12, 0x0, 0x0, 0x45) recvmsg(r0, &(0x7f0000002500)={0x0, 0x0, 0x0}, 0x0) recvmmsg(r0, &(0x7f0000000d00)=[{{0x0, 0x0, &(0x7f0000000700)=[{&(0x7f0000000440)=""/245, 0xbb}, {&(0x7f0000000300)=""/170, 0x8}, {&(0x7f0000000e00)=""/96, 0x8}, {&(0x7f0000000600)=""/204, 0x1bc}, {&(0x7f0000001040)=""/4096, 0x1011}], 0x5}}], 0x14, 0x0, 0x0) open$dir(0x0, 0x0, 0x0) 16:01:24 executing program 1: r0 = socket$alg(0x26, 0x5, 0x0) bind$alg(r0, &(0x7f0000000000)={0x26, 'hash\x00', 0x0, 0x0, 'ghash-generic\x00'}, 0x58) setsockopt$ALG_SET_KEY(r0, 0x117, 0x1, &(0x7f0000000440)="cb56b6cc04dc1f56bb6e284f5fa35c66", 0x10) r1 = accept4(r0, 0x0, 0x0, 0x0) sendmsg$FOU_CMD_GET(r1, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000100)={&(0x7f00000000c0)={0x14}, 0x14}}, 0x20008000) recvmsg(r1, &(0x7f0000001600)={0x0, 0x0, 0x0}, 0x0) 16:01:24 executing program 5: r0 = openat$adsp1(0xffffffffffffff9c, &(0x7f0000000000)='/dev/adsp1\x00', 0x0, 0x0) ioctl$SNDCTL_DSP_CHANNELS(r0, 0xc0045006, &(0x7f0000000080)=0x40) ioctl$SNDCTL_DSP_SPEED(r0, 0xc0045002, &(0x7f0000000040)) ioctl$SNDCTL_DSP_SETFRAGMENT(r0, 0xc004500a, &(0x7f0000000140)) mmap$dsp(&(0x7f0000ffc000/0x4000)=nil, 0x4000, 0x7, 0x4004812, r0, 0x0) 16:01:24 executing program 4: r0 = socket$phonet_pipe(0x23, 0x5, 0x2) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(r0, 0x89a1, 0x0) 16:01:24 executing program 1: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = creat(&(0x7f0000000100)='./bus\x00', 0x0) r2 = creat(&(0x7f00000001c0)='./bus\x00', 0x0) r3 = eventfd(0xc7bd) io_submit(0x0, 0x3, &(0x7f0000004b40)=[&(0x7f0000003a40)={0x0, 0x0, 0x0, 0x8, 0x0, r1, &(0x7f00000039c0)="06453d5d3aa105f340ce688b05b276029eeac708d4c0a9507f02d039f78eefb758b2129c821d13afed0119ba3af0d8b5509ea3583761a194f6d6ee2ffe725519589d483870c64c8b96c2a7a3789046eb0fb371d1ade661fd558b0c8d4b77f85129b243", 0x63, 0x400, 0x0, 0x0, r3}, &(0x7f0000004a80)={0x0, 0x0, 0x0, 0x3, 0xffff, r0, &(0x7f0000003a80)="3833fa9084d0c36089765f18643c3f5e1452c80d9ee439ed45d6ba80bb0f6752b23025598595be71784e6d2342fe6d30f59ff01f8d9db2943f55d4388c6f2d786cadb491f1a8ff2e720cd2203eb11b266e35231fe57da28aa9ecdaf8fc7fc4dc1e9718ffd9fa15bd48ba21a94992b776dc97f1f43ee59224d7cd0e7b5a4dd5ae2f1fbf6c970fd0d41ea8908f67e68298c5dea67cb6fb56643e81e3386a61d8ffcd127061f1f46c3d8284c2d2937f321e96af7ffdb9251f865da506bf46918b8893b674f77808a585606c79abe30463f7c44640af06a416aabddd923b5e127846dcdbcb5f7833e8e9b906156e90a726951ffbdfa12ffa56ddfd6dca25592f987c65ad874ff05df997f0bfa3fe90c9c50b12b8cbf91e2528783a70f6e1eac2392994eedeeab3e7772593516e2e94afb90e394bf7c998cf0b08adb8d94e56582f04817276d6760880f7824f8f95e9242b53aeb32ef0b39314b31403b6ee9f7b7c07792d20b68d665637b18f994bc3b9ce9d316904505909ca603abbbb66eb47fd39a6ee4cde2e6984565a006dd8eb4426db17c6bec5c6d2639ca3e6ab66c8d7da45e2326dcd472a224145f88f8a6c728aa7c8a75e99285a18aa444cbba1dd2bf0b5cd12461e902739505452fea60b03268efae5197a3db566e027655fb97a4c9069a93b48df9aceaceb6b662e113e2e4c70d4cc9224118bd06a06cdb6026fa9626186f7b02f3fd3538d3e9f02c0fb485e96eebbc6e0ec38956a5d3d4b3ac0376c3d9c58a4dbac90f6d65e9b6d4b6df64f84a08c3f089df691695d4164b79d0b8bf4d262ff97d6c6a4e584c51c04ef0ac42e39dd507286f9efbcd57be6b58114196487a843b3c076f49d2a731c1a2aded9905a413abf9bc6549c0d6b10555a2a0c81ce56c28ae6177b43afa7defe655978f3d8970eda7ce1fec3ac2e38f94819bd9388cc58af6dc501d6a97607ea18e4fe497b0551524beab5cb2d20f08c0a304fa83fe1a637933d18606466f6043394a2cd4dbe078403224b111d62cd58f3e1b255aeba51b18a0d8a8488b7f4c7a0fde455484fb7ffdbf033ea6d4f9f9872162e1982452d84197ec953eec8a04981a2c7f91005f569555e59b132455e485287d1f14c63b23fe992bef5d6d7e92f3f242f3183dd08aa7fc33bb3b3f0d7cb5ee63c2c5f6becb83c85df4b6f72b0f45fc4a0abefb1032f922da3a2534eeb7634878629dbc12c40cf8090e07c7979777e47202b1d53a262d8e9ef2e0e205506dc63076e7e382ceda612ece8ed7c9aa404143945ccc6205b59f12028fc88f63457945df9654f6d84e2fcd880133bc3221d746c6c46b7bc0b43827915da5f64a66594ec77779bbcdfb9a222665ac76bb445d8ce8011433200415d9d521c20cde14c31ce49bb999d35ee8778a5118b3ab99d1abcca1c6c7f1884eeaa2d6b341ebd9e7b43c787b51dff2afd3279e2fcda0b0bfdbdf7c0e0de55df31280e9faa6a7d757258950b562385918eafad0331eb6a4b7916ccd766ddf0f54f73e65b3690647bcf8dd96dccbca2792baea61ae20215faaa5611f8f290fe430cefe61926751f9ec22526a2a0e04302e5bae241550fe6bf921e75e4a2a1197965eaed1dc7b339afeb84bc84c12e4ef2cebf4dca7b6cc2fd2ce7a8fabe40c9e4387b4929513438b090080ba8cc5df721fed7a4ee198de53f1bc396d7b6c1f37dd2b9adfcfaf0453737d8f4148a6a7d823720a388f67a8e853f2546b9b15a57a50d3e30d26b1cc6de52599cd7d4ce1817bca14dfafb1f323ac424a7e0c9741916ec4b24d44a8482d25bae4596751bedde85c454a3721e36a29dc4becdd90869eadfc95f99d388e43c5ba5fcd867187192f7928d7495af9e12183fa55412db26a8dda0cc0fd189df4bfecec486291767fe7fd4fc9e50fe31616025d52824cc9893ac161bf6b97a752b29c3d8562676a97c0d60deafb970f7c266bb362b980a35a25b97ed27a09d626e90846bd897e18aac385bc1c407f7f35ede1d08998c6cad112d82733ea147cba83a594614e7767d4ec483ebbcda4693fc503bf8bdabfbef24c4a02af3d98fc16cc6459f5703f790730db2352675716f8c5762f647b6ed436771652ec4ddfd56f18dada47fe59f016992f62bac6c0f21da18982663f72f270a37e59dd5f03076c797be8af64e4e5616ef6d5f5f986ca2f63fc7f5fc53815e6f579a9eb4081984cb8f143b5989b9c10b0c4623260487cdbd0adbb7400a6759cf304aaeae4277fbcfe161fb3ff148caae2183b1574a8a27fa07c8eb3005429b55a8ad3f30bc0e9cada427ad8a4624f696c525f817d0c48672e92184b9347b55dba51b00891937e6691afbc68c4e1e9bc451089b1e120ae9db845c5cd1b688d6da1f1eb6f7556b72c2ebb78ad5562fe6d9bfd49c5540b64276fe4b5238a4e5ba893eaa9d1131f9e4562276de989deffed5dea7e28003c04e548b3b2a41f91d71f65efbd0fddaaf205b1113e6b87605df1126bf30a931a0fa83d935a863c0af8439e5dc207ce0a5bfb1e22440f3c0ef5125e1dcd3b663d56f928b2e9541b742cc28cf9c6a5950dda3d9cf33dc8067d1049690fb23952e969ec3f1d6cdedb4e15fcf4a3c188f43ca662016a7b38c0e237f15707d44a9ce74b1c0f38842c5b30b5fb7f94558fbdccd5c82a84c5f614bf320211afc51b14ff3b13a7163f48693af0fd65f25becc9fb401e117e5faebd1a60e4d6d33909638b74afea9c04fd96875c679641d186ca8f256e8aa48e286e91e8656ae1cbc07f587cdd2e7c1e0afa1eec392efdbca55d0b5e26b3ad7a278af4e62c8ea1c5a568229bc4a1158a276a2d391596cccce831e652fdfd9f614c22284c9a9511fc0d8f4cd0dfe781aad732524170d949afdd1f0fc4835dc20498fd93dfd48bdd098fac374a210ecdbe1ecefb01315c60ccfad46244236d82a86993948b6d9db05c3dfcabf6afb3cc67b936daa3875fcbebf009285882b719555b38db64af1c575e9859e64a57eb83d0babbc352eb6fa0d5334da443c497f7e7f911309224e2558a5f0687fc49b499e49b2e3aa6278bcb8b159cad3be404eadbc7e4054bb1b1c834bc3536d710cbdcf2605532a763e981ce1d20d34862b60a4ff41213323e7fd167563f6cfec5eb09679e8c885732f03ee4c7816923471f9944c27d4988488b8e8f29b1a5727cb8dbe90d6f3052907e3eaa6738e6892d645d8e5f0943e98e36207eae18e0841b33b35c8ca4af85ee9c8081615436690f9b603f003a20bfdd7e130ef3e88337347802e58ee7594c73bf35ae2caf4a7cbc487cb737fdbed85f2bca88cd36d9579cd72036b7fb6aa3e14d5ac029e8eeb1a7c0f237ef2984dbb5f352c68f0a18d08616119f8156211f02fcee5f2ca2a5e1588a3f831cb9a0d5a0f93cec4b60a4ad7c77815bf36d4df32f1eb8fb2f6ce0c5994cf251eb083e740f373df4ddff06997af161c9b715f9f24055835128f8eba8d88b4715c3428d240e7bcdcc6af47bff57ab4a36ab24c80ea1d2d55125230535295ab0ff8c4dbe9a78e2c55a09b6cc7cca6d5ee1bdfd7e36ee3ae77b492501b393fb187aa617d0252963b7480de2bd8663c9695b24e665bb8fc007b7492d3e4f0ecfc1ebcb2e8d04e0d05840f0c9d103977ba97b291f1659eedb2ac86c0f36a9ead1f22a6083cd75cb1584eb164f3b0f1dd1d294115526d47f2be8b2cab399d7452c486c58d0380548f339584f76b9cea9397bc96a416af5a50f933fe59edeac2e581aaa9d253605aae0066dfb53fcd6f026384e4207cad23211c637b0adb4c80b0f1feaef87f8ab90df7ae6e7db53807955a4bb88b5abb5d3cb132e0e064789508456ccf2827a990e97b41bab1f3333946c6bf1c186a56893af51011a0f4840874f833347dbc6fcf0f75d2457ad1f5ef9b33f4c2db6f3e616346ddaf6b6f2a081b53926c5b3492fe8b67f93a08ffc227f60fd78cfd8cf341ebb31d478d13b204c7e196d6d3818942b51376de6b62c043a182750685385cff52fc52fd269fd182330c07be872a76ee57d5a447a0171b362b6baff99a0d66df409bfec23fcc868737b50219d654ea50a9faa96cbab37a51b0888d510f86626a1c984aabc75efc95a09687bf39af14873c80e971868c61314314da991e671a9c4e08e231d35c0a91f6cdd603c00e02a0e0caa936e99f551af3b35d7d65a3bd9e8ebafa4cfd68d0b517b9d93e51d8161a92681923816d6ddaf6223e82323a18d95ecf6d0be51008bbdc3ef78ab626c5661c09b9c71beacc4c8189b76a085def61ba9e27c813862b89bfc152a445c2af31d44294bc9fd406da1f37ef03cbfa589857c07989c8c28d4bdb676b0cb5cfccdafdc879cd8e4c082db96a4b4923546ba66f0a25c80fbeb456eeb07a3ae26edfea2ba89cee69ed6c77572127e6956a995a9cce8a3697bc505ae7b31611779c60fd1ab41bdded1833c31dcd68507f310ce751246e3c409fa3674dce453f3ae0d57070a0a85748d8977350374919b19f4e0239e807a965f12a0e5066bbe2d5f5c4cbf49cba4625834ee7ae1f0fec552d55f45f6bf6546f8613a8de7978ea81e6f74dd2243ef1b89952634cd34f7d5401336614c66672116b2f535ba0cb10d59294c6d9c5ae224bb27f0b1e602318076449e6837f85c3a2686b7c3d7f38b0e99317fd58680da57e4c8ec0e30b7addff011febe30723742117690e1f8b07172b748b4213987b2a7cfcfbd3119b8483760b5807cf0ed919c213557c26ec9fc90693237b1c42509f9a04ae5089e37356a921cf42310957075d94f587cbe98d831b276924c19609923659e44769bf3f139d6bdd4bb037fca9f0a01dfaa4b4a43bd10974c1fac703d99e01e245eac3d5ca7796e0286cc29ecef61a5bca8057f6d043288da5d7de30a7c18027567a006055f03cd50567f35efa12ac0a869db139e641407dfeef08d8b107ead7c3306bcb8871e45013e51dcf054fb42ff3fad493892c69886fe7fe37edfe729d7367363aea78f02ee3cfbbf7827f554475d8f563e32609052ab02cb66e63f8825e2f9bfd9d53a632a5b752b50a0d4f02a57abc49ccb6151cb254fc2ba4e18ff25f315e0e3952434eea1180a4603a85b7d71209253aa93c72751089d5f5038e5fd606de57a826f5f4dd19440b6426c58d6d12dc88b8185853a484c5c5f6dc636e15bfbbed597e73c0c0e53b1fd154c3a4bfafd4cbf4e36946db1329048af6f8ced664f0fdc8903db0e3cc209012985357d1f565feb83856810cd008b007bc6291b3eca83e8b3adc822a736214c76411da0e0a9011d7f25039efba83d14c13456f28530501b9174d28ce235e441950ab51259276ab05694654c1b48e7418dee6287f2b43ed45287b6bc158eea79cde2981eed922190fe03cbb237f89021d06ce3df295e8e2b9107cfe6496a68026f577a061d8a8867f844af404caf5436da460b24f79c9399dcdea7c3078bb6f3d1011e24d00fc6ee4cbe60a27afc0a3ef13ba90d63736222d9ff322f5f4964c775e6f0b9d563e8e403b3ef34c4627e989b0b58670788cba87ba374436aba839e70e45728ea0c6d319ce09b6d35960659bcd4f97b65a335842003b7116e9ed42c69e4b75f4c304b9035bb4b8cc261dc02a1746a4e0b469bba7d90798b21527100d9bb2ea5d9d792b59b3a40144c07cf44b21485844cd49a4af43d09ce927b62cc1ed304014ddf841d3c28c0f23962737e31a33f03be96740229c4a6fc184525c6a3239b1a8d72114306db62043a08896691d0580fbee3978094cb5412216de8414c91154daa3cece23", 0x1000, 0x3, 0x0, 0x2, r2}, &(0x7f0000004b00)={0x0, 0x0, 0x0, 0x3, 0x9, 0xffffffffffffffff, &(0x7f0000004ac0)="afa86eafae844a833ae6e7d4fac9d9e3a7422345573068cc9b1a4936a41dd321ab05af6fe0cd3b3854dce1e76ee3ab", 0x2f, 0x1000, 0x0, 0x3}]) r4 = creat(&(0x7f0000000000)='./bus\x00', 0x0) r5 = syz_mount_image$nfs(&(0x7f0000000180)='nfs\x00', &(0x7f0000000200)='./bus\x00', 0x40, 0x4, &(0x7f00000014c0)=[{&(0x7f0000000240)="20896308224d1b05d4311e297a13ded9d565b122a1486874fbc12fb741aa08c8388c15f8dd90271357afbd44d479515c68f31efa2d044fbed915af09afc6721dc8e8c90871773164b1856195236dd685fedf00fd1e753228cfec9247125bef8d28c5963dbdb5335cf1b616ecb7fc24dc8b00978953292ebdae620add15fbecd2a236dff28b4dc38f7c7b5e88c56e0dd736e4b9f6e6addd6128ca9ccf3841d9cba9caa87ea41591365e5a8c565fa561364b40f915b1976d96d2b71a9bad67c8e62f1cf38ed013436842976e671ae9c472e8ff23534d0cc2254c6d", 0xda, 0x4}, {&(0x7f0000000340)="08e119250bf7a657f969893fc9cd6ea4302996aec149f889121a622e07809c310ba9eabbaa56694ff248bbdccf550c6b07f0f6403667144f1096b1951142e4ebebe64550456b9d300c4abc859616136a23b51982678741d782e6fb9ca2321a5b10ed0795975552f6a04e897d643894c4aebcaa8d1df0e88cbe61", 0x7a, 0x40}, {&(0x7f00000003c0)="cb734287df5db6868e14ade64ada04112fb76c0738e0aaa02ff4fd2e4fc07dc93928c0bbd10ae88ed76f6ebef65ad19a2af5c84403356376139f4b618d52f85226850210d00589a286519bf1c16a4d04cbab6d830ac3c014731ad804e5eec00fa1868bbcf32587bbf66c7f263a2b4572e19582d44b2d697cd3ca31e2d8120fb3722387d73e4d8dd5ac93c526b9be741da6812cf56183d7f0adfaeaac754a7e16a1c629ca0d7c433f45754314835c654a58e1f0809c51fbc7ff1df2a88bbe1106fab7986da1f17ffe872a3bbe6dccddd288eb3deb700992e01fb9b4211653", 0xde, 0x7fffffff}, {&(0x7f00000004c0)="781d90fbc76ced16f9e4b11949d9dc6275b9973e591d28b7dff7a822c519abe8db0eeba1da9fcd16012733e73d490f14f73097dde57260d3e1a256cbc4b6f5247e1a815066226ebaaacd88e69ad0801398554a8c37a7bf6243125b5a7aca64cb86e4e9244a408e5017c759aed2fd634d9bfe76dec3b657a80bb9ff085e3a21af771097f763057d781338cf44391efe039cb6e23f215c1a1ed1c0a525ff50aab62febe1a167c79209f6614f85afa1da1cc616865f6ef1623c183338b78b4feeda37950f3135ed6e5f30ad0f5cfb812817f1a70d5b723176eb365e9b4932170ab815b0c390daa7ae125f12bcdce5dbb7bc311101b1b5c74fe503de809294e4da92d1aaed2858513fea1a4effda32f99ae45d7f9d2d2dd215d7d2a43a1b683b21983f440ea4a9600d1ff8155ebd72d5b05d7eec51cf8cc58513664692d1184a93cc998e46aa4708287956492a97a2469df1c1214c9bac7610764f4222dbdd3a1f0991fc8dde51e56369f0600243e7392c5fd84ee923403ea06c1b8b0ae08e2fb4e9dcb0ab5c299eba69d7c32506403fe4c2de6b0dc647238246b23cf98b1543078cda0b25a0357c2db448c788ea2835b320c9ce37432eb9c0e4307c636055b52a7ca217b17720d93e6608c4a1bcc24e0f034d526d131624ad7e00b638cb502108e30d5e2634969e77e9cccbe170955f81878ce0e2a668edb76284829a941a32698d69c5d6286b743b6c8c840a75f418bcca40cb949a9da3cf558be077c9e8ae3cda29d2c3b2b18938602fb395bab8ba37e9985c37b72f67711319afaecc5f6355afe4a8280f3d59a3589b52847e4121dc73ec534268c09a74b52f38f210182475150e521c1407998d095a015b6cb4ba9d94c3293ae7fb799d43619983c75d9222076ec3efc3c30d54a2934f73472a9d44ab1a738d90cf89729c0b2e8ee9bd366463dc60bc74e8b6de2c133a23935b9657a0e224985c48f5de70c6a32102b48c003a04b2f38183bd0ad7ab892a355eb903c67b18f5752e78824a2007cc00f6e3fe8713e549d118949dc0b7d0fa72e94e24a59aef9d4890b0bc48a972f0e0c03f16b0726e81496dfaf6aec4d3074935f54f2fa3ef244519cdb1549fc43c96c5e2f2f35f50fcca870c02ff039a3d734b10c52e81372e35e428746ebecbfcc8d2c2724d995cec115fde79d126d68c93a8171f87c0e65aded78c3fa6361ce419621cb4ae1dd97b9bb900858e032e132509b209d295ac7f4ae71d705fae941cc4a7d552dcd8d1cde44709999558c057f59d0eefa0f4bf937c894820bbe926208b92bd69dd3a611dd598f703c8e636c6302f5a27268529fb68ebf82c2e6f361600ce7a9fe99c7002e942ac5fcfd1c9e7083ce1ecd888edd634bf24292562b56ab96512a2df7626751f13e8e15a0d450e0d3fdba6ddf221ab90f59ada4ffcb15b10b6f1dbffb0bf90d3c4be64040f325c1815745fdf7fa9b1b0032dde272a27345dff6072f1475566451f5834ba184080ffe4d5e53f46cd6313ef348b03b63c658e9554f4d38da86bc4d45b124139a03b9228544aff2d7c0255ff1641fe53c06aa6c611a4884c970fc55312f8cb2b4192d8311fe6f57ab173193f8956106f7bf8fbd3468c33a5585f31d31f7da013434fd47edfbfea390f88fd4cb91db245078cb659f2bdd4491dcfd1d52ca1bc0e6da462ad6f3055317cc9de700cac3201d846de54a5703678a23d02027802862fcba2caba6c0e6212d757fe63e0efc0695490459b5ee95b9c77b1994214c6bd75d5fd9456a9bebd5204b644a98685ed889b2fcb43a43f823dae959346d3c7ee8a2045b7a60e91be23481cd9c9a32e2ba8303411a516ae6492722b356d0d058ab0555d92160226ed0a3dcb94bda1a254c1e54077e3e25cf9258f9f7ca88cf543d4b0af4fddbaf98ec22bf0fc7590a3bbb32980fcd13e05bc6dafc5704ff6c505d15b0a9f9c1541487771dd29930466989068d757bb23134645777cfb26418859aaacef430c99750e6ad38e4359478d3c6c100b2297f12c59462621e7dcc68a4388d19a35ce79797ebba3fba65d14d3d8d9f286077e621d4e2fac1882def59bb06115fd50915e7806e2f8ec251f73d8b11b4b904aa00d48e734e0bc9e08fc754880c04a2e538afedd1a30f43be263d0afe395618f51c087f81e6fd94f3cac4e6b234fcb5f266bcbc4ab3817808c73013624a020133246f72e2e26325f85287200f4903970f292ee375268a7eb59973368401b0ec3a4b9e19d137f5cdf7d9efbb09acff3805289bf4e1bd020941783dbf2f430c16540b8b9aa4e53feb5bada95b3ed10429671301d84661e5fc89e2e1def2d06b809ff0e07889edeb6fd81c8be7fd81167bc2ca1635914a88b6b2fb2453e960f3a8498006c02b6d698629e6b89c7dca7a23376e1f159d5497b20fe1dc4de04f27861477201c516cb684eb956e0fe196bcbb72665579700a2c6570b35050a2b5a11d1961e911d5f4229bf449d13ecf56b1f0f295ff782f7bddd085826afba4f0d77a320115f47faea01c968831fde1d88f70ffe8215b875e74e495be9df50446a2d200497a14366e93b19f98ef93001c76bdb8041a909068525963f74e9dc5485d5d4cedbed8aae0401e9ff2054a83e3daf646c627734a1cac40565028c844bc99b3725910bfdfdb1646768de7165123ae76874d277dcf26a2cc758e9053ee42221e7ac1f95aff79153cdd6a4b8ce448b98cf0b26fb12c66973749e241c806519884a9f899b88e8b32533f724f519ef455e173f918e2e2da7d20df342273df05da473727b9e5e089abacb17c32396390e92147789bb7937f4f4fc5320ef7066f1c287db3aac9c0f7c9ded99948fafb71a9d1d6a0c2cfcf1ed858307d2d97ffc018db60056b83ea818a4b9cee26a378bea43451c998f1beaf6915fde3b5bf9d1a39076711cd044658e6a2d3ef799406542babf7f7c9d843b530e5b8cd240157c91110be8c828ddeac2242d93b5bc699c9fb3295fcdb908baa33fe34cd0d0383d9fcd0124f45a95a37b1900b1b46db0d31628c1a2f056b7351432f1da6a159606324e1aae6b01a50325cab1f0cbe9face1d9314799b57e7179e7cad65090cf8e9534e3c89ecc40e912248f0139ad4b750589adbd35fd8b65909483cb6d317ea4ab1ab9fd0f83bdd822c5d8de789f5144d32f315a48fff047d686358f934b3509cf21792227e125a58edf175c4119fc781ceadef283f93c0459ae7cd9fdfd325bff29f351ed60ee3d38a5024ee9199b6279e350398f2af8e882439a3d792c16e2a034b8ab81e5fa6e653444ab6be3a75649d5bb7dbc8b4d0e72be576624401c59a761351dd109afcc6651353f8a0be35809ca03a6be04a209bc7ca7c5342700b771442d43bbf15b4f2bc6ca8676cafedc135aecc843aaccf7cf2c575e99004b21a01372d584334bda1712e2b80d49b175d710ece5b5875082b28bb0a26d9a83e7fa4f162ef672606eb19887ccdbab14a3599b7bb9f002165d95527aef29f1f2081eb8fbf6ddf5cd567be70b11b2838292531191f7248d52e47aff4b676edc7d9376e1aa035393ef796d03639fcb102f7db34c222b81d90d8c3cb618f9ae19205e10a184d79c3c77c746bcddff295f8c36a1e0adec7ac053c8ba597446716ce8a13cc12a77f3650b82842ef5067fa28fa7cbc18c2137498969ada4f976aa52fa166272437f18865c34d85197f0af1f4b8df38947d5d090d8cea4ce81b25d220ba360e52a190241ef3393f81995fbd79fcf5ba5a5e6dcbdaffaa831b4be3c265819151ac20e8547f115de71f046c82d16af4d5c0b6aaf6c77010afccbbfec0e917a86f7df69784365fca4f564ec0e34345dd33ce502fa96fe0a92bfdd54c9df2efea039bdcaff996c5e1f255d962604ff237aaac32b0c39692ea99af4b1b30bf3f5c734cc88b74edd8531261e48160e796f7ca83943b8c215696137e9b4309a9ec4a2a714c0f7c2c22fa0cbb742a6f98e25e7be5ebac517a2185bca784b20980427515bedad702898868e8327fcd5d2b1bbd07e1b7367f3bcd218c9be9851a4bc5ed944e3a4126cef0848b5013a90a6db16f14174d768448ab5d3452b85fde16b3aa7f6eb2546bece0163b71d7acbe8848596b12eb9340b2a71872e3592b212ca3004145137dcd71c152efced10a1e37ca1eed0987e89d25663d435d81486e476be107269dc745f28ed52303c55bbcf56ab349aae8d6e2a4d12795ccaa9130efba5920070910445d629d15d36441fc8bb32498cf1f175cc913b7a6683e6a67126af46ed70575e480380318c52f1fb7471db06a42a820017c19010f1c87bd2a9f673ae82c72fb61920d701e8f4b55f453df8502e5104c30e2057822bbae14498f19cded3b52cb0926e1dff56ec2aceb32a5748e343022ac30d1375c9ea96c9536628ad7a717f07576d19e57c6989b871226faafb70757d2fe92bce61bebf43b104ebb886190103d00bd162b14444e57a281d2b45e355f5aa87886ae7fd8ed7a499c146c129121e4f9dbe907c34a53541ba9601803598715640b9ba286387739bf9ef14324fa104e6072eb56c368733c2627a4758584a7d5d1dddabe3e28977c772c7806eb3b0cf5d5de11a92e2c680a2ce575b47e75d4ea4407e5b960b727a77d1c05d0b9b874966e27fad6aad5c13bd2073fb52582fb3d5490e8cfd3c3ef09cff08c2e60d92c56614769575edc6a016f7c9b09395c1c6a423b386df3dce948e33ee321df950ae3f5c3f8cdfc1d0f643cc6c37a20eb16629b117b8f4189f36c2a8f19c157c0a4108584e49841200a542b2e2d0d6be3a312cb0ce51df309a145745d506bfbc78483f4f99e775b455a8d1d6ecaa0730ee18a5f857abeafc64ecf9a1796908f3538e9e21060b92d4d35189506a3f62349105db21a6785f148659f1a083daf52457f5605e897ecb53043e4ea2fb208909a7f58fabea73e0f22478af0d1a71227daf094b5e8194c95eae720c4d1988af27f7bbf9ced50f4025a4d94ae2c26bac7fb4346ab97f6b48a6bd55f719b090f58a2559afdab6b5758f24309a7b30e6652ecc7eecc2ab4eb942f80e574833a361637bbd12888dc3601ef0d59bbc89ca31249a179ccdf510cd235d975fc08d7b241f6f1d4f6ad6a600c678522ce31359b7f96cf969a9e2a41be60413a89dbf95b6977c120298694011fff4aa9bb66165a806744361f3b2b756848fef524fa60367c48f867896c1c5926708feaa7eb5c05f23f17086c3e7be8805cb181750fa6cbc0b2e269bb196dff629ae26c7b20dd4a0d14be872f51712e1d8cd077c614b7f4b6aa177de8c2cfb2d7aa6c5333a5b71499a1d8801611eabb835d7ae90bc28505488634980c3b969924836530bcd83dab1c1363749a86f5143e56af693d0f442a144e11a75247397ded02a495fd63df2d0968f0b60de8012fbfcc2f69304b2994eafac199cca7e8f2142cabf712ec8a2571232d91af39310b6269fa393e317c1b18e734e681b298b2c4f9dc569102d9906ab58d5ffbf0841435cea258290ee65a1d7bd42427826dfe05ae6a102b16095a3496ce226892ddf2de8a00b926566f50b69cd1877158a91e525291e233071b3fcb862bed2b813a187736d4ccb16b657cf009a1b219e8cdbc7273c9dc108ed1fd8b65c367ed9fb1ae206cee0e9aa82d492db0268a94146e6437bed145d4167fb3bc3b2e0c77873a2bf832388ac1fd462b227a2c370690cf9a82d12d1501a252153b807016a86d", 0xfe0}], 0x4000, &(0x7f0000001540)={[{',![+^\'\xf3\\\xc9\'{((\\\''}], [{@appraise_type='appraise_type=imasig'}, {@uid_eq={'uid', 0x3d, 0xffffffffffffffff}}, {@uid_gt={'uid>', 0xee00}}]}) fcntl$setlease(r5, 0x400, 0x1) ioctl$FS_IOC_SETFLAGS(r4, 0x40086602, &(0x7f0000000040)) creat(0x0, 0x0) lseek(r2, 0x7ffffc, 0x0) write$binfmt_elf64(r2, &(0x7f00000002c0)=ANY=[], 0x1a0) r6 = getuid() syz_mount_image$nfs(&(0x7f0000000080)='nfs\x00', &(0x7f00000000c0)='./bus\x00', 0x7ff, 0x6, &(0x7f0000003840)=[{&(0x7f00000015c0)="82bc1eed11fe0895628787a2d5a4dbdde3b1ecf37b4f8b0cda3ec6f172114e8b4529e1efd0b391129b83cb7ddbcfd9304fc0f8b18dab4f46a8c193888ec22ec26249ff68c43fa24efdc131135e11824beb89a8db682661cb6a1666ad86858126a0e5f53218e03164306a186dde04dd7a72304262449e941381549180c04f818c7898e81fbe44afaf700dab1112ad5b75ac93b5199bc6c46481ddb43429d77ae5a2d95542f228194f3d118279e91b3b25be3209db0a67f7b05d1bbda48a15c9fc0e72dc5d664870b596f57eaa8da4efffdf056ab0705bd83becef1e2cb0b71fe6251fd98939c44bee02f59640c0f74fb6fd59b8", 0xf3, 0x759}, {&(0x7f00000016c0)="7929bd8692e682e58a7694f08ca697a1bf01e101974fbf9cf8a1ca79ad784e4ff019cc03859976db70c55d5ffac817be25cb8e2f51b207bba0de5239b26470ca1214a4a9c94f6932874c07174b30d54223471e942a9c31182728cd4e376c10f7f64a102156c5496f1bd3a758d61a131872abd2d1a7016cf542cc4ae8beedd5a90f525c006d4b12a2e6b808ec6a361a79fd33ccb2a9c8bc9bd7f360e7bac48f9fd69019d260f7856cc790774d06360ad4fe13deec401e8bb22b2a3ec7414343248b9d13dbe0a49c541dd61f2cc673b6591821", 0xd2}, {&(0x7f00000017c0)="b6965e39ef07a887791e1a4cd017b28a71d2f96e159fc73eb1e30034c2297fa6763e954e8fc1bdbf0e13f54755a9d5f04d2522ddc436f20e54de38c6023b010f187c9b5b64f956b134442e74703a4e6f3389dee5e47a5b0a66f0ad9ad36ead36539ec5368612b203", 0x68, 0x2}, {&(0x7f0000001840)="5609bfef06a4d06436469f86727e7f11d951c92cc44f9cdcd017cadab217ae2f21bc8a55d6d941b4d3d32dc20e4a4199fa28aee61ec88d2567fef0fbb296d11f865568ceb33bc9a5823fa11df81fd8bdf12d61c97ff2c4dda7c09516b2118cfb3d26f02218cd23a122227ba27a3c5fabce93fb8eb3b4bd8f5624b4c3e172366ce48f5aa9e0ae224802050f441e43e93ae9315773be463406dba59ad4d9a7fcc4661826a30a4b01b403fc25b2d0666cdd77eef2afada33e76422453bc5576b45299f6b44f18c878ddf8e4cc46ff236010cda1aa41df824e4bbc0b62501424698472c4ae721a05f19e45b1134a9825e19626ab2079fd1295327bf08b0f86230c32f82456945c76460a01ba3b56b3dafcfe02ce58ecff6f764a8ef4cd316cf5630a876e4155d25cf05cdeb119622a72b3a7d1eb3538cd242932cea0d7b25c8426b25e5787a8ae3587b2f0f62d42aeba5272fed98e1a322306dbba27e96a6c6251600af944acfa5535e825c655bfb3e32ab3240b74278e28c51aeb3243d268c4ab7b7f75ebd2a9c7cd2f3a28f65bc44e6879382f771896b658319a5e057d8f30e5cff2f11dc1a9d8bf3139a857439c9643d4b7c600e1689aead8451dcf86a955d2346eef3cf9e6b7783c8a201094dae129e07cd8bdf5935bed037a0cc0adeb9b787ee7edcd70b496dc676cf8fceb8f94dbd23a0823e86121ad781763cc601aafd86b07f9a48e8f9cdad4e35ef1bfd2b0a3b2a936baa5241d34051814b083ac5cafed4b28f136b13562859e6c2d9434a8f67322040a9db9ccb2a29023df8ed364c023da5bca1b1c487f3398bf4d7186ca315c06fd1dbd2ec0e78af1edf19bccfa44a87cbdc895bf03883d2259ad5be8eb732ab2d32508fb97310500efa107d661134b70af614a01d0dd99ed19f5521ca95da6a32d5b099a36ec352d2b24a9f1966defcea0fd2b54605bda713b7bfe9c68eed7fc54bb9db46eb667f2cebf0a55299181faa7e819af8c3b0cfac0bf49c30801a0c7697defaea347ce613ee3f207114e0d70d7819ea3b5a4ef098a50def0d4d661af3f608cb7e89cb70d06ccd5928c5841eb60ab2e3363d6b1753d169cc6878d4f5afaa95232cd121cf8371a473686023da85d86d26e9cfb2ceae55bafa60d6d7d8ff669d1b800801e9101bc41b89d2c6837d07724a2ab6af753a36d77b3b4fbe7cefad4c72db27afa2424cfd39592fd2a805c92793475cae9452c44a475c9f94776d4aac804364e1631f08b19504cf6fb98f329f865ecf310b61951cb798a08e437a6e72f6e2b03ab39c5cc51d6425bbcfe2bd50a3f21e8dd2b5a6ed26443096cc85dbb2f4e5b3c15015aa6e860edc8f9d04100b6f2ea56db2d478e72ed7fddb68c6ecf774275a6273f3e93270d6e838016b23b26b77cd382f75799a840708a863de8ef1754fce73e4e0f07e00ed6a4c953cd010a65761ad6606549696bd5601007eb4214c81d3b1bce44c3bff299bbfb3e96f38f0aaa0a9d3c09ccf5285f677f156652192e5ba07639aa92464b1e8b546a5c671d679468ec168dec4cd6937066705bb8d9465024815b200388278b2002e07389636307865e5915e4a1843945a7613b02b697687be2fef5aff10125b7446f670a5cfd66bcec825e84bfc247bf1800a291e3c4178e843396a825303aade34001c10477ee5e9b6a8636521c089e61b91be804ca27acdacb1cf63acda8eb852a91f37a33d6995e6fafb68ed4d4177bccf54afb4d24ef56cbce4f65d401ca4d65eeb9d1471f0e94413491afd06b1527ad72bcd65ca3b100ad1c008b3fae5f59273a134377b0d7587aca0da348fdada11d0e6bb5791bde0da51f6f9e92fd565bb8f005f1a0042a36dc8e8e86c8f33a8364bc86a23351796cdc20fcd306766dd7569604f6cfd34aaa008988831b22803a94cbe91e06044c75f2e3637ed82fd45bc71c89ec3c1d0199be72bcca0fb4db7afc89c5bb3176237f95735c1a288676ee04e80e7052939565c859a556fe6ea3463bd939c35c7e854ded3fa03c5deeaff7e977c7338e2f0fe227a00e5cd92b217cde14c8eeb6f2e983c03a5acce51a331fbe4c951c799410f1060fc16b03c7f0625ad55af8b181edcb4efac907dbcacfb06ef6eeafe74134a6701d9ac9efdde601f34c1d28fc4acb47590d8667f12c271352837cfcf84581dd5b1bef65ce481b28b6e36a619fb3c5d9b320b26e9111f67de21dc45e9fcff70b5433925d1e70b4e3ca88684766472b69756fb59bf54c745036a0e23e1e07d370c375c93d4391fdaac045ae58f2b61199b90869975ac0ebd30795d64e9520daacda3c4dcf54393fdc470930510a7838d0de8231af63cbb01a11f019cf653c135f89626885798f058c5457023dcbf309ce105ba0f17589c30da3a2f7a057c46b9cdbda8b77d0cd552052a1500e84b2b16b022b2936e7f92d01ef67782cf63c504298a4dbde062ac1955bc0022d85f5770fe7b601c291ba0c5fca6531575f6d6e6f29d2ba8b4f9be3cf53ffd9b3c676c5683c1842ca039dc12603b55094165be636ce905fa370908de12f3b874724a51f4cf95156bd0dbace45baaa5e9d38381235886aaf8742a88cc3732d1912828f26c3daa498675ee9be19d18359af6774db6d9e061f86060b7321c3f3773ee2d007818dc40108eca3ea25e4d3892608ca0f8c63c7abb295086208e2724b4f69732d7fcb4adbe0cdab94f7cd4cfad15534af155e6c09faa29d4e15d698924d21dea9ef8085356ffce7675b22594dd110169d0a5799dfbc13f6c358d98cc1fda4a3395e803e5964a6a4291c3ddb8d8d2b854c70ddbff638eac3742a8ab423aaa319bce6b6f5be03647c18c67d693055c01a5a40688c0dff313401473903288dd6e4ba5bafca0f187afe92cc471b3368e2d659ed094b741bf624199f3bcca3068600dea670285d45bea4b04c2dc55801dc3497265cbabd5984fe1d291a14a20f1f2603613051728b521159fbba62dc0153b73697e0746d884445ebb166efab56fa33bc347a256e10b22e1fc6a540ef6f8463ad639d7d29cf5007cba1094e3528dacea3c3ad16353cc38b854526a7d0eb1f617f82b35ea7f950818f5e7f35946118819e24841408ff4617ee85b5b8d6b154f54f6c6549c37900fa9127a1d0b1408822af5712c130397dfecacbedb0da561e7e50149acd0ead9de68170266d2d970664562bf20f6e5a049bdd861aa38488e7b77945481f7b38936a086d1d7fa6fc48cae86b9b097d8288f542a4ea30a48051418196363b42dfe6d01fe46d9829b71b94415b1832815c1523250807b4f99a43d743774b4c07636f80390c0c2ff2ddf654447edd5d7d4e14905ee88e4c6c017c8d962d34ebddc12635e1adfb9316a377182072af233e7125056bee67b684c2b1e1698ac5dac8dfa1400f4f012c871414a3afa7b5f33a378a1f4d854c67ec6e60ec042b2e5c9d77e54f4ff9723fb9537a462459264bc505e20e9a61e1d9e5fbd6f3ef3d2ba39a0f0aba38b2782df7b8815c77dd316651af1deb2076fb2af7ba0a97ae131ebe73c541df07ac3e38ff44ca4cfe1b5e75aedb5931de4ebd213f83ccb679b497fc0911f753b0b31facf0a66790a7facb7e8f771ffbc52bc66b51b612e6d440047ac591784c4d1b30ab2e48248b9f01d58f9fe9840fed5cc0fb26553d68041f1b0f6b6c1f894eb0bd2a5e9cb4ffbdfa6c094f6ce08846b7753d85b3f85194ac0bea5cae8215d897ebb7d942e637e945f7430358c0b80128c82efcf879d00529be243f35953fa5a7bb0bbd0bc29088dab3221f8783528c3c14592e6349abc90b61734dbe35a748689aee770b94634e347da0e8ef893f4a095c4e400d0bb0dd05cd94d40a4bcdc001508c30df2e9228696299b44d3d2a80def2689c7c1b2ebf145a5b36a2b7e98d29c53052d189ae5b5b2953fb3751c7242d530f231fa649ceb17a066ffe5de8905e83518257056adbfec8a0fc5028e6d8666cf55d449bb7fd0c438ef88f72b12266fc78acd9d9c23de70234b4428f42173acc0b024cc774a03acfe33d3dcf058013caee932cb99393f62f8a696f07fd10685342b346532e450619e842e3d6e8f564371c39ce7de0bd2fb6886de5a4c4b9c2c790372b8368cd1f813a23e928e09d6fc1f2e6188cbb2c1e5b3f815458bb48ac5bb4a501e20507d326ba858f07bd5e996c073725b78d2aa669dfc1624f938fd7b406f0f4992a90821f5b620e256bec459d72f2b7252b238d280c05fa10b6bc27b7d44ee2c1981ced432b78568d4c79820b797cb11fcbd575089493c0c1056ed991b19eb3be8dd989b8c7cbe186a1c1966c0d629e65caa2f5fd3f0b510df8497137694c584af4a706a263af070a6198519364aedfa112942f73953e157b92271e91f332b77187d55ba576faf52297ef5673cc50cd98c590ffaf7ebf966fad543e3409715fe333482bf3389c61c3b7b12f1544e81bd6fa281084a86062de9c14bbcf88d34cb45121c1aa7c19e632f1e0ea6ef5d85bb62369a2af2123a7f9153c5e6be748238091db482dc7aba1dea76b05d7b9505900a0ff74dd762665174d74d4d6f1ba2f774b393591c58e4477282b7b8e8e48d72b826f88c623b323c62694b5749a6b6c882b54e1b167419b3ab55d773275e011724972cf0f63b2fca91a898ddb39dcc55de9d737e85653c8680a6d09c808bd33170cc2572aa1b65520d1aa1de5ad1a6d4e42d0708ad249561fcef99afe67497bea735d0aa056b0ec318b408bb930e0ca0d6127ef8aaa37f5fe09bced4ee4c5bc65cce3feafa1ad4cbc46c4436596ebf61667760a051f7c1c7fff0bd88fb76076cabe3111cbef89c5479c1d1d25728984d2d4076b9e7c38d214010310337c61ac0ef23823f65ebfa9294a2cacf57142a0cf575d3986ec5ef2ad7a29074cfe1402b713880ad29637b29eef0fbf478a00a38745a6195d1f59fd4e0cb1abf110bf3710347bf0befeab320931eaf30bc6b9cc3ff9a2f1c2e90cdc03649655a85ab2f828b549b02132bc9a578262b82bd876c2177a1c998a94f2b9b907b4f695135f945287904016aab8a35cf8e1220fb8fc575da88ee1b28dafdbc00d164890d765409972d0f87c90cc590ddbf5b16f4d4a0a130760a13519ad3e39aa0d4b0436e1ff96e3d62f841d6af9fb6de24d9fed97834a3f569cc57b8234ed7edc3151c73551c0b95d744910708a15c9714341dc0fab6b71c5d4757af69427e0edb181d3512a9767037a00dd92b4643c1f94046633d234e34ede9af154e14018a09f78453eda655f560db74683cda001b85e10bd5df735003f7b436ef8fa6a4f1e240330a5d69daf562ac2bd82379962c78134c45c748931f5266cd7e4dd23ea1b59e8e42170f0a99c5112e69106f240c2013cf17e328903fd7778ccd49b41c2873a727b31776217effa0fb0fa09062ddc8ae74f42d6e08cbd2106a4ef2fcb887370b0579028d9cd30550466b0760254c38ae2fb44ed6cee538160bd2c060f6b5328264f5ebc5386d76f05e7155659c238e984e1fb3fe96d1bbe85d7e6d3046876aa565c20ae900c96803d7cd0a305989cc1de6c3583939129e746936790580e636fab8a57fa1ec97c652a25672720676ca7e1629e5f8bbe568d2438d390bd20296d78c923999f18e2fd7f473d1127055c0536643c5442dc6a5b2c346302cdacd94815713427b567120a6acc343f97876d43978cb478aaa41bf4a7fb8f96399d73fbfd95716b66c255eb852b810e274f9711ca2b84f1c74de3223d70d83e811b470fff51f33646110dd00eaf7f728a5081cf", 0x1000, 0x3}, {&(0x7f0000000140)="4c1a69ae4816b8d9cd9ba786520a5b7c7b20b1d7f961b67b7f366924d0227cbef33e1142b3da98aa6ce595f46ca3b69f", 0x30, 0xff}, {&(0x7f0000002840)="009d117537701f6104f7a1ce5e0db8cdfde4754ec779ad31693e7b43cbe58b856353b47e561eee490dec5891b01be12c9944accef56489a57712ed756c4ebfd2bdf5946b027f6ab17fd864a1d22db270ddc362344361eedaab8f32cefea06ec85b104c6dd8f5b4a878027b2b8f0337adcd6bb5fd0e9f50b46c9dbf78cb3eef1b24251d9f997b3b878561605b208439ef17e9b64bdfae1f1cd239aff4d3583277623168a54fb4a0f0dcd90cc127c7ef10570806ea511d5b9b69c03e7940397a58cc5d482936868c503f06aae9c2a87585ff6b49bd691333f3099ca147abdd3a0d92f81c1084ff82e952058efae37d0f646458da1479becdd0d9d01834f39d99e75d63c87d6fa02d174189b8994610ac96fa3214748d266a2f12fe01a8fc3a98a01d3fba55db849bb3d6586d46cb3f563bddf47b8d4b8773f3afbd625be674a6c328de3119bd49e6ea63a319fde0bf77e6221bb2e8f1d9ef7099942fbd640b173752d9024ba15e2073b291623636744ac4257cbedc7a6f75f22549a581c32bc5161902ef498e37869747d32d18872eae9ba57c203c6815e066aded8880c28c2c1a51b648420a363b4455a5c96d15fcc6aa4185cb07bd31b220381aea34c783cc2574935d48c7bc7887cfccc20c251a818fc90185fe914890f71d734641712fec0c11b4e3f4628508daee9933dae51ed937a3036383d2daeb0715d413b64a7b8fda8fe94aa1625ce10a41b20e99503bac993850990e8e7d713cc7c1fb42e9c7df710919ecd17dbe728498c0461760d5083348a492c4b157ffbb64ae52cffd46bf8ca502c49d090a7bb205f1713df390e08b591c4ad5cf5cbe9b07bb27a26f043d78833491e959113bf3673a638dca1cd9141bc828cac54f908ab22dd52e1cc2faae17d9fa15fb68b883df7eda559ca4575f5ac6d1e5ad18ddfeaa3549996647016b903ae722bbd3c7603f118e5bae74fd09ddb3ea8ca3f811e6d48773c80d83c521bb8ef3a4fd72da2b22b4457a38fe31999129916be71770e4258f448e4a1535a6b5e7a11f79cdd016597ece67c6aa1f04f5c800c3a281a1da139e8d063217963b690ca9b23773cac8e021963a7d3a8be6e395d39cbebdf74acb802b4fd3cb9379f6817ad0941bceb04271aabeeb5f4ddfdc53d655e4b1b17c213a08f2f59be39a2b64b417c4334152c1f3a9364c0daa23e580163e5cd7db55821d2665da8d773def2199ba76fd740024c0546db21b9b37aa97a81f0fc3414df169e35fc862bdf654d51e034e600267e31f74a06d72fed8a39367459d6f5c674142d9c0c943687f3d8cdf8f2e930240a2c3322959de2d23874222d9fcaa4361f46ecef266c6ab50e3e0ff8ceac46cc37836bdaa3c5848ea9d796b6d1372640074c73509a5fe144a9c80731fa36eafb8b852a7cbbdf9b0da22d5230a355a347d04e1fe90f4f2c570ba3e0a0afadec6f67fdd0ba202f8c1d8c1341467e4ea9402e2cb565dbe4a5f007a41dd9a583645c7168e8c5169545b5d7a7c800c192513eb2389b31cedd76b5e93bf4838daec8ba0155514ed10cfd2879e8fe787f1b03b5626d4aaf3b1dbe7390c2f21799a3de11c0891b777a08627b08e89302837e7393bc11f023d35928da551966926dd8248da0d38804435d095069ae69acf5b4e1c671535ee71e72cffa4da6731714f18226159b27fcd50aacfc19c8861afebed2e0afbc966a22e9656b157192c7bea379eab9b57fc980f3fdbc7180babc4db7a4e1ef14d64da6c370660c4978f67d6ccf6447e4f1dd1aefd5d6e116e652037816d59ed01ec0e12bf65401409f8dfddfcba738e923dad05f1fba324a4caad020bc59a7ef3a51826c71a7c66b4d911d9bf15b7b628458e5befe4f12a0badc5b2c81a6a565b1cd7669efb10451b9bf9d9e93c6c69f2f079c70ddb61269483ebba7cc69f3ea25b4604a70a3c9347411ffabc791c78bc0f282e3dc2cbcee0cbdf369288ad9d34e08a4334ff1e310959c44405987cad6cdded9d827169f928ec4dd78eff6a14162a76df196bc16a4ffe5f039ca1dd5bbe6b3b7f914fe424f1a58d482a6da47f80175a5bc8e7bee23542d7ac60ee52ca4f3618becace014900383c3f2c8590147eb7c4facd362f9c360ffa25dde1313e66eed24c6a0fa9f32bdd2cd632343786580fe715167d9bfaf1fd94b43ac10f1d202b45ec40e2ed8337e2f48a215dafe25c85a474b142df842431b5726ecf3dd13b9de2706fb2b7f6d122ec843ebf8a7eeb31eb8c703a81719d2b50336180d3bcfe27d9d116791de66825d0540e67404e6883e46b8d7e96a0319e7dca8072467d49455e3fc67fcc71a7ae260a8fbf5ce7ce1acd728d3d3c0cac7b23167b5a9f3b2a854adf9e917a9ab11573ea58f0bc056089cbc508e105294260c63a632f14bf28033b45b2a0095052d6f0103ef3c8b205b21d1666cb5c13456a40cb2a47753636f8b8e182797647125e7abfe59baf72cc8d6bab4b702097b22616bf880693c995c3ec9590d3d01637066a484145f7672dd7d5fe4c0fea11249c2c45f9948eea05266091e4d819245ba0e982e344bdd983c35adc42f13a06b0b3cd2c29cdf906dff594e44f785aeb2fe80c30c08dc18b36160a1977cf764f8638f8b97a823ed99cbde0e9eade4befd6be62d1a1bb6ed4a90c399936578e26de4803cd0f82f6d38c1588d66730a23b6bdfa1898f1bf03922626c265943e6814ab988e51f4676842d5c76bc577e6748b9712eec31e5b1fa5802ece9daafd79635abee5d27c459aef5da50d8a16a0899ac2d1b4200026db71a6f07e34fee34509272d1ac895b6b85c12de05ad8329a3cdf25a1d353d7e5a916c13bece0a0ab7fa1d7a27f5762491c50ba2aee1db469488300fea5bef21aa9f40ba20500513e1f15970a06ea1ea0b5d26856674d3033dbb6b2e557b29e140e0160812979a3bb4f66334d4970350e0d109b8124ab433b3b3fecf2f9b1b9e278bea4ef621a7f1591fa290dea11f2cb27790863752920c2a22cb20f2bedb10896e983d3f66685d93ded6b729c93b0d88fffeff87a7b23dbc509d3d3252bbe645258308a3a1847b4c66c20511059cdec2cd705d2dbd9113ab7a3373dc7a5aac462b618e8e6f7d9f005730aa58f6d04a2af2132d30263f89540bb0600fdc46713c232d945dd57380a39382af89cb5477fb7fd79aece631c5fdcffb97c606ce542399f8fa06e98153e47b8033b1d2df2130f2f61a1d97e5b3b5d9414c2fa701367a9a51c8033cf22ddaca94a3a61d4d3b242ac2f5054a50aa290f605a749fab2d1a567ef7ebd33aa447846f77d0f9f28d44b06ba4104a2efeaceade1f233e420a8db9b7c47cc94cbdbed6256ac7b004582773baa398035eb964c9764724e2f0959f8ff4f06af841332e73f59f709c07c9b0ebc4915b7cf80aa34ded6ed55e1518a5b525acb3b6cb62a8c78d7fffcf224c54348ed14dab27232e4af7850129d1a582242e11e49aa4f60c0f09cf0b749e38361209602d2c442c9c7c4d6dc464bdbd84cbb5bcb095af11f7488bfd40f7fba3a9fd8bab0ad0efa737518d9b387b7a680a219699f0811499daa95879f9ca6e26a7096154bf8ed005df8b8e6ef6c02dfed6b111b4a7b8855f171088372e9bfcac25d84f6f5229ed7bc8ad9c48d3b64418acdb1b413a042d95a3402c7b231a4653792d2484a57efcde7239de8cad1e784d2eb0c42a722a54d6f8ca64f6149952d3cf996c66a6481fe135fed60fb6a6e1aee7683ddb03ad2730babe4a26b5c6dcfbe2c6056b654dfb7efe89924b1aaa7d48a9d6e3e738e5a8acf11682b1f5d8bef5e9af7d47e767ea7f26a786bd1b1b5d49d83e7384f2f5ac7042c0dbd6262046841d22aa557486a6cf18d7300c7de6952796de4f38d69589e80b632367370f7236bd83bb4d5462d36b729475ce4ffcee30d93cf62f4c8f4c2c0df966aea0c54a4d358a7ec4479194c0041e1d24e44466b4421887efb43d1dd05d1025e765c70a58e0e9de41ead731e95ad7709803651d28cf436cad44c5aa810f5b4d2604282e4f88846608376bda2b55aed7f271e17e79ed72172b6e26c2e149f27d905f8c4fa93014cad1b267de1aa04a1684ad15dfcd7e21517f939865faabca928c2cf3d205c9ba6d3325645740401b18beb650f3e74261cdf14e9fe243035df163450d37b1f9158b043167e45597df25a5e047e34cbf9163ea113415a9554c024e7d1f6384cd82e21b8851af0149c90800b916b5e6141213055db5b9c5330e76b09885a056136b7faab5de902d35e8c1f8c54c1817ebd3207ef42fd58c230004758d72394275581e43da73b26a77057e67c8727adc61639c636efc87a0cf1ddd28a9827cacc64b88b51c0859aa4c9a8dfa5c13849f14a6968ee789e92921e6c4c18fff18c7264afe777e246cd1e29ce685918e9028612f1e66994bf5a4d4be18d1bce00815735ec6d6aa3e2ca26cd85174508d7b165a51c9629a47c6e52b3881352099c1f595cd80b3a981043ea848036632611c8ed0e50b974752f9fa907c963bc8fca46d1476f663604b7e547ce1da9e81bd4a5662bd4ffd2e964edd2ffcd53a4f332ba2d62bf80a2221255b983b5bb8f55ebe5aecfb6de5c8af8269cf83efcdc79602a8ac297d78534934a85ec559815b05ce5a2d0752a8805e7b9133b89ab7d18441f1b7692b17e6ee9efc23b9cd2f80eacc0180f8dd013976f3f53b52dba4881f0687ff1bb900ea15bba0780f2a5b0f3eba137b15846f4aa5e0651d6001b4f9ce4a3212dff3faf1baf56bbda7a514be7e3fe1f42c7a3af6ca507acb493b975aebcbc5a2efe365f82e1c09b2e1d30d1613945a3e0b3e8b03c81e89b292cfb74b6ad66bf03893b449dc3121bcabc094aa3dc28139026ad57944021389f56e179e50a0a50346fd32f3117e5fa9786f081d476691ef3ba2549a232cb846fa722a2ac1668a7b3d9f0264fca0ff17368172402ef099c4379b9ba2982bd1163ab778bcd76488055a3e834a1fffc274d842a61ebb8d551a7a1abc18358c380650389e8e92c7b77fb80b840064b41370696e7b0fb4d0f1932b433c5c0c97e44836083a4ee46f999463146552e8883dce335394bb4e051aaa022116c6a3dafebeeebfc2d0bf84dd7eeab03a3ddad3264ddf68d6f101e63615435ee81ad737187bc21d3296e7b0b54a026044beb924c77049b0f409c5b83d294f5342528fdedb27900a7c9f82c06aa5c6b05a936d625b24308d1bcacff9fb0296b78b3e33055318816d5093b2f4e8dc3779d8f9d625f4a0707b0fa62e8911c421bd868ef8c6431dc24a1be8256ce9e0a6125c92b6d59990a86ec2b795d7c0dc44a0394a2be1cc27987ba20c1214966754eb351cb6d6c41929a0e9e9c956457d00e185d6441a803f0b041b92c32891cc00dd7af7869a0919e0feba5bd8e93a74bfa52a2a5f31d4004593adbe2b67b71d9b35756d7158201f93fefd890d4f5c94f258dd14e54247c1adf12b3acde6a144178a74500b5c39c408701ac89f19b1d4d1934098b97c16dee8974a6b3303ad9f406b35d6b9c36ad238f19e1d52f931ae2713a9bba2be501a5bee3913105db748e2504d581e2056da41eb19bb59a63b702a25fb0083d27fcb25f576da15021cdaf691a946339ec2fabd961bdec394e905467270935a50f14ddc07c5fb71e43c01b787b5b49af27934e0df503f8c7f9ae52f311614a140883c505faa3d8e01d7f97ff8ea057b4d9e67f82d15efce935d98c22a54892eca50b987413f3a9a7e698c6a43e49754a3c3f8ae132153096507dd7e6567ae244ee10", 0x1000, 0x76b4}], 0x800010, &(0x7f0000003900)={[{'uid'}, {'appraise_type=imasig'}, {',![+^\'\xf3\\\xc9\'{((\\\''}, {'#)-:&&..\'\'\''}, {'\xa0\xea&\x06,$'}], [{@func={'func', 0x3d, 'CREDS_CHECK'}}, {@euid_gt={'euid>', r6}}, {@fowner_gt={'fowner>', 0xee00}}]}) lseek(r1, 0x0, 0x3) 16:01:24 executing program 4: r0 = openat(0xffffffffffffffff, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r0, 0x0) preadv(r0, &(0x7f0000000280), 0x18, 0xd9f, 0x0) r1 = openat$zero(0xffffffffffffff9c, &(0x7f0000001c00)='/dev/zero\x00', 0x0, 0x0) readv(r1, &(0x7f0000000ac0)=[{0x0}, {0x0}, {&(0x7f0000000380)=""/74, 0x200003ca}], 0x3) 16:01:24 executing program 0: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000000100)=@setlink={0x20, 0x69, 0x1}, 0x20}}, 0x0) 16:01:24 executing program 5: prctl$PR_SET_PTRACER(0x59616d61, 0xffffffffffffffff) clone(0x100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r0 = gettid() wait4(0x0, 0x0, 0x80000002, 0x0) vmsplice(0xffffffffffffffff, &(0x7f00000000c0)=[{0x0}, {0x0}, {0x0}, {&(0x7f0000000480)="66530700ae897094e71b0fa1f147a8378f364602812c66538d750f6ee1d001f43f0500bb9fb045f2d1eaa302ab6c2fef2308003ea1315b9532f3af2f5e153eb78020fa00eb298802d8f6c1f3b18d6d352507f7018b31a53bad1ec3533c791a753a1fef2c560001000000000000fb8005128e7e4d939955f8ac396203784000400f573fbf000000000000000761f35e959f130dec95128ce7ec033dc0a380543bfc99320be1c1bb99bb063fb66f2d696569eada31b09fd215f0332701d9d14a3f9209d666578cc0266bce7860eaaf305a0ee2af0f82dfefd5e00d421b000000000000000000000000000000730428fde6136b8e97c32a5528", 0xf8}], 0x4, 0x0) ptrace$setopts(0x4206, r0, 0x0, 0x5) tkill(r0, 0x1e) ptrace$cont(0x18, r0, 0x0, 0x0) sendmsg$inet(0xffffffffffffffff, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)=[{&(0x7f0000000080)="4dc3", 0x2}], 0x1}, 0x0) ptrace$setregs(0xd, r0, 0x0, &(0x7f0000000080)) exit_group(0x0) 16:01:24 executing program 3: r0 = socket$inet6(0xa, 0x2, 0x0) connect$inet6(r0, &(0x7f0000000080)={0xa, 0x1000000000004e24, 0x0, @ipv4={[], [], @loopback}}, 0x1c) sendmmsg$inet(r0, &(0x7f0000008b40)=[{{0x0, 0x0, 0x0, 0x0, &(0x7f00000011c0)=[@ip_tos_u8={{0x11, 0x0, 0x2}}], 0x18}}], 0x1, 0x0) 16:01:25 executing program 0: socket$kcm(0x29, 0x5, 0x0) r0 = syz_open_procfs(0x0, &(0x7f0000000000)='net/kcm\x00') preadv(r0, &(0x7f0000000500)=[{&(0x7f00000001c0)=""/222, 0xde}], 0x1, 0x12, 0x0) 16:01:25 executing program 4: preadv(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c44, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg(0xffffffffffffffff, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000100)=[{&(0x7f0000000040)="2f0000001c0005c5ffffff000d000000020000000b000000ec0079c9130001", 0xfed3}], 0x1}, 0x0) sendmsg(0xffffffffffffffff, &(0x7f0000000180)={0x0, 0xff, &(0x7f0000000080)=[{&(0x7f0000000040)="2f0000001c0005c5ffffff080d0000000200001f01000000190102", 0x1cb}], 0x1}, 0x0) recvmsg(0xffffffffffffffff, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000600)=[{&(0x7f0000000240)=""/159, 0x9f}], 0x1}, 0x0) r0 = socket(0x10, 0x80002, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x200003f8, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0x0, 0xa9fe}], 0x492492492492805, 0x0) [ 342.308368][T12613] loop1: detected capacity change from 0 to 264192 [ 342.323153][T12619] netlink: 8 bytes leftover after parsing attributes in process `syz-executor.0'. [ 342.333257][T12613] nfs: Unknown parameter '![+^'ó\É'{((\'' [ 342.534322][T12611] loop1: detected capacity change from 0 to 118 [ 342.590903][T12611] nfs: Unknown parameter 'uid' 16:01:25 executing program 2: r0 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) bind$bt_hci(r0, &(0x7f0000000080), 0x6) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r1, 0x0) preadv(r1, &(0x7f0000000280), 0x18, 0xd9f, 0x0) write$bt_hci(r0, &(0x7f0000001500)={0x1, @le_set_ext_adv_params={{0x2036, 0x19}, {0x0, 0x0, "22ec67", '14X', 0x0, 0x0, 0x0, @fixed}}}, 0x1d) 16:01:25 executing program 3: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r0, 0x0) preadv(r0, &(0x7f0000000280), 0x18, 0xd9f, 0x0) r1 = syz_mount_image$vfat(&(0x7f0000000000)='vfat\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x4, &(0x7f0000000200)=[{&(0x7f00000002c0)="eb3c906d6b66732e66617400020101000240008000f801", 0x17}, {&(0x7f0000010100)="00000000000000000000000000000000000000000000000000000000000055aaf8ff", 0x22, 0x1e4}, {&(0x7f0000000140)="53595a4b414c4c45522020080000e680325132510000e680325100000000000041660069006c00650030000f00fc0000ffffffffffffffffffff0000ffffffff46494c45302020202020201000ace670325132510000e670325103", 0x5b, 0x600}, {&(0x7f0000000780)="2ebc9c5d9d2020202020201000ace670325132510000667032510300000000002e2e202020202b202020201000ace670325132510000e670325100000000000041660069006c00650030000f00fc0000ffffffffffffffffffff0000ffffffff46494c45302020202020202000ace670325132510000e6703251041a1e", 0x7d, 0x1000}], 0x0, &(0x7f0000000300)=ANY=[@ANYBLOB="00922c242bc21c17268409"]) chdir(&(0x7f0000000040)='./file0\x00') sendmsg$NBD_CMD_DISCONNECT(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x4000010) ioctl$F2FS_IOC_RESERVE_COMPRESS_BLOCKS(0xffffffffffffffff, 0x8008f513, &(0x7f0000000000)) setsockopt$packet_tx_ring(0xffffffffffffffff, 0x107, 0xd, &(0x7f0000000400)=@req={0x2, 0x2, 0x4, 0x5}, 0x10) getsockname$packet(0xffffffffffffffff, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000580)={0x0, 0xffffffffffffff27, &(0x7f0000000140)={&(0x7f0000000440)=ANY=[@ANYRESHEX=r1, @ANYRES32=r2, @ANYBLOB="f388833c000000002800128008006e91a032fc9571470280880002006401010108001400000100000500040003000000080004000100010008000a00", @ANYRES32=r2, @ANYBLOB="113827f7903f094697274aa4a3343a4c268a7171474790e2879a1e0a1a2515422754dccdafd4ad9d5a82b1202f2e985e7776b697f46bc8b289e56a5559551222a5468e267296bc1318b000f9d4cd40b3000000"], 0x58}, 0x1, 0x0, 0x0, 0x40}, 0x20000004) r3 = socket$nl_route(0x10, 0x3, 0x0) r4 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r4, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x4000010) ioctl$F2FS_IOC_RESERVE_COMPRESS_BLOCKS(r4, 0x8008f513, &(0x7f0000000000)) setsockopt$packet_tx_ring(r4, 0x107, 0xd, &(0x7f0000000400)=@req={0x2, 0x2, 0x4, 0x5}, 0x10) sendmsg$nl_route(r3, &(0x7f0000000580)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000080)=@newlink={0x50, 0x10, 0x401, 0x400000, 0x25dfdbfe, {0x0, 0x0, 0x0, 0x0, 0x42df58543c8388f3}, [@IFLA_LINKINFO={0x20, 0x12, 0x0, 0x1, @sit={{0x8, 0x1, 'sit\x00'}, {0x14, 0x2, 0x0, 0x1, [@IFLA_IPTUN_LOCAL={0x8, 0x2, @rand_addr=0x64010101}, @IFLA_IPTUN_REMOTE={0x8, 0x3, @dev}]}}}, @IFLA_MTU={0x8, 0x4, 0x10001}, @IFLA_MASTER={0x8}]}, 0x50}}, 0x0) 16:01:25 executing program 5: r0 = socket$inet6_udplite(0xa, 0x2, 0x88) r1 = socket$inet6_udp(0xa, 0x2, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_mesh(r1, 0x8933, &(0x7f0000000000)={'batadv0\x00', 0x0}) sendmsg$inet6(r0, &(0x7f0000000480)={&(0x7f0000000100)={0xa, 0x4e21, 0x0, @mcast2={0xff, 0x7}}, 0x1c, 0x0, 0x0, &(0x7f0000000440)=[@pktinfo={{0x24, 0x29, 0x32, {@empty, r2}}}], 0x28}, 0x0) 16:01:25 executing program 4: preadv(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c44, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg(0xffffffffffffffff, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000100)=[{&(0x7f0000000040)="2f0000001c0005c5ffffff000d000000020000000b000000ec0079c9130001", 0xfed3}], 0x1}, 0x0) sendmsg(0xffffffffffffffff, &(0x7f0000000180)={0x0, 0xff, &(0x7f0000000080)=[{&(0x7f0000000040)="2f0000001c0005c5ffffff080d0000000200001f01000000190102", 0x1cb}], 0x1}, 0x0) recvmsg(0xffffffffffffffff, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000600)=[{&(0x7f0000000240)=""/159, 0x9f}], 0x1}, 0x0) r0 = socket(0x10, 0x80002, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x200003f8, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0x0, 0xa9fe}], 0x492492492492805, 0x0) 16:01:25 executing program 0: socket$kcm(0x29, 0x5, 0x0) r0 = syz_open_procfs(0x0, &(0x7f0000000000)='net/kcm\x00') preadv(r0, &(0x7f0000000500)=[{&(0x7f00000001c0)=""/222, 0xde}], 0x1, 0x12, 0x0) [ 342.674792][T12613] loop1: detected capacity change from 0 to 264192 [ 342.688469][T12613] nfs: Unknown parameter '![+^'ó\É'{((\'' 16:01:25 executing program 1: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = creat(&(0x7f0000000100)='./bus\x00', 0x0) r2 = creat(&(0x7f00000001c0)='./bus\x00', 0x0) r3 = eventfd(0xc7bd) io_submit(0x0, 0x3, &(0x7f0000004b40)=[&(0x7f0000003a40)={0x0, 0x0, 0x0, 0x8, 0x0, r1, &(0x7f00000039c0)="06453d5d3aa105f340ce688b05b276029eeac708d4c0a9507f02d039f78eefb758b2129c821d13afed0119ba3af0d8b5509ea3583761a194f6d6ee2ffe725519589d483870c64c8b96c2a7a3789046eb0fb371d1ade661fd558b0c8d4b77f85129b243", 0x63, 0x400, 0x0, 0x0, r3}, &(0x7f0000004a80)={0x0, 0x0, 0x0, 0x3, 0xffff, r0, &(0x7f0000003a80)="3833fa9084d0c36089765f18643c3f5e1452c80d9ee439ed45d6ba80bb0f6752b23025598595be71784e6d2342fe6d30f59ff01f8d9db2943f55d4388c6f2d786cadb491f1a8ff2e720cd2203eb11b266e35231fe57da28aa9ecdaf8fc7fc4dc1e9718ffd9fa15bd48ba21a94992b776dc97f1f43ee59224d7cd0e7b5a4dd5ae2f1fbf6c970fd0d41ea8908f67e68298c5dea67cb6fb56643e81e3386a61d8ffcd127061f1f46c3d8284c2d2937f321e96af7ffdb9251f865da506bf46918b8893b674f77808a585606c79abe30463f7c44640af06a416aabddd923b5e127846dcdbcb5f7833e8e9b906156e90a726951ffbdfa12ffa56ddfd6dca25592f987c65ad874ff05df997f0bfa3fe90c9c50b12b8cbf91e2528783a70f6e1eac2392994eedeeab3e7772593516e2e94afb90e394bf7c998cf0b08adb8d94e56582f04817276d6760880f7824f8f95e9242b53aeb32ef0b39314b31403b6ee9f7b7c07792d20b68d665637b18f994bc3b9ce9d316904505909ca603abbbb66eb47fd39a6ee4cde2e6984565a006dd8eb4426db17c6bec5c6d2639ca3e6ab66c8d7da45e2326dcd472a224145f88f8a6c728aa7c8a75e99285a18aa444cbba1dd2bf0b5cd12461e902739505452fea60b03268efae5197a3db566e027655fb97a4c9069a93b48df9aceaceb6b662e113e2e4c70d4cc9224118bd06a06cdb6026fa9626186f7b02f3fd3538d3e9f02c0fb485e96eebbc6e0ec38956a5d3d4b3ac0376c3d9c58a4dbac90f6d65e9b6d4b6df64f84a08c3f089df691695d4164b79d0b8bf4d262ff97d6c6a4e584c51c04ef0ac42e39dd507286f9efbcd57be6b58114196487a843b3c076f49d2a731c1a2aded9905a413abf9bc6549c0d6b10555a2a0c81ce56c28ae6177b43afa7defe655978f3d8970eda7ce1fec3ac2e38f94819bd9388cc58af6dc501d6a97607ea18e4fe497b0551524beab5cb2d20f08c0a304fa83fe1a637933d18606466f6043394a2cd4dbe078403224b111d62cd58f3e1b255aeba51b18a0d8a8488b7f4c7a0fde455484fb7ffdbf033ea6d4f9f9872162e1982452d84197ec953eec8a04981a2c7f91005f569555e59b132455e485287d1f14c63b23fe992bef5d6d7e92f3f242f3183dd08aa7fc33bb3b3f0d7cb5ee63c2c5f6becb83c85df4b6f72b0f45fc4a0abefb1032f922da3a2534eeb7634878629dbc12c40cf8090e07c7979777e47202b1d53a262d8e9ef2e0e205506dc63076e7e382ceda612ece8ed7c9aa404143945ccc6205b59f12028fc88f63457945df9654f6d84e2fcd880133bc3221d746c6c46b7bc0b43827915da5f64a66594ec77779bbcdfb9a222665ac76bb445d8ce8011433200415d9d521c20cde14c31ce49bb999d35ee8778a5118b3ab99d1abcca1c6c7f1884eeaa2d6b341ebd9e7b43c787b51dff2afd3279e2fcda0b0bfdbdf7c0e0de55df31280e9faa6a7d757258950b562385918eafad0331eb6a4b7916ccd766ddf0f54f73e65b3690647bcf8dd96dccbca2792baea61ae20215faaa5611f8f290fe430cefe61926751f9ec22526a2a0e04302e5bae241550fe6bf921e75e4a2a1197965eaed1dc7b339afeb84bc84c12e4ef2cebf4dca7b6cc2fd2ce7a8fabe40c9e4387b4929513438b090080ba8cc5df721fed7a4ee198de53f1bc396d7b6c1f37dd2b9adfcfaf0453737d8f4148a6a7d823720a388f67a8e853f2546b9b15a57a50d3e30d26b1cc6de52599cd7d4ce1817bca14dfafb1f323ac424a7e0c9741916ec4b24d44a8482d25bae4596751bedde85c454a3721e36a29dc4becdd90869eadfc95f99d388e43c5ba5fcd867187192f7928d7495af9e12183fa55412db26a8dda0cc0fd189df4bfecec486291767fe7fd4fc9e50fe31616025d52824cc9893ac161bf6b97a752b29c3d8562676a97c0d60deafb970f7c266bb362b980a35a25b97ed27a09d626e90846bd897e18aac385bc1c407f7f35ede1d08998c6cad112d82733ea147cba83a594614e7767d4ec483ebbcda4693fc503bf8bdabfbef24c4a02af3d98fc16cc6459f5703f790730db2352675716f8c5762f647b6ed436771652ec4ddfd56f18dada47fe59f016992f62bac6c0f21da18982663f72f270a37e59dd5f03076c797be8af64e4e5616ef6d5f5f986ca2f63fc7f5fc53815e6f579a9eb4081984cb8f143b5989b9c10b0c4623260487cdbd0adbb7400a6759cf304aaeae4277fbcfe161fb3ff148caae2183b1574a8a27fa07c8eb3005429b55a8ad3f30bc0e9cada427ad8a4624f696c525f817d0c48672e92184b9347b55dba51b00891937e6691afbc68c4e1e9bc451089b1e120ae9db845c5cd1b688d6da1f1eb6f7556b72c2ebb78ad5562fe6d9bfd49c5540b64276fe4b5238a4e5ba893eaa9d1131f9e4562276de989deffed5dea7e28003c04e548b3b2a41f91d71f65efbd0fddaaf205b1113e6b87605df1126bf30a931a0fa83d935a863c0af8439e5dc207ce0a5bfb1e22440f3c0ef5125e1dcd3b663d56f928b2e9541b742cc28cf9c6a5950dda3d9cf33dc8067d1049690fb23952e969ec3f1d6cdedb4e15fcf4a3c188f43ca662016a7b38c0e237f15707d44a9ce74b1c0f38842c5b30b5fb7f94558fbdccd5c82a84c5f614bf320211afc51b14ff3b13a7163f48693af0fd65f25becc9fb401e117e5faebd1a60e4d6d33909638b74afea9c04fd96875c679641d186ca8f256e8aa48e286e91e8656ae1cbc07f587cdd2e7c1e0afa1eec392efdbca55d0b5e26b3ad7a278af4e62c8ea1c5a568229bc4a1158a276a2d391596cccce831e652fdfd9f614c22284c9a9511fc0d8f4cd0dfe781aad732524170d949afdd1f0fc4835dc20498fd93dfd48bdd098fac374a210ecdbe1ecefb01315c60ccfad46244236d82a86993948b6d9db05c3dfcabf6afb3cc67b936daa3875fcbebf009285882b719555b38db64af1c575e9859e64a57eb83d0babbc352eb6fa0d5334da443c497f7e7f911309224e2558a5f0687fc49b499e49b2e3aa6278bcb8b159cad3be404eadbc7e4054bb1b1c834bc3536d710cbdcf2605532a763e981ce1d20d34862b60a4ff41213323e7fd167563f6cfec5eb09679e8c885732f03ee4c7816923471f9944c27d4988488b8e8f29b1a5727cb8dbe90d6f3052907e3eaa6738e6892d645d8e5f0943e98e36207eae18e0841b33b35c8ca4af85ee9c8081615436690f9b603f003a20bfdd7e130ef3e88337347802e58ee7594c73bf35ae2caf4a7cbc487cb737fdbed85f2bca88cd36d9579cd72036b7fb6aa3e14d5ac029e8eeb1a7c0f237ef2984dbb5f352c68f0a18d08616119f8156211f02fcee5f2ca2a5e1588a3f831cb9a0d5a0f93cec4b60a4ad7c77815bf36d4df32f1eb8fb2f6ce0c5994cf251eb083e740f373df4ddff06997af161c9b715f9f24055835128f8eba8d88b4715c3428d240e7bcdcc6af47bff57ab4a36ab24c80ea1d2d55125230535295ab0ff8c4dbe9a78e2c55a09b6cc7cca6d5ee1bdfd7e36ee3ae77b492501b393fb187aa617d0252963b7480de2bd8663c9695b24e665bb8fc007b7492d3e4f0ecfc1ebcb2e8d04e0d05840f0c9d103977ba97b291f1659eedb2ac86c0f36a9ead1f22a6083cd75cb1584eb164f3b0f1dd1d294115526d47f2be8b2cab399d7452c486c58d0380548f339584f76b9cea9397bc96a416af5a50f933fe59edeac2e581aaa9d253605aae0066dfb53fcd6f026384e4207cad23211c637b0adb4c80b0f1feaef87f8ab90df7ae6e7db53807955a4bb88b5abb5d3cb132e0e064789508456ccf2827a990e97b41bab1f3333946c6bf1c186a56893af51011a0f4840874f833347dbc6fcf0f75d2457ad1f5ef9b33f4c2db6f3e616346ddaf6b6f2a081b53926c5b3492fe8b67f93a08ffc227f60fd78cfd8cf341ebb31d478d13b204c7e196d6d3818942b51376de6b62c043a182750685385cff52fc52fd269fd182330c07be872a76ee57d5a447a0171b362b6baff99a0d66df409bfec23fcc868737b50219d654ea50a9faa96cbab37a51b0888d510f86626a1c984aabc75efc95a09687bf39af14873c80e971868c61314314da991e671a9c4e08e231d35c0a91f6cdd603c00e02a0e0caa936e99f551af3b35d7d65a3bd9e8ebafa4cfd68d0b517b9d93e51d8161a92681923816d6ddaf6223e82323a18d95ecf6d0be51008bbdc3ef78ab626c5661c09b9c71beacc4c8189b76a085def61ba9e27c813862b89bfc152a445c2af31d44294bc9fd406da1f37ef03cbfa589857c07989c8c28d4bdb676b0cb5cfccdafdc879cd8e4c082db96a4b4923546ba66f0a25c80fbeb456eeb07a3ae26edfea2ba89cee69ed6c77572127e6956a995a9cce8a3697bc505ae7b31611779c60fd1ab41bdded1833c31dcd68507f310ce751246e3c409fa3674dce453f3ae0d57070a0a85748d8977350374919b19f4e0239e807a965f12a0e5066bbe2d5f5c4cbf49cba4625834ee7ae1f0fec552d55f45f6bf6546f8613a8de7978ea81e6f74dd2243ef1b89952634cd34f7d5401336614c66672116b2f535ba0cb10d59294c6d9c5ae224bb27f0b1e602318076449e6837f85c3a2686b7c3d7f38b0e99317fd58680da57e4c8ec0e30b7addff011febe30723742117690e1f8b07172b748b4213987b2a7cfcfbd3119b8483760b5807cf0ed919c213557c26ec9fc90693237b1c42509f9a04ae5089e37356a921cf42310957075d94f587cbe98d831b276924c19609923659e44769bf3f139d6bdd4bb037fca9f0a01dfaa4b4a43bd10974c1fac703d99e01e245eac3d5ca7796e0286cc29ecef61a5bca8057f6d043288da5d7de30a7c18027567a006055f03cd50567f35efa12ac0a869db139e641407dfeef08d8b107ead7c3306bcb8871e45013e51dcf054fb42ff3fad493892c69886fe7fe37edfe729d7367363aea78f02ee3cfbbf7827f554475d8f563e32609052ab02cb66e63f8825e2f9bfd9d53a632a5b752b50a0d4f02a57abc49ccb6151cb254fc2ba4e18ff25f315e0e3952434eea1180a4603a85b7d71209253aa93c72751089d5f5038e5fd606de57a826f5f4dd19440b6426c58d6d12dc88b8185853a484c5c5f6dc636e15bfbbed597e73c0c0e53b1fd154c3a4bfafd4cbf4e36946db1329048af6f8ced664f0fdc8903db0e3cc209012985357d1f565feb83856810cd008b007bc6291b3eca83e8b3adc822a736214c76411da0e0a9011d7f25039efba83d14c13456f28530501b9174d28ce235e441950ab51259276ab05694654c1b48e7418dee6287f2b43ed45287b6bc158eea79cde2981eed922190fe03cbb237f89021d06ce3df295e8e2b9107cfe6496a68026f577a061d8a8867f844af404caf5436da460b24f79c9399dcdea7c3078bb6f3d1011e24d00fc6ee4cbe60a27afc0a3ef13ba90d63736222d9ff322f5f4964c775e6f0b9d563e8e403b3ef34c4627e989b0b58670788cba87ba374436aba839e70e45728ea0c6d319ce09b6d35960659bcd4f97b65a335842003b7116e9ed42c69e4b75f4c304b9035bb4b8cc261dc02a1746a4e0b469bba7d90798b21527100d9bb2ea5d9d792b59b3a40144c07cf44b21485844cd49a4af43d09ce927b62cc1ed304014ddf841d3c28c0f23962737e31a33f03be96740229c4a6fc184525c6a3239b1a8d72114306db62043a08896691d0580fbee3978094cb5412216de8414c91154daa3cece23", 0x1000, 0x3, 0x0, 0x2, r2}, &(0x7f0000004b00)={0x0, 0x0, 0x0, 0x3, 0x9, 0xffffffffffffffff, &(0x7f0000004ac0)="afa86eafae844a833ae6e7d4fac9d9e3a7422345573068cc9b1a4936a41dd321ab05af6fe0cd3b3854dce1e76ee3ab", 0x2f, 0x1000, 0x0, 0x3}]) r4 = creat(&(0x7f0000000000)='./bus\x00', 0x0) r5 = syz_mount_image$nfs(&(0x7f0000000180)='nfs\x00', &(0x7f0000000200)='./bus\x00', 0x40, 0x4, &(0x7f00000014c0)=[{&(0x7f0000000240)="20896308224d1b05d4311e297a13ded9d565b122a1486874fbc12fb741aa08c8388c15f8dd90271357afbd44d479515c68f31efa2d044fbed915af09afc6721dc8e8c90871773164b1856195236dd685fedf00fd1e753228cfec9247125bef8d28c5963dbdb5335cf1b616ecb7fc24dc8b00978953292ebdae620add15fbecd2a236dff28b4dc38f7c7b5e88c56e0dd736e4b9f6e6addd6128ca9ccf3841d9cba9caa87ea41591365e5a8c565fa561364b40f915b1976d96d2b71a9bad67c8e62f1cf38ed013436842976e671ae9c472e8ff23534d0cc2254c6d", 0xda, 0x4}, {&(0x7f0000000340)="08e119250bf7a657f969893fc9cd6ea4302996aec149f889121a622e07809c310ba9eabbaa56694ff248bbdccf550c6b07f0f6403667144f1096b1951142e4ebebe64550456b9d300c4abc859616136a23b51982678741d782e6fb9ca2321a5b10ed0795975552f6a04e897d643894c4aebcaa8d1df0e88cbe61", 0x7a, 0x40}, {&(0x7f00000003c0)="cb734287df5db6868e14ade64ada04112fb76c0738e0aaa02ff4fd2e4fc07dc93928c0bbd10ae88ed76f6ebef65ad19a2af5c84403356376139f4b618d52f85226850210d00589a286519bf1c16a4d04cbab6d830ac3c014731ad804e5eec00fa1868bbcf32587bbf66c7f263a2b4572e19582d44b2d697cd3ca31e2d8120fb3722387d73e4d8dd5ac93c526b9be741da6812cf56183d7f0adfaeaac754a7e16a1c629ca0d7c433f45754314835c654a58e1f0809c51fbc7ff1df2a88bbe1106fab7986da1f17ffe872a3bbe6dccddd288eb3deb700992e01fb9b4211653", 0xde, 0x7fffffff}, {&(0x7f00000004c0)="781d90fbc76ced16f9e4b11949d9dc6275b9973e591d28b7dff7a822c519abe8db0eeba1da9fcd16012733e73d490f14f73097dde57260d3e1a256cbc4b6f5247e1a815066226ebaaacd88e69ad0801398554a8c37a7bf6243125b5a7aca64cb86e4e9244a408e5017c759aed2fd634d9bfe76dec3b657a80bb9ff085e3a21af771097f763057d781338cf44391efe039cb6e23f215c1a1ed1c0a525ff50aab62febe1a167c79209f6614f85afa1da1cc616865f6ef1623c183338b78b4feeda37950f3135ed6e5f30ad0f5cfb812817f1a70d5b723176eb365e9b4932170ab815b0c390daa7ae125f12bcdce5dbb7bc311101b1b5c74fe503de809294e4da92d1aaed2858513fea1a4effda32f99ae45d7f9d2d2dd215d7d2a43a1b683b21983f440ea4a9600d1ff8155ebd72d5b05d7eec51cf8cc58513664692d1184a93cc998e46aa4708287956492a97a2469df1c1214c9bac7610764f4222dbdd3a1f0991fc8dde51e56369f0600243e7392c5fd84ee923403ea06c1b8b0ae08e2fb4e9dcb0ab5c299eba69d7c32506403fe4c2de6b0dc647238246b23cf98b1543078cda0b25a0357c2db448c788ea2835b320c9ce37432eb9c0e4307c636055b52a7ca217b17720d93e6608c4a1bcc24e0f034d526d131624ad7e00b638cb502108e30d5e2634969e77e9cccbe170955f81878ce0e2a668edb76284829a941a32698d69c5d6286b743b6c8c840a75f418bcca40cb949a9da3cf558be077c9e8ae3cda29d2c3b2b18938602fb395bab8ba37e9985c37b72f67711319afaecc5f6355afe4a8280f3d59a3589b52847e4121dc73ec534268c09a74b52f38f210182475150e521c1407998d095a015b6cb4ba9d94c3293ae7fb799d43619983c75d9222076ec3efc3c30d54a2934f73472a9d44ab1a738d90cf89729c0b2e8ee9bd366463dc60bc74e8b6de2c133a23935b9657a0e224985c48f5de70c6a32102b48c003a04b2f38183bd0ad7ab892a355eb903c67b18f5752e78824a2007cc00f6e3fe8713e549d118949dc0b7d0fa72e94e24a59aef9d4890b0bc48a972f0e0c03f16b0726e81496dfaf6aec4d3074935f54f2fa3ef244519cdb1549fc43c96c5e2f2f35f50fcca870c02ff039a3d734b10c52e81372e35e428746ebecbfcc8d2c2724d995cec115fde79d126d68c93a8171f87c0e65aded78c3fa6361ce419621cb4ae1dd97b9bb900858e032e132509b209d295ac7f4ae71d705fae941cc4a7d552dcd8d1cde44709999558c057f59d0eefa0f4bf937c894820bbe926208b92bd69dd3a611dd598f703c8e636c6302f5a27268529fb68ebf82c2e6f361600ce7a9fe99c7002e942ac5fcfd1c9e7083ce1ecd888edd634bf24292562b56ab96512a2df7626751f13e8e15a0d450e0d3fdba6ddf221ab90f59ada4ffcb15b10b6f1dbffb0bf90d3c4be64040f325c1815745fdf7fa9b1b0032dde272a27345dff6072f1475566451f5834ba184080ffe4d5e53f46cd6313ef348b03b63c658e9554f4d38da86bc4d45b124139a03b9228544aff2d7c0255ff1641fe53c06aa6c611a4884c970fc55312f8cb2b4192d8311fe6f57ab173193f8956106f7bf8fbd3468c33a5585f31d31f7da013434fd47edfbfea390f88fd4cb91db245078cb659f2bdd4491dcfd1d52ca1bc0e6da462ad6f3055317cc9de700cac3201d846de54a5703678a23d02027802862fcba2caba6c0e6212d757fe63e0efc0695490459b5ee95b9c77b1994214c6bd75d5fd9456a9bebd5204b644a98685ed889b2fcb43a43f823dae959346d3c7ee8a2045b7a60e91be23481cd9c9a32e2ba8303411a516ae6492722b356d0d058ab0555d92160226ed0a3dcb94bda1a254c1e54077e3e25cf9258f9f7ca88cf543d4b0af4fddbaf98ec22bf0fc7590a3bbb32980fcd13e05bc6dafc5704ff6c505d15b0a9f9c1541487771dd29930466989068d757bb23134645777cfb26418859aaacef430c99750e6ad38e4359478d3c6c100b2297f12c59462621e7dcc68a4388d19a35ce79797ebba3fba65d14d3d8d9f286077e621d4e2fac1882def59bb06115fd50915e7806e2f8ec251f73d8b11b4b904aa00d48e734e0bc9e08fc754880c04a2e538afedd1a30f43be263d0afe395618f51c087f81e6fd94f3cac4e6b234fcb5f266bcbc4ab3817808c73013624a020133246f72e2e26325f85287200f4903970f292ee375268a7eb59973368401b0ec3a4b9e19d137f5cdf7d9efbb09acff3805289bf4e1bd020941783dbf2f430c16540b8b9aa4e53feb5bada95b3ed10429671301d84661e5fc89e2e1def2d06b809ff0e07889edeb6fd81c8be7fd81167bc2ca1635914a88b6b2fb2453e960f3a8498006c02b6d698629e6b89c7dca7a23376e1f159d5497b20fe1dc4de04f27861477201c516cb684eb956e0fe196bcbb72665579700a2c6570b35050a2b5a11d1961e911d5f4229bf449d13ecf56b1f0f295ff782f7bddd085826afba4f0d77a320115f47faea01c968831fde1d88f70ffe8215b875e74e495be9df50446a2d200497a14366e93b19f98ef93001c76bdb8041a909068525963f74e9dc5485d5d4cedbed8aae0401e9ff2054a83e3daf646c627734a1cac40565028c844bc99b3725910bfdfdb1646768de7165123ae76874d277dcf26a2cc758e9053ee42221e7ac1f95aff79153cdd6a4b8ce448b98cf0b26fb12c66973749e241c806519884a9f899b88e8b32533f724f519ef455e173f918e2e2da7d20df342273df05da473727b9e5e089abacb17c32396390e92147789bb7937f4f4fc5320ef7066f1c287db3aac9c0f7c9ded99948fafb71a9d1d6a0c2cfcf1ed858307d2d97ffc018db60056b83ea818a4b9cee26a378bea43451c998f1beaf6915fde3b5bf9d1a39076711cd044658e6a2d3ef799406542babf7f7c9d843b530e5b8cd240157c91110be8c828ddeac2242d93b5bc699c9fb3295fcdb908baa33fe34cd0d0383d9fcd0124f45a95a37b1900b1b46db0d31628c1a2f056b7351432f1da6a159606324e1aae6b01a50325cab1f0cbe9face1d9314799b57e7179e7cad65090cf8e9534e3c89ecc40e912248f0139ad4b750589adbd35fd8b65909483cb6d317ea4ab1ab9fd0f83bdd822c5d8de789f5144d32f315a48fff047d686358f934b3509cf21792227e125a58edf175c4119fc781ceadef283f93c0459ae7cd9fdfd325bff29f351ed60ee3d38a5024ee9199b6279e350398f2af8e882439a3d792c16e2a034b8ab81e5fa6e653444ab6be3a75649d5bb7dbc8b4d0e72be576624401c59a761351dd109afcc6651353f8a0be35809ca03a6be04a209bc7ca7c5342700b771442d43bbf15b4f2bc6ca8676cafedc135aecc843aaccf7cf2c575e99004b21a01372d584334bda1712e2b80d49b175d710ece5b5875082b28bb0a26d9a83e7fa4f162ef672606eb19887ccdbab14a3599b7bb9f002165d95527aef29f1f2081eb8fbf6ddf5cd567be70b11b2838292531191f7248d52e47aff4b676edc7d9376e1aa035393ef796d03639fcb102f7db34c222b81d90d8c3cb618f9ae19205e10a184d79c3c77c746bcddff295f8c36a1e0adec7ac053c8ba597446716ce8a13cc12a77f3650b82842ef5067fa28fa7cbc18c2137498969ada4f976aa52fa166272437f18865c34d85197f0af1f4b8df38947d5d090d8cea4ce81b25d220ba360e52a190241ef3393f81995fbd79fcf5ba5a5e6dcbdaffaa831b4be3c265819151ac20e8547f115de71f046c82d16af4d5c0b6aaf6c77010afccbbfec0e917a86f7df69784365fca4f564ec0e34345dd33ce502fa96fe0a92bfdd54c9df2efea039bdcaff996c5e1f255d962604ff237aaac32b0c39692ea99af4b1b30bf3f5c734cc88b74edd8531261e48160e796f7ca83943b8c215696137e9b4309a9ec4a2a714c0f7c2c22fa0cbb742a6f98e25e7be5ebac517a2185bca784b20980427515bedad702898868e8327fcd5d2b1bbd07e1b7367f3bcd218c9be9851a4bc5ed944e3a4126cef0848b5013a90a6db16f14174d768448ab5d3452b85fde16b3aa7f6eb2546bece0163b71d7acbe8848596b12eb9340b2a71872e3592b212ca3004145137dcd71c152efced10a1e37ca1eed0987e89d25663d435d81486e476be107269dc745f28ed52303c55bbcf56ab349aae8d6e2a4d12795ccaa9130efba5920070910445d629d15d36441fc8bb32498cf1f175cc913b7a6683e6a67126af46ed70575e480380318c52f1fb7471db06a42a820017c19010f1c87bd2a9f673ae82c72fb61920d701e8f4b55f453df8502e5104c30e2057822bbae14498f19cded3b52cb0926e1dff56ec2aceb32a5748e343022ac30d1375c9ea96c9536628ad7a717f07576d19e57c6989b871226faafb70757d2fe92bce61bebf43b104ebb886190103d00bd162b14444e57a281d2b45e355f5aa87886ae7fd8ed7a499c146c129121e4f9dbe907c34a53541ba9601803598715640b9ba286387739bf9ef14324fa104e6072eb56c368733c2627a4758584a7d5d1dddabe3e28977c772c7806eb3b0cf5d5de11a92e2c680a2ce575b47e75d4ea4407e5b960b727a77d1c05d0b9b874966e27fad6aad5c13bd2073fb52582fb3d5490e8cfd3c3ef09cff08c2e60d92c56614769575edc6a016f7c9b09395c1c6a423b386df3dce948e33ee321df950ae3f5c3f8cdfc1d0f643cc6c37a20eb16629b117b8f4189f36c2a8f19c157c0a4108584e49841200a542b2e2d0d6be3a312cb0ce51df309a145745d506bfbc78483f4f99e775b455a8d1d6ecaa0730ee18a5f857abeafc64ecf9a1796908f3538e9e21060b92d4d35189506a3f62349105db21a6785f148659f1a083daf52457f5605e897ecb53043e4ea2fb208909a7f58fabea73e0f22478af0d1a71227daf094b5e8194c95eae720c4d1988af27f7bbf9ced50f4025a4d94ae2c26bac7fb4346ab97f6b48a6bd55f719b090f58a2559afdab6b5758f24309a7b30e6652ecc7eecc2ab4eb942f80e574833a361637bbd12888dc3601ef0d59bbc89ca31249a179ccdf510cd235d975fc08d7b241f6f1d4f6ad6a600c678522ce31359b7f96cf969a9e2a41be60413a89dbf95b6977c120298694011fff4aa9bb66165a806744361f3b2b756848fef524fa60367c48f867896c1c5926708feaa7eb5c05f23f17086c3e7be8805cb181750fa6cbc0b2e269bb196dff629ae26c7b20dd4a0d14be872f51712e1d8cd077c614b7f4b6aa177de8c2cfb2d7aa6c5333a5b71499a1d8801611eabb835d7ae90bc28505488634980c3b969924836530bcd83dab1c1363749a86f5143e56af693d0f442a144e11a75247397ded02a495fd63df2d0968f0b60de8012fbfcc2f69304b2994eafac199cca7e8f2142cabf712ec8a2571232d91af39310b6269fa393e317c1b18e734e681b298b2c4f9dc569102d9906ab58d5ffbf0841435cea258290ee65a1d7bd42427826dfe05ae6a102b16095a3496ce226892ddf2de8a00b926566f50b69cd1877158a91e525291e233071b3fcb862bed2b813a187736d4ccb16b657cf009a1b219e8cdbc7273c9dc108ed1fd8b65c367ed9fb1ae206cee0e9aa82d492db0268a94146e6437bed145d4167fb3bc3b2e0c77873a2bf832388ac1fd462b227a2c370690cf9a82d12d1501a252153b807016a86d", 0xfe0}], 0x4000, &(0x7f0000001540)={[{',![+^\'\xf3\\\xc9\'{((\\\''}], [{@appraise_type='appraise_type=imasig'}, {@uid_eq={'uid', 0x3d, 0xffffffffffffffff}}, {@uid_gt={'uid>', 0xee00}}]}) fcntl$setlease(r5, 0x400, 0x1) ioctl$FS_IOC_SETFLAGS(r4, 0x40086602, &(0x7f0000000040)) creat(0x0, 0x0) lseek(r2, 0x7ffffc, 0x0) write$binfmt_elf64(r2, &(0x7f00000002c0)=ANY=[], 0x1a0) r6 = getuid() syz_mount_image$nfs(&(0x7f0000000080)='nfs\x00', &(0x7f00000000c0)='./bus\x00', 0x7ff, 0x6, &(0x7f0000003840)=[{&(0x7f00000015c0)="82bc1eed11fe0895628787a2d5a4dbdde3b1ecf37b4f8b0cda3ec6f172114e8b4529e1efd0b391129b83cb7ddbcfd9304fc0f8b18dab4f46a8c193888ec22ec26249ff68c43fa24efdc131135e11824beb89a8db682661cb6a1666ad86858126a0e5f53218e03164306a186dde04dd7a72304262449e941381549180c04f818c7898e81fbe44afaf700dab1112ad5b75ac93b5199bc6c46481ddb43429d77ae5a2d95542f228194f3d118279e91b3b25be3209db0a67f7b05d1bbda48a15c9fc0e72dc5d664870b596f57eaa8da4efffdf056ab0705bd83becef1e2cb0b71fe6251fd98939c44bee02f59640c0f74fb6fd59b8", 0xf3, 0x759}, {&(0x7f00000016c0)="7929bd8692e682e58a7694f08ca697a1bf01e101974fbf9cf8a1ca79ad784e4ff019cc03859976db70c55d5ffac817be25cb8e2f51b207bba0de5239b26470ca1214a4a9c94f6932874c07174b30d54223471e942a9c31182728cd4e376c10f7f64a102156c5496f1bd3a758d61a131872abd2d1a7016cf542cc4ae8beedd5a90f525c006d4b12a2e6b808ec6a361a79fd33ccb2a9c8bc9bd7f360e7bac48f9fd69019d260f7856cc790774d06360ad4fe13deec401e8bb22b2a3ec7414343248b9d13dbe0a49c541dd61f2cc673b6591821", 0xd2}, {&(0x7f00000017c0)="b6965e39ef07a887791e1a4cd017b28a71d2f96e159fc73eb1e30034c2297fa6763e954e8fc1bdbf0e13f54755a9d5f04d2522ddc436f20e54de38c6023b010f187c9b5b64f956b134442e74703a4e6f3389dee5e47a5b0a66f0ad9ad36ead36539ec5368612b203", 0x68, 0x2}, {&(0x7f0000001840)="5609bfef06a4d06436469f86727e7f11d951c92cc44f9cdcd017cadab217ae2f21bc8a55d6d941b4d3d32dc20e4a4199fa28aee61ec88d2567fef0fbb296d11f865568ceb33bc9a5823fa11df81fd8bdf12d61c97ff2c4dda7c09516b2118cfb3d26f02218cd23a122227ba27a3c5fabce93fb8eb3b4bd8f5624b4c3e172366ce48f5aa9e0ae224802050f441e43e93ae9315773be463406dba59ad4d9a7fcc4661826a30a4b01b403fc25b2d0666cdd77eef2afada33e76422453bc5576b45299f6b44f18c878ddf8e4cc46ff236010cda1aa41df824e4bbc0b62501424698472c4ae721a05f19e45b1134a9825e19626ab2079fd1295327bf08b0f86230c32f82456945c76460a01ba3b56b3dafcfe02ce58ecff6f764a8ef4cd316cf5630a876e4155d25cf05cdeb119622a72b3a7d1eb3538cd242932cea0d7b25c8426b25e5787a8ae3587b2f0f62d42aeba5272fed98e1a322306dbba27e96a6c6251600af944acfa5535e825c655bfb3e32ab3240b74278e28c51aeb3243d268c4ab7b7f75ebd2a9c7cd2f3a28f65bc44e6879382f771896b658319a5e057d8f30e5cff2f11dc1a9d8bf3139a857439c9643d4b7c600e1689aead8451dcf86a955d2346eef3cf9e6b7783c8a201094dae129e07cd8bdf5935bed037a0cc0adeb9b787ee7edcd70b496dc676cf8fceb8f94dbd23a0823e86121ad781763cc601aafd86b07f9a48e8f9cdad4e35ef1bfd2b0a3b2a936baa5241d34051814b083ac5cafed4b28f136b13562859e6c2d9434a8f67322040a9db9ccb2a29023df8ed364c023da5bca1b1c487f3398bf4d7186ca315c06fd1dbd2ec0e78af1edf19bccfa44a87cbdc895bf03883d2259ad5be8eb732ab2d32508fb97310500efa107d661134b70af614a01d0dd99ed19f5521ca95da6a32d5b099a36ec352d2b24a9f1966defcea0fd2b54605bda713b7bfe9c68eed7fc54bb9db46eb667f2cebf0a55299181faa7e819af8c3b0cfac0bf49c30801a0c7697defaea347ce613ee3f207114e0d70d7819ea3b5a4ef098a50def0d4d661af3f608cb7e89cb70d06ccd5928c5841eb60ab2e3363d6b1753d169cc6878d4f5afaa95232cd121cf8371a473686023da85d86d26e9cfb2ceae55bafa60d6d7d8ff669d1b800801e9101bc41b89d2c6837d07724a2ab6af753a36d77b3b4fbe7cefad4c72db27afa2424cfd39592fd2a805c92793475cae9452c44a475c9f94776d4aac804364e1631f08b19504cf6fb98f329f865ecf310b61951cb798a08e437a6e72f6e2b03ab39c5cc51d6425bbcfe2bd50a3f21e8dd2b5a6ed26443096cc85dbb2f4e5b3c15015aa6e860edc8f9d04100b6f2ea56db2d478e72ed7fddb68c6ecf774275a6273f3e93270d6e838016b23b26b77cd382f75799a840708a863de8ef1754fce73e4e0f07e00ed6a4c953cd010a65761ad6606549696bd5601007eb4214c81d3b1bce44c3bff299bbfb3e96f38f0aaa0a9d3c09ccf5285f677f156652192e5ba07639aa92464b1e8b546a5c671d679468ec168dec4cd6937066705bb8d9465024815b200388278b2002e07389636307865e5915e4a1843945a7613b02b697687be2fef5aff10125b7446f670a5cfd66bcec825e84bfc247bf1800a291e3c4178e843396a825303aade34001c10477ee5e9b6a8636521c089e61b91be804ca27acdacb1cf63acda8eb852a91f37a33d6995e6fafb68ed4d4177bccf54afb4d24ef56cbce4f65d401ca4d65eeb9d1471f0e94413491afd06b1527ad72bcd65ca3b100ad1c008b3fae5f59273a134377b0d7587aca0da348fdada11d0e6bb5791bde0da51f6f9e92fd565bb8f005f1a0042a36dc8e8e86c8f33a8364bc86a23351796cdc20fcd306766dd7569604f6cfd34aaa008988831b22803a94cbe91e06044c75f2e3637ed82fd45bc71c89ec3c1d0199be72bcca0fb4db7afc89c5bb3176237f95735c1a288676ee04e80e7052939565c859a556fe6ea3463bd939c35c7e854ded3fa03c5deeaff7e977c7338e2f0fe227a00e5cd92b217cde14c8eeb6f2e983c03a5acce51a331fbe4c951c799410f1060fc16b03c7f0625ad55af8b181edcb4efac907dbcacfb06ef6eeafe74134a6701d9ac9efdde601f34c1d28fc4acb47590d8667f12c271352837cfcf84581dd5b1bef65ce481b28b6e36a619fb3c5d9b320b26e9111f67de21dc45e9fcff70b5433925d1e70b4e3ca88684766472b69756fb59bf54c745036a0e23e1e07d370c375c93d4391fdaac045ae58f2b61199b90869975ac0ebd30795d64e9520daacda3c4dcf54393fdc470930510a7838d0de8231af63cbb01a11f019cf653c135f89626885798f058c5457023dcbf309ce105ba0f17589c30da3a2f7a057c46b9cdbda8b77d0cd552052a1500e84b2b16b022b2936e7f92d01ef67782cf63c504298a4dbde062ac1955bc0022d85f5770fe7b601c291ba0c5fca6531575f6d6e6f29d2ba8b4f9be3cf53ffd9b3c676c5683c1842ca039dc12603b55094165be636ce905fa370908de12f3b874724a51f4cf95156bd0dbace45baaa5e9d38381235886aaf8742a88cc3732d1912828f26c3daa498675ee9be19d18359af6774db6d9e061f86060b7321c3f3773ee2d007818dc40108eca3ea25e4d3892608ca0f8c63c7abb295086208e2724b4f69732d7fcb4adbe0cdab94f7cd4cfad15534af155e6c09faa29d4e15d698924d21dea9ef8085356ffce7675b22594dd110169d0a5799dfbc13f6c358d98cc1fda4a3395e803e5964a6a4291c3ddb8d8d2b854c70ddbff638eac3742a8ab423aaa319bce6b6f5be03647c18c67d693055c01a5a40688c0dff313401473903288dd6e4ba5bafca0f187afe92cc471b3368e2d659ed094b741bf624199f3bcca3068600dea670285d45bea4b04c2dc55801dc3497265cbabd5984fe1d291a14a20f1f2603613051728b521159fbba62dc0153b73697e0746d884445ebb166efab56fa33bc347a256e10b22e1fc6a540ef6f8463ad639d7d29cf5007cba1094e3528dacea3c3ad16353cc38b854526a7d0eb1f617f82b35ea7f950818f5e7f35946118819e24841408ff4617ee85b5b8d6b154f54f6c6549c37900fa9127a1d0b1408822af5712c130397dfecacbedb0da561e7e50149acd0ead9de68170266d2d970664562bf20f6e5a049bdd861aa38488e7b77945481f7b38936a086d1d7fa6fc48cae86b9b097d8288f542a4ea30a48051418196363b42dfe6d01fe46d9829b71b94415b1832815c1523250807b4f99a43d743774b4c07636f80390c0c2ff2ddf654447edd5d7d4e14905ee88e4c6c017c8d962d34ebddc12635e1adfb9316a377182072af233e7125056bee67b684c2b1e1698ac5dac8dfa1400f4f012c871414a3afa7b5f33a378a1f4d854c67ec6e60ec042b2e5c9d77e54f4ff9723fb9537a462459264bc505e20e9a61e1d9e5fbd6f3ef3d2ba39a0f0aba38b2782df7b8815c77dd316651af1deb2076fb2af7ba0a97ae131ebe73c541df07ac3e38ff44ca4cfe1b5e75aedb5931de4ebd213f83ccb679b497fc0911f753b0b31facf0a66790a7facb7e8f771ffbc52bc66b51b612e6d440047ac591784c4d1b30ab2e48248b9f01d58f9fe9840fed5cc0fb26553d68041f1b0f6b6c1f894eb0bd2a5e9cb4ffbdfa6c094f6ce08846b7753d85b3f85194ac0bea5cae8215d897ebb7d942e637e945f7430358c0b80128c82efcf879d00529be243f35953fa5a7bb0bbd0bc29088dab3221f8783528c3c14592e6349abc90b61734dbe35a748689aee770b94634e347da0e8ef893f4a095c4e400d0bb0dd05cd94d40a4bcdc001508c30df2e9228696299b44d3d2a80def2689c7c1b2ebf145a5b36a2b7e98d29c53052d189ae5b5b2953fb3751c7242d530f231fa649ceb17a066ffe5de8905e83518257056adbfec8a0fc5028e6d8666cf55d449bb7fd0c438ef88f72b12266fc78acd9d9c23de70234b4428f42173acc0b024cc774a03acfe33d3dcf058013caee932cb99393f62f8a696f07fd10685342b346532e450619e842e3d6e8f564371c39ce7de0bd2fb6886de5a4c4b9c2c790372b8368cd1f813a23e928e09d6fc1f2e6188cbb2c1e5b3f815458bb48ac5bb4a501e20507d326ba858f07bd5e996c073725b78d2aa669dfc1624f938fd7b406f0f4992a90821f5b620e256bec459d72f2b7252b238d280c05fa10b6bc27b7d44ee2c1981ced432b78568d4c79820b797cb11fcbd575089493c0c1056ed991b19eb3be8dd989b8c7cbe186a1c1966c0d629e65caa2f5fd3f0b510df8497137694c584af4a706a263af070a6198519364aedfa112942f73953e157b92271e91f332b77187d55ba576faf52297ef5673cc50cd98c590ffaf7ebf966fad543e3409715fe333482bf3389c61c3b7b12f1544e81bd6fa281084a86062de9c14bbcf88d34cb45121c1aa7c19e632f1e0ea6ef5d85bb62369a2af2123a7f9153c5e6be748238091db482dc7aba1dea76b05d7b9505900a0ff74dd762665174d74d4d6f1ba2f774b393591c58e4477282b7b8e8e48d72b826f88c623b323c62694b5749a6b6c882b54e1b167419b3ab55d773275e011724972cf0f63b2fca91a898ddb39dcc55de9d737e85653c8680a6d09c808bd33170cc2572aa1b65520d1aa1de5ad1a6d4e42d0708ad249561fcef99afe67497bea735d0aa056b0ec318b408bb930e0ca0d6127ef8aaa37f5fe09bced4ee4c5bc65cce3feafa1ad4cbc46c4436596ebf61667760a051f7c1c7fff0bd88fb76076cabe3111cbef89c5479c1d1d25728984d2d4076b9e7c38d214010310337c61ac0ef23823f65ebfa9294a2cacf57142a0cf575d3986ec5ef2ad7a29074cfe1402b713880ad29637b29eef0fbf478a00a38745a6195d1f59fd4e0cb1abf110bf3710347bf0befeab320931eaf30bc6b9cc3ff9a2f1c2e90cdc03649655a85ab2f828b549b02132bc9a578262b82bd876c2177a1c998a94f2b9b907b4f695135f945287904016aab8a35cf8e1220fb8fc575da88ee1b28dafdbc00d164890d765409972d0f87c90cc590ddbf5b16f4d4a0a130760a13519ad3e39aa0d4b0436e1ff96e3d62f841d6af9fb6de24d9fed97834a3f569cc57b8234ed7edc3151c73551c0b95d744910708a15c9714341dc0fab6b71c5d4757af69427e0edb181d3512a9767037a00dd92b4643c1f94046633d234e34ede9af154e14018a09f78453eda655f560db74683cda001b85e10bd5df735003f7b436ef8fa6a4f1e240330a5d69daf562ac2bd82379962c78134c45c748931f5266cd7e4dd23ea1b59e8e42170f0a99c5112e69106f240c2013cf17e328903fd7778ccd49b41c2873a727b31776217effa0fb0fa09062ddc8ae74f42d6e08cbd2106a4ef2fcb887370b0579028d9cd30550466b0760254c38ae2fb44ed6cee538160bd2c060f6b5328264f5ebc5386d76f05e7155659c238e984e1fb3fe96d1bbe85d7e6d3046876aa565c20ae900c96803d7cd0a305989cc1de6c3583939129e746936790580e636fab8a57fa1ec97c652a25672720676ca7e1629e5f8bbe568d2438d390bd20296d78c923999f18e2fd7f473d1127055c0536643c5442dc6a5b2c346302cdacd94815713427b567120a6acc343f97876d43978cb478aaa41bf4a7fb8f96399d73fbfd95716b66c255eb852b810e274f9711ca2b84f1c74de3223d70d83e811b470fff51f33646110dd00eaf7f728a5081cf", 0x1000, 0x3}, {&(0x7f0000000140)="4c1a69ae4816b8d9cd9ba786520a5b7c7b20b1d7f961b67b7f366924d0227cbef33e1142b3da98aa6ce595f46ca3b69f", 0x30, 0xff}, {&(0x7f0000002840)="009d117537701f6104f7a1ce5e0db8cdfde4754ec779ad31693e7b43cbe58b856353b47e561eee490dec5891b01be12c9944accef56489a57712ed756c4ebfd2bdf5946b027f6ab17fd864a1d22db270ddc362344361eedaab8f32cefea06ec85b104c6dd8f5b4a878027b2b8f0337adcd6bb5fd0e9f50b46c9dbf78cb3eef1b24251d9f997b3b878561605b208439ef17e9b64bdfae1f1cd239aff4d3583277623168a54fb4a0f0dcd90cc127c7ef10570806ea511d5b9b69c03e7940397a58cc5d482936868c503f06aae9c2a87585ff6b49bd691333f3099ca147abdd3a0d92f81c1084ff82e952058efae37d0f646458da1479becdd0d9d01834f39d99e75d63c87d6fa02d174189b8994610ac96fa3214748d266a2f12fe01a8fc3a98a01d3fba55db849bb3d6586d46cb3f563bddf47b8d4b8773f3afbd625be674a6c328de3119bd49e6ea63a319fde0bf77e6221bb2e8f1d9ef7099942fbd640b173752d9024ba15e2073b291623636744ac4257cbedc7a6f75f22549a581c32bc5161902ef498e37869747d32d18872eae9ba57c203c6815e066aded8880c28c2c1a51b648420a363b4455a5c96d15fcc6aa4185cb07bd31b220381aea34c783cc2574935d48c7bc7887cfccc20c251a818fc90185fe914890f71d734641712fec0c11b4e3f4628508daee9933dae51ed937a3036383d2daeb0715d413b64a7b8fda8fe94aa1625ce10a41b20e99503bac993850990e8e7d713cc7c1fb42e9c7df710919ecd17dbe728498c0461760d5083348a492c4b157ffbb64ae52cffd46bf8ca502c49d090a7bb205f1713df390e08b591c4ad5cf5cbe9b07bb27a26f043d78833491e959113bf3673a638dca1cd9141bc828cac54f908ab22dd52e1cc2faae17d9fa15fb68b883df7eda559ca4575f5ac6d1e5ad18ddfeaa3549996647016b903ae722bbd3c7603f118e5bae74fd09ddb3ea8ca3f811e6d48773c80d83c521bb8ef3a4fd72da2b22b4457a38fe31999129916be71770e4258f448e4a1535a6b5e7a11f79cdd016597ece67c6aa1f04f5c800c3a281a1da139e8d063217963b690ca9b23773cac8e021963a7d3a8be6e395d39cbebdf74acb802b4fd3cb9379f6817ad0941bceb04271aabeeb5f4ddfdc53d655e4b1b17c213a08f2f59be39a2b64b417c4334152c1f3a9364c0daa23e580163e5cd7db55821d2665da8d773def2199ba76fd740024c0546db21b9b37aa97a81f0fc3414df169e35fc862bdf654d51e034e600267e31f74a06d72fed8a39367459d6f5c674142d9c0c943687f3d8cdf8f2e930240a2c3322959de2d23874222d9fcaa4361f46ecef266c6ab50e3e0ff8ceac46cc37836bdaa3c5848ea9d796b6d1372640074c73509a5fe144a9c80731fa36eafb8b852a7cbbdf9b0da22d5230a355a347d04e1fe90f4f2c570ba3e0a0afadec6f67fdd0ba202f8c1d8c1341467e4ea9402e2cb565dbe4a5f007a41dd9a583645c7168e8c5169545b5d7a7c800c192513eb2389b31cedd76b5e93bf4838daec8ba0155514ed10cfd2879e8fe787f1b03b5626d4aaf3b1dbe7390c2f21799a3de11c0891b777a08627b08e89302837e7393bc11f023d35928da551966926dd8248da0d38804435d095069ae69acf5b4e1c671535ee71e72cffa4da6731714f18226159b27fcd50aacfc19c8861afebed2e0afbc966a22e9656b157192c7bea379eab9b57fc980f3fdbc7180babc4db7a4e1ef14d64da6c370660c4978f67d6ccf6447e4f1dd1aefd5d6e116e652037816d59ed01ec0e12bf65401409f8dfddfcba738e923dad05f1fba324a4caad020bc59a7ef3a51826c71a7c66b4d911d9bf15b7b628458e5befe4f12a0badc5b2c81a6a565b1cd7669efb10451b9bf9d9e93c6c69f2f079c70ddb61269483ebba7cc69f3ea25b4604a70a3c9347411ffabc791c78bc0f282e3dc2cbcee0cbdf369288ad9d34e08a4334ff1e310959c44405987cad6cdded9d827169f928ec4dd78eff6a14162a76df196bc16a4ffe5f039ca1dd5bbe6b3b7f914fe424f1a58d482a6da47f80175a5bc8e7bee23542d7ac60ee52ca4f3618becace014900383c3f2c8590147eb7c4facd362f9c360ffa25dde1313e66eed24c6a0fa9f32bdd2cd632343786580fe715167d9bfaf1fd94b43ac10f1d202b45ec40e2ed8337e2f48a215dafe25c85a474b142df842431b5726ecf3dd13b9de2706fb2b7f6d122ec843ebf8a7eeb31eb8c703a81719d2b50336180d3bcfe27d9d116791de66825d0540e67404e6883e46b8d7e96a0319e7dca8072467d49455e3fc67fcc71a7ae260a8fbf5ce7ce1acd728d3d3c0cac7b23167b5a9f3b2a854adf9e917a9ab11573ea58f0bc056089cbc508e105294260c63a632f14bf28033b45b2a0095052d6f0103ef3c8b205b21d1666cb5c13456a40cb2a47753636f8b8e182797647125e7abfe59baf72cc8d6bab4b702097b22616bf880693c995c3ec9590d3d01637066a484145f7672dd7d5fe4c0fea11249c2c45f9948eea05266091e4d819245ba0e982e344bdd983c35adc42f13a06b0b3cd2c29cdf906dff594e44f785aeb2fe80c30c08dc18b36160a1977cf764f8638f8b97a823ed99cbde0e9eade4befd6be62d1a1bb6ed4a90c399936578e26de4803cd0f82f6d38c1588d66730a23b6bdfa1898f1bf03922626c265943e6814ab988e51f4676842d5c76bc577e6748b9712eec31e5b1fa5802ece9daafd79635abee5d27c459aef5da50d8a16a0899ac2d1b4200026db71a6f07e34fee34509272d1ac895b6b85c12de05ad8329a3cdf25a1d353d7e5a916c13bece0a0ab7fa1d7a27f5762491c50ba2aee1db469488300fea5bef21aa9f40ba20500513e1f15970a06ea1ea0b5d26856674d3033dbb6b2e557b29e140e0160812979a3bb4f66334d4970350e0d109b8124ab433b3b3fecf2f9b1b9e278bea4ef621a7f1591fa290dea11f2cb27790863752920c2a22cb20f2bedb10896e983d3f66685d93ded6b729c93b0d88fffeff87a7b23dbc509d3d3252bbe645258308a3a1847b4c66c20511059cdec2cd705d2dbd9113ab7a3373dc7a5aac462b618e8e6f7d9f005730aa58f6d04a2af2132d30263f89540bb0600fdc46713c232d945dd57380a39382af89cb5477fb7fd79aece631c5fdcffb97c606ce542399f8fa06e98153e47b8033b1d2df2130f2f61a1d97e5b3b5d9414c2fa701367a9a51c8033cf22ddaca94a3a61d4d3b242ac2f5054a50aa290f605a749fab2d1a567ef7ebd33aa447846f77d0f9f28d44b06ba4104a2efeaceade1f233e420a8db9b7c47cc94cbdbed6256ac7b004582773baa398035eb964c9764724e2f0959f8ff4f06af841332e73f59f709c07c9b0ebc4915b7cf80aa34ded6ed55e1518a5b525acb3b6cb62a8c78d7fffcf224c54348ed14dab27232e4af7850129d1a582242e11e49aa4f60c0f09cf0b749e38361209602d2c442c9c7c4d6dc464bdbd84cbb5bcb095af11f7488bfd40f7fba3a9fd8bab0ad0efa737518d9b387b7a680a219699f0811499daa95879f9ca6e26a7096154bf8ed005df8b8e6ef6c02dfed6b111b4a7b8855f171088372e9bfcac25d84f6f5229ed7bc8ad9c48d3b64418acdb1b413a042d95a3402c7b231a4653792d2484a57efcde7239de8cad1e784d2eb0c42a722a54d6f8ca64f6149952d3cf996c66a6481fe135fed60fb6a6e1aee7683ddb03ad2730babe4a26b5c6dcfbe2c6056b654dfb7efe89924b1aaa7d48a9d6e3e738e5a8acf11682b1f5d8bef5e9af7d47e767ea7f26a786bd1b1b5d49d83e7384f2f5ac7042c0dbd6262046841d22aa557486a6cf18d7300c7de6952796de4f38d69589e80b632367370f7236bd83bb4d5462d36b729475ce4ffcee30d93cf62f4c8f4c2c0df966aea0c54a4d358a7ec4479194c0041e1d24e44466b4421887efb43d1dd05d1025e765c70a58e0e9de41ead731e95ad7709803651d28cf436cad44c5aa810f5b4d2604282e4f88846608376bda2b55aed7f271e17e79ed72172b6e26c2e149f27d905f8c4fa93014cad1b267de1aa04a1684ad15dfcd7e21517f939865faabca928c2cf3d205c9ba6d3325645740401b18beb650f3e74261cdf14e9fe243035df163450d37b1f9158b043167e45597df25a5e047e34cbf9163ea113415a9554c024e7d1f6384cd82e21b8851af0149c90800b916b5e6141213055db5b9c5330e76b09885a056136b7faab5de902d35e8c1f8c54c1817ebd3207ef42fd58c230004758d72394275581e43da73b26a77057e67c8727adc61639c636efc87a0cf1ddd28a9827cacc64b88b51c0859aa4c9a8dfa5c13849f14a6968ee789e92921e6c4c18fff18c7264afe777e246cd1e29ce685918e9028612f1e66994bf5a4d4be18d1bce00815735ec6d6aa3e2ca26cd85174508d7b165a51c9629a47c6e52b3881352099c1f595cd80b3a981043ea848036632611c8ed0e50b974752f9fa907c963bc8fca46d1476f663604b7e547ce1da9e81bd4a5662bd4ffd2e964edd2ffcd53a4f332ba2d62bf80a2221255b983b5bb8f55ebe5aecfb6de5c8af8269cf83efcdc79602a8ac297d78534934a85ec559815b05ce5a2d0752a8805e7b9133b89ab7d18441f1b7692b17e6ee9efc23b9cd2f80eacc0180f8dd013976f3f53b52dba4881f0687ff1bb900ea15bba0780f2a5b0f3eba137b15846f4aa5e0651d6001b4f9ce4a3212dff3faf1baf56bbda7a514be7e3fe1f42c7a3af6ca507acb493b975aebcbc5a2efe365f82e1c09b2e1d30d1613945a3e0b3e8b03c81e89b292cfb74b6ad66bf03893b449dc3121bcabc094aa3dc28139026ad57944021389f56e179e50a0a50346fd32f3117e5fa9786f081d476691ef3ba2549a232cb846fa722a2ac1668a7b3d9f0264fca0ff17368172402ef099c4379b9ba2982bd1163ab778bcd76488055a3e834a1fffc274d842a61ebb8d551a7a1abc18358c380650389e8e92c7b77fb80b840064b41370696e7b0fb4d0f1932b433c5c0c97e44836083a4ee46f999463146552e8883dce335394bb4e051aaa022116c6a3dafebeeebfc2d0bf84dd7eeab03a3ddad3264ddf68d6f101e63615435ee81ad737187bc21d3296e7b0b54a026044beb924c77049b0f409c5b83d294f5342528fdedb27900a7c9f82c06aa5c6b05a936d625b24308d1bcacff9fb0296b78b3e33055318816d5093b2f4e8dc3779d8f9d625f4a0707b0fa62e8911c421bd868ef8c6431dc24a1be8256ce9e0a6125c92b6d59990a86ec2b795d7c0dc44a0394a2be1cc27987ba20c1214966754eb351cb6d6c41929a0e9e9c956457d00e185d6441a803f0b041b92c32891cc00dd7af7869a0919e0feba5bd8e93a74bfa52a2a5f31d4004593adbe2b67b71d9b35756d7158201f93fefd890d4f5c94f258dd14e54247c1adf12b3acde6a144178a74500b5c39c408701ac89f19b1d4d1934098b97c16dee8974a6b3303ad9f406b35d6b9c36ad238f19e1d52f931ae2713a9bba2be501a5bee3913105db748e2504d581e2056da41eb19bb59a63b702a25fb0083d27fcb25f576da15021cdaf691a946339ec2fabd961bdec394e905467270935a50f14ddc07c5fb71e43c01b787b5b49af27934e0df503f8c7f9ae52f311614a140883c505faa3d8e01d7f97ff8ea057b4d9e67f82d15efce935d98c22a54892eca50b987413f3a9a7e698c6a43e49754a3c3f8ae132153096507dd7e6567ae244ee10", 0x1000, 0x76b4}], 0x800010, &(0x7f0000003900)={[{'uid'}, {'appraise_type=imasig'}, {',![+^\'\xf3\\\xc9\'{((\\\''}, {'#)-:&&..\'\'\''}, {'\xa0\xea&\x06,$'}], [{@func={'func', 0x3d, 'CREDS_CHECK'}}, {@euid_gt={'euid>', r6}}, {@fowner_gt={'fowner>', 0xee00}}]}) lseek(r1, 0x0, 0x3) 16:01:25 executing program 5: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000240)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000fe7000/0x18000)=nil, &(0x7f0000000100)=[@text16={0x10, &(0x7f0000000040)="baa000ec3e3e3e0f2b75ee65f30f008f7e00a6aff4660f3a62227d0f20e06635000040000f22e0260f0350000f01cf", 0x2f}], 0x1, 0x0, 0x0, 0x0) ioctl$KVM_CREATE_IRQCHIP(r1, 0xae60) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f00000000c0)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) ioctl$KVM_SET_REGS(r2, 0x4090ae82, &(0x7f0000000440)={[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4ca]}) ioctl$KVM_SET_IRQCHIP(r1, 0x8208ae63, &(0x7f00000008c0)={0x1, 0x0, @pic={0x0, 0x1, 0x0, 0x8, 0x0, 0x0, 0x0, 0xb1, 0x0, 0x0, 0x0, 0x0, 0xea}}) ioctl$KVM_RUN(r2, 0xae80, 0x0) ioctl$KVM_IRQ_LINE_STATUS(r1, 0xc008ae67, &(0x7f0000000180)={0xc, 0x8001}) ioctl$KVM_RUN(r2, 0xae80, 0x0) [ 342.889578][T12652] loop3: detected capacity change from 0 to 16 16:01:25 executing program 0: socket$kcm(0x29, 0x5, 0x0) r0 = syz_open_procfs(0x0, &(0x7f0000000000)='net/kcm\x00') preadv(r0, &(0x7f0000000500)=[{&(0x7f00000001c0)=""/222, 0xde}], 0x1, 0x12, 0x0) 16:01:25 executing program 2: mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x0, 0x10, 0xffffffffffffffff, 0x0) dup2(0xffffffffffffffff, 0xffffffffffffffff) mknod$loop(&(0x7f0000000300)='./file0\x00', 0x0, 0x1) clone(0x2f802900, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) mount$tmpfs(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000240)='tmpfs\x00', 0x0, &(0x7f0000000040)={[{@mpol={'mpol', 0x3d, {'prefer', '=relative', @void}}, 0xa}, {@mpol={'mpol', 0x3d, {'bind', '=static'}}}]}) bpf$BPF_PROG_TEST_RUN(0xa, 0x0, 0x0) 16:01:25 executing program 4: preadv(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c44, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg(0xffffffffffffffff, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000100)=[{&(0x7f0000000040)="2f0000001c0005c5ffffff000d000000020000000b000000ec0079c9130001", 0xfed3}], 0x1}, 0x0) sendmsg(0xffffffffffffffff, &(0x7f0000000180)={0x0, 0xff, &(0x7f0000000080)=[{&(0x7f0000000040)="2f0000001c0005c5ffffff080d0000000200001f01000000190102", 0x1cb}], 0x1}, 0x0) recvmsg(0xffffffffffffffff, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000600)=[{&(0x7f0000000240)=""/159, 0x9f}], 0x1}, 0x0) r0 = socket(0x10, 0x80002, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x200003f8, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0x0, 0xa9fe}], 0x492492492492805, 0x0) [ 343.086748][T12660] loop1: detected capacity change from 0 to 264192 [ 343.117418][T12660] nfs: Unknown parameter '![+^'ó\É'{((\'' 16:01:25 executing program 2: ioctl$EVIOCSMASK(0xffffffffffffffff, 0x40104593, &(0x7f0000000780)={0x1, 0x0, 0x0}) r0 = syz_usb_connect$cdc_ncm(0x0, 0x72, &(0x7f0000000000)=ANY=[@ANYBLOB="1201000002000040257d15a4400001040001090260004201000000090400000102090000052406000105240000000d240f01000004000000001f0006031a00000004800200090581", @ANYBLOB="73f3"], 0x0) syz_usb_ep_write(r0, 0x0, 0xfffffffffffffe0e, &(0x7f00000002c0)="333d8e3d7ab74e963e724e24ffdf8ab57d41ae54cadbe267614cedff2df002303fc3268c2ccc9deb1699f7445b9b04fdb30c2af7b772f9471ac3f3a71bad882e499eba67c6e348be59ad61b6c857d28ed5a90067aa5d0bbc03abf5aca9cfce6b8b7ff9b73f67faa4c9d8f6bf59d6f3533ebc53f1c5f1728ea3d527ed1e1834c8d278800c2a13b84aace22e14ede41600"/157) r1 = syz_open_dev$char_usb(0xc, 0xb4, 0x0) read$char_usb(r1, 0x0, 0x0) syz_usb_control_io$cdc_ncm(r0, 0x0, &(0x7f0000000b00)={0x44, &(0x7f0000000180)=ANY=[@ANYBLOB="7c8e72"], 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) 16:01:25 executing program 3: r0 = socket$inet6(0xa, 0x400000000001, 0x0) close(r0) r1 = creat(&(0x7f0000000140)='./bus\x00', 0x0) r2 = open(&(0x7f0000000080)='./bus\x00', 0x65142, 0x0) write$cgroup_int(r1, &(0x7f0000000040), 0x12) write$sndseq(r2, &(0x7f0000000200)=[{0x0, 0x0, 0x0, 0x0, @time, {}, {}, @connect}], 0x1fee00) r3 = open(&(0x7f0000000080)='./bus\x00', 0x164142, 0x0) perf_event_open(&(0x7f00000000c0)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41be, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) sendfile(r0, r3, 0x0, 0x80001d00c0d0) [ 343.253834][T12684] tmpfs: Bad value for 'mpol' [ 343.264202][T12686] tmpfs: Bad value for 'mpol' 16:01:26 executing program 0: socket$kcm(0x29, 0x5, 0x0) r0 = syz_open_procfs(0x0, &(0x7f0000000000)='net/kcm\x00') preadv(r0, &(0x7f0000000500)=[{&(0x7f00000001c0)=""/222, 0xde}], 0x1, 0x12, 0x0) [ 343.424834][T12660] loop1: detected capacity change from 0 to 118 16:01:26 executing program 0: r0 = socket(0x840000000002, 0x3, 0xff) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r1, 0x0) preadv(r1, &(0x7f0000000280), 0x18, 0xd9f, 0x0) setsockopt$IPT_SO_SET_REPLACE(r0, 0x0, 0x40, &(0x7f0000000000)=@raw={'raw\x00', 0x2c8, 0x3, 0x3c8, 0x220, 0x240, 0x240, 0x0, 0x9203, 0x330, 0x328, 0x328, 0x330, 0x328, 0x3, 0x0, {[{{@ip={@multicast2, @empty, 0x0, 0x0, 'veth0_virt_wifi\x00', 'bridge0\x00'}, 0x0, 0x1e8, 0x220, 0x0, {0x0, 0x700}, [@common=@inet=@hashlimit2={{0x150, 'hashlimit\x00'}, {'veth1_to_team\x00', {0x200000000000000, 0x7, 0x0, 0x0, 0x0, 0x8000, 0xffff}}}, @common=@inet=@ecn={{0x28, 'ecn\x00'}}]}, @common=@inet=@SET3={0x38, 'SET\x00'}}, {{@uncond, 0x0, 0xb0, 0x110, 0x0, {}, [@common=@set={{0x40, 'set\x00'}}]}, @common=@SET={0x60, 'SET\x00'}}], {{[], 0x0, 0x70, 0x98}, {0x28}}}}, 0x428) 16:01:26 executing program 5: r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_int(r0, 0x107, 0x8, &(0x7f0000000000)=0xffff, 0x4) recvfrom$packet(r0, 0x0, 0x0, 0x0, 0x0, 0x0) 16:01:26 executing program 0: unshare(0x2a000400) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000000)='/dev/kvm\x00', 0x0, 0x0) ioctl$KVM_CHECK_EXTENSION(r0, 0xae03, 0xa3) 16:01:26 executing program 4: preadv(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c44, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg(0xffffffffffffffff, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000100)=[{&(0x7f0000000040)="2f0000001c0005c5ffffff000d000000020000000b000000ec0079c9130001", 0xfed3}], 0x1}, 0x0) sendmsg(0xffffffffffffffff, &(0x7f0000000180)={0x0, 0xff, &(0x7f0000000080)=[{&(0x7f0000000040)="2f0000001c0005c5ffffff080d0000000200001f01000000190102", 0x1cb}], 0x1}, 0x0) recvmsg(0xffffffffffffffff, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000600)=[{&(0x7f0000000240)=""/159, 0x9f}], 0x1}, 0x0) r0 = socket(0x10, 0x80002, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x200003f8, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0x0, 0xa9fe}], 0x492492492492805, 0x0) [ 343.548146][T12704] xt_hashlimit: overflow, try lower: 144115188075855872/7 [ 343.551903][T12660] nfs: Unknown parameter 'uid' [ 343.564314][T12705] xt_hashlimit: overflow, try lower: 144115188075855872/7 [ 343.627632][ T37] audit: type=1800 audit(1618243286.256:127): pid=12702 uid=0 auid=4294967295 ses=4294967295 subj=_ op=collect_data cause=failed(directio) comm="syz-executor.3" name="bus" dev="sda1" ino=14113 res=0 errno=0 [ 343.729891][ T4029] usb 3-1: new high-speed USB device number 9 using dummy_hcd [ 343.754899][ T37] audit: type=1800 audit(1618243286.346:128): pid=12706 uid=0 auid=4294967295 ses=4294967295 subj=_ op=collect_data cause=failed(directio) comm="syz-executor.3" name="bus" dev="sda1" ino=14113 res=0 errno=0 16:01:26 executing program 1: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = creat(&(0x7f0000000100)='./bus\x00', 0x0) r2 = creat(&(0x7f00000001c0)='./bus\x00', 0x0) r3 = eventfd(0xc7bd) io_submit(0x0, 0x3, &(0x7f0000004b40)=[&(0x7f0000003a40)={0x0, 0x0, 0x0, 0x8, 0x0, r1, &(0x7f00000039c0)="06453d5d3aa105f340ce688b05b276029eeac708d4c0a9507f02d039f78eefb758b2129c821d13afed0119ba3af0d8b5509ea3583761a194f6d6ee2ffe725519589d483870c64c8b96c2a7a3789046eb0fb371d1ade661fd558b0c8d4b77f85129b243", 0x63, 0x400, 0x0, 0x0, r3}, &(0x7f0000004a80)={0x0, 0x0, 0x0, 0x3, 0xffff, r0, &(0x7f0000003a80)="3833fa9084d0c36089765f18643c3f5e1452c80d9ee439ed45d6ba80bb0f6752b23025598595be71784e6d2342fe6d30f59ff01f8d9db2943f55d4388c6f2d786cadb491f1a8ff2e720cd2203eb11b266e35231fe57da28aa9ecdaf8fc7fc4dc1e9718ffd9fa15bd48ba21a94992b776dc97f1f43ee59224d7cd0e7b5a4dd5ae2f1fbf6c970fd0d41ea8908f67e68298c5dea67cb6fb56643e81e3386a61d8ffcd127061f1f46c3d8284c2d2937f321e96af7ffdb9251f865da506bf46918b8893b674f77808a585606c79abe30463f7c44640af06a416aabddd923b5e127846dcdbcb5f7833e8e9b906156e90a726951ffbdfa12ffa56ddfd6dca25592f987c65ad874ff05df997f0bfa3fe90c9c50b12b8cbf91e2528783a70f6e1eac2392994eedeeab3e7772593516e2e94afb90e394bf7c998cf0b08adb8d94e56582f04817276d6760880f7824f8f95e9242b53aeb32ef0b39314b31403b6ee9f7b7c07792d20b68d665637b18f994bc3b9ce9d316904505909ca603abbbb66eb47fd39a6ee4cde2e6984565a006dd8eb4426db17c6bec5c6d2639ca3e6ab66c8d7da45e2326dcd472a224145f88f8a6c728aa7c8a75e99285a18aa444cbba1dd2bf0b5cd12461e902739505452fea60b03268efae5197a3db566e027655fb97a4c9069a93b48df9aceaceb6b662e113e2e4c70d4cc9224118bd06a06cdb6026fa9626186f7b02f3fd3538d3e9f02c0fb485e96eebbc6e0ec38956a5d3d4b3ac0376c3d9c58a4dbac90f6d65e9b6d4b6df64f84a08c3f089df691695d4164b79d0b8bf4d262ff97d6c6a4e584c51c04ef0ac42e39dd507286f9efbcd57be6b58114196487a843b3c076f49d2a731c1a2aded9905a413abf9bc6549c0d6b10555a2a0c81ce56c28ae6177b43afa7defe655978f3d8970eda7ce1fec3ac2e38f94819bd9388cc58af6dc501d6a97607ea18e4fe497b0551524beab5cb2d20f08c0a304fa83fe1a637933d18606466f6043394a2cd4dbe078403224b111d62cd58f3e1b255aeba51b18a0d8a8488b7f4c7a0fde455484fb7ffdbf033ea6d4f9f9872162e1982452d84197ec953eec8a04981a2c7f91005f569555e59b132455e485287d1f14c63b23fe992bef5d6d7e92f3f242f3183dd08aa7fc33bb3b3f0d7cb5ee63c2c5f6becb83c85df4b6f72b0f45fc4a0abefb1032f922da3a2534eeb7634878629dbc12c40cf8090e07c7979777e47202b1d53a262d8e9ef2e0e205506dc63076e7e382ceda612ece8ed7c9aa404143945ccc6205b59f12028fc88f63457945df9654f6d84e2fcd880133bc3221d746c6c46b7bc0b43827915da5f64a66594ec77779bbcdfb9a222665ac76bb445d8ce8011433200415d9d521c20cde14c31ce49bb999d35ee8778a5118b3ab99d1abcca1c6c7f1884eeaa2d6b341ebd9e7b43c787b51dff2afd3279e2fcda0b0bfdbdf7c0e0de55df31280e9faa6a7d757258950b562385918eafad0331eb6a4b7916ccd766ddf0f54f73e65b3690647bcf8dd96dccbca2792baea61ae20215faaa5611f8f290fe430cefe61926751f9ec22526a2a0e04302e5bae241550fe6bf921e75e4a2a1197965eaed1dc7b339afeb84bc84c12e4ef2cebf4dca7b6cc2fd2ce7a8fabe40c9e4387b4929513438b090080ba8cc5df721fed7a4ee198de53f1bc396d7b6c1f37dd2b9adfcfaf0453737d8f4148a6a7d823720a388f67a8e853f2546b9b15a57a50d3e30d26b1cc6de52599cd7d4ce1817bca14dfafb1f323ac424a7e0c9741916ec4b24d44a8482d25bae4596751bedde85c454a3721e36a29dc4becdd90869eadfc95f99d388e43c5ba5fcd867187192f7928d7495af9e12183fa55412db26a8dda0cc0fd189df4bfecec486291767fe7fd4fc9e50fe31616025d52824cc9893ac161bf6b97a752b29c3d8562676a97c0d60deafb970f7c266bb362b980a35a25b97ed27a09d626e90846bd897e18aac385bc1c407f7f35ede1d08998c6cad112d82733ea147cba83a594614e7767d4ec483ebbcda4693fc503bf8bdabfbef24c4a02af3d98fc16cc6459f5703f790730db2352675716f8c5762f647b6ed436771652ec4ddfd56f18dada47fe59f016992f62bac6c0f21da18982663f72f270a37e59dd5f03076c797be8af64e4e5616ef6d5f5f986ca2f63fc7f5fc53815e6f579a9eb4081984cb8f143b5989b9c10b0c4623260487cdbd0adbb7400a6759cf304aaeae4277fbcfe161fb3ff148caae2183b1574a8a27fa07c8eb3005429b55a8ad3f30bc0e9cada427ad8a4624f696c525f817d0c48672e92184b9347b55dba51b00891937e6691afbc68c4e1e9bc451089b1e120ae9db845c5cd1b688d6da1f1eb6f7556b72c2ebb78ad5562fe6d9bfd49c5540b64276fe4b5238a4e5ba893eaa9d1131f9e4562276de989deffed5dea7e28003c04e548b3b2a41f91d71f65efbd0fddaaf205b1113e6b87605df1126bf30a931a0fa83d935a863c0af8439e5dc207ce0a5bfb1e22440f3c0ef5125e1dcd3b663d56f928b2e9541b742cc28cf9c6a5950dda3d9cf33dc8067d1049690fb23952e969ec3f1d6cdedb4e15fcf4a3c188f43ca662016a7b38c0e237f15707d44a9ce74b1c0f38842c5b30b5fb7f94558fbdccd5c82a84c5f614bf320211afc51b14ff3b13a7163f48693af0fd65f25becc9fb401e117e5faebd1a60e4d6d33909638b74afea9c04fd96875c679641d186ca8f256e8aa48e286e91e8656ae1cbc07f587cdd2e7c1e0afa1eec392efdbca55d0b5e26b3ad7a278af4e62c8ea1c5a568229bc4a1158a276a2d391596cccce831e652fdfd9f614c22284c9a9511fc0d8f4cd0dfe781aad732524170d949afdd1f0fc4835dc20498fd93dfd48bdd098fac374a210ecdbe1ecefb01315c60ccfad46244236d82a86993948b6d9db05c3dfcabf6afb3cc67b936daa3875fcbebf009285882b719555b38db64af1c575e9859e64a57eb83d0babbc352eb6fa0d5334da443c497f7e7f911309224e2558a5f0687fc49b499e49b2e3aa6278bcb8b159cad3be404eadbc7e4054bb1b1c834bc3536d710cbdcf2605532a763e981ce1d20d34862b60a4ff41213323e7fd167563f6cfec5eb09679e8c885732f03ee4c7816923471f9944c27d4988488b8e8f29b1a5727cb8dbe90d6f3052907e3eaa6738e6892d645d8e5f0943e98e36207eae18e0841b33b35c8ca4af85ee9c8081615436690f9b603f003a20bfdd7e130ef3e88337347802e58ee7594c73bf35ae2caf4a7cbc487cb737fdbed85f2bca88cd36d9579cd72036b7fb6aa3e14d5ac029e8eeb1a7c0f237ef2984dbb5f352c68f0a18d08616119f8156211f02fcee5f2ca2a5e1588a3f831cb9a0d5a0f93cec4b60a4ad7c77815bf36d4df32f1eb8fb2f6ce0c5994cf251eb083e740f373df4ddff06997af161c9b715f9f24055835128f8eba8d88b4715c3428d240e7bcdcc6af47bff57ab4a36ab24c80ea1d2d55125230535295ab0ff8c4dbe9a78e2c55a09b6cc7cca6d5ee1bdfd7e36ee3ae77b492501b393fb187aa617d0252963b7480de2bd8663c9695b24e665bb8fc007b7492d3e4f0ecfc1ebcb2e8d04e0d05840f0c9d103977ba97b291f1659eedb2ac86c0f36a9ead1f22a6083cd75cb1584eb164f3b0f1dd1d294115526d47f2be8b2cab399d7452c486c58d0380548f339584f76b9cea9397bc96a416af5a50f933fe59edeac2e581aaa9d253605aae0066dfb53fcd6f026384e4207cad23211c637b0adb4c80b0f1feaef87f8ab90df7ae6e7db53807955a4bb88b5abb5d3cb132e0e064789508456ccf2827a990e97b41bab1f3333946c6bf1c186a56893af51011a0f4840874f833347dbc6fcf0f75d2457ad1f5ef9b33f4c2db6f3e616346ddaf6b6f2a081b53926c5b3492fe8b67f93a08ffc227f60fd78cfd8cf341ebb31d478d13b204c7e196d6d3818942b51376de6b62c043a182750685385cff52fc52fd269fd182330c07be872a76ee57d5a447a0171b362b6baff99a0d66df409bfec23fcc868737b50219d654ea50a9faa96cbab37a51b0888d510f86626a1c984aabc75efc95a09687bf39af14873c80e971868c61314314da991e671a9c4e08e231d35c0a91f6cdd603c00e02a0e0caa936e99f551af3b35d7d65a3bd9e8ebafa4cfd68d0b517b9d93e51d8161a92681923816d6ddaf6223e82323a18d95ecf6d0be51008bbdc3ef78ab626c5661c09b9c71beacc4c8189b76a085def61ba9e27c813862b89bfc152a445c2af31d44294bc9fd406da1f37ef03cbfa589857c07989c8c28d4bdb676b0cb5cfccdafdc879cd8e4c082db96a4b4923546ba66f0a25c80fbeb456eeb07a3ae26edfea2ba89cee69ed6c77572127e6956a995a9cce8a3697bc505ae7b31611779c60fd1ab41bdded1833c31dcd68507f310ce751246e3c409fa3674dce453f3ae0d57070a0a85748d8977350374919b19f4e0239e807a965f12a0e5066bbe2d5f5c4cbf49cba4625834ee7ae1f0fec552d55f45f6bf6546f8613a8de7978ea81e6f74dd2243ef1b89952634cd34f7d5401336614c66672116b2f535ba0cb10d59294c6d9c5ae224bb27f0b1e602318076449e6837f85c3a2686b7c3d7f38b0e99317fd58680da57e4c8ec0e30b7addff011febe30723742117690e1f8b07172b748b4213987b2a7cfcfbd3119b8483760b5807cf0ed919c213557c26ec9fc90693237b1c42509f9a04ae5089e37356a921cf42310957075d94f587cbe98d831b276924c19609923659e44769bf3f139d6bdd4bb037fca9f0a01dfaa4b4a43bd10974c1fac703d99e01e245eac3d5ca7796e0286cc29ecef61a5bca8057f6d043288da5d7de30a7c18027567a006055f03cd50567f35efa12ac0a869db139e641407dfeef08d8b107ead7c3306bcb8871e45013e51dcf054fb42ff3fad493892c69886fe7fe37edfe729d7367363aea78f02ee3cfbbf7827f554475d8f563e32609052ab02cb66e63f8825e2f9bfd9d53a632a5b752b50a0d4f02a57abc49ccb6151cb254fc2ba4e18ff25f315e0e3952434eea1180a4603a85b7d71209253aa93c72751089d5f5038e5fd606de57a826f5f4dd19440b6426c58d6d12dc88b8185853a484c5c5f6dc636e15bfbbed597e73c0c0e53b1fd154c3a4bfafd4cbf4e36946db1329048af6f8ced664f0fdc8903db0e3cc209012985357d1f565feb83856810cd008b007bc6291b3eca83e8b3adc822a736214c76411da0e0a9011d7f25039efba83d14c13456f28530501b9174d28ce235e441950ab51259276ab05694654c1b48e7418dee6287f2b43ed45287b6bc158eea79cde2981eed922190fe03cbb237f89021d06ce3df295e8e2b9107cfe6496a68026f577a061d8a8867f844af404caf5436da460b24f79c9399dcdea7c3078bb6f3d1011e24d00fc6ee4cbe60a27afc0a3ef13ba90d63736222d9ff322f5f4964c775e6f0b9d563e8e403b3ef34c4627e989b0b58670788cba87ba374436aba839e70e45728ea0c6d319ce09b6d35960659bcd4f97b65a335842003b7116e9ed42c69e4b75f4c304b9035bb4b8cc261dc02a1746a4e0b469bba7d90798b21527100d9bb2ea5d9d792b59b3a40144c07cf44b21485844cd49a4af43d09ce927b62cc1ed304014ddf841d3c28c0f23962737e31a33f03be96740229c4a6fc184525c6a3239b1a8d72114306db62043a08896691d0580fbee3978094cb5412216de8414c91154daa3cece23", 0x1000, 0x3, 0x0, 0x2, r2}, &(0x7f0000004b00)={0x0, 0x0, 0x0, 0x3, 0x9, 0xffffffffffffffff, &(0x7f0000004ac0)="afa86eafae844a833ae6e7d4fac9d9e3a7422345573068cc9b1a4936a41dd321ab05af6fe0cd3b3854dce1e76ee3ab", 0x2f, 0x1000, 0x0, 0x3}]) r4 = creat(&(0x7f0000000000)='./bus\x00', 0x0) r5 = syz_mount_image$nfs(&(0x7f0000000180)='nfs\x00', &(0x7f0000000200)='./bus\x00', 0x40, 0x4, &(0x7f00000014c0)=[{&(0x7f0000000240)="20896308224d1b05d4311e297a13ded9d565b122a1486874fbc12fb741aa08c8388c15f8dd90271357afbd44d479515c68f31efa2d044fbed915af09afc6721dc8e8c90871773164b1856195236dd685fedf00fd1e753228cfec9247125bef8d28c5963dbdb5335cf1b616ecb7fc24dc8b00978953292ebdae620add15fbecd2a236dff28b4dc38f7c7b5e88c56e0dd736e4b9f6e6addd6128ca9ccf3841d9cba9caa87ea41591365e5a8c565fa561364b40f915b1976d96d2b71a9bad67c8e62f1cf38ed013436842976e671ae9c472e8ff23534d0cc2254c6d", 0xda, 0x4}, {&(0x7f0000000340)="08e119250bf7a657f969893fc9cd6ea4302996aec149f889121a622e07809c310ba9eabbaa56694ff248bbdccf550c6b07f0f6403667144f1096b1951142e4ebebe64550456b9d300c4abc859616136a23b51982678741d782e6fb9ca2321a5b10ed0795975552f6a04e897d643894c4aebcaa8d1df0e88cbe61", 0x7a, 0x40}, {&(0x7f00000003c0)="cb734287df5db6868e14ade64ada04112fb76c0738e0aaa02ff4fd2e4fc07dc93928c0bbd10ae88ed76f6ebef65ad19a2af5c84403356376139f4b618d52f85226850210d00589a286519bf1c16a4d04cbab6d830ac3c014731ad804e5eec00fa1868bbcf32587bbf66c7f263a2b4572e19582d44b2d697cd3ca31e2d8120fb3722387d73e4d8dd5ac93c526b9be741da6812cf56183d7f0adfaeaac754a7e16a1c629ca0d7c433f45754314835c654a58e1f0809c51fbc7ff1df2a88bbe1106fab7986da1f17ffe872a3bbe6dccddd288eb3deb700992e01fb9b4211653", 0xde, 0x7fffffff}, {&(0x7f00000004c0)="781d90fbc76ced16f9e4b11949d9dc6275b9973e591d28b7dff7a822c519abe8db0eeba1da9fcd16012733e73d490f14f73097dde57260d3e1a256cbc4b6f5247e1a815066226ebaaacd88e69ad0801398554a8c37a7bf6243125b5a7aca64cb86e4e9244a408e5017c759aed2fd634d9bfe76dec3b657a80bb9ff085e3a21af771097f763057d781338cf44391efe039cb6e23f215c1a1ed1c0a525ff50aab62febe1a167c79209f6614f85afa1da1cc616865f6ef1623c183338b78b4feeda37950f3135ed6e5f30ad0f5cfb812817f1a70d5b723176eb365e9b4932170ab815b0c390daa7ae125f12bcdce5dbb7bc311101b1b5c74fe503de809294e4da92d1aaed2858513fea1a4effda32f99ae45d7f9d2d2dd215d7d2a43a1b683b21983f440ea4a9600d1ff8155ebd72d5b05d7eec51cf8cc58513664692d1184a93cc998e46aa4708287956492a97a2469df1c1214c9bac7610764f4222dbdd3a1f0991fc8dde51e56369f0600243e7392c5fd84ee923403ea06c1b8b0ae08e2fb4e9dcb0ab5c299eba69d7c32506403fe4c2de6b0dc647238246b23cf98b1543078cda0b25a0357c2db448c788ea2835b320c9ce37432eb9c0e4307c636055b52a7ca217b17720d93e6608c4a1bcc24e0f034d526d131624ad7e00b638cb502108e30d5e2634969e77e9cccbe170955f81878ce0e2a668edb76284829a941a32698d69c5d6286b743b6c8c840a75f418bcca40cb949a9da3cf558be077c9e8ae3cda29d2c3b2b18938602fb395bab8ba37e9985c37b72f67711319afaecc5f6355afe4a8280f3d59a3589b52847e4121dc73ec534268c09a74b52f38f210182475150e521c1407998d095a015b6cb4ba9d94c3293ae7fb799d43619983c75d9222076ec3efc3c30d54a2934f73472a9d44ab1a738d90cf89729c0b2e8ee9bd366463dc60bc74e8b6de2c133a23935b9657a0e224985c48f5de70c6a32102b48c003a04b2f38183bd0ad7ab892a355eb903c67b18f5752e78824a2007cc00f6e3fe8713e549d118949dc0b7d0fa72e94e24a59aef9d4890b0bc48a972f0e0c03f16b0726e81496dfaf6aec4d3074935f54f2fa3ef244519cdb1549fc43c96c5e2f2f35f50fcca870c02ff039a3d734b10c52e81372e35e428746ebecbfcc8d2c2724d995cec115fde79d126d68c93a8171f87c0e65aded78c3fa6361ce419621cb4ae1dd97b9bb900858e032e132509b209d295ac7f4ae71d705fae941cc4a7d552dcd8d1cde44709999558c057f59d0eefa0f4bf937c894820bbe926208b92bd69dd3a611dd598f703c8e636c6302f5a27268529fb68ebf82c2e6f361600ce7a9fe99c7002e942ac5fcfd1c9e7083ce1ecd888edd634bf24292562b56ab96512a2df7626751f13e8e15a0d450e0d3fdba6ddf221ab90f59ada4ffcb15b10b6f1dbffb0bf90d3c4be64040f325c1815745fdf7fa9b1b0032dde272a27345dff6072f1475566451f5834ba184080ffe4d5e53f46cd6313ef348b03b63c658e9554f4d38da86bc4d45b124139a03b9228544aff2d7c0255ff1641fe53c06aa6c611a4884c970fc55312f8cb2b4192d8311fe6f57ab173193f8956106f7bf8fbd3468c33a5585f31d31f7da013434fd47edfbfea390f88fd4cb91db245078cb659f2bdd4491dcfd1d52ca1bc0e6da462ad6f3055317cc9de700cac3201d846de54a5703678a23d02027802862fcba2caba6c0e6212d757fe63e0efc0695490459b5ee95b9c77b1994214c6bd75d5fd9456a9bebd5204b644a98685ed889b2fcb43a43f823dae959346d3c7ee8a2045b7a60e91be23481cd9c9a32e2ba8303411a516ae6492722b356d0d058ab0555d92160226ed0a3dcb94bda1a254c1e54077e3e25cf9258f9f7ca88cf543d4b0af4fddbaf98ec22bf0fc7590a3bbb32980fcd13e05bc6dafc5704ff6c505d15b0a9f9c1541487771dd29930466989068d757bb23134645777cfb26418859aaacef430c99750e6ad38e4359478d3c6c100b2297f12c59462621e7dcc68a4388d19a35ce79797ebba3fba65d14d3d8d9f286077e621d4e2fac1882def59bb06115fd50915e7806e2f8ec251f73d8b11b4b904aa00d48e734e0bc9e08fc754880c04a2e538afedd1a30f43be263d0afe395618f51c087f81e6fd94f3cac4e6b234fcb5f266bcbc4ab3817808c73013624a020133246f72e2e26325f85287200f4903970f292ee375268a7eb59973368401b0ec3a4b9e19d137f5cdf7d9efbb09acff3805289bf4e1bd020941783dbf2f430c16540b8b9aa4e53feb5bada95b3ed10429671301d84661e5fc89e2e1def2d06b809ff0e07889edeb6fd81c8be7fd81167bc2ca1635914a88b6b2fb2453e960f3a8498006c02b6d698629e6b89c7dca7a23376e1f159d5497b20fe1dc4de04f27861477201c516cb684eb956e0fe196bcbb72665579700a2c6570b35050a2b5a11d1961e911d5f4229bf449d13ecf56b1f0f295ff782f7bddd085826afba4f0d77a320115f47faea01c968831fde1d88f70ffe8215b875e74e495be9df50446a2d200497a14366e93b19f98ef93001c76bdb8041a909068525963f74e9dc5485d5d4cedbed8aae0401e9ff2054a83e3daf646c627734a1cac40565028c844bc99b3725910bfdfdb1646768de7165123ae76874d277dcf26a2cc758e9053ee42221e7ac1f95aff79153cdd6a4b8ce448b98cf0b26fb12c66973749e241c806519884a9f899b88e8b32533f724f519ef455e173f918e2e2da7d20df342273df05da473727b9e5e089abacb17c32396390e92147789bb7937f4f4fc5320ef7066f1c287db3aac9c0f7c9ded99948fafb71a9d1d6a0c2cfcf1ed858307d2d97ffc018db60056b83ea818a4b9cee26a378bea43451c998f1beaf6915fde3b5bf9d1a39076711cd044658e6a2d3ef799406542babf7f7c9d843b530e5b8cd240157c91110be8c828ddeac2242d93b5bc699c9fb3295fcdb908baa33fe34cd0d0383d9fcd0124f45a95a37b1900b1b46db0d31628c1a2f056b7351432f1da6a159606324e1aae6b01a50325cab1f0cbe9face1d9314799b57e7179e7cad65090cf8e9534e3c89ecc40e912248f0139ad4b750589adbd35fd8b65909483cb6d317ea4ab1ab9fd0f83bdd822c5d8de789f5144d32f315a48fff047d686358f934b3509cf21792227e125a58edf175c4119fc781ceadef283f93c0459ae7cd9fdfd325bff29f351ed60ee3d38a5024ee9199b6279e350398f2af8e882439a3d792c16e2a034b8ab81e5fa6e653444ab6be3a75649d5bb7dbc8b4d0e72be576624401c59a761351dd109afcc6651353f8a0be35809ca03a6be04a209bc7ca7c5342700b771442d43bbf15b4f2bc6ca8676cafedc135aecc843aaccf7cf2c575e99004b21a01372d584334bda1712e2b80d49b175d710ece5b5875082b28bb0a26d9a83e7fa4f162ef672606eb19887ccdbab14a3599b7bb9f002165d95527aef29f1f2081eb8fbf6ddf5cd567be70b11b2838292531191f7248d52e47aff4b676edc7d9376e1aa035393ef796d03639fcb102f7db34c222b81d90d8c3cb618f9ae19205e10a184d79c3c77c746bcddff295f8c36a1e0adec7ac053c8ba597446716ce8a13cc12a77f3650b82842ef5067fa28fa7cbc18c2137498969ada4f976aa52fa166272437f18865c34d85197f0af1f4b8df38947d5d090d8cea4ce81b25d220ba360e52a190241ef3393f81995fbd79fcf5ba5a5e6dcbdaffaa831b4be3c265819151ac20e8547f115de71f046c82d16af4d5c0b6aaf6c77010afccbbfec0e917a86f7df69784365fca4f564ec0e34345dd33ce502fa96fe0a92bfdd54c9df2efea039bdcaff996c5e1f255d962604ff237aaac32b0c39692ea99af4b1b30bf3f5c734cc88b74edd8531261e48160e796f7ca83943b8c215696137e9b4309a9ec4a2a714c0f7c2c22fa0cbb742a6f98e25e7be5ebac517a2185bca784b20980427515bedad702898868e8327fcd5d2b1bbd07e1b7367f3bcd218c9be9851a4bc5ed944e3a4126cef0848b5013a90a6db16f14174d768448ab5d3452b85fde16b3aa7f6eb2546bece0163b71d7acbe8848596b12eb9340b2a71872e3592b212ca3004145137dcd71c152efced10a1e37ca1eed0987e89d25663d435d81486e476be107269dc745f28ed52303c55bbcf56ab349aae8d6e2a4d12795ccaa9130efba5920070910445d629d15d36441fc8bb32498cf1f175cc913b7a6683e6a67126af46ed70575e480380318c52f1fb7471db06a42a820017c19010f1c87bd2a9f673ae82c72fb61920d701e8f4b55f453df8502e5104c30e2057822bbae14498f19cded3b52cb0926e1dff56ec2aceb32a5748e343022ac30d1375c9ea96c9536628ad7a717f07576d19e57c6989b871226faafb70757d2fe92bce61bebf43b104ebb886190103d00bd162b14444e57a281d2b45e355f5aa87886ae7fd8ed7a499c146c129121e4f9dbe907c34a53541ba9601803598715640b9ba286387739bf9ef14324fa104e6072eb56c368733c2627a4758584a7d5d1dddabe3e28977c772c7806eb3b0cf5d5de11a92e2c680a2ce575b47e75d4ea4407e5b960b727a77d1c05d0b9b874966e27fad6aad5c13bd2073fb52582fb3d5490e8cfd3c3ef09cff08c2e60d92c56614769575edc6a016f7c9b09395c1c6a423b386df3dce948e33ee321df950ae3f5c3f8cdfc1d0f643cc6c37a20eb16629b117b8f4189f36c2a8f19c157c0a4108584e49841200a542b2e2d0d6be3a312cb0ce51df309a145745d506bfbc78483f4f99e775b455a8d1d6ecaa0730ee18a5f857abeafc64ecf9a1796908f3538e9e21060b92d4d35189506a3f62349105db21a6785f148659f1a083daf52457f5605e897ecb53043e4ea2fb208909a7f58fabea73e0f22478af0d1a71227daf094b5e8194c95eae720c4d1988af27f7bbf9ced50f4025a4d94ae2c26bac7fb4346ab97f6b48a6bd55f719b090f58a2559afdab6b5758f24309a7b30e6652ecc7eecc2ab4eb942f80e574833a361637bbd12888dc3601ef0d59bbc89ca31249a179ccdf510cd235d975fc08d7b241f6f1d4f6ad6a600c678522ce31359b7f96cf969a9e2a41be60413a89dbf95b6977c120298694011fff4aa9bb66165a806744361f3b2b756848fef524fa60367c48f867896c1c5926708feaa7eb5c05f23f17086c3e7be8805cb181750fa6cbc0b2e269bb196dff629ae26c7b20dd4a0d14be872f51712e1d8cd077c614b7f4b6aa177de8c2cfb2d7aa6c5333a5b71499a1d8801611eabb835d7ae90bc28505488634980c3b969924836530bcd83dab1c1363749a86f5143e56af693d0f442a144e11a75247397ded02a495fd63df2d0968f0b60de8012fbfcc2f69304b2994eafac199cca7e8f2142cabf712ec8a2571232d91af39310b6269fa393e317c1b18e734e681b298b2c4f9dc569102d9906ab58d5ffbf0841435cea258290ee65a1d7bd42427826dfe05ae6a102b16095a3496ce226892ddf2de8a00b926566f50b69cd1877158a91e525291e233071b3fcb862bed2b813a187736d4ccb16b657cf009a1b219e8cdbc7273c9dc108ed1fd8b65c367ed9fb1ae206cee0e9aa82d492db0268a94146e6437bed145d4167fb3bc3b2e0c77873a2bf832388ac1fd462b227a2c370690cf9a82d12d1501a252153b807016a86d", 0xfe0}], 0x4000, &(0x7f0000001540)={[{',![+^\'\xf3\\\xc9\'{((\\\''}], [{@appraise_type='appraise_type=imasig'}, {@uid_eq={'uid', 0x3d, 0xffffffffffffffff}}, {@uid_gt={'uid>', 0xee00}}]}) fcntl$setlease(r5, 0x400, 0x1) ioctl$FS_IOC_SETFLAGS(r4, 0x40086602, &(0x7f0000000040)) creat(0x0, 0x0) lseek(r2, 0x7ffffc, 0x0) write$binfmt_elf64(r2, &(0x7f00000002c0)=ANY=[], 0x1a0) r6 = getuid() syz_mount_image$nfs(&(0x7f0000000080)='nfs\x00', &(0x7f00000000c0)='./bus\x00', 0x7ff, 0x6, &(0x7f0000003840)=[{&(0x7f00000015c0)="82bc1eed11fe0895628787a2d5a4dbdde3b1ecf37b4f8b0cda3ec6f172114e8b4529e1efd0b391129b83cb7ddbcfd9304fc0f8b18dab4f46a8c193888ec22ec26249ff68c43fa24efdc131135e11824beb89a8db682661cb6a1666ad86858126a0e5f53218e03164306a186dde04dd7a72304262449e941381549180c04f818c7898e81fbe44afaf700dab1112ad5b75ac93b5199bc6c46481ddb43429d77ae5a2d95542f228194f3d118279e91b3b25be3209db0a67f7b05d1bbda48a15c9fc0e72dc5d664870b596f57eaa8da4efffdf056ab0705bd83becef1e2cb0b71fe6251fd98939c44bee02f59640c0f74fb6fd59b8", 0xf3, 0x759}, {&(0x7f00000016c0)="7929bd8692e682e58a7694f08ca697a1bf01e101974fbf9cf8a1ca79ad784e4ff019cc03859976db70c55d5ffac817be25cb8e2f51b207bba0de5239b26470ca1214a4a9c94f6932874c07174b30d54223471e942a9c31182728cd4e376c10f7f64a102156c5496f1bd3a758d61a131872abd2d1a7016cf542cc4ae8beedd5a90f525c006d4b12a2e6b808ec6a361a79fd33ccb2a9c8bc9bd7f360e7bac48f9fd69019d260f7856cc790774d06360ad4fe13deec401e8bb22b2a3ec7414343248b9d13dbe0a49c541dd61f2cc673b6591821", 0xd2}, {&(0x7f00000017c0)="b6965e39ef07a887791e1a4cd017b28a71d2f96e159fc73eb1e30034c2297fa6763e954e8fc1bdbf0e13f54755a9d5f04d2522ddc436f20e54de38c6023b010f187c9b5b64f956b134442e74703a4e6f3389dee5e47a5b0a66f0ad9ad36ead36539ec5368612b203", 0x68, 0x2}, {&(0x7f0000001840)="5609bfef06a4d06436469f86727e7f11d951c92cc44f9cdcd017cadab217ae2f21bc8a55d6d941b4d3d32dc20e4a4199fa28aee61ec88d2567fef0fbb296d11f865568ceb33bc9a5823fa11df81fd8bdf12d61c97ff2c4dda7c09516b2118cfb3d26f02218cd23a122227ba27a3c5fabce93fb8eb3b4bd8f5624b4c3e172366ce48f5aa9e0ae224802050f441e43e93ae9315773be463406dba59ad4d9a7fcc4661826a30a4b01b403fc25b2d0666cdd77eef2afada33e76422453bc5576b45299f6b44f18c878ddf8e4cc46ff236010cda1aa41df824e4bbc0b62501424698472c4ae721a05f19e45b1134a9825e19626ab2079fd1295327bf08b0f86230c32f82456945c76460a01ba3b56b3dafcfe02ce58ecff6f764a8ef4cd316cf5630a876e4155d25cf05cdeb119622a72b3a7d1eb3538cd242932cea0d7b25c8426b25e5787a8ae3587b2f0f62d42aeba5272fed98e1a322306dbba27e96a6c6251600af944acfa5535e825c655bfb3e32ab3240b74278e28c51aeb3243d268c4ab7b7f75ebd2a9c7cd2f3a28f65bc44e6879382f771896b658319a5e057d8f30e5cff2f11dc1a9d8bf3139a857439c9643d4b7c600e1689aead8451dcf86a955d2346eef3cf9e6b7783c8a201094dae129e07cd8bdf5935bed037a0cc0adeb9b787ee7edcd70b496dc676cf8fceb8f94dbd23a0823e86121ad781763cc601aafd86b07f9a48e8f9cdad4e35ef1bfd2b0a3b2a936baa5241d34051814b083ac5cafed4b28f136b13562859e6c2d9434a8f67322040a9db9ccb2a29023df8ed364c023da5bca1b1c487f3398bf4d7186ca315c06fd1dbd2ec0e78af1edf19bccfa44a87cbdc895bf03883d2259ad5be8eb732ab2d32508fb97310500efa107d661134b70af614a01d0dd99ed19f5521ca95da6a32d5b099a36ec352d2b24a9f1966defcea0fd2b54605bda713b7bfe9c68eed7fc54bb9db46eb667f2cebf0a55299181faa7e819af8c3b0cfac0bf49c30801a0c7697defaea347ce613ee3f207114e0d70d7819ea3b5a4ef098a50def0d4d661af3f608cb7e89cb70d06ccd5928c5841eb60ab2e3363d6b1753d169cc6878d4f5afaa95232cd121cf8371a473686023da85d86d26e9cfb2ceae55bafa60d6d7d8ff669d1b800801e9101bc41b89d2c6837d07724a2ab6af753a36d77b3b4fbe7cefad4c72db27afa2424cfd39592fd2a805c92793475cae9452c44a475c9f94776d4aac804364e1631f08b19504cf6fb98f329f865ecf310b61951cb798a08e437a6e72f6e2b03ab39c5cc51d6425bbcfe2bd50a3f21e8dd2b5a6ed26443096cc85dbb2f4e5b3c15015aa6e860edc8f9d04100b6f2ea56db2d478e72ed7fddb68c6ecf774275a6273f3e93270d6e838016b23b26b77cd382f75799a840708a863de8ef1754fce73e4e0f07e00ed6a4c953cd010a65761ad6606549696bd5601007eb4214c81d3b1bce44c3bff299bbfb3e96f38f0aaa0a9d3c09ccf5285f677f156652192e5ba07639aa92464b1e8b546a5c671d679468ec168dec4cd6937066705bb8d9465024815b200388278b2002e07389636307865e5915e4a1843945a7613b02b697687be2fef5aff10125b7446f670a5cfd66bcec825e84bfc247bf1800a291e3c4178e843396a825303aade34001c10477ee5e9b6a8636521c089e61b91be804ca27acdacb1cf63acda8eb852a91f37a33d6995e6fafb68ed4d4177bccf54afb4d24ef56cbce4f65d401ca4d65eeb9d1471f0e94413491afd06b1527ad72bcd65ca3b100ad1c008b3fae5f59273a134377b0d7587aca0da348fdada11d0e6bb5791bde0da51f6f9e92fd565bb8f005f1a0042a36dc8e8e86c8f33a8364bc86a23351796cdc20fcd306766dd7569604f6cfd34aaa008988831b22803a94cbe91e06044c75f2e3637ed82fd45bc71c89ec3c1d0199be72bcca0fb4db7afc89c5bb3176237f95735c1a288676ee04e80e7052939565c859a556fe6ea3463bd939c35c7e854ded3fa03c5deeaff7e977c7338e2f0fe227a00e5cd92b217cde14c8eeb6f2e983c03a5acce51a331fbe4c951c799410f1060fc16b03c7f0625ad55af8b181edcb4efac907dbcacfb06ef6eeafe74134a6701d9ac9efdde601f34c1d28fc4acb47590d8667f12c271352837cfcf84581dd5b1bef65ce481b28b6e36a619fb3c5d9b320b26e9111f67de21dc45e9fcff70b5433925d1e70b4e3ca88684766472b69756fb59bf54c745036a0e23e1e07d370c375c93d4391fdaac045ae58f2b61199b90869975ac0ebd30795d64e9520daacda3c4dcf54393fdc470930510a7838d0de8231af63cbb01a11f019cf653c135f89626885798f058c5457023dcbf309ce105ba0f17589c30da3a2f7a057c46b9cdbda8b77d0cd552052a1500e84b2b16b022b2936e7f92d01ef67782cf63c504298a4dbde062ac1955bc0022d85f5770fe7b601c291ba0c5fca6531575f6d6e6f29d2ba8b4f9be3cf53ffd9b3c676c5683c1842ca039dc12603b55094165be636ce905fa370908de12f3b874724a51f4cf95156bd0dbace45baaa5e9d38381235886aaf8742a88cc3732d1912828f26c3daa498675ee9be19d18359af6774db6d9e061f86060b7321c3f3773ee2d007818dc40108eca3ea25e4d3892608ca0f8c63c7abb295086208e2724b4f69732d7fcb4adbe0cdab94f7cd4cfad15534af155e6c09faa29d4e15d698924d21dea9ef8085356ffce7675b22594dd110169d0a5799dfbc13f6c358d98cc1fda4a3395e803e5964a6a4291c3ddb8d8d2b854c70ddbff638eac3742a8ab423aaa319bce6b6f5be03647c18c67d693055c01a5a40688c0dff313401473903288dd6e4ba5bafca0f187afe92cc471b3368e2d659ed094b741bf624199f3bcca3068600dea670285d45bea4b04c2dc55801dc3497265cbabd5984fe1d291a14a20f1f2603613051728b521159fbba62dc0153b73697e0746d884445ebb166efab56fa33bc347a256e10b22e1fc6a540ef6f8463ad639d7d29cf5007cba1094e3528dacea3c3ad16353cc38b854526a7d0eb1f617f82b35ea7f950818f5e7f35946118819e24841408ff4617ee85b5b8d6b154f54f6c6549c37900fa9127a1d0b1408822af5712c130397dfecacbedb0da561e7e50149acd0ead9de68170266d2d970664562bf20f6e5a049bdd861aa38488e7b77945481f7b38936a086d1d7fa6fc48cae86b9b097d8288f542a4ea30a48051418196363b42dfe6d01fe46d9829b71b94415b1832815c1523250807b4f99a43d743774b4c07636f80390c0c2ff2ddf654447edd5d7d4e14905ee88e4c6c017c8d962d34ebddc12635e1adfb9316a377182072af233e7125056bee67b684c2b1e1698ac5dac8dfa1400f4f012c871414a3afa7b5f33a378a1f4d854c67ec6e60ec042b2e5c9d77e54f4ff9723fb9537a462459264bc505e20e9a61e1d9e5fbd6f3ef3d2ba39a0f0aba38b2782df7b8815c77dd316651af1deb2076fb2af7ba0a97ae131ebe73c541df07ac3e38ff44ca4cfe1b5e75aedb5931de4ebd213f83ccb679b497fc0911f753b0b31facf0a66790a7facb7e8f771ffbc52bc66b51b612e6d440047ac591784c4d1b30ab2e48248b9f01d58f9fe9840fed5cc0fb26553d68041f1b0f6b6c1f894eb0bd2a5e9cb4ffbdfa6c094f6ce08846b7753d85b3f85194ac0bea5cae8215d897ebb7d942e637e945f7430358c0b80128c82efcf879d00529be243f35953fa5a7bb0bbd0bc29088dab3221f8783528c3c14592e6349abc90b61734dbe35a748689aee770b94634e347da0e8ef893f4a095c4e400d0bb0dd05cd94d40a4bcdc001508c30df2e9228696299b44d3d2a80def2689c7c1b2ebf145a5b36a2b7e98d29c53052d189ae5b5b2953fb3751c7242d530f231fa649ceb17a066ffe5de8905e83518257056adbfec8a0fc5028e6d8666cf55d449bb7fd0c438ef88f72b12266fc78acd9d9c23de70234b4428f42173acc0b024cc774a03acfe33d3dcf058013caee932cb99393f62f8a696f07fd10685342b346532e450619e842e3d6e8f564371c39ce7de0bd2fb6886de5a4c4b9c2c790372b8368cd1f813a23e928e09d6fc1f2e6188cbb2c1e5b3f815458bb48ac5bb4a501e20507d326ba858f07bd5e996c073725b78d2aa669dfc1624f938fd7b406f0f4992a90821f5b620e256bec459d72f2b7252b238d280c05fa10b6bc27b7d44ee2c1981ced432b78568d4c79820b797cb11fcbd575089493c0c1056ed991b19eb3be8dd989b8c7cbe186a1c1966c0d629e65caa2f5fd3f0b510df8497137694c584af4a706a263af070a6198519364aedfa112942f73953e157b92271e91f332b77187d55ba576faf52297ef5673cc50cd98c590ffaf7ebf966fad543e3409715fe333482bf3389c61c3b7b12f1544e81bd6fa281084a86062de9c14bbcf88d34cb45121c1aa7c19e632f1e0ea6ef5d85bb62369a2af2123a7f9153c5e6be748238091db482dc7aba1dea76b05d7b9505900a0ff74dd762665174d74d4d6f1ba2f774b393591c58e4477282b7b8e8e48d72b826f88c623b323c62694b5749a6b6c882b54e1b167419b3ab55d773275e011724972cf0f63b2fca91a898ddb39dcc55de9d737e85653c8680a6d09c808bd33170cc2572aa1b65520d1aa1de5ad1a6d4e42d0708ad249561fcef99afe67497bea735d0aa056b0ec318b408bb930e0ca0d6127ef8aaa37f5fe09bced4ee4c5bc65cce3feafa1ad4cbc46c4436596ebf61667760a051f7c1c7fff0bd88fb76076cabe3111cbef89c5479c1d1d25728984d2d4076b9e7c38d214010310337c61ac0ef23823f65ebfa9294a2cacf57142a0cf575d3986ec5ef2ad7a29074cfe1402b713880ad29637b29eef0fbf478a00a38745a6195d1f59fd4e0cb1abf110bf3710347bf0befeab320931eaf30bc6b9cc3ff9a2f1c2e90cdc03649655a85ab2f828b549b02132bc9a578262b82bd876c2177a1c998a94f2b9b907b4f695135f945287904016aab8a35cf8e1220fb8fc575da88ee1b28dafdbc00d164890d765409972d0f87c90cc590ddbf5b16f4d4a0a130760a13519ad3e39aa0d4b0436e1ff96e3d62f841d6af9fb6de24d9fed97834a3f569cc57b8234ed7edc3151c73551c0b95d744910708a15c9714341dc0fab6b71c5d4757af69427e0edb181d3512a9767037a00dd92b4643c1f94046633d234e34ede9af154e14018a09f78453eda655f560db74683cda001b85e10bd5df735003f7b436ef8fa6a4f1e240330a5d69daf562ac2bd82379962c78134c45c748931f5266cd7e4dd23ea1b59e8e42170f0a99c5112e69106f240c2013cf17e328903fd7778ccd49b41c2873a727b31776217effa0fb0fa09062ddc8ae74f42d6e08cbd2106a4ef2fcb887370b0579028d9cd30550466b0760254c38ae2fb44ed6cee538160bd2c060f6b5328264f5ebc5386d76f05e7155659c238e984e1fb3fe96d1bbe85d7e6d3046876aa565c20ae900c96803d7cd0a305989cc1de6c3583939129e746936790580e636fab8a57fa1ec97c652a25672720676ca7e1629e5f8bbe568d2438d390bd20296d78c923999f18e2fd7f473d1127055c0536643c5442dc6a5b2c346302cdacd94815713427b567120a6acc343f97876d43978cb478aaa41bf4a7fb8f96399d73fbfd95716b66c255eb852b810e274f9711ca2b84f1c74de3223d70d83e811b470fff51f33646110dd00eaf7f728a5081cf", 0x1000, 0x3}, {&(0x7f0000000140)="4c1a69ae4816b8d9cd9ba786520a5b7c7b20b1d7f961b67b7f366924d0227cbef33e1142b3da98aa6ce595f46ca3b69f", 0x30, 0xff}, {&(0x7f0000002840)="009d117537701f6104f7a1ce5e0db8cdfde4754ec779ad31693e7b43cbe58b856353b47e561eee490dec5891b01be12c9944accef56489a57712ed756c4ebfd2bdf5946b027f6ab17fd864a1d22db270ddc362344361eedaab8f32cefea06ec85b104c6dd8f5b4a878027b2b8f0337adcd6bb5fd0e9f50b46c9dbf78cb3eef1b24251d9f997b3b878561605b208439ef17e9b64bdfae1f1cd239aff4d3583277623168a54fb4a0f0dcd90cc127c7ef10570806ea511d5b9b69c03e7940397a58cc5d482936868c503f06aae9c2a87585ff6b49bd691333f3099ca147abdd3a0d92f81c1084ff82e952058efae37d0f646458da1479becdd0d9d01834f39d99e75d63c87d6fa02d174189b8994610ac96fa3214748d266a2f12fe01a8fc3a98a01d3fba55db849bb3d6586d46cb3f563bddf47b8d4b8773f3afbd625be674a6c328de3119bd49e6ea63a319fde0bf77e6221bb2e8f1d9ef7099942fbd640b173752d9024ba15e2073b291623636744ac4257cbedc7a6f75f22549a581c32bc5161902ef498e37869747d32d18872eae9ba57c203c6815e066aded8880c28c2c1a51b648420a363b4455a5c96d15fcc6aa4185cb07bd31b220381aea34c783cc2574935d48c7bc7887cfccc20c251a818fc90185fe914890f71d734641712fec0c11b4e3f4628508daee9933dae51ed937a3036383d2daeb0715d413b64a7b8fda8fe94aa1625ce10a41b20e99503bac993850990e8e7d713cc7c1fb42e9c7df710919ecd17dbe728498c0461760d5083348a492c4b157ffbb64ae52cffd46bf8ca502c49d090a7bb205f1713df390e08b591c4ad5cf5cbe9b07bb27a26f043d78833491e959113bf3673a638dca1cd9141bc828cac54f908ab22dd52e1cc2faae17d9fa15fb68b883df7eda559ca4575f5ac6d1e5ad18ddfeaa3549996647016b903ae722bbd3c7603f118e5bae74fd09ddb3ea8ca3f811e6d48773c80d83c521bb8ef3a4fd72da2b22b4457a38fe31999129916be71770e4258f448e4a1535a6b5e7a11f79cdd016597ece67c6aa1f04f5c800c3a281a1da139e8d063217963b690ca9b23773cac8e021963a7d3a8be6e395d39cbebdf74acb802b4fd3cb9379f6817ad0941bceb04271aabeeb5f4ddfdc53d655e4b1b17c213a08f2f59be39a2b64b417c4334152c1f3a9364c0daa23e580163e5cd7db55821d2665da8d773def2199ba76fd740024c0546db21b9b37aa97a81f0fc3414df169e35fc862bdf654d51e034e600267e31f74a06d72fed8a39367459d6f5c674142d9c0c943687f3d8cdf8f2e930240a2c3322959de2d23874222d9fcaa4361f46ecef266c6ab50e3e0ff8ceac46cc37836bdaa3c5848ea9d796b6d1372640074c73509a5fe144a9c80731fa36eafb8b852a7cbbdf9b0da22d5230a355a347d04e1fe90f4f2c570ba3e0a0afadec6f67fdd0ba202f8c1d8c1341467e4ea9402e2cb565dbe4a5f007a41dd9a583645c7168e8c5169545b5d7a7c800c192513eb2389b31cedd76b5e93bf4838daec8ba0155514ed10cfd2879e8fe787f1b03b5626d4aaf3b1dbe7390c2f21799a3de11c0891b777a08627b08e89302837e7393bc11f023d35928da551966926dd8248da0d38804435d095069ae69acf5b4e1c671535ee71e72cffa4da6731714f18226159b27fcd50aacfc19c8861afebed2e0afbc966a22e9656b157192c7bea379eab9b57fc980f3fdbc7180babc4db7a4e1ef14d64da6c370660c4978f67d6ccf6447e4f1dd1aefd5d6e116e652037816d59ed01ec0e12bf65401409f8dfddfcba738e923dad05f1fba324a4caad020bc59a7ef3a51826c71a7c66b4d911d9bf15b7b628458e5befe4f12a0badc5b2c81a6a565b1cd7669efb10451b9bf9d9e93c6c69f2f079c70ddb61269483ebba7cc69f3ea25b4604a70a3c9347411ffabc791c78bc0f282e3dc2cbcee0cbdf369288ad9d34e08a4334ff1e310959c44405987cad6cdded9d827169f928ec4dd78eff6a14162a76df196bc16a4ffe5f039ca1dd5bbe6b3b7f914fe424f1a58d482a6da47f80175a5bc8e7bee23542d7ac60ee52ca4f3618becace014900383c3f2c8590147eb7c4facd362f9c360ffa25dde1313e66eed24c6a0fa9f32bdd2cd632343786580fe715167d9bfaf1fd94b43ac10f1d202b45ec40e2ed8337e2f48a215dafe25c85a474b142df842431b5726ecf3dd13b9de2706fb2b7f6d122ec843ebf8a7eeb31eb8c703a81719d2b50336180d3bcfe27d9d116791de66825d0540e67404e6883e46b8d7e96a0319e7dca8072467d49455e3fc67fcc71a7ae260a8fbf5ce7ce1acd728d3d3c0cac7b23167b5a9f3b2a854adf9e917a9ab11573ea58f0bc056089cbc508e105294260c63a632f14bf28033b45b2a0095052d6f0103ef3c8b205b21d1666cb5c13456a40cb2a47753636f8b8e182797647125e7abfe59baf72cc8d6bab4b702097b22616bf880693c995c3ec9590d3d01637066a484145f7672dd7d5fe4c0fea11249c2c45f9948eea05266091e4d819245ba0e982e344bdd983c35adc42f13a06b0b3cd2c29cdf906dff594e44f785aeb2fe80c30c08dc18b36160a1977cf764f8638f8b97a823ed99cbde0e9eade4befd6be62d1a1bb6ed4a90c399936578e26de4803cd0f82f6d38c1588d66730a23b6bdfa1898f1bf03922626c265943e6814ab988e51f4676842d5c76bc577e6748b9712eec31e5b1fa5802ece9daafd79635abee5d27c459aef5da50d8a16a0899ac2d1b4200026db71a6f07e34fee34509272d1ac895b6b85c12de05ad8329a3cdf25a1d353d7e5a916c13bece0a0ab7fa1d7a27f5762491c50ba2aee1db469488300fea5bef21aa9f40ba20500513e1f15970a06ea1ea0b5d26856674d3033dbb6b2e557b29e140e0160812979a3bb4f66334d4970350e0d109b8124ab433b3b3fecf2f9b1b9e278bea4ef621a7f1591fa290dea11f2cb27790863752920c2a22cb20f2bedb10896e983d3f66685d93ded6b729c93b0d88fffeff87a7b23dbc509d3d3252bbe645258308a3a1847b4c66c20511059cdec2cd705d2dbd9113ab7a3373dc7a5aac462b618e8e6f7d9f005730aa58f6d04a2af2132d30263f89540bb0600fdc46713c232d945dd57380a39382af89cb5477fb7fd79aece631c5fdcffb97c606ce542399f8fa06e98153e47b8033b1d2df2130f2f61a1d97e5b3b5d9414c2fa701367a9a51c8033cf22ddaca94a3a61d4d3b242ac2f5054a50aa290f605a749fab2d1a567ef7ebd33aa447846f77d0f9f28d44b06ba4104a2efeaceade1f233e420a8db9b7c47cc94cbdbed6256ac7b004582773baa398035eb964c9764724e2f0959f8ff4f06af841332e73f59f709c07c9b0ebc4915b7cf80aa34ded6ed55e1518a5b525acb3b6cb62a8c78d7fffcf224c54348ed14dab27232e4af7850129d1a582242e11e49aa4f60c0f09cf0b749e38361209602d2c442c9c7c4d6dc464bdbd84cbb5bcb095af11f7488bfd40f7fba3a9fd8bab0ad0efa737518d9b387b7a680a219699f0811499daa95879f9ca6e26a7096154bf8ed005df8b8e6ef6c02dfed6b111b4a7b8855f171088372e9bfcac25d84f6f5229ed7bc8ad9c48d3b64418acdb1b413a042d95a3402c7b231a4653792d2484a57efcde7239de8cad1e784d2eb0c42a722a54d6f8ca64f6149952d3cf996c66a6481fe135fed60fb6a6e1aee7683ddb03ad2730babe4a26b5c6dcfbe2c6056b654dfb7efe89924b1aaa7d48a9d6e3e738e5a8acf11682b1f5d8bef5e9af7d47e767ea7f26a786bd1b1b5d49d83e7384f2f5ac7042c0dbd6262046841d22aa557486a6cf18d7300c7de6952796de4f38d69589e80b632367370f7236bd83bb4d5462d36b729475ce4ffcee30d93cf62f4c8f4c2c0df966aea0c54a4d358a7ec4479194c0041e1d24e44466b4421887efb43d1dd05d1025e765c70a58e0e9de41ead731e95ad7709803651d28cf436cad44c5aa810f5b4d2604282e4f88846608376bda2b55aed7f271e17e79ed72172b6e26c2e149f27d905f8c4fa93014cad1b267de1aa04a1684ad15dfcd7e21517f939865faabca928c2cf3d205c9ba6d3325645740401b18beb650f3e74261cdf14e9fe243035df163450d37b1f9158b043167e45597df25a5e047e34cbf9163ea113415a9554c024e7d1f6384cd82e21b8851af0149c90800b916b5e6141213055db5b9c5330e76b09885a056136b7faab5de902d35e8c1f8c54c1817ebd3207ef42fd58c230004758d72394275581e43da73b26a77057e67c8727adc61639c636efc87a0cf1ddd28a9827cacc64b88b51c0859aa4c9a8dfa5c13849f14a6968ee789e92921e6c4c18fff18c7264afe777e246cd1e29ce685918e9028612f1e66994bf5a4d4be18d1bce00815735ec6d6aa3e2ca26cd85174508d7b165a51c9629a47c6e52b3881352099c1f595cd80b3a981043ea848036632611c8ed0e50b974752f9fa907c963bc8fca46d1476f663604b7e547ce1da9e81bd4a5662bd4ffd2e964edd2ffcd53a4f332ba2d62bf80a2221255b983b5bb8f55ebe5aecfb6de5c8af8269cf83efcdc79602a8ac297d78534934a85ec559815b05ce5a2d0752a8805e7b9133b89ab7d18441f1b7692b17e6ee9efc23b9cd2f80eacc0180f8dd013976f3f53b52dba4881f0687ff1bb900ea15bba0780f2a5b0f3eba137b15846f4aa5e0651d6001b4f9ce4a3212dff3faf1baf56bbda7a514be7e3fe1f42c7a3af6ca507acb493b975aebcbc5a2efe365f82e1c09b2e1d30d1613945a3e0b3e8b03c81e89b292cfb74b6ad66bf03893b449dc3121bcabc094aa3dc28139026ad57944021389f56e179e50a0a50346fd32f3117e5fa9786f081d476691ef3ba2549a232cb846fa722a2ac1668a7b3d9f0264fca0ff17368172402ef099c4379b9ba2982bd1163ab778bcd76488055a3e834a1fffc274d842a61ebb8d551a7a1abc18358c380650389e8e92c7b77fb80b840064b41370696e7b0fb4d0f1932b433c5c0c97e44836083a4ee46f999463146552e8883dce335394bb4e051aaa022116c6a3dafebeeebfc2d0bf84dd7eeab03a3ddad3264ddf68d6f101e63615435ee81ad737187bc21d3296e7b0b54a026044beb924c77049b0f409c5b83d294f5342528fdedb27900a7c9f82c06aa5c6b05a936d625b24308d1bcacff9fb0296b78b3e33055318816d5093b2f4e8dc3779d8f9d625f4a0707b0fa62e8911c421bd868ef8c6431dc24a1be8256ce9e0a6125c92b6d59990a86ec2b795d7c0dc44a0394a2be1cc27987ba20c1214966754eb351cb6d6c41929a0e9e9c956457d00e185d6441a803f0b041b92c32891cc00dd7af7869a0919e0feba5bd8e93a74bfa52a2a5f31d4004593adbe2b67b71d9b35756d7158201f93fefd890d4f5c94f258dd14e54247c1adf12b3acde6a144178a74500b5c39c408701ac89f19b1d4d1934098b97c16dee8974a6b3303ad9f406b35d6b9c36ad238f19e1d52f931ae2713a9bba2be501a5bee3913105db748e2504d581e2056da41eb19bb59a63b702a25fb0083d27fcb25f576da15021cdaf691a946339ec2fabd961bdec394e905467270935a50f14ddc07c5fb71e43c01b787b5b49af27934e0df503f8c7f9ae52f311614a140883c505faa3d8e01d7f97ff8ea057b4d9e67f82d15efce935d98c22a54892eca50b987413f3a9a7e698c6a43e49754a3c3f8ae132153096507dd7e6567ae244ee10", 0x1000, 0x76b4}], 0x800010, &(0x7f0000003900)={[{'uid'}, {'appraise_type=imasig'}, {',![+^\'\xf3\\\xc9\'{((\\\''}, {'#)-:&&..\'\'\''}, {'\xa0\xea&\x06,$'}], [{@func={'func', 0x3d, 'CREDS_CHECK'}}, {@euid_gt={'euid>', r6}}, {@fowner_gt={'fowner>', 0xee00}}]}) lseek(r1, 0x0, 0x3) 16:01:26 executing program 3: bpf$PROG_LOAD(0x5, &(0x7f00000054c0)={0x16, 0x16, &(0x7f0000000640)=ANY=[@ANYBLOB="61129600000000006113500000000000bf2000000000000007000000083b00003d030100000000009500f000000000006926000000000000bf67000000000000560600000fff3c005406000020000000350200000ee60000bf250000000000003d350000000000006507000002000000070700004c0000001f75000000000000bf54000000000000070400000400f9ffbd53010000000000840400000000000005000000000000009500000000000000db13d5d8b741f2cdaabc8383c8f56b8c2b84a8002c108b106057f6a15c3d764c44cf4f567730191265b3127bee41b817263d6f6e9d23619ccb21d50adf880815db1b570388b6704a0b8cca84ee6d8ba55519f110f2718f9afbacb212251c478a6b5ca7808220984c4082326225c5e5cdb6b2cc4aafbfb5e487de3f1cbdaa76142e0a1b2501ee8fb686f811a7456b4810155ee45755dcbe8bee93cb6f759792cee2050545770161139192605c9fba2025210ad0f5fe48a3b82532b4f05b535f16345aea1453c28469a800"/402], &(0x7f0000000100)='GPL\x00'}, 0x48) 16:01:26 executing program 5: r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_int(r0, 0x107, 0x8, &(0x7f0000000000)=0xffff, 0x4) recvfrom$packet(r0, 0x0, 0x0, 0x0, 0x0, 0x0) 16:01:26 executing program 0: r0 = syz_open_dev$ttys(0xc, 0x2, 0x0) ioctl$TIOCSETD(r0, 0x5423, &(0x7f0000000040)=0xe) ioctl$TIOCSTI(r0, 0x5401, &(0x7f0000000000)) 16:01:26 executing program 4: syz_emit_ethernet(0x1ee, &(0x7f0000000000)={@random="8b575f6729e2", @remote, @void, {@ipv6={0x86dd, @icmpv6={0x0, 0x6, "52e00f", 0x1b8, 0x3a, 0x0, @local, @mcast2, {[], @dest_unreach={0x4, 0x4, 0x0, 0x0, [], {0x0, 0x6, "011700", 0x0, 0x11, 0x0, @mcast1, @loopback, [@fragment, @hopopts={0x0, 0x2f, [], [@calipso={0x7, 0x50, {0x0, 0x12, 0x0, 0x0, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]}}, @calipso={0x7, 0x48, {0x0, 0x10, 0x0, 0x0, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]}}, @generic={0x0, 0xb4, "7730cc915c6e4001e9434b43bbd640cd28dd254e6c55da0f1c076433542bfd61a66ab50584af9f636042434ea48d8afa5b909ae7b7a76c08605aff2bda3de928be5be2db1813709c0f746c8a0e2b047978549232811604ac2df61170a92baafcafe2b15dd85da523def1ad586696896cef7236e4a1e19d80d61c1a036b1c1c5ff32e02881cd786c7a8f33476621df8b7a98baa3b11f955eaf1ad2e5f3cb81ed8744b72b497b5260b337c87044cdd0fe9ce085e9e"}, @hao={0xc9, 0x10, @rand_addr=' \x01\x00'}, @generic, @hao={0xc9, 0x10, @mcast2}]}]}}}}}}}, 0x0) [ 344.115746][ T4029] usb 3-1: config 1 has too many interfaces: 66, using maximum allowed: 32 [ 344.153560][ T4029] usb 3-1: config 1 has an invalid descriptor of length 0, skipping remainder of the config [ 344.219214][T12726] loop1: detected capacity change from 0 to 264192 [ 344.227306][ T4029] usb 3-1: config 1 has 1 interface, different from the descriptor's value: 66 [ 344.240060][ T4029] usb 3-1: config 1 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 344.266112][T12726] nfs: Unknown parameter '![+^'ó\É'{((\'' [ 344.380157][ T4029] usb 3-1: New USB device found, idVendor=7d25, idProduct=a415, bcdDevice= 0.40 [ 344.389502][ T4029] usb 3-1: New USB device strings: Mfr=1, Product=4, SerialNumber=0 [ 344.421452][ T4029] usb 3-1: Product: syz [ 344.433495][ T4029] usb 3-1: Manufacturer: syz [ 344.491316][ T4029] cdc_wdm 3-1:1.0: skipping garbage [ 344.498365][ T4029] cdc_wdm 3-1:1.0: skipping garbage [ 344.532869][ T4029] cdc_wdm 3-1:1.0: cdc-wdm0: USB WDM device [ 345.059849][ C0] cdc_wdm 3-1:1.0: unknown notification 61 received: index 46970 len 38478 [ 345.686579][ T9639] usb 3-1: USB disconnect, device number 9 16:01:28 executing program 0: mmap(&(0x7f00009fd000/0x600000)=nil, 0x600000, 0x0, 0x6031, 0xffffffffffffffff, 0x0) mremap(&(0x7f0000a01000/0x4000)=nil, 0x4000, 0x800000, 0x3, &(0x7f0000130000/0x800000)=nil) mremap(&(0x7f000058c000/0x4000)=nil, 0x4000, 0x1000, 0x0, &(0x7f0000172000/0x1000)=nil) mremap(&(0x7f0000266000/0x3000)=nil, 0x3000, 0x4000, 0x3, &(0x7f00005af000/0x4000)=nil) mremap(&(0x7f0000c81000/0x3000)=nil, 0x3000, 0x2000, 0x3, &(0x7f0000a20000/0x2000)=nil) mremap(&(0x7f0000e3b000/0x4000)=nil, 0x4000, 0x4000, 0x3, &(0x7f0000fe1000/0x4000)=nil) munmap(&(0x7f000039b000/0x3000)=nil, 0x3000) madvise(&(0x7f00006ab000/0x4000)=nil, 0x4000, 0x0) 16:01:28 executing program 3: r0 = socket$phonet_pipe(0x23, 0x5, 0x2) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(r0, 0xc0189436, 0x0) 16:01:28 executing program 4: r0 = openat$vim2m(0xffffffffffffff9c, &(0x7f0000000040)='/dev/vim2m\x00', 0x2, 0x0) ioctl$vim2m_VIDIOC_CREATE_BUFS(r0, 0xc0205649, &(0x7f0000000080)={0x0, 0x0, 0x0, {0x0, @pix_mp}}) 16:01:28 executing program 5: r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_int(r0, 0x107, 0x8, &(0x7f0000000000)=0xffff, 0x4) recvfrom$packet(r0, 0x0, 0x0, 0x0, 0x0, 0x0) 16:01:28 executing program 2: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) bind$inet6(r0, &(0x7f00000003c0)={0xa, 0x4e22, 0x0, @empty}, 0x1c) listen(r0, 0x0) setsockopt$sock_int(r0, 0x1, 0xf, &(0x7f00000002c0)=0x7, 0x4) r1 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$sock_int(r1, 0x1, 0xf, &(0x7f0000000000)=0x6, 0x4) bind$inet6(r1, &(0x7f0000000080)={0xa, 0x14e22, 0x0, @ipv4}, 0x1c) listen(r1, 0x0) r2 = socket$netlink(0x10, 0x3, 0x8000000004) writev(r2, &(0x7f0000000080)=[{&(0x7f0000000200)="a10100001400add427323b470c45b45602067fffffff81004e22000d00ff0028925aa80020007b00090080000efffeffe809000000ff0000f03ac7100003ffffffffffffffffffffffe7ee00000000000000000200000000", 0x1a1}], 0x1) 16:01:28 executing program 1: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = creat(&(0x7f0000000100)='./bus\x00', 0x0) r2 = creat(&(0x7f00000001c0)='./bus\x00', 0x0) r3 = eventfd(0xc7bd) io_submit(0x0, 0x3, &(0x7f0000004b40)=[&(0x7f0000003a40)={0x0, 0x0, 0x0, 0x8, 0x0, r1, &(0x7f00000039c0)="06453d5d3aa105f340ce688b05b276029eeac708d4c0a9507f02d039f78eefb758b2129c821d13afed0119ba3af0d8b5509ea3583761a194f6d6ee2ffe725519589d483870c64c8b96c2a7a3789046eb0fb371d1ade661fd558b0c8d4b77f85129b243", 0x63, 0x400, 0x0, 0x0, r3}, &(0x7f0000004a80)={0x0, 0x0, 0x0, 0x3, 0xffff, r0, &(0x7f0000003a80)="3833fa9084d0c36089765f18643c3f5e1452c80d9ee439ed45d6ba80bb0f6752b23025598595be71784e6d2342fe6d30f59ff01f8d9db2943f55d4388c6f2d786cadb491f1a8ff2e720cd2203eb11b266e35231fe57da28aa9ecdaf8fc7fc4dc1e9718ffd9fa15bd48ba21a94992b776dc97f1f43ee59224d7cd0e7b5a4dd5ae2f1fbf6c970fd0d41ea8908f67e68298c5dea67cb6fb56643e81e3386a61d8ffcd127061f1f46c3d8284c2d2937f321e96af7ffdb9251f865da506bf46918b8893b674f77808a585606c79abe30463f7c44640af06a416aabddd923b5e127846dcdbcb5f7833e8e9b906156e90a726951ffbdfa12ffa56ddfd6dca25592f987c65ad874ff05df997f0bfa3fe90c9c50b12b8cbf91e2528783a70f6e1eac2392994eedeeab3e7772593516e2e94afb90e394bf7c998cf0b08adb8d94e56582f04817276d6760880f7824f8f95e9242b53aeb32ef0b39314b31403b6ee9f7b7c07792d20b68d665637b18f994bc3b9ce9d316904505909ca603abbbb66eb47fd39a6ee4cde2e6984565a006dd8eb4426db17c6bec5c6d2639ca3e6ab66c8d7da45e2326dcd472a224145f88f8a6c728aa7c8a75e99285a18aa444cbba1dd2bf0b5cd12461e902739505452fea60b03268efae5197a3db566e027655fb97a4c9069a93b48df9aceaceb6b662e113e2e4c70d4cc9224118bd06a06cdb6026fa9626186f7b02f3fd3538d3e9f02c0fb485e96eebbc6e0ec38956a5d3d4b3ac0376c3d9c58a4dbac90f6d65e9b6d4b6df64f84a08c3f089df691695d4164b79d0b8bf4d262ff97d6c6a4e584c51c04ef0ac42e39dd507286f9efbcd57be6b58114196487a843b3c076f49d2a731c1a2aded9905a413abf9bc6549c0d6b10555a2a0c81ce56c28ae6177b43afa7defe655978f3d8970eda7ce1fec3ac2e38f94819bd9388cc58af6dc501d6a97607ea18e4fe497b0551524beab5cb2d20f08c0a304fa83fe1a637933d18606466f6043394a2cd4dbe078403224b111d62cd58f3e1b255aeba51b18a0d8a8488b7f4c7a0fde455484fb7ffdbf033ea6d4f9f9872162e1982452d84197ec953eec8a04981a2c7f91005f569555e59b132455e485287d1f14c63b23fe992bef5d6d7e92f3f242f3183dd08aa7fc33bb3b3f0d7cb5ee63c2c5f6becb83c85df4b6f72b0f45fc4a0abefb1032f922da3a2534eeb7634878629dbc12c40cf8090e07c7979777e47202b1d53a262d8e9ef2e0e205506dc63076e7e382ceda612ece8ed7c9aa404143945ccc6205b59f12028fc88f63457945df9654f6d84e2fcd880133bc3221d746c6c46b7bc0b43827915da5f64a66594ec77779bbcdfb9a222665ac76bb445d8ce8011433200415d9d521c20cde14c31ce49bb999d35ee8778a5118b3ab99d1abcca1c6c7f1884eeaa2d6b341ebd9e7b43c787b51dff2afd3279e2fcda0b0bfdbdf7c0e0de55df31280e9faa6a7d757258950b562385918eafad0331eb6a4b7916ccd766ddf0f54f73e65b3690647bcf8dd96dccbca2792baea61ae20215faaa5611f8f290fe430cefe61926751f9ec22526a2a0e04302e5bae241550fe6bf921e75e4a2a1197965eaed1dc7b339afeb84bc84c12e4ef2cebf4dca7b6cc2fd2ce7a8fabe40c9e4387b4929513438b090080ba8cc5df721fed7a4ee198de53f1bc396d7b6c1f37dd2b9adfcfaf0453737d8f4148a6a7d823720a388f67a8e853f2546b9b15a57a50d3e30d26b1cc6de52599cd7d4ce1817bca14dfafb1f323ac424a7e0c9741916ec4b24d44a8482d25bae4596751bedde85c454a3721e36a29dc4becdd90869eadfc95f99d388e43c5ba5fcd867187192f7928d7495af9e12183fa55412db26a8dda0cc0fd189df4bfecec486291767fe7fd4fc9e50fe31616025d52824cc9893ac161bf6b97a752b29c3d8562676a97c0d60deafb970f7c266bb362b980a35a25b97ed27a09d626e90846bd897e18aac385bc1c407f7f35ede1d08998c6cad112d82733ea147cba83a594614e7767d4ec483ebbcda4693fc503bf8bdabfbef24c4a02af3d98fc16cc6459f5703f790730db2352675716f8c5762f647b6ed436771652ec4ddfd56f18dada47fe59f016992f62bac6c0f21da18982663f72f270a37e59dd5f03076c797be8af64e4e5616ef6d5f5f986ca2f63fc7f5fc53815e6f579a9eb4081984cb8f143b5989b9c10b0c4623260487cdbd0adbb7400a6759cf304aaeae4277fbcfe161fb3ff148caae2183b1574a8a27fa07c8eb3005429b55a8ad3f30bc0e9cada427ad8a4624f696c525f817d0c48672e92184b9347b55dba51b00891937e6691afbc68c4e1e9bc451089b1e120ae9db845c5cd1b688d6da1f1eb6f7556b72c2ebb78ad5562fe6d9bfd49c5540b64276fe4b5238a4e5ba893eaa9d1131f9e4562276de989deffed5dea7e28003c04e548b3b2a41f91d71f65efbd0fddaaf205b1113e6b87605df1126bf30a931a0fa83d935a863c0af8439e5dc207ce0a5bfb1e22440f3c0ef5125e1dcd3b663d56f928b2e9541b742cc28cf9c6a5950dda3d9cf33dc8067d1049690fb23952e969ec3f1d6cdedb4e15fcf4a3c188f43ca662016a7b38c0e237f15707d44a9ce74b1c0f38842c5b30b5fb7f94558fbdccd5c82a84c5f614bf320211afc51b14ff3b13a7163f48693af0fd65f25becc9fb401e117e5faebd1a60e4d6d33909638b74afea9c04fd96875c679641d186ca8f256e8aa48e286e91e8656ae1cbc07f587cdd2e7c1e0afa1eec392efdbca55d0b5e26b3ad7a278af4e62c8ea1c5a568229bc4a1158a276a2d391596cccce831e652fdfd9f614c22284c9a9511fc0d8f4cd0dfe781aad732524170d949afdd1f0fc4835dc20498fd93dfd48bdd098fac374a210ecdbe1ecefb01315c60ccfad46244236d82a86993948b6d9db05c3dfcabf6afb3cc67b936daa3875fcbebf009285882b719555b38db64af1c575e9859e64a57eb83d0babbc352eb6fa0d5334da443c497f7e7f911309224e2558a5f0687fc49b499e49b2e3aa6278bcb8b159cad3be404eadbc7e4054bb1b1c834bc3536d710cbdcf2605532a763e981ce1d20d34862b60a4ff41213323e7fd167563f6cfec5eb09679e8c885732f03ee4c7816923471f9944c27d4988488b8e8f29b1a5727cb8dbe90d6f3052907e3eaa6738e6892d645d8e5f0943e98e36207eae18e0841b33b35c8ca4af85ee9c8081615436690f9b603f003a20bfdd7e130ef3e88337347802e58ee7594c73bf35ae2caf4a7cbc487cb737fdbed85f2bca88cd36d9579cd72036b7fb6aa3e14d5ac029e8eeb1a7c0f237ef2984dbb5f352c68f0a18d08616119f8156211f02fcee5f2ca2a5e1588a3f831cb9a0d5a0f93cec4b60a4ad7c77815bf36d4df32f1eb8fb2f6ce0c5994cf251eb083e740f373df4ddff06997af161c9b715f9f24055835128f8eba8d88b4715c3428d240e7bcdcc6af47bff57ab4a36ab24c80ea1d2d55125230535295ab0ff8c4dbe9a78e2c55a09b6cc7cca6d5ee1bdfd7e36ee3ae77b492501b393fb187aa617d0252963b7480de2bd8663c9695b24e665bb8fc007b7492d3e4f0ecfc1ebcb2e8d04e0d05840f0c9d103977ba97b291f1659eedb2ac86c0f36a9ead1f22a6083cd75cb1584eb164f3b0f1dd1d294115526d47f2be8b2cab399d7452c486c58d0380548f339584f76b9cea9397bc96a416af5a50f933fe59edeac2e581aaa9d253605aae0066dfb53fcd6f026384e4207cad23211c637b0adb4c80b0f1feaef87f8ab90df7ae6e7db53807955a4bb88b5abb5d3cb132e0e064789508456ccf2827a990e97b41bab1f3333946c6bf1c186a56893af51011a0f4840874f833347dbc6fcf0f75d2457ad1f5ef9b33f4c2db6f3e616346ddaf6b6f2a081b53926c5b3492fe8b67f93a08ffc227f60fd78cfd8cf341ebb31d478d13b204c7e196d6d3818942b51376de6b62c043a182750685385cff52fc52fd269fd182330c07be872a76ee57d5a447a0171b362b6baff99a0d66df409bfec23fcc868737b50219d654ea50a9faa96cbab37a51b0888d510f86626a1c984aabc75efc95a09687bf39af14873c80e971868c61314314da991e671a9c4e08e231d35c0a91f6cdd603c00e02a0e0caa936e99f551af3b35d7d65a3bd9e8ebafa4cfd68d0b517b9d93e51d8161a92681923816d6ddaf6223e82323a18d95ecf6d0be51008bbdc3ef78ab626c5661c09b9c71beacc4c8189b76a085def61ba9e27c813862b89bfc152a445c2af31d44294bc9fd406da1f37ef03cbfa589857c07989c8c28d4bdb676b0cb5cfccdafdc879cd8e4c082db96a4b4923546ba66f0a25c80fbeb456eeb07a3ae26edfea2ba89cee69ed6c77572127e6956a995a9cce8a3697bc505ae7b31611779c60fd1ab41bdded1833c31dcd68507f310ce751246e3c409fa3674dce453f3ae0d57070a0a85748d8977350374919b19f4e0239e807a965f12a0e5066bbe2d5f5c4cbf49cba4625834ee7ae1f0fec552d55f45f6bf6546f8613a8de7978ea81e6f74dd2243ef1b89952634cd34f7d5401336614c66672116b2f535ba0cb10d59294c6d9c5ae224bb27f0b1e602318076449e6837f85c3a2686b7c3d7f38b0e99317fd58680da57e4c8ec0e30b7addff011febe30723742117690e1f8b07172b748b4213987b2a7cfcfbd3119b8483760b5807cf0ed919c213557c26ec9fc90693237b1c42509f9a04ae5089e37356a921cf42310957075d94f587cbe98d831b276924c19609923659e44769bf3f139d6bdd4bb037fca9f0a01dfaa4b4a43bd10974c1fac703d99e01e245eac3d5ca7796e0286cc29ecef61a5bca8057f6d043288da5d7de30a7c18027567a006055f03cd50567f35efa12ac0a869db139e641407dfeef08d8b107ead7c3306bcb8871e45013e51dcf054fb42ff3fad493892c69886fe7fe37edfe729d7367363aea78f02ee3cfbbf7827f554475d8f563e32609052ab02cb66e63f8825e2f9bfd9d53a632a5b752b50a0d4f02a57abc49ccb6151cb254fc2ba4e18ff25f315e0e3952434eea1180a4603a85b7d71209253aa93c72751089d5f5038e5fd606de57a826f5f4dd19440b6426c58d6d12dc88b8185853a484c5c5f6dc636e15bfbbed597e73c0c0e53b1fd154c3a4bfafd4cbf4e36946db1329048af6f8ced664f0fdc8903db0e3cc209012985357d1f565feb83856810cd008b007bc6291b3eca83e8b3adc822a736214c76411da0e0a9011d7f25039efba83d14c13456f28530501b9174d28ce235e441950ab51259276ab05694654c1b48e7418dee6287f2b43ed45287b6bc158eea79cde2981eed922190fe03cbb237f89021d06ce3df295e8e2b9107cfe6496a68026f577a061d8a8867f844af404caf5436da460b24f79c9399dcdea7c3078bb6f3d1011e24d00fc6ee4cbe60a27afc0a3ef13ba90d63736222d9ff322f5f4964c775e6f0b9d563e8e403b3ef34c4627e989b0b58670788cba87ba374436aba839e70e45728ea0c6d319ce09b6d35960659bcd4f97b65a335842003b7116e9ed42c69e4b75f4c304b9035bb4b8cc261dc02a1746a4e0b469bba7d90798b21527100d9bb2ea5d9d792b59b3a40144c07cf44b21485844cd49a4af43d09ce927b62cc1ed304014ddf841d3c28c0f23962737e31a33f03be96740229c4a6fc184525c6a3239b1a8d72114306db62043a08896691d0580fbee3978094cb5412216de8414c91154daa3cece23", 0x1000, 0x3, 0x0, 0x2, r2}, &(0x7f0000004b00)={0x0, 0x0, 0x0, 0x3, 0x9, 0xffffffffffffffff, &(0x7f0000004ac0)="afa86eafae844a833ae6e7d4fac9d9e3a7422345573068cc9b1a4936a41dd321ab05af6fe0cd3b3854dce1e76ee3ab", 0x2f, 0x1000, 0x0, 0x3}]) r4 = creat(&(0x7f0000000000)='./bus\x00', 0x0) r5 = syz_mount_image$nfs(&(0x7f0000000180)='nfs\x00', &(0x7f0000000200)='./bus\x00', 0x40, 0x4, &(0x7f00000014c0)=[{&(0x7f0000000240)="20896308224d1b05d4311e297a13ded9d565b122a1486874fbc12fb741aa08c8388c15f8dd90271357afbd44d479515c68f31efa2d044fbed915af09afc6721dc8e8c90871773164b1856195236dd685fedf00fd1e753228cfec9247125bef8d28c5963dbdb5335cf1b616ecb7fc24dc8b00978953292ebdae620add15fbecd2a236dff28b4dc38f7c7b5e88c56e0dd736e4b9f6e6addd6128ca9ccf3841d9cba9caa87ea41591365e5a8c565fa561364b40f915b1976d96d2b71a9bad67c8e62f1cf38ed013436842976e671ae9c472e8ff23534d0cc2254c6d", 0xda, 0x4}, {&(0x7f0000000340)="08e119250bf7a657f969893fc9cd6ea4302996aec149f889121a622e07809c310ba9eabbaa56694ff248bbdccf550c6b07f0f6403667144f1096b1951142e4ebebe64550456b9d300c4abc859616136a23b51982678741d782e6fb9ca2321a5b10ed0795975552f6a04e897d643894c4aebcaa8d1df0e88cbe61", 0x7a, 0x40}, {&(0x7f00000003c0)="cb734287df5db6868e14ade64ada04112fb76c0738e0aaa02ff4fd2e4fc07dc93928c0bbd10ae88ed76f6ebef65ad19a2af5c84403356376139f4b618d52f85226850210d00589a286519bf1c16a4d04cbab6d830ac3c014731ad804e5eec00fa1868bbcf32587bbf66c7f263a2b4572e19582d44b2d697cd3ca31e2d8120fb3722387d73e4d8dd5ac93c526b9be741da6812cf56183d7f0adfaeaac754a7e16a1c629ca0d7c433f45754314835c654a58e1f0809c51fbc7ff1df2a88bbe1106fab7986da1f17ffe872a3bbe6dccddd288eb3deb700992e01fb9b4211653", 0xde, 0x7fffffff}, {&(0x7f00000004c0)="781d90fbc76ced16f9e4b11949d9dc6275b9973e591d28b7dff7a822c519abe8db0eeba1da9fcd16012733e73d490f14f73097dde57260d3e1a256cbc4b6f5247e1a815066226ebaaacd88e69ad0801398554a8c37a7bf6243125b5a7aca64cb86e4e9244a408e5017c759aed2fd634d9bfe76dec3b657a80bb9ff085e3a21af771097f763057d781338cf44391efe039cb6e23f215c1a1ed1c0a525ff50aab62febe1a167c79209f6614f85afa1da1cc616865f6ef1623c183338b78b4feeda37950f3135ed6e5f30ad0f5cfb812817f1a70d5b723176eb365e9b4932170ab815b0c390daa7ae125f12bcdce5dbb7bc311101b1b5c74fe503de809294e4da92d1aaed2858513fea1a4effda32f99ae45d7f9d2d2dd215d7d2a43a1b683b21983f440ea4a9600d1ff8155ebd72d5b05d7eec51cf8cc58513664692d1184a93cc998e46aa4708287956492a97a2469df1c1214c9bac7610764f4222dbdd3a1f0991fc8dde51e56369f0600243e7392c5fd84ee923403ea06c1b8b0ae08e2fb4e9dcb0ab5c299eba69d7c32506403fe4c2de6b0dc647238246b23cf98b1543078cda0b25a0357c2db448c788ea2835b320c9ce37432eb9c0e4307c636055b52a7ca217b17720d93e6608c4a1bcc24e0f034d526d131624ad7e00b638cb502108e30d5e2634969e77e9cccbe170955f81878ce0e2a668edb76284829a941a32698d69c5d6286b743b6c8c840a75f418bcca40cb949a9da3cf558be077c9e8ae3cda29d2c3b2b18938602fb395bab8ba37e9985c37b72f67711319afaecc5f6355afe4a8280f3d59a3589b52847e4121dc73ec534268c09a74b52f38f210182475150e521c1407998d095a015b6cb4ba9d94c3293ae7fb799d43619983c75d9222076ec3efc3c30d54a2934f73472a9d44ab1a738d90cf89729c0b2e8ee9bd366463dc60bc74e8b6de2c133a23935b9657a0e224985c48f5de70c6a32102b48c003a04b2f38183bd0ad7ab892a355eb903c67b18f5752e78824a2007cc00f6e3fe8713e549d118949dc0b7d0fa72e94e24a59aef9d4890b0bc48a972f0e0c03f16b0726e81496dfaf6aec4d3074935f54f2fa3ef244519cdb1549fc43c96c5e2f2f35f50fcca870c02ff039a3d734b10c52e81372e35e428746ebecbfcc8d2c2724d995cec115fde79d126d68c93a8171f87c0e65aded78c3fa6361ce419621cb4ae1dd97b9bb900858e032e132509b209d295ac7f4ae71d705fae941cc4a7d552dcd8d1cde44709999558c057f59d0eefa0f4bf937c894820bbe926208b92bd69dd3a611dd598f703c8e636c6302f5a27268529fb68ebf82c2e6f361600ce7a9fe99c7002e942ac5fcfd1c9e7083ce1ecd888edd634bf24292562b56ab96512a2df7626751f13e8e15a0d450e0d3fdba6ddf221ab90f59ada4ffcb15b10b6f1dbffb0bf90d3c4be64040f325c1815745fdf7fa9b1b0032dde272a27345dff6072f1475566451f5834ba184080ffe4d5e53f46cd6313ef348b03b63c658e9554f4d38da86bc4d45b124139a03b9228544aff2d7c0255ff1641fe53c06aa6c611a4884c970fc55312f8cb2b4192d8311fe6f57ab173193f8956106f7bf8fbd3468c33a5585f31d31f7da013434fd47edfbfea390f88fd4cb91db245078cb659f2bdd4491dcfd1d52ca1bc0e6da462ad6f3055317cc9de700cac3201d846de54a5703678a23d02027802862fcba2caba6c0e6212d757fe63e0efc0695490459b5ee95b9c77b1994214c6bd75d5fd9456a9bebd5204b644a98685ed889b2fcb43a43f823dae959346d3c7ee8a2045b7a60e91be23481cd9c9a32e2ba8303411a516ae6492722b356d0d058ab0555d92160226ed0a3dcb94bda1a254c1e54077e3e25cf9258f9f7ca88cf543d4b0af4fddbaf98ec22bf0fc7590a3bbb32980fcd13e05bc6dafc5704ff6c505d15b0a9f9c1541487771dd29930466989068d757bb23134645777cfb26418859aaacef430c99750e6ad38e4359478d3c6c100b2297f12c59462621e7dcc68a4388d19a35ce79797ebba3fba65d14d3d8d9f286077e621d4e2fac1882def59bb06115fd50915e7806e2f8ec251f73d8b11b4b904aa00d48e734e0bc9e08fc754880c04a2e538afedd1a30f43be263d0afe395618f51c087f81e6fd94f3cac4e6b234fcb5f266bcbc4ab3817808c73013624a020133246f72e2e26325f85287200f4903970f292ee375268a7eb59973368401b0ec3a4b9e19d137f5cdf7d9efbb09acff3805289bf4e1bd020941783dbf2f430c16540b8b9aa4e53feb5bada95b3ed10429671301d84661e5fc89e2e1def2d06b809ff0e07889edeb6fd81c8be7fd81167bc2ca1635914a88b6b2fb2453e960f3a8498006c02b6d698629e6b89c7dca7a23376e1f159d5497b20fe1dc4de04f27861477201c516cb684eb956e0fe196bcbb72665579700a2c6570b35050a2b5a11d1961e911d5f4229bf449d13ecf56b1f0f295ff782f7bddd085826afba4f0d77a320115f47faea01c968831fde1d88f70ffe8215b875e74e495be9df50446a2d200497a14366e93b19f98ef93001c76bdb8041a909068525963f74e9dc5485d5d4cedbed8aae0401e9ff2054a83e3daf646c627734a1cac40565028c844bc99b3725910bfdfdb1646768de7165123ae76874d277dcf26a2cc758e9053ee42221e7ac1f95aff79153cdd6a4b8ce448b98cf0b26fb12c66973749e241c806519884a9f899b88e8b32533f724f519ef455e173f918e2e2da7d20df342273df05da473727b9e5e089abacb17c32396390e92147789bb7937f4f4fc5320ef7066f1c287db3aac9c0f7c9ded99948fafb71a9d1d6a0c2cfcf1ed858307d2d97ffc018db60056b83ea818a4b9cee26a378bea43451c998f1beaf6915fde3b5bf9d1a39076711cd044658e6a2d3ef799406542babf7f7c9d843b530e5b8cd240157c91110be8c828ddeac2242d93b5bc699c9fb3295fcdb908baa33fe34cd0d0383d9fcd0124f45a95a37b1900b1b46db0d31628c1a2f056b7351432f1da6a159606324e1aae6b01a50325cab1f0cbe9face1d9314799b57e7179e7cad65090cf8e9534e3c89ecc40e912248f0139ad4b750589adbd35fd8b65909483cb6d317ea4ab1ab9fd0f83bdd822c5d8de789f5144d32f315a48fff047d686358f934b3509cf21792227e125a58edf175c4119fc781ceadef283f93c0459ae7cd9fdfd325bff29f351ed60ee3d38a5024ee9199b6279e350398f2af8e882439a3d792c16e2a034b8ab81e5fa6e653444ab6be3a75649d5bb7dbc8b4d0e72be576624401c59a761351dd109afcc6651353f8a0be35809ca03a6be04a209bc7ca7c5342700b771442d43bbf15b4f2bc6ca8676cafedc135aecc843aaccf7cf2c575e99004b21a01372d584334bda1712e2b80d49b175d710ece5b5875082b28bb0a26d9a83e7fa4f162ef672606eb19887ccdbab14a3599b7bb9f002165d95527aef29f1f2081eb8fbf6ddf5cd567be70b11b2838292531191f7248d52e47aff4b676edc7d9376e1aa035393ef796d03639fcb102f7db34c222b81d90d8c3cb618f9ae19205e10a184d79c3c77c746bcddff295f8c36a1e0adec7ac053c8ba597446716ce8a13cc12a77f3650b82842ef5067fa28fa7cbc18c2137498969ada4f976aa52fa166272437f18865c34d85197f0af1f4b8df38947d5d090d8cea4ce81b25d220ba360e52a190241ef3393f81995fbd79fcf5ba5a5e6dcbdaffaa831b4be3c265819151ac20e8547f115de71f046c82d16af4d5c0b6aaf6c77010afccbbfec0e917a86f7df69784365fca4f564ec0e34345dd33ce502fa96fe0a92bfdd54c9df2efea039bdcaff996c5e1f255d962604ff237aaac32b0c39692ea99af4b1b30bf3f5c734cc88b74edd8531261e48160e796f7ca83943b8c215696137e9b4309a9ec4a2a714c0f7c2c22fa0cbb742a6f98e25e7be5ebac517a2185bca784b20980427515bedad702898868e8327fcd5d2b1bbd07e1b7367f3bcd218c9be9851a4bc5ed944e3a4126cef0848b5013a90a6db16f14174d768448ab5d3452b85fde16b3aa7f6eb2546bece0163b71d7acbe8848596b12eb9340b2a71872e3592b212ca3004145137dcd71c152efced10a1e37ca1eed0987e89d25663d435d81486e476be107269dc745f28ed52303c55bbcf56ab349aae8d6e2a4d12795ccaa9130efba5920070910445d629d15d36441fc8bb32498cf1f175cc913b7a6683e6a67126af46ed70575e480380318c52f1fb7471db06a42a820017c19010f1c87bd2a9f673ae82c72fb61920d701e8f4b55f453df8502e5104c30e2057822bbae14498f19cded3b52cb0926e1dff56ec2aceb32a5748e343022ac30d1375c9ea96c9536628ad7a717f07576d19e57c6989b871226faafb70757d2fe92bce61bebf43b104ebb886190103d00bd162b14444e57a281d2b45e355f5aa87886ae7fd8ed7a499c146c129121e4f9dbe907c34a53541ba9601803598715640b9ba286387739bf9ef14324fa104e6072eb56c368733c2627a4758584a7d5d1dddabe3e28977c772c7806eb3b0cf5d5de11a92e2c680a2ce575b47e75d4ea4407e5b960b727a77d1c05d0b9b874966e27fad6aad5c13bd2073fb52582fb3d5490e8cfd3c3ef09cff08c2e60d92c56614769575edc6a016f7c9b09395c1c6a423b386df3dce948e33ee321df950ae3f5c3f8cdfc1d0f643cc6c37a20eb16629b117b8f4189f36c2a8f19c157c0a4108584e49841200a542b2e2d0d6be3a312cb0ce51df309a145745d506bfbc78483f4f99e775b455a8d1d6ecaa0730ee18a5f857abeafc64ecf9a1796908f3538e9e21060b92d4d35189506a3f62349105db21a6785f148659f1a083daf52457f5605e897ecb53043e4ea2fb208909a7f58fabea73e0f22478af0d1a71227daf094b5e8194c95eae720c4d1988af27f7bbf9ced50f4025a4d94ae2c26bac7fb4346ab97f6b48a6bd55f719b090f58a2559afdab6b5758f24309a7b30e6652ecc7eecc2ab4eb942f80e574833a361637bbd12888dc3601ef0d59bbc89ca31249a179ccdf510cd235d975fc08d7b241f6f1d4f6ad6a600c678522ce31359b7f96cf969a9e2a41be60413a89dbf95b6977c120298694011fff4aa9bb66165a806744361f3b2b756848fef524fa60367c48f867896c1c5926708feaa7eb5c05f23f17086c3e7be8805cb181750fa6cbc0b2e269bb196dff629ae26c7b20dd4a0d14be872f51712e1d8cd077c614b7f4b6aa177de8c2cfb2d7aa6c5333a5b71499a1d8801611eabb835d7ae90bc28505488634980c3b969924836530bcd83dab1c1363749a86f5143e56af693d0f442a144e11a75247397ded02a495fd63df2d0968f0b60de8012fbfcc2f69304b2994eafac199cca7e8f2142cabf712ec8a2571232d91af39310b6269fa393e317c1b18e734e681b298b2c4f9dc569102d9906ab58d5ffbf0841435cea258290ee65a1d7bd42427826dfe05ae6a102b16095a3496ce226892ddf2de8a00b926566f50b69cd1877158a91e525291e233071b3fcb862bed2b813a187736d4ccb16b657cf009a1b219e8cdbc7273c9dc108ed1fd8b65c367ed9fb1ae206cee0e9aa82d492db0268a94146e6437bed145d4167fb3bc3b2e0c77873a2bf832388ac1fd462b227a2c370690cf9a82d12d1501a252153b807016a86d", 0xfe0}], 0x4000, &(0x7f0000001540)={[{',![+^\'\xf3\\\xc9\'{((\\\''}], [{@appraise_type='appraise_type=imasig'}, {@uid_eq={'uid', 0x3d, 0xffffffffffffffff}}, {@uid_gt={'uid>', 0xee00}}]}) fcntl$setlease(r5, 0x400, 0x1) ioctl$FS_IOC_SETFLAGS(r4, 0x40086602, &(0x7f0000000040)) creat(0x0, 0x0) lseek(r2, 0x7ffffc, 0x0) write$binfmt_elf64(r2, &(0x7f00000002c0)=ANY=[], 0x1a0) r6 = getuid() syz_mount_image$nfs(&(0x7f0000000080)='nfs\x00', &(0x7f00000000c0)='./bus\x00', 0x7ff, 0x6, &(0x7f0000003840)=[{&(0x7f00000015c0)="82bc1eed11fe0895628787a2d5a4dbdde3b1ecf37b4f8b0cda3ec6f172114e8b4529e1efd0b391129b83cb7ddbcfd9304fc0f8b18dab4f46a8c193888ec22ec26249ff68c43fa24efdc131135e11824beb89a8db682661cb6a1666ad86858126a0e5f53218e03164306a186dde04dd7a72304262449e941381549180c04f818c7898e81fbe44afaf700dab1112ad5b75ac93b5199bc6c46481ddb43429d77ae5a2d95542f228194f3d118279e91b3b25be3209db0a67f7b05d1bbda48a15c9fc0e72dc5d664870b596f57eaa8da4efffdf056ab0705bd83becef1e2cb0b71fe6251fd98939c44bee02f59640c0f74fb6fd59b8", 0xf3, 0x759}, {&(0x7f00000016c0)="7929bd8692e682e58a7694f08ca697a1bf01e101974fbf9cf8a1ca79ad784e4ff019cc03859976db70c55d5ffac817be25cb8e2f51b207bba0de5239b26470ca1214a4a9c94f6932874c07174b30d54223471e942a9c31182728cd4e376c10f7f64a102156c5496f1bd3a758d61a131872abd2d1a7016cf542cc4ae8beedd5a90f525c006d4b12a2e6b808ec6a361a79fd33ccb2a9c8bc9bd7f360e7bac48f9fd69019d260f7856cc790774d06360ad4fe13deec401e8bb22b2a3ec7414343248b9d13dbe0a49c541dd61f2cc673b6591821", 0xd2}, {&(0x7f00000017c0)="b6965e39ef07a887791e1a4cd017b28a71d2f96e159fc73eb1e30034c2297fa6763e954e8fc1bdbf0e13f54755a9d5f04d2522ddc436f20e54de38c6023b010f187c9b5b64f956b134442e74703a4e6f3389dee5e47a5b0a66f0ad9ad36ead36539ec5368612b203", 0x68, 0x2}, {&(0x7f0000001840)="5609bfef06a4d06436469f86727e7f11d951c92cc44f9cdcd017cadab217ae2f21bc8a55d6d941b4d3d32dc20e4a4199fa28aee61ec88d2567fef0fbb296d11f865568ceb33bc9a5823fa11df81fd8bdf12d61c97ff2c4dda7c09516b2118cfb3d26f02218cd23a122227ba27a3c5fabce93fb8eb3b4bd8f5624b4c3e172366ce48f5aa9e0ae224802050f441e43e93ae9315773be463406dba59ad4d9a7fcc4661826a30a4b01b403fc25b2d0666cdd77eef2afada33e76422453bc5576b45299f6b44f18c878ddf8e4cc46ff236010cda1aa41df824e4bbc0b62501424698472c4ae721a05f19e45b1134a9825e19626ab2079fd1295327bf08b0f86230c32f82456945c76460a01ba3b56b3dafcfe02ce58ecff6f764a8ef4cd316cf5630a876e4155d25cf05cdeb119622a72b3a7d1eb3538cd242932cea0d7b25c8426b25e5787a8ae3587b2f0f62d42aeba5272fed98e1a322306dbba27e96a6c6251600af944acfa5535e825c655bfb3e32ab3240b74278e28c51aeb3243d268c4ab7b7f75ebd2a9c7cd2f3a28f65bc44e6879382f771896b658319a5e057d8f30e5cff2f11dc1a9d8bf3139a857439c9643d4b7c600e1689aead8451dcf86a955d2346eef3cf9e6b7783c8a201094dae129e07cd8bdf5935bed037a0cc0adeb9b787ee7edcd70b496dc676cf8fceb8f94dbd23a0823e86121ad781763cc601aafd86b07f9a48e8f9cdad4e35ef1bfd2b0a3b2a936baa5241d34051814b083ac5cafed4b28f136b13562859e6c2d9434a8f67322040a9db9ccb2a29023df8ed364c023da5bca1b1c487f3398bf4d7186ca315c06fd1dbd2ec0e78af1edf19bccfa44a87cbdc895bf03883d2259ad5be8eb732ab2d32508fb97310500efa107d661134b70af614a01d0dd99ed19f5521ca95da6a32d5b099a36ec352d2b24a9f1966defcea0fd2b54605bda713b7bfe9c68eed7fc54bb9db46eb667f2cebf0a55299181faa7e819af8c3b0cfac0bf49c30801a0c7697defaea347ce613ee3f207114e0d70d7819ea3b5a4ef098a50def0d4d661af3f608cb7e89cb70d06ccd5928c5841eb60ab2e3363d6b1753d169cc6878d4f5afaa95232cd121cf8371a473686023da85d86d26e9cfb2ceae55bafa60d6d7d8ff669d1b800801e9101bc41b89d2c6837d07724a2ab6af753a36d77b3b4fbe7cefad4c72db27afa2424cfd39592fd2a805c92793475cae9452c44a475c9f94776d4aac804364e1631f08b19504cf6fb98f329f865ecf310b61951cb798a08e437a6e72f6e2b03ab39c5cc51d6425bbcfe2bd50a3f21e8dd2b5a6ed26443096cc85dbb2f4e5b3c15015aa6e860edc8f9d04100b6f2ea56db2d478e72ed7fddb68c6ecf774275a6273f3e93270d6e838016b23b26b77cd382f75799a840708a863de8ef1754fce73e4e0f07e00ed6a4c953cd010a65761ad6606549696bd5601007eb4214c81d3b1bce44c3bff299bbfb3e96f38f0aaa0a9d3c09ccf5285f677f156652192e5ba07639aa92464b1e8b546a5c671d679468ec168dec4cd6937066705bb8d9465024815b200388278b2002e07389636307865e5915e4a1843945a7613b02b697687be2fef5aff10125b7446f670a5cfd66bcec825e84bfc247bf1800a291e3c4178e843396a825303aade34001c10477ee5e9b6a8636521c089e61b91be804ca27acdacb1cf63acda8eb852a91f37a33d6995e6fafb68ed4d4177bccf54afb4d24ef56cbce4f65d401ca4d65eeb9d1471f0e94413491afd06b1527ad72bcd65ca3b100ad1c008b3fae5f59273a134377b0d7587aca0da348fdada11d0e6bb5791bde0da51f6f9e92fd565bb8f005f1a0042a36dc8e8e86c8f33a8364bc86a23351796cdc20fcd306766dd7569604f6cfd34aaa008988831b22803a94cbe91e06044c75f2e3637ed82fd45bc71c89ec3c1d0199be72bcca0fb4db7afc89c5bb3176237f95735c1a288676ee04e80e7052939565c859a556fe6ea3463bd939c35c7e854ded3fa03c5deeaff7e977c7338e2f0fe227a00e5cd92b217cde14c8eeb6f2e983c03a5acce51a331fbe4c951c799410f1060fc16b03c7f0625ad55af8b181edcb4efac907dbcacfb06ef6eeafe74134a6701d9ac9efdde601f34c1d28fc4acb47590d8667f12c271352837cfcf84581dd5b1bef65ce481b28b6e36a619fb3c5d9b320b26e9111f67de21dc45e9fcff70b5433925d1e70b4e3ca88684766472b69756fb59bf54c745036a0e23e1e07d370c375c93d4391fdaac045ae58f2b61199b90869975ac0ebd30795d64e9520daacda3c4dcf54393fdc470930510a7838d0de8231af63cbb01a11f019cf653c135f89626885798f058c5457023dcbf309ce105ba0f17589c30da3a2f7a057c46b9cdbda8b77d0cd552052a1500e84b2b16b022b2936e7f92d01ef67782cf63c504298a4dbde062ac1955bc0022d85f5770fe7b601c291ba0c5fca6531575f6d6e6f29d2ba8b4f9be3cf53ffd9b3c676c5683c1842ca039dc12603b55094165be636ce905fa370908de12f3b874724a51f4cf95156bd0dbace45baaa5e9d38381235886aaf8742a88cc3732d1912828f26c3daa498675ee9be19d18359af6774db6d9e061f86060b7321c3f3773ee2d007818dc40108eca3ea25e4d3892608ca0f8c63c7abb295086208e2724b4f69732d7fcb4adbe0cdab94f7cd4cfad15534af155e6c09faa29d4e15d698924d21dea9ef8085356ffce7675b22594dd110169d0a5799dfbc13f6c358d98cc1fda4a3395e803e5964a6a4291c3ddb8d8d2b854c70ddbff638eac3742a8ab423aaa319bce6b6f5be03647c18c67d693055c01a5a40688c0dff313401473903288dd6e4ba5bafca0f187afe92cc471b3368e2d659ed094b741bf624199f3bcca3068600dea670285d45bea4b04c2dc55801dc3497265cbabd5984fe1d291a14a20f1f2603613051728b521159fbba62dc0153b73697e0746d884445ebb166efab56fa33bc347a256e10b22e1fc6a540ef6f8463ad639d7d29cf5007cba1094e3528dacea3c3ad16353cc38b854526a7d0eb1f617f82b35ea7f950818f5e7f35946118819e24841408ff4617ee85b5b8d6b154f54f6c6549c37900fa9127a1d0b1408822af5712c130397dfecacbedb0da561e7e50149acd0ead9de68170266d2d970664562bf20f6e5a049bdd861aa38488e7b77945481f7b38936a086d1d7fa6fc48cae86b9b097d8288f542a4ea30a48051418196363b42dfe6d01fe46d9829b71b94415b1832815c1523250807b4f99a43d743774b4c07636f80390c0c2ff2ddf654447edd5d7d4e14905ee88e4c6c017c8d962d34ebddc12635e1adfb9316a377182072af233e7125056bee67b684c2b1e1698ac5dac8dfa1400f4f012c871414a3afa7b5f33a378a1f4d854c67ec6e60ec042b2e5c9d77e54f4ff9723fb9537a462459264bc505e20e9a61e1d9e5fbd6f3ef3d2ba39a0f0aba38b2782df7b8815c77dd316651af1deb2076fb2af7ba0a97ae131ebe73c541df07ac3e38ff44ca4cfe1b5e75aedb5931de4ebd213f83ccb679b497fc0911f753b0b31facf0a66790a7facb7e8f771ffbc52bc66b51b612e6d440047ac591784c4d1b30ab2e48248b9f01d58f9fe9840fed5cc0fb26553d68041f1b0f6b6c1f894eb0bd2a5e9cb4ffbdfa6c094f6ce08846b7753d85b3f85194ac0bea5cae8215d897ebb7d942e637e945f7430358c0b80128c82efcf879d00529be243f35953fa5a7bb0bbd0bc29088dab3221f8783528c3c14592e6349abc90b61734dbe35a748689aee770b94634e347da0e8ef893f4a095c4e400d0bb0dd05cd94d40a4bcdc001508c30df2e9228696299b44d3d2a80def2689c7c1b2ebf145a5b36a2b7e98d29c53052d189ae5b5b2953fb3751c7242d530f231fa649ceb17a066ffe5de8905e83518257056adbfec8a0fc5028e6d8666cf55d449bb7fd0c438ef88f72b12266fc78acd9d9c23de70234b4428f42173acc0b024cc774a03acfe33d3dcf058013caee932cb99393f62f8a696f07fd10685342b346532e450619e842e3d6e8f564371c39ce7de0bd2fb6886de5a4c4b9c2c790372b8368cd1f813a23e928e09d6fc1f2e6188cbb2c1e5b3f815458bb48ac5bb4a501e20507d326ba858f07bd5e996c073725b78d2aa669dfc1624f938fd7b406f0f4992a90821f5b620e256bec459d72f2b7252b238d280c05fa10b6bc27b7d44ee2c1981ced432b78568d4c79820b797cb11fcbd575089493c0c1056ed991b19eb3be8dd989b8c7cbe186a1c1966c0d629e65caa2f5fd3f0b510df8497137694c584af4a706a263af070a6198519364aedfa112942f73953e157b92271e91f332b77187d55ba576faf52297ef5673cc50cd98c590ffaf7ebf966fad543e3409715fe333482bf3389c61c3b7b12f1544e81bd6fa281084a86062de9c14bbcf88d34cb45121c1aa7c19e632f1e0ea6ef5d85bb62369a2af2123a7f9153c5e6be748238091db482dc7aba1dea76b05d7b9505900a0ff74dd762665174d74d4d6f1ba2f774b393591c58e4477282b7b8e8e48d72b826f88c623b323c62694b5749a6b6c882b54e1b167419b3ab55d773275e011724972cf0f63b2fca91a898ddb39dcc55de9d737e85653c8680a6d09c808bd33170cc2572aa1b65520d1aa1de5ad1a6d4e42d0708ad249561fcef99afe67497bea735d0aa056b0ec318b408bb930e0ca0d6127ef8aaa37f5fe09bced4ee4c5bc65cce3feafa1ad4cbc46c4436596ebf61667760a051f7c1c7fff0bd88fb76076cabe3111cbef89c5479c1d1d25728984d2d4076b9e7c38d214010310337c61ac0ef23823f65ebfa9294a2cacf57142a0cf575d3986ec5ef2ad7a29074cfe1402b713880ad29637b29eef0fbf478a00a38745a6195d1f59fd4e0cb1abf110bf3710347bf0befeab320931eaf30bc6b9cc3ff9a2f1c2e90cdc03649655a85ab2f828b549b02132bc9a578262b82bd876c2177a1c998a94f2b9b907b4f695135f945287904016aab8a35cf8e1220fb8fc575da88ee1b28dafdbc00d164890d765409972d0f87c90cc590ddbf5b16f4d4a0a130760a13519ad3e39aa0d4b0436e1ff96e3d62f841d6af9fb6de24d9fed97834a3f569cc57b8234ed7edc3151c73551c0b95d744910708a15c9714341dc0fab6b71c5d4757af69427e0edb181d3512a9767037a00dd92b4643c1f94046633d234e34ede9af154e14018a09f78453eda655f560db74683cda001b85e10bd5df735003f7b436ef8fa6a4f1e240330a5d69daf562ac2bd82379962c78134c45c748931f5266cd7e4dd23ea1b59e8e42170f0a99c5112e69106f240c2013cf17e328903fd7778ccd49b41c2873a727b31776217effa0fb0fa09062ddc8ae74f42d6e08cbd2106a4ef2fcb887370b0579028d9cd30550466b0760254c38ae2fb44ed6cee538160bd2c060f6b5328264f5ebc5386d76f05e7155659c238e984e1fb3fe96d1bbe85d7e6d3046876aa565c20ae900c96803d7cd0a305989cc1de6c3583939129e746936790580e636fab8a57fa1ec97c652a25672720676ca7e1629e5f8bbe568d2438d390bd20296d78c923999f18e2fd7f473d1127055c0536643c5442dc6a5b2c346302cdacd94815713427b567120a6acc343f97876d43978cb478aaa41bf4a7fb8f96399d73fbfd95716b66c255eb852b810e274f9711ca2b84f1c74de3223d70d83e811b470fff51f33646110dd00eaf7f728a5081cf", 0x1000, 0x3}, {&(0x7f0000000140)="4c1a69ae4816b8d9cd9ba786520a5b7c7b20b1d7f961b67b7f366924d0227cbef33e1142b3da98aa6ce595f46ca3b69f", 0x30, 0xff}, {&(0x7f0000002840)="009d117537701f6104f7a1ce5e0db8cdfde4754ec779ad31693e7b43cbe58b856353b47e561eee490dec5891b01be12c9944accef56489a57712ed756c4ebfd2bdf5946b027f6ab17fd864a1d22db270ddc362344361eedaab8f32cefea06ec85b104c6dd8f5b4a878027b2b8f0337adcd6bb5fd0e9f50b46c9dbf78cb3eef1b24251d9f997b3b878561605b208439ef17e9b64bdfae1f1cd239aff4d3583277623168a54fb4a0f0dcd90cc127c7ef10570806ea511d5b9b69c03e7940397a58cc5d482936868c503f06aae9c2a87585ff6b49bd691333f3099ca147abdd3a0d92f81c1084ff82e952058efae37d0f646458da1479becdd0d9d01834f39d99e75d63c87d6fa02d174189b8994610ac96fa3214748d266a2f12fe01a8fc3a98a01d3fba55db849bb3d6586d46cb3f563bddf47b8d4b8773f3afbd625be674a6c328de3119bd49e6ea63a319fde0bf77e6221bb2e8f1d9ef7099942fbd640b173752d9024ba15e2073b291623636744ac4257cbedc7a6f75f22549a581c32bc5161902ef498e37869747d32d18872eae9ba57c203c6815e066aded8880c28c2c1a51b648420a363b4455a5c96d15fcc6aa4185cb07bd31b220381aea34c783cc2574935d48c7bc7887cfccc20c251a818fc90185fe914890f71d734641712fec0c11b4e3f4628508daee9933dae51ed937a3036383d2daeb0715d413b64a7b8fda8fe94aa1625ce10a41b20e99503bac993850990e8e7d713cc7c1fb42e9c7df710919ecd17dbe728498c0461760d5083348a492c4b157ffbb64ae52cffd46bf8ca502c49d090a7bb205f1713df390e08b591c4ad5cf5cbe9b07bb27a26f043d78833491e959113bf3673a638dca1cd9141bc828cac54f908ab22dd52e1cc2faae17d9fa15fb68b883df7eda559ca4575f5ac6d1e5ad18ddfeaa3549996647016b903ae722bbd3c7603f118e5bae74fd09ddb3ea8ca3f811e6d48773c80d83c521bb8ef3a4fd72da2b22b4457a38fe31999129916be71770e4258f448e4a1535a6b5e7a11f79cdd016597ece67c6aa1f04f5c800c3a281a1da139e8d063217963b690ca9b23773cac8e021963a7d3a8be6e395d39cbebdf74acb802b4fd3cb9379f6817ad0941bceb04271aabeeb5f4ddfdc53d655e4b1b17c213a08f2f59be39a2b64b417c4334152c1f3a9364c0daa23e580163e5cd7db55821d2665da8d773def2199ba76fd740024c0546db21b9b37aa97a81f0fc3414df169e35fc862bdf654d51e034e600267e31f74a06d72fed8a39367459d6f5c674142d9c0c943687f3d8cdf8f2e930240a2c3322959de2d23874222d9fcaa4361f46ecef266c6ab50e3e0ff8ceac46cc37836bdaa3c5848ea9d796b6d1372640074c73509a5fe144a9c80731fa36eafb8b852a7cbbdf9b0da22d5230a355a347d04e1fe90f4f2c570ba3e0a0afadec6f67fdd0ba202f8c1d8c1341467e4ea9402e2cb565dbe4a5f007a41dd9a583645c7168e8c5169545b5d7a7c800c192513eb2389b31cedd76b5e93bf4838daec8ba0155514ed10cfd2879e8fe787f1b03b5626d4aaf3b1dbe7390c2f21799a3de11c0891b777a08627b08e89302837e7393bc11f023d35928da551966926dd8248da0d38804435d095069ae69acf5b4e1c671535ee71e72cffa4da6731714f18226159b27fcd50aacfc19c8861afebed2e0afbc966a22e9656b157192c7bea379eab9b57fc980f3fdbc7180babc4db7a4e1ef14d64da6c370660c4978f67d6ccf6447e4f1dd1aefd5d6e116e652037816d59ed01ec0e12bf65401409f8dfddfcba738e923dad05f1fba324a4caad020bc59a7ef3a51826c71a7c66b4d911d9bf15b7b628458e5befe4f12a0badc5b2c81a6a565b1cd7669efb10451b9bf9d9e93c6c69f2f079c70ddb61269483ebba7cc69f3ea25b4604a70a3c9347411ffabc791c78bc0f282e3dc2cbcee0cbdf369288ad9d34e08a4334ff1e310959c44405987cad6cdded9d827169f928ec4dd78eff6a14162a76df196bc16a4ffe5f039ca1dd5bbe6b3b7f914fe424f1a58d482a6da47f80175a5bc8e7bee23542d7ac60ee52ca4f3618becace014900383c3f2c8590147eb7c4facd362f9c360ffa25dde1313e66eed24c6a0fa9f32bdd2cd632343786580fe715167d9bfaf1fd94b43ac10f1d202b45ec40e2ed8337e2f48a215dafe25c85a474b142df842431b5726ecf3dd13b9de2706fb2b7f6d122ec843ebf8a7eeb31eb8c703a81719d2b50336180d3bcfe27d9d116791de66825d0540e67404e6883e46b8d7e96a0319e7dca8072467d49455e3fc67fcc71a7ae260a8fbf5ce7ce1acd728d3d3c0cac7b23167b5a9f3b2a854adf9e917a9ab11573ea58f0bc056089cbc508e105294260c63a632f14bf28033b45b2a0095052d6f0103ef3c8b205b21d1666cb5c13456a40cb2a47753636f8b8e182797647125e7abfe59baf72cc8d6bab4b702097b22616bf880693c995c3ec9590d3d01637066a484145f7672dd7d5fe4c0fea11249c2c45f9948eea05266091e4d819245ba0e982e344bdd983c35adc42f13a06b0b3cd2c29cdf906dff594e44f785aeb2fe80c30c08dc18b36160a1977cf764f8638f8b97a823ed99cbde0e9eade4befd6be62d1a1bb6ed4a90c399936578e26de4803cd0f82f6d38c1588d66730a23b6bdfa1898f1bf03922626c265943e6814ab988e51f4676842d5c76bc577e6748b9712eec31e5b1fa5802ece9daafd79635abee5d27c459aef5da50d8a16a0899ac2d1b4200026db71a6f07e34fee34509272d1ac895b6b85c12de05ad8329a3cdf25a1d353d7e5a916c13bece0a0ab7fa1d7a27f5762491c50ba2aee1db469488300fea5bef21aa9f40ba20500513e1f15970a06ea1ea0b5d26856674d3033dbb6b2e557b29e140e0160812979a3bb4f66334d4970350e0d109b8124ab433b3b3fecf2f9b1b9e278bea4ef621a7f1591fa290dea11f2cb27790863752920c2a22cb20f2bedb10896e983d3f66685d93ded6b729c93b0d88fffeff87a7b23dbc509d3d3252bbe645258308a3a1847b4c66c20511059cdec2cd705d2dbd9113ab7a3373dc7a5aac462b618e8e6f7d9f005730aa58f6d04a2af2132d30263f89540bb0600fdc46713c232d945dd57380a39382af89cb5477fb7fd79aece631c5fdcffb97c606ce542399f8fa06e98153e47b8033b1d2df2130f2f61a1d97e5b3b5d9414c2fa701367a9a51c8033cf22ddaca94a3a61d4d3b242ac2f5054a50aa290f605a749fab2d1a567ef7ebd33aa447846f77d0f9f28d44b06ba4104a2efeaceade1f233e420a8db9b7c47cc94cbdbed6256ac7b004582773baa398035eb964c9764724e2f0959f8ff4f06af841332e73f59f709c07c9b0ebc4915b7cf80aa34ded6ed55e1518a5b525acb3b6cb62a8c78d7fffcf224c54348ed14dab27232e4af7850129d1a582242e11e49aa4f60c0f09cf0b749e38361209602d2c442c9c7c4d6dc464bdbd84cbb5bcb095af11f7488bfd40f7fba3a9fd8bab0ad0efa737518d9b387b7a680a219699f0811499daa95879f9ca6e26a7096154bf8ed005df8b8e6ef6c02dfed6b111b4a7b8855f171088372e9bfcac25d84f6f5229ed7bc8ad9c48d3b64418acdb1b413a042d95a3402c7b231a4653792d2484a57efcde7239de8cad1e784d2eb0c42a722a54d6f8ca64f6149952d3cf996c66a6481fe135fed60fb6a6e1aee7683ddb03ad2730babe4a26b5c6dcfbe2c6056b654dfb7efe89924b1aaa7d48a9d6e3e738e5a8acf11682b1f5d8bef5e9af7d47e767ea7f26a786bd1b1b5d49d83e7384f2f5ac7042c0dbd6262046841d22aa557486a6cf18d7300c7de6952796de4f38d69589e80b632367370f7236bd83bb4d5462d36b729475ce4ffcee30d93cf62f4c8f4c2c0df966aea0c54a4d358a7ec4479194c0041e1d24e44466b4421887efb43d1dd05d1025e765c70a58e0e9de41ead731e95ad7709803651d28cf436cad44c5aa810f5b4d2604282e4f88846608376bda2b55aed7f271e17e79ed72172b6e26c2e149f27d905f8c4fa93014cad1b267de1aa04a1684ad15dfcd7e21517f939865faabca928c2cf3d205c9ba6d3325645740401b18beb650f3e74261cdf14e9fe243035df163450d37b1f9158b043167e45597df25a5e047e34cbf9163ea113415a9554c024e7d1f6384cd82e21b8851af0149c90800b916b5e6141213055db5b9c5330e76b09885a056136b7faab5de902d35e8c1f8c54c1817ebd3207ef42fd58c230004758d72394275581e43da73b26a77057e67c8727adc61639c636efc87a0cf1ddd28a9827cacc64b88b51c0859aa4c9a8dfa5c13849f14a6968ee789e92921e6c4c18fff18c7264afe777e246cd1e29ce685918e9028612f1e66994bf5a4d4be18d1bce00815735ec6d6aa3e2ca26cd85174508d7b165a51c9629a47c6e52b3881352099c1f595cd80b3a981043ea848036632611c8ed0e50b974752f9fa907c963bc8fca46d1476f663604b7e547ce1da9e81bd4a5662bd4ffd2e964edd2ffcd53a4f332ba2d62bf80a2221255b983b5bb8f55ebe5aecfb6de5c8af8269cf83efcdc79602a8ac297d78534934a85ec559815b05ce5a2d0752a8805e7b9133b89ab7d18441f1b7692b17e6ee9efc23b9cd2f80eacc0180f8dd013976f3f53b52dba4881f0687ff1bb900ea15bba0780f2a5b0f3eba137b15846f4aa5e0651d6001b4f9ce4a3212dff3faf1baf56bbda7a514be7e3fe1f42c7a3af6ca507acb493b975aebcbc5a2efe365f82e1c09b2e1d30d1613945a3e0b3e8b03c81e89b292cfb74b6ad66bf03893b449dc3121bcabc094aa3dc28139026ad57944021389f56e179e50a0a50346fd32f3117e5fa9786f081d476691ef3ba2549a232cb846fa722a2ac1668a7b3d9f0264fca0ff17368172402ef099c4379b9ba2982bd1163ab778bcd76488055a3e834a1fffc274d842a61ebb8d551a7a1abc18358c380650389e8e92c7b77fb80b840064b41370696e7b0fb4d0f1932b433c5c0c97e44836083a4ee46f999463146552e8883dce335394bb4e051aaa022116c6a3dafebeeebfc2d0bf84dd7eeab03a3ddad3264ddf68d6f101e63615435ee81ad737187bc21d3296e7b0b54a026044beb924c77049b0f409c5b83d294f5342528fdedb27900a7c9f82c06aa5c6b05a936d625b24308d1bcacff9fb0296b78b3e33055318816d5093b2f4e8dc3779d8f9d625f4a0707b0fa62e8911c421bd868ef8c6431dc24a1be8256ce9e0a6125c92b6d59990a86ec2b795d7c0dc44a0394a2be1cc27987ba20c1214966754eb351cb6d6c41929a0e9e9c956457d00e185d6441a803f0b041b92c32891cc00dd7af7869a0919e0feba5bd8e93a74bfa52a2a5f31d4004593adbe2b67b71d9b35756d7158201f93fefd890d4f5c94f258dd14e54247c1adf12b3acde6a144178a74500b5c39c408701ac89f19b1d4d1934098b97c16dee8974a6b3303ad9f406b35d6b9c36ad238f19e1d52f931ae2713a9bba2be501a5bee3913105db748e2504d581e2056da41eb19bb59a63b702a25fb0083d27fcb25f576da15021cdaf691a946339ec2fabd961bdec394e905467270935a50f14ddc07c5fb71e43c01b787b5b49af27934e0df503f8c7f9ae52f311614a140883c505faa3d8e01d7f97ff8ea057b4d9e67f82d15efce935d98c22a54892eca50b987413f3a9a7e698c6a43e49754a3c3f8ae132153096507dd7e6567ae244ee10", 0x1000, 0x76b4}], 0x800010, &(0x7f0000003900)={[{'uid'}, {'appraise_type=imasig'}, {',![+^\'\xf3\\\xc9\'{((\\\''}, {'#)-:&&..\'\'\''}, {'\xa0\xea&\x06,$'}], [{@func={'func', 0x3d, 'CREDS_CHECK'}}, {@euid_gt={'euid>', r6}}, {@fowner_gt={'fowner>', 0xee00}}]}) lseek(r1, 0x0, 0x3) 16:01:29 executing program 3: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000640)={0x18, 0x4, &(0x7f0000000040)=@framed={{0x18, 0x7}, [@ldst={0x3, 0x0, 0x6}]}, &(0x7f0000000480)='syzkaller\x00', 0x7, 0xed, &(0x7f00000004c0)=""/237, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 16:01:29 executing program 4: mkdir(&(0x7f0000000240)='./file1\x00', 0x0) mkdir(&(0x7f0000000040)='./bus\x00', 0x0) creat(&(0x7f00000000c0)='./bus/file1\x00', 0x0) mkdir(&(0x7f0000000080)='./file0\x00', 0x0) link(&(0x7f0000000180)='./bus/file1\x00', &(0x7f00000002c0)='./bus/file0\x00') setxattr$security_capability(&(0x7f0000000140)='./bus/file1\x00', &(0x7f0000000200)='security.capability\x00', 0x0, 0x0, 0x0) mount$overlay(0x400002, &(0x7f0000000000)='./bus\x00', &(0x7f0000000100)='overlay\x00', 0x0, &(0x7f00000003c0)=ANY=[@ANYBLOB='upperdir=./file1,lowerdir=./bus,workdir=./file0,metacopy=on']) creat(&(0x7f0000000300)='./bus/file1\x00', 0x0) 16:01:29 executing program 0: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = openat$dlm_monitor(0xffffffffffffff9c, &(0x7f0000000000)='/dev/dlm-monitor\x00', 0x226100, 0x0) mq_getsetattr(r0, 0x0, 0x0) 16:01:29 executing program 2: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000080)='/dev/kvm\x00', 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$KVM_SET_SREGS(r2, 0x4138ae84, &(0x7f0000000000)={{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, 0x80000006}) ioctl$KVM_TRANSLATE(r2, 0xc018ae85, &(0x7f0000000140)) [ 346.526096][T12780] loop1: detected capacity change from 0 to 264192 [ 346.555143][T12780] nfs: Unknown parameter '![+^'ó\É'{((\'' 16:01:29 executing program 5: r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_int(r0, 0x107, 0x8, &(0x7f0000000000)=0xffff, 0x4) recvfrom$packet(r0, 0x0, 0x0, 0x0, 0x0, 0x0) [ 346.715373][T12773] loop1: detected capacity change from 0 to 118 [ 346.730065][T12790] overlayfs: upperdir is in-use as upperdir/workdir of another mount, mount with '-o index=off' to override exclusive upperdir protection. 16:01:29 executing program 3: syz_read_part_table(0x0, 0x1bf, &(0x7f0000000080)=[{&(0x7f0000000000)="020185ffffff01000000ff0700000000000063000800000000000000004000ffffffa500000000000000887700720030b5829237c300000000000080000055aa", 0x40, 0x1c0}]) [ 346.760823][T12773] nfs: Unknown parameter 'uid' 16:01:29 executing program 0: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = openat$dlm_monitor(0xffffffffffffff9c, &(0x7f0000000000)='/dev/dlm-monitor\x00', 0x226100, 0x0) mq_getsetattr(r0, 0x0, 0x0) 16:01:29 executing program 4: syz_read_part_table(0x0, 0x2, &(0x7f00000002c0)=[{0x0, 0x0, 0x20000000000000}, {&(0x7f0000000580)="890aa7f12d74a48df5cd272a1c04ed2edfe725b70800a3a2ad1a9012947060225c428bb64391b716f34561b89cbaa2ab698d049fab03e7ce44c55e3dbb7f8356e45c60631db744bb0fdb51caec833f4e2b374535c31f5b7a2647110a30a6ceb39cb4b26f131fffe1a10db016e45a8973527573b41c9145687a45f2e79a8830432ad9bd5541d409835f5899409db8b051219a95a976bf042c38eec35ccd61e4f2685e32c7897ea70f0cab47a7fc8f8b65be09b2861f319ce205a13c1df821c9751fb482542528a0626c18812644085374f784131e6d73304cf8f4714098bd63f09597b3d1a6fd4e467edc20b73b4ee325e95b99d46d8671c3a31721100fac240e1f2be99ed5f53d989748916d6965864632d8e54e50e5c5df0d9988ccc89f5f6e42999cd8fccbcfbb47002dca963009127b313d52b5255e763c6a75d8bb28662cfae11026e69732abce7a17a2e45a0f8cf974d9e89788da88d045331b26cfc3b406bb71278b76735e0eb030f9faf92cedc139463961c850d8128d5efbda6a67840501d004e2b1fd55ed9f0e7e5214547d9038394ead5fd4093e853a9f52302535b66259b5ca9980a471486f67976b5842691922befe396a9f7515b21c516dbcb4a4583b83f452d7ac0a90b0a42c21d6edf3fca8c7c49186f12c63d70bc9fb3c513ad2ce509a85b3c01444a3425959", 0x1ee}]) 16:01:29 executing program 2: r0 = syz_init_net_socket$802154_dgram(0x24, 0x2, 0x0) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r1, 0x0) getsockopt$WPAN_SECURITY(r0, 0x0, 0x1, 0x0, &(0x7f0000000040)) 16:01:29 executing program 1: bpf$ENABLE_STATS(0x20, 0x0, 0x0) pipe(&(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) write$binfmt_misc(r1, &(0x7f0000000140)=ANY=[], 0x15cb3c6c) r2 = socket$packet(0x11, 0x3, 0x300) setsockopt$SO_ATTACH_FILTER(r2, 0x1, 0x1a, &(0x7f0000fbe000)={0x2, &(0x7f0000000100)=[{0x50}, {0x80000006}]}, 0x10) r3 = socket$inet6_icmp_raw(0xa, 0x3, 0x3a) connect$inet6(r3, &(0x7f00000003c0)={0xa, 0x0, 0x0, @mcast2, 0x4}, 0x1c) splice(r0, 0x0, r3, 0x0, 0x30005, 0x0) 16:01:29 executing program 5: syz_open_procfs(0x0, 0x0) sendmsg$NL80211_CMD_DEL_PMK(0xffffffffffffffff, 0x0, 0x0) perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) perf_event_open(0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0) syz_mount_image$btrfs(&(0x7f0000000000)='btrfs\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x6, &(0x7f0000000200)=[{&(0x7f0000010000)="90e42e8500000000000000000000000000000000000000000000000000000000f90cac8b044b4fa88bee4b8d3da88dc2000001000000000001000000000000005f42485266535f4d07000000000000000000500000000000001010000000000000000000000000000000000000000000000000010000000000d0000000000000060000000000000001000000000000000010000000100000001000000010000061000000040000000000000000000000000000000000000000000000450300000000000000000000000100000000000000000000010000000000007200000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000001a8885d61aee4febb69bd33546bd0e04f90cac8b044b4fa88bee4b8d3da88dc2", 0x12b, 0x10000}, {&(0x7f0000010200)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\x00\x00\x00\x00\x00\x00\x00\a', 0x14, 0x10220}, {&(0x7f0000010300)="00000000000000000000000001000000000000e40000100000000000000040000000000002000000000000000000010000000000020000000000000000100000001000000010000001000000010000000000000000001000000000001a8885d61aee4febb69bd33546bd0e04", 0x6c, 0x10320}, {&(0x7f0000010400)="000000000000000000000000105000000000000500000000000000001010000000000004000000000000000020500000000000050000000000000000005000000000000400000000000000007050000000000004000000000000000080500000000000040000000000000000000001000000000080000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000f050000000000006000000000000000010100000000000040000000000000000b0500000000000060000000000000000d050000000000006000000000000000000510000000000060000000000000000605000000000000600000000000000000000010000000000d0000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000005000000000000700000000000000001010000000000004000000000000000010500000000000070000000000000000d050000000000006000000000000000000510000000000060000000000000000605000000000000600000000000000000000010000000000d000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000050500000000000040000000000000000101000000000000400000000000000006050000000000004000000000000000000500000000000040000000000000000705000000000000400000000000000008050000000000004000000000000000000000100000000008000000000000001", 0x274, 0x10b20}, {0x0}, {0x0}], 0x0, &(0x7f00000005c0)={[{@compress_force_algo={'compress-force', 0x3d, 'lzo'}}]}) [ 346.957696][T12811] loop3: detected capacity change from 0 to 1 [ 347.040539][T12811] loop3: p1 < > p2 p3 p4 [ 347.046865][T12811] loop3: partition table partially beyond EOD, truncated [ 347.062142][T12811] loop3: p1 start 1 is beyond EOD, truncated [ 347.074023][T12811] loop3: p2 size 1073741824 extends beyond EOD, truncated [ 347.097788][T12811] loop3: p3 size 1912633224 extends beyond EOD, truncated 16:01:29 executing program 2: r0 = syz_genetlink_get_family_id$ipvs(&(0x7f0000000080)='IPVS\x00', 0xffffffffffffffff) r1 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$IPVS_CMD_SET_SERVICE(r1, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f00000000c0)={0x50, r0, 0x1, 0x0, 0x0, {}, [@IPVS_CMD_ATTR_SERVICE={0x3c, 0x1, 0x0, 0x1, [@IPVS_SVC_ATTR_AF={0x6, 0x1, 0x2}, @IPVS_SVC_ATTR_SCHED_NAME={0x9, 0x6, 'none\x00'}, @IPVS_SVC_ATTR_FLAGS={0xc}, @IPVS_SVC_ATTR_NETMASK={0x8}, @IPVS_SVC_ATTR_TIMEOUT={0x8}, @IPVS_SVC_ATTR_FWMARK={0x8}]}]}, 0x50}}, 0x0) 16:01:29 executing program 0: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = openat$dlm_monitor(0xffffffffffffff9c, &(0x7f0000000000)='/dev/dlm-monitor\x00', 0x226100, 0x0) mq_getsetattr(r0, 0x0, 0x0) [ 347.168348][T12811] loop3: p4 size 32768 extends beyond EOD, truncated 16:01:29 executing program 0: close_range(0xffffffffffffffff, 0xffffffffffffffff, 0x2) r0 = openat$dlm_monitor(0xffffffffffffff9c, &(0x7f0000000000)='/dev/dlm-monitor\x00', 0x226100, 0x0) mq_getsetattr(r0, 0x0, 0x0) [ 347.242440][T12825] loop5: detected capacity change from 0 to 267 [ 347.310189][T12825] BTRFS: device fsid f90cac8b-044b-4fa8-8bee-4b8d3da88dc2 devid 1 transid 7 /dev/loop5 scanned by syz-executor.5 (12825) [ 347.329394][T12836] loop4: detected capacity change from 0 to 131072 [ 347.372987][T12825] BTRFS info (device loop5): setting incompat feature flag for COMPRESS_LZO (0x8) [ 347.402711][T12836] loop4: AHDI p1 p4 [ 347.430687][T12836] loop4: p1 start 2963549217 is beyond EOD, truncated 16:01:30 executing program 2: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800007, 0x12, r0, 0x0) prctl$PR_SET_PTRACER(0x59616d61, 0xffffffffffffffff) clone(0x100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r1 = gettid() wait4(0x0, 0x0, 0x80000002, 0x0) vmsplice(0xffffffffffffffff, &(0x7f00000000c0)=[{0x0}, {0x0}, {0x0}, {&(0x7f0000000480)="66530700ae897094e71b0fa1f147a8378f364602812c66538d750f6ee1d001f43f0500bb9fb045f2d1eaa302ab6c2fef2308003ea1315b9532f3af2f5e153eb78020fa00eb298802d8f6c1f3b18d6d352507f7018b31a53bad1ec3533c791a753a1fef2c560001000000000000fb8005128e7e4d939955f8ac396203784000400f573fbf000000000000000761f35e959f130dec95128ce7ec033dc0a380543bfc99320be1c1bb99bb063fb66f2d696569eada31b09fd215f0332701d9d14a3f9209d666578cc0266bce7860eaaf305a0ee2af0f82dfefd5e00d421b000000000000000000000000000000730428fde6136b", 0xf2}], 0x4, 0x0) ptrace$setopts(0x4206, r1, 0x0, 0x5) tkill(r1, 0x1e) ptrace$cont(0x18, r1, 0x0, 0x0) sendmsg$inet(0xffffffffffffffff, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)=[{&(0x7f0000000080)="4dc3", 0x2}], 0x1}, 0x0) ptrace$setregs(0xd, r1, 0x0, &(0x7f0000000080)) exit_group(0x0) [ 347.501322][T12811] loop3: detected capacity change from 0 to 1 [ 347.507057][T12836] loop4: detected capacity change from 0 to 131072 [ 347.539835][T12825] BTRFS info (device loop5): force lzo compression, level 0 16:01:30 executing program 0: r0 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000100)='ethtool\x00', 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_STRSET_GET(0xffffffffffffffff, &(0x7f00000001c0)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x1}, 0xc, &(0x7f0000000180)={&(0x7f0000000140)={0x14, r0, 0x1, 0x70bd28, 0x25dfdbff}, 0x14}, 0x1, 0x0, 0x0, 0x40}, 0x4844) perf_event_open(&(0x7f0000000080)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c0, 0x85097, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x2}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) perf_event_open(0x0, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) clone(0x2102001ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) bpf$BPF_BTF_GET_FD_BY_ID(0x13, &(0x7f0000000200)=0xffffffffffffffff, 0x4) bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x3, 0x6, &(0x7f0000000000)=@framed={{0xffffffb4, 0x6, 0x0, 0x0, 0x0, 0x71, 0x11, 0xa4}, [@func={0x85, 0x0, 0x1, 0x0, 0x2}, @call={0x85, 0x0, 0x0, 0x7}, @exit={0x95, 0x0, 0xc2}], {0x95, 0x0, 0x1200}}, &(0x7f0000000080)='GPL\x00', 0x5, 0xc3, &(0x7f000000cf3d)=""/195, 0x0, 0xc, [0x0, 0x0, 0xff, 0x0, 0x0, 0x7, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x70) 16:01:30 executing program 2: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800007, 0x12, r0, 0x0) prctl$PR_SET_PTRACER(0x59616d61, 0xffffffffffffffff) clone(0x100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r1 = gettid() wait4(0x0, 0x0, 0x80000002, 0x0) vmsplice(0xffffffffffffffff, &(0x7f00000000c0)=[{0x0}, {0x0}, {0x0}, {&(0x7f0000000480)="66530700ae897094e71b0fa1f147a8378f364602812c66538d750f6ee1d001f43f0500bb9fb045f2d1eaa302ab6c2fef2308003ea1315b9532f3af2f5e153eb78020fa00eb298802d8f6c1f3b18d6d352507f7018b31a53bad1ec3533c791a753a1fef2c560001000000000000fb8005128e7e4d939955f8ac396203784000400f573fbf000000000000000761f35e959f130dec95128ce7ec033dc0a380543bfc99320be1c1bb99bb063fb66f2d696569eada31b09fd215f0332701d9d14a3f9209d666578cc0266bce7860eaaf305a0ee2af0f82dfefd5e00d421b000000000000000000000000000000730428fde6136b", 0xf2}], 0x4, 0x0) ptrace$setopts(0x4206, r1, 0x0, 0x5) tkill(r1, 0x1e) ptrace$cont(0x18, r1, 0x0, 0x0) sendmsg$inet(0xffffffffffffffff, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)=[{&(0x7f0000000080)="4dc3", 0x2}], 0x1}, 0x0) ptrace$setregs(0xd, r1, 0x0, &(0x7f0000000080)) exit_group(0x0) [ 347.561768][T12836] loop4: AHDI p1 p4 [ 347.567311][T12836] loop4: p1 start 2963549217 is beyond EOD, truncated 16:01:30 executing program 3: syz_read_part_table(0x0, 0x1bf, &(0x7f0000000080)=[{&(0x7f0000000000)="020185ffffff01000000ff0700000000000063000800000000000000004000ffffffa500000000000000887700720030b5829237c300000000000080000055aa", 0x40, 0x1c0}]) [ 347.630699][T12825] BTRFS info (device loop5): disk space caching is enabled [ 347.706870][T12825] BTRFS info (device loop5): has skinny extents 16:01:30 executing program 4: bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x3, 0x6, &(0x7f0000000000)=@framed={{0xffffffb4, 0x6, 0x0, 0x0, 0x0, 0x71, 0x11, 0x8b}, [@func={0x85, 0x0, 0x1, 0x0, 0x2}, @call, @exit={0x95, 0x0, 0xc2}], {0x95, 0x0, 0x1200}}, &(0x7f0000000080)='GPL\x00', 0x7, 0xc3, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [0x0, 0x0, 0xff, 0x0, 0x0, 0x7, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x70) 16:01:30 executing program 0: r0 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000100)='ethtool\x00', 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_STRSET_GET(0xffffffffffffffff, &(0x7f00000001c0)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x1}, 0xc, &(0x7f0000000180)={&(0x7f0000000140)={0x14, r0, 0x1, 0x70bd28, 0x25dfdbff}, 0x14}, 0x1, 0x0, 0x0, 0x40}, 0x4844) perf_event_open(&(0x7f0000000080)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c0, 0x85097, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x2}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) perf_event_open(0x0, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) clone(0x2102001ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) bpf$BPF_BTF_GET_FD_BY_ID(0x13, &(0x7f0000000200)=0xffffffffffffffff, 0x4) bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x3, 0x6, &(0x7f0000000000)=@framed={{0xffffffb4, 0x6, 0x0, 0x0, 0x0, 0x71, 0x11, 0xa4}, [@func={0x85, 0x0, 0x1, 0x0, 0x2}, @call={0x85, 0x0, 0x0, 0x7}, @exit={0x95, 0x0, 0xc2}], {0x95, 0x0, 0x1200}}, &(0x7f0000000080)='GPL\x00', 0x5, 0xc3, &(0x7f000000cf3d)=""/195, 0x0, 0xc, [0x0, 0x0, 0xff, 0x0, 0x0, 0x7, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x70) 16:01:30 executing program 2: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800007, 0x12, r0, 0x0) prctl$PR_SET_PTRACER(0x59616d61, 0xffffffffffffffff) clone(0x100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r1 = gettid() wait4(0x0, 0x0, 0x80000002, 0x0) vmsplice(0xffffffffffffffff, &(0x7f00000000c0)=[{0x0}, {0x0}, {0x0}, {&(0x7f0000000480)="66530700ae897094e71b0fa1f147a8378f364602812c66538d750f6ee1d001f43f0500bb9fb045f2d1eaa302ab6c2fef2308003ea1315b9532f3af2f5e153eb78020fa00eb298802d8f6c1f3b18d6d352507f7018b31a53bad1ec3533c791a753a1fef2c560001000000000000fb8005128e7e4d939955f8ac396203784000400f573fbf000000000000000761f35e959f130dec95128ce7ec033dc0a380543bfc99320be1c1bb99bb063fb66f2d696569eada31b09fd215f0332701d9d14a3f9209d666578cc0266bce7860eaaf305a0ee2af0f82dfefd5e00d421b000000000000000000000000000000730428fde6136b", 0xf2}], 0x4, 0x0) ptrace$setopts(0x4206, r1, 0x0, 0x5) tkill(r1, 0x1e) ptrace$cont(0x18, r1, 0x0, 0x0) sendmsg$inet(0xffffffffffffffff, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)=[{&(0x7f0000000080)="4dc3", 0x2}], 0x1}, 0x0) ptrace$setregs(0xd, r1, 0x0, &(0x7f0000000080)) exit_group(0x0) [ 347.818673][T12880] loop3: detected capacity change from 0 to 1 [ 347.884459][T12880] loop3: p1 < > p2 p3 p4 [ 347.953964][T12825] attempt to access beyond end of device [ 347.953964][T12825] loop5: rw=4096, want=2064, limit=267 [ 347.973089][T12880] loop3: partition table partially beyond EOD, truncated [ 348.008277][T12880] loop3: p1 start 1 is beyond EOD, truncated [ 348.021623][T12880] loop3: p2 size 1073741824 extends beyond EOD, truncated [ 348.037236][T12880] loop3: p3 size 1912633224 extends beyond EOD, truncated [ 348.056467][T12880] loop3: p4 size 32768 extends beyond EOD, truncated 16:01:30 executing program 1: r0 = openat$vmci(0xffffffffffffff9c, &(0x7f0000000600)='/dev/vmci\x00', 0x2, 0x0) ioctl$IOCTL_VMCI_VERSION2(r0, 0x7a7, &(0x7f0000000140)=0xa0000) ioctl$IOCTL_VMCI_INIT_CONTEXT(r0, 0x7a0, &(0x7f0000000000)={@local}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r0, 0x7a8, &(0x7f0000000180)={{@local, 0x3f}, @host, 0x0, 0x0, 0x2}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r0, 0x7a8, &(0x7f00000000c0)={{@local}, @hyper, 0x0, 0x0, 0x4}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r0, 0x7a8, &(0x7f0000000040)={{@local, 0x122}, @any, 0x0, 0x0, 0x1ff}) r1 = socket$nl_route(0x10, 0x3, 0x0) dup3(r1, r0, 0x0) [ 348.102447][T12825] BTRFS error (device loop5): failed to read chunk root 16:01:31 executing program 5: r0 = openat$vmci(0xffffffffffffff9c, &(0x7f0000000600)='/dev/vmci\x00', 0x2, 0x0) ioctl$IOCTL_VMCI_VERSION2(r0, 0x7a7, &(0x7f0000000140)=0xa0000) ioctl$IOCTL_VMCI_INIT_CONTEXT(r0, 0x7a0, &(0x7f0000000000)={@local}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r0, 0x7a8, &(0x7f0000000180)={{@local, 0x3f}, @host, 0x0, 0x0, 0x2}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r0, 0x7a8, &(0x7f00000000c0)={{@local}, @hyper, 0x0, 0x0, 0x4}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r0, 0x7a8, &(0x7f0000000040)={{@local, 0x122}, @any, 0x0, 0x0, 0x1ff}) r1 = socket$nl_route(0x10, 0x3, 0x0) dup3(r1, r0, 0x0) 16:01:31 executing program 4: r0 = socket(0x2000000000000021, 0x2, 0x10000000000002) connect$rxrpc(r0, &(0x7f0000000140)=@in6={0x21, 0x0, 0x2, 0x1c, {0xa, 0x0, 0x0, @local}}, 0x24) sendmmsg(r0, &(0x7f0000000280)=[{{0x0, 0x0, 0x0, 0x0, &(0x7f0000000000)=[{0x18, 0x110, 0x1, "ec"}], 0x18}}, {{&(0x7f0000000040)=@rxrpc=@in6={0x21, 0x0, 0x2, 0x1c, {0xa, 0x0, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}}}, 0x24, 0x0}}], 0x2, 0x0) 16:01:31 executing program 0: r0 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000100)='ethtool\x00', 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_STRSET_GET(0xffffffffffffffff, &(0x7f00000001c0)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x1}, 0xc, &(0x7f0000000180)={&(0x7f0000000140)={0x14, r0, 0x1, 0x70bd28, 0x25dfdbff}, 0x14}, 0x1, 0x0, 0x0, 0x40}, 0x4844) perf_event_open(&(0x7f0000000080)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c0, 0x85097, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x2}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) perf_event_open(0x0, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) clone(0x2102001ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) bpf$BPF_BTF_GET_FD_BY_ID(0x13, &(0x7f0000000200)=0xffffffffffffffff, 0x4) bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x3, 0x6, &(0x7f0000000000)=@framed={{0xffffffb4, 0x6, 0x0, 0x0, 0x0, 0x71, 0x11, 0xa4}, [@func={0x85, 0x0, 0x1, 0x0, 0x2}, @call={0x85, 0x0, 0x0, 0x7}, @exit={0x95, 0x0, 0xc2}], {0x95, 0x0, 0x1200}}, &(0x7f0000000080)='GPL\x00', 0x5, 0xc3, &(0x7f000000cf3d)=""/195, 0x0, 0xc, [0x0, 0x0, 0xff, 0x0, 0x0, 0x7, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x70) 16:01:31 executing program 2: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800007, 0x12, r0, 0x0) prctl$PR_SET_PTRACER(0x59616d61, 0xffffffffffffffff) clone(0x100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r1 = gettid() wait4(0x0, 0x0, 0x80000002, 0x0) vmsplice(0xffffffffffffffff, &(0x7f00000000c0)=[{0x0}, {0x0}, {0x0}, {&(0x7f0000000480)="66530700ae897094e71b0fa1f147a8378f364602812c66538d750f6ee1d001f43f0500bb9fb045f2d1eaa302ab6c2fef2308003ea1315b9532f3af2f5e153eb78020fa00eb298802d8f6c1f3b18d6d352507f7018b31a53bad1ec3533c791a753a1fef2c560001000000000000fb8005128e7e4d939955f8ac396203784000400f573fbf000000000000000761f35e959f130dec95128ce7ec033dc0a380543bfc99320be1c1bb99bb063fb66f2d696569eada31b09fd215f0332701d9d14a3f9209d666578cc0266bce7860eaaf305a0ee2af0f82dfefd5e00d421b000000000000000000000000000000730428fde6136b", 0xf2}], 0x4, 0x0) ptrace$setopts(0x4206, r1, 0x0, 0x5) tkill(r1, 0x1e) ptrace$cont(0x18, r1, 0x0, 0x0) sendmsg$inet(0xffffffffffffffff, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)=[{&(0x7f0000000080)="4dc3", 0x2}], 0x1}, 0x0) ptrace$setregs(0xd, r1, 0x0, &(0x7f0000000080)) exit_group(0x0) 16:01:31 executing program 3: syz_read_part_table(0x0, 0x1bf, &(0x7f0000000080)=[{&(0x7f0000000000)="020185ffffff01000000ff0700000000000063000800000000000000004000ffffffa500000000000000887700720030b5829237c300000000000080000055aa", 0x40, 0x1c0}]) 16:01:31 executing program 1: r0 = openat$vmci(0xffffffffffffff9c, &(0x7f0000000600)='/dev/vmci\x00', 0x2, 0x0) ioctl$IOCTL_VMCI_VERSION2(r0, 0x7a7, &(0x7f0000000140)=0xa0000) ioctl$IOCTL_VMCI_INIT_CONTEXT(r0, 0x7a0, &(0x7f0000000000)={@local}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r0, 0x7a8, &(0x7f0000000180)={{@local, 0x3f}, @host, 0x0, 0x0, 0x2}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r0, 0x7a8, &(0x7f00000000c0)={{@local}, @hyper, 0x0, 0x0, 0x4}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r0, 0x7a8, &(0x7f0000000040)={{@local, 0x122}, @any, 0x0, 0x0, 0x1ff}) r1 = socket$nl_route(0x10, 0x3, 0x0) dup3(r1, r0, 0x0) [ 348.425403][T12825] BTRFS error (device loop5): open_ctree failed 16:01:31 executing program 4: r0 = openat$vmci(0xffffffffffffff9c, &(0x7f0000000600)='/dev/vmci\x00', 0x2, 0x0) ioctl$IOCTL_VMCI_VERSION2(r0, 0x7a7, &(0x7f0000000140)=0xa0000) ioctl$IOCTL_VMCI_INIT_CONTEXT(r0, 0x7a0, &(0x7f0000000000)={@local}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r0, 0x7a8, &(0x7f0000000180)={{@local, 0x3f}, @host, 0x0, 0x0, 0x2}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r0, 0x7a8, &(0x7f00000000c0)={{@local}, @hyper, 0x0, 0x0, 0x4}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r0, 0x7a8, &(0x7f0000000040)={{@local, 0x122}, @any, 0x0, 0x0, 0x1ff}) r1 = socket$nl_route(0x10, 0x3, 0x0) dup3(r1, r0, 0x0) 16:01:31 executing program 1: r0 = openat$vmci(0xffffffffffffff9c, &(0x7f0000000600)='/dev/vmci\x00', 0x2, 0x0) ioctl$IOCTL_VMCI_VERSION2(r0, 0x7a7, &(0x7f0000000140)=0xa0000) ioctl$IOCTL_VMCI_INIT_CONTEXT(r0, 0x7a0, &(0x7f0000000000)={@local}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r0, 0x7a8, &(0x7f0000000180)={{@local, 0x3f}, @host, 0x0, 0x0, 0x2}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r0, 0x7a8, &(0x7f00000000c0)={{@local}, @hyper, 0x0, 0x0, 0x4}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r0, 0x7a8, &(0x7f0000000040)={{@local, 0x122}, @any, 0x0, 0x0, 0x1ff}) r1 = socket$nl_route(0x10, 0x3, 0x0) dup3(r1, r0, 0x0) [ 348.652427][T12935] loop3: detected capacity change from 0 to 1 16:01:31 executing program 5: r0 = openat$vmci(0xffffffffffffff9c, &(0x7f0000000600)='/dev/vmci\x00', 0x2, 0x0) ioctl$IOCTL_VMCI_VERSION2(r0, 0x7a7, &(0x7f0000000140)=0xa0000) ioctl$IOCTL_VMCI_INIT_CONTEXT(r0, 0x7a0, &(0x7f0000000000)={@local}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r0, 0x7a8, &(0x7f0000000180)={{@local, 0x3f}, @host, 0x0, 0x0, 0x2}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r0, 0x7a8, &(0x7f00000000c0)={{@local}, @hyper, 0x0, 0x0, 0x4}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r0, 0x7a8, &(0x7f0000000040)={{@local, 0x122}, @any, 0x0, 0x0, 0x1ff}) r1 = socket$nl_route(0x10, 0x3, 0x0) dup3(r1, r0, 0x0) 16:01:31 executing program 2: r0 = socket$key(0xf, 0x3, 0x2) sendmsg$key(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)={0x2, 0xb, 0x0, 0x6, 0x2}, 0x10}}, 0x0) 16:01:31 executing program 2: r0 = semget$private(0x0, 0x8, 0x0) semtimedop(r0, &(0x7f0000000080)=[{0x0, 0xffff}, {0x0, 0x0, 0x1800}], 0x2, 0x0) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r1, 0x0) preadv(r1, &(0x7f0000000280), 0x18, 0xd9f, 0x0) semctl$SETALL(r0, 0x0, 0x11, &(0x7f0000000040)) [ 348.875920][T12950] [ 348.881686][T12950] ============================================ [ 348.894298][T12950] WARNING: possible recursive locking detected [ 348.911990][T12950] 5.12.0-rc7-syzkaller #0 Not tainted [ 348.920120][T12950] -------------------------------------------- [ 348.929598][T12950] syz-executor.1/12950 is trying to acquire lock: [ 348.940048][T12950] ffffffff8ce6c1f8 (qp_broker_list.mutex){+.+.}-{3:3}, at: vmci_qp_broker_detach+0xd3/0x10c0 [ 348.959082][T12950] [ 348.959082][T12950] but task is already holding lock: [ 348.969643][T12950] ffffffff8ce6c1f8 (qp_broker_list.mutex){+.+.}-{3:3}, at: vmci_qp_broker_detach+0xd3/0x10c0 [ 348.985203][T12950] [ 348.985203][T12950] other info that might help us debug this: [ 349.000359][T12950] Possible unsafe locking scenario: [ 349.000359][T12950] [ 349.020387][T12950] CPU0 [ 349.025452][T12950] ---- [ 349.030686][T12950] lock(qp_broker_list.mutex); [ 349.040414][T12950] lock(qp_broker_list.mutex); [ 349.052070][T12950] [ 349.052070][T12950] *** DEADLOCK *** [ 349.052070][T12950] [ 349.067618][T12950] May be due to missing lock nesting notation [ 349.067618][T12950] [ 349.082024][T12950] 1 lock held by syz-executor.1/12950: [ 349.090574][T12950] #0: ffffffff8ce6c1f8 (qp_broker_list.mutex){+.+.}-{3:3}, at: vmci_qp_broker_detach+0xd3/0x10c0 [ 349.108854][T12950] [ 349.108854][T12950] stack backtrace: [ 349.121958][T12950] CPU: 1 PID: 12950 Comm: syz-executor.1 Not tainted 5.12.0-rc7-syzkaller #0 [ 349.135407][T12950] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 349.153635][T12950] Call Trace: [ 349.159051][T12950] dump_stack+0x176/0x24e [ 349.164939][T12950] __lock_acquire+0x2303/0x5e60 [ 349.172467][T12950] ? _raw_spin_unlock_irqrestore+0x3f/0xc0 [ 349.183145][T12950] ? lockdep_hardirqs_on+0x8d/0x130 [ 349.195233][T12950] lock_acquire+0x126/0x650 [ 349.207040][T12950] ? vmci_qp_broker_detach+0xd3/0x10c0 [ 349.222349][T12950] __mutex_lock_common+0x167/0x2eb0 [ 349.231786][T12950] ? vmci_qp_broker_detach+0xd3/0x10c0 [ 349.243284][T12950] ? _raw_spin_unlock_irqrestore+0x3f/0xc0 [ 349.252766][T12950] ? vmci_qp_broker_detach+0xd3/0x10c0 [ 349.260777][T12950] mutex_lock_nested+0x1a/0x20 [ 349.268263][T12950] vmci_qp_broker_detach+0xd3/0x10c0 [ 349.280227][T12950] ? slab_free_freelist_hook+0x171/0x270 [ 349.288564][T12950] ? vmci_ctx_put+0x691/0xe00 [ 349.296317][T12950] ? kfree+0xcf/0x2d0 [ 349.304357][T12950] vmci_ctx_put+0x722/0xe00 [ 349.314789][T12950] ? preempt_schedule_thunk+0x16/0x18 [ 349.329281][T12950] vmci_ctx_enqueue_datagram+0x3a7/0x440 [ 349.344443][T12950] vmci_datagram_dispatch+0x3ec/0xb40 [ 349.364571][T12950] vmci_qp_broker_detach+0x9fa/0x10c0 [ 349.375581][T12950] vmci_ctx_put+0x722/0xe00 [ 349.383756][T12950] vmci_host_close+0x96/0x160 [ 349.390416][T12950] ? vmci_host_open+0xe0/0xe0 [ 349.397625][T12950] __fput+0x352/0x7b0 [ 349.403786][T12950] task_work_run+0x146/0x1c0 [ 349.410048][T12950] exit_to_user_mode_prepare+0x10b/0x1e0 [ 349.416837][T12950] ? trace_irq_disable_rcuidle+0x11/0x170 [ 349.432403][T12950] syscall_exit_to_user_mode+0x26/0x70 [ 349.445735][T12950] entry_SYSCALL_64_after_hwframe+0x44/0xae [ 349.460576][T12950] RIP: 0033:0x466459 [ 349.466611][T12950] Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 bc ff ff ff f7 d8 64 89 01 48 [ 349.513310][T12950] RSP: 002b:00007f16645b2188 EFLAGS: 00000246 ORIG_RAX: 0000000000000124 [ 349.531838][T12950] RAX: 0000000000000003 RBX: 000000000056bf60 RCX: 0000000000466459 [ 349.547870][T12950] RDX: 0000000000000000 RSI: 0000000000000003 RDI: 0000000000000004 16:01:32 executing program 2: r0 = semget$private(0x0, 0x8, 0x0) semtimedop(r0, &(0x7f0000000080)=[{0x0, 0xffff}, {0x0, 0x0, 0x1800}], 0x2, 0x0) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r1, 0x0) preadv(r1, &(0x7f0000000280), 0x18, 0xd9f, 0x0) semctl$SETALL(r0, 0x0, 0x11, &(0x7f0000000040)) 16:01:32 executing program 0: r0 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000100)='ethtool\x00', 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_STRSET_GET(0xffffffffffffffff, &(0x7f00000001c0)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x1}, 0xc, &(0x7f0000000180)={&(0x7f0000000140)={0x14, r0, 0x1, 0x70bd28, 0x25dfdbff}, 0x14}, 0x1, 0x0, 0x0, 0x40}, 0x4844) perf_event_open(&(0x7f0000000080)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c0, 0x85097, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x2}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) perf_event_open(0x0, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) clone(0x2102001ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) bpf$BPF_BTF_GET_FD_BY_ID(0x13, &(0x7f0000000200)=0xffffffffffffffff, 0x4) bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x3, 0x6, &(0x7f0000000000)=@framed={{0xffffffb4, 0x6, 0x0, 0x0, 0x0, 0x71, 0x11, 0xa4}, [@func={0x85, 0x0, 0x1, 0x0, 0x2}, @call={0x85, 0x0, 0x0, 0x7}, @exit={0x95, 0x0, 0xc2}], {0x95, 0x0, 0x1200}}, &(0x7f0000000080)='GPL\x00', 0x5, 0xc3, &(0x7f000000cf3d)=""/195, 0x0, 0xc, [0x0, 0x0, 0xff, 0x0, 0x0, 0x7, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x70) 16:01:32 executing program 4: r0 = openat$vmci(0xffffffffffffff9c, &(0x7f0000000600)='/dev/vmci\x00', 0x2, 0x0) ioctl$IOCTL_VMCI_VERSION2(r0, 0x7a7, &(0x7f0000000140)=0xa0000) ioctl$IOCTL_VMCI_INIT_CONTEXT(r0, 0x7a0, &(0x7f0000000000)={@local}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r0, 0x7a8, &(0x7f0000000180)={{@local, 0x3f}, @host, 0x0, 0x0, 0x2}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r0, 0x7a8, &(0x7f00000000c0)={{@local}, @hyper, 0x0, 0x0, 0x4}) ioctl$IOCTL_VMCI_QUEUEPAIR_ALLOC(r0, 0x7a8, &(0x7f0000000040)={{@local, 0x122}, @any, 0x0, 0x0, 0x1ff}) r1 = socket$nl_route(0x10, 0x3, 0x0) dup3(r1, r0, 0x0) [ 349.568912][T12950] RBP: 00000000004bf9fb R08: 0000000000000000 R09: 0000000000000000 [ 349.582996][T12950] R10: 0000000000000000 R11: 0000000000000246 R12: 000000000056bf60 [ 349.598569][T12950] R13: 00007ffff105922f R14: 00007f16645b2300 R15: 0000000000022000 [ 349.639488][T12935] loop3: p1 < > p2 p3 p4 [ 349.649437][T12935] loop3: partition table partially beyond EOD, truncated [ 349.677076][T12935] loop3: p1 start 1 is beyond EOD, truncated 16:01:32 executing program 3: syz_read_part_table(0x0, 0x1bf, &(0x7f0000000080)=[{&(0x7f0000000000)="020185ffffff01000000ff0700000000000063000800000000000000004000ffffffa500000000000000887700720030b5829237c300000000000080000055aa", 0x40, 0x1c0}]) [ 349.691596][T12935] loop3: p2 size 1073741824 extends beyond EOD, truncated [ 349.707136][T12935] loop3: p3 size 1912633224 extends beyond EOD, truncated [ 349.724131][T12935] loop3: p4 size 32768 extends beyond EOD, truncated 16:01:32 executing program 0: r0 = semget$private(0x0, 0x8, 0x0) semtimedop(r0, &(0x7f0000000080)=[{0x0, 0xffff}, {0x0, 0x0, 0x1800}], 0x2, 0x0) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r1, 0x0) preadv(r1, &(0x7f0000000280), 0x18, 0xd9f, 0x0) semctl$SETALL(r0, 0x0, 0x11, &(0x7f0000000040)) 16:01:32 executing program 2: r0 = semget$private(0x0, 0x8, 0x0) semtimedop(r0, &(0x7f0000000080)=[{0x0, 0xffff}, {0x0, 0x0, 0x1800}], 0x2, 0x0) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r1, 0x0) preadv(r1, &(0x7f0000000280), 0x18, 0xd9f, 0x0) semctl$SETALL(r0, 0x0, 0x11, &(0x7f0000000040)) [ 349.757305][ T4824] loop3: p1 < > p2 p3 p4 [ 349.776634][ T4824] loop3: partition table partially beyond EOD, truncated [ 349.795130][ T4824] loop3: p1 start 1 is beyond EOD, truncated [ 349.815788][ T4824] loop3: p2 size 1073741824 extends beyond EOD, truncated [ 349.833721][ T4824] loop3: p3 size 1912633224 extends beyond EOD, truncated 16:01:32 executing program 0: r0 = semget$private(0x0, 0x8, 0x0) semtimedop(r0, &(0x7f0000000080)=[{0x0, 0xffff}, {0x0, 0x0, 0x1800}], 0x2, 0x0) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r1, 0x0) preadv(r1, &(0x7f0000000280), 0x18, 0xd9f, 0x0) semctl$SETALL(r0, 0x0, 0x11, &(0x7f0000000040)) 16:01:32 executing program 2: r0 = semget$private(0x0, 0x8, 0x0) semtimedop(r0, &(0x7f0000000080)=[{0x0, 0xffff}, {0x0, 0x0, 0x1800}], 0x2, 0x0) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x1800003, 0x12, r1, 0x0) preadv(r1, &(0x7f0000000280), 0x18, 0xd9f, 0x0) semctl$SETALL(r0, 0x0, 0x11, &(0x7f0000000040)) [ 349.862396][ T4824] loop3: p4 size 32768 extends beyond EOD, truncated [ 349.949946][T12992] loop3: detected capacity change from 0 to 1 [ 350.039854][T12992] loop3: p1 < > p2 p3 p4 [ 350.059896][T12992] loop3: partition table partially beyond EOD, truncated [ 350.085411][T12992] loop3: p1 start 1 is beyond EOD, truncated [ 350.096591][T12992] loop3: p2 size 1073741824 extends beyond EOD, truncated [ 350.109429][T12992] loop3: p3 size 1912633224 extends beyond EOD, truncated [ 350.128601][T12992] loop3: p4 size 32768 extends beyond EOD, truncated [ 355.119836][ T7] Bluetooth: hci5: command 0x0406 tx timeout [ 355.120581][ T20] Bluetooth: hci3: command 0x0406 tx timeout [ 355.126105][ T7] Bluetooth: hci1: command 0x0406 tx timeout [ 355.138933][ T20] Bluetooth: hci2: command 0x0406 tx timeout [ 355.140365][ T7] Bluetooth: hci4: command 0x0406 tx timeout