be1bbe1cbe1dbe1ebe1fbe20be21be22be23be24be25be26be27be28be29be2abe2bbe2cbe2dbe2ebe2fbe30be31be32be33be34be35be36be37be38be39be3abe3bbe3cbe3dbe3ebe3fbe40be41be42be43be44be45be46be47be48be49be4abe4bbe4cbe4dbe4ebe4fbe50be51be52be53be54be55be56be57be58be59be5abe5bbe5cbe5dbe5ebe5fbe60be61be62be63be64be65be66be67be68be69be6abe6bbe6cbe6dbe6ebe6fbe70be71be72be73be74be75be76be77be78be79be7abe7bbe7cbe7dbe7ebe7fbe80be81be82be83be84be85be86be87be88be89be8abe8bbe8cbe8dbe8ebe8fbe90be91be92be93be94be95be96be97be98be99be9abe9bbe9cbe9dbe9ebe9fbea0bea1bea2bea3bea4bea5bea6bea7bea8bea9beaabeabbeacbeadbeaebeafbeb0beb1beb2beb3beb4beb5beb6beb7beb8beb9bebabebbbebcbebdbebebebfbec0bec1bec2bec3bec4bec5bec6bec7bec8bec9becabecbbeccbecdbecebecfbed0bed1bed2bed3bed4bed5bed6bed7bed8bed9bedabedbbedcbeddbedebedfbee0bee1bee2bee3bee4bee5bee6bee7bee8bee9beeabeebbeecbeedbeeebeefbef0bef1bef2bef3bef4bef5bef6bef7bef8bef9befabefbbefcbefdbefebeffbe00bf01bf02bf03bf04bf05bf06bf07bf08bf09bf0abf0bbf0cbf0dbf0ebf0fbf10bf11bf12bf13bf14bf15bf16bf17bf18bf19bf1abf1bbf1cbf1dbf1ebf1fbf20bf21bf22bf23bf24bf25bf26bf27bf28bf29bf2abf2bbf2cbf2dbf2ebf2fbf30bf31bf32bf33bf34bf35bf36bf37bf38bf39bf3abf3bbf3cbf3dbf3ebf3fbf40bf41bf42bf43bf44bf45bf46bf47bf48bf49bf4abf4bbf4cbf4dbf4ebf4fbf50bf51bf52bf53bf54bf55bf56bf57bf58bf59bf5abf5bbf5cbf5dbf5ebf5fbf60bf61bf62bf63bf64bf65bf66bf67bf68bf69bf6abf6bbf6cbf6dbf6ebf6fbf70bf71bf72bf73bf74bf75bf76bf77bf78bf79bf7abf7bbf7cbf7dbf7ebf7fbf80bf81bf82bf83bf84bf85bf86bf87bf88bf89bf8abf8bbf8cbf8dbf8ebf8fbf90bf91bf92bf93bf94bf95bf96bf97bf98bf99bf9abf9bbf9cbf9dbf9ebf9fbfa0bfa1bfa2bfa3bfa4bfa5bfa6bfa7bfa8bfa9bfaabfabbfacbfadbfaebfafbfb0bfb1bfb2bfb3bfb4bfb5bfb6bfb7bfb8bfb9bfbabfbbbfbcbfbdbfbebfbfbfc0bfc1bfc2bfc3bfc4bfc5bfc6bfc7bfc8bfc9bfcabfcbbfccbfcdbfcebfcfbfd0bfd1bfd2bfd3bfd4bfd5bfd6bfd7bfd8bfd9bfdabfdbbfdcbfddbfdebfdfbfe0bfe1bfe2bfe3bfe4bfe5bfe6bfe7bfe8bfe9bfeabfebbfecbfedbfeebfefbff0bff1bff2bff3bff4bff5bff6bff7bff8bff9bffabffbbffcbffdbffebfffbf00c001c002c003c004c005c006c007c008c009c00ac00bc00cc00dc00ec00fc010c011c012c013c014c015c016c017c018c019c01ac01bc01cc01dc01ec01fc020c021c022c023c024c025c026c027c028c029c02ac02bc02cc02dc02ec02fc030c031c032c033c034c035c036c037c038c039c03ac03bc03cc03dc03ec03fc040c041c042c043c044c045c046c047c048c049c04ac04bc04cc04dc04ec04fc050c051c052c053c054c055c056c057c058c059c05ac05bc05cc05dc05ec05fc060c061c062c063c064c065c066c067c068c069c06ac06bc06cc06dc06ec06fc070c071c072c073c074c075c076c077c078c079c07ac07bc07cc07dc07ec07fc080c081c082c083c084c085c086c087c088c089c08ac08bc08cc08dc08ec08fc090c091c092c093c094c095c096c097c098c099c09ac09bc09cc09dc09ec09fc0a0c0a1c0a2c0a3c0a4c0a5c0a6c0a7c0a8c0a9c0aac0abc0acc0adc0aec0afc0b0c0b1c0b2c0b3c0b4c0b5c0b6c0b7c0b8c0b9c0bac0bbc0bcc0bdc0bec0bfc0c0c0c1c0c2c0c3c0c4c0c5c0c6c0c7c0c8c0c9c0cac0cbc0ccc0cdc0cec0cfc0d0c0d1c0d2c0d3c0d4c0d5c0d6c0d7c0d8c0d9c0dac0dbc0dcc0ddc0dec0dfc0e0c0e1c0e2c0e3c0e4c0e5c0e6c0e7c0e8c0e9c0eac0ebc0ecc0edc0eec0efc0f0c0f1c0f2c0f3c0f4c0f5c0f6c0f7c0f8c0f9c0fac0fbc0fcc0fdc0fec0ffc000c101c102c103c104c105c106c107c108c109c10ac10bc10cc10dc10ec10fc110c111c112c113c114c115c116c117c118c119c11ac11bc11cc11dc11ec11fc120c121c122c123c124c125c126c127c128c129c12ac12bc12cc12dc12ec12fc130c131c132c133c134c135c136c137c138c139c13ac13bc13cc13dc13ec13fc140c141c142c143c144c145c146c147c148c149c14ac14bc14cc14dc14ec14fc150c151c152c153c154c155c156c157c158c159c15ac15bc15cc15dc15ec15fc160c161c162c163c164c165c166c167c168c169c16ac16bc16cc16dc16ec16fc170c171c172c173c174c175c176c177c178c179c17ac17bc17cc17dc17ec17fc180c181c182c183c184c185c186c187c188c189c18ac18bc18cc18dc18ec18fc190c191c192c193c194c195c196c197c198c199c19ac19bc19cc19dc19ec19fc1a0c1a1c1a2c1a3c1a4c1a5c1a6c1a7c1a8c1a9c1aac1abc1acc1adc1aec1afc1b0c1b1c1b2c1b3c1b4c1b5c1b6c1b7c1b8c1b9c1bac1bbc1bcc1bdc1bec1bfc1c0c1c1c1c2c1c3c1c4c1c5c1c6c1c7c1c8c1c9c1cac1cbc1ccc1cdc1cec1cfc1d0c1d1c1d2c1d3c1d4c1d5c1d6c1d7c1d8c1d9c1dac1dbc1dcc1ddc1dec1dfc1e0c1e1c1e2c1e3c1e4c1e5c1e6c1e7c1e8c1e9c1eac1ebc1ecc1edc1eec1efc1f0c1f1c1f2c1f3c1f4c1f5c1f6c1f7c1f8c1f9c1fac1fbc1fcc1fdc1fec1ffc100c201c202c203c204c205c206c207c208c209c20ac20bc20cc20dc20ec20fc210c211c212c213c214c215c216c217c218c219c21ac21bc21cc21dc21ec21fc220c221c222c223c224c225c226c227c228c229c22ac22bc22cc22dc22ec22fc230c231c232c233c234c235c236c237c238c239c23ac23bc23cc23dc23ec23fc240c241c242c243c244c245c246c247c248c249c24ac24bc24cc24dc24ec24fc250c251c252c253c254c255c256c257c258c259c25ac25bc25cc25dc25ec25fc260c261c262c263c264c265c266c267c268c269c26ac26bc26cc26dc26ec26fc270c271c272c273c274c275c276c277c278c279c27ac27bc27cc27dc27ec27fc280c281c282c283c284c285c286c287c288c289c28ac28bc28cc28dc28ec28fc290c291c292c293c294c295c296c297c298c299c29ac29bc29cc29dc29ec29fc2a0c2a1c2a2c2a3c2a4c2a5c2a6c2a7c2a8c2a9c2aac2abc2acc2adc2aec2afc2b0c2b1c2b2c2b3c2b4c2b5c2b6c2b7c2b8c2b9c2bac2bbc2bcc2bdc2bec2bfc2c0c2c1c2c2c2c3c2c4c2c5c2c6c2c7c2c8c2c9c2cac2cbc2ccc2cdc2cec2cfc2d0c2d1c2d2c2d3c2d4c2d5c2d6c2d7c2d8c2d9c2dac2dbc2dcc2ddc2dec2dfc2e0c2e1c2e2c2e3c2e4c2e5c2e6c2e7c2e8c2e9c2eac2ebc2ecc2edc2eec2efc2f0c2f1c2f2c2f3c2f4c2f5c2f6c2f7c2f8c2f9c2fac2fbc2fcc2fdc2fec2ffc200c301c302c303c304c305c306c307c308c309c30ac30bc30cc30dc30ec30fc310c311c312c313c314c315c316c317c318c319c31ac31bc31cc31dc31ec31fc320c321c322c323c324c325c326c327c328c329c32ac32bc32cc32dc32ec32fc330c331c332c333c334c335c336c337c338c339c33ac33bc33cc33dc33ec33fc340c341c342c343c344c345c346c347c348c349c34ac34bc34cc34dc34ec34fc350c351c352c353c354c355c356c357c358c359c35ac35bc35cc35dc35ec35fc360c361c362c363c364c365c366c367c368c369c36ac36bc36cc36dc36ec36fc370c371c372c373c374c375c376c377c378c379c37ac37bc37cc37dc37ec37fc380c381c382c383c384c385c386c387c388c389c38ac38bc38cc38dc38ec38fc390c391c392c393c394c395c396c397c398c399c39ac39bc39cc39dc39ec39fc3a0c3a1c3a2c3a3c3a4c3a5c3a6c3a7c3a8c3a9c3aac3abc3acc3adc3aec3afc3b0c3b1c3b2c3b3c3b4c3b5c3b6c3b7c3b8c3b9c3bac3bbc3bcc3bdc3bec3bfc3c0c3c1c3c2c3c3c3c4c3c5c3c6c3c7c3c8c3c9c3cac3cbc3ccc3cdc3cec3cfc3d0c3d1c3d2c3d3c3d4c3d5c3d6c3d7c3d8c3d9c3dac3dbc3dcc3ddc3dec3dfc3e0c3e1c3e2c3e3c3e4c3e5c3e6c3e7c3e8c3e9c3eac3ebc3ecc3edc3eec3efc3f0c3f1c3f2c3f3c3f4c3f5c3f6c3f7c3f8c3f9c3fac3fbc3fcc3fdc3fec3ffc300c401c402c403c404c405c406c407c408c409c40ac40bc40cc40dc40ec40fc410c411c412c413c414c415c416c417c418c419c41ac41bc41cc41dc41ec41fc420c421c422c423c424c425c426c427c428c429c42ac42bc42cc42dc42ec42fc430c431c432c433c434c435c436c437c438c439c43ac43bc43cc43dc43ec43fc440c441c442c443c444c445c446c447c448c449c44ac44bc44cc44dc44ec44fc450c451c452c453c454c455c456c457c458c459c45ac45bc45cc45dc45ec45fc460c461c462c463c464c465c466c467c468c469c46ac46bc46cc46dc46ec46fc470c471c472c473c474c475c476c477c478c479c47ac47bc47cc47dc47ec47fc480c481c482c483c484c485c486c487c488c489c48ac48bc48cc48dc48ec48fc490c491c492c493c494c495c496c497c498c499c49ac49bc49cc49dc49ec49fc4a0c4a1c4a2c4a3c4a4c4a5c4a6c4a7c4a8c4a9c4aac4abc4acc4adc4aec4afc4b0c4b1c4b2c4b3c4b4c4b5c4b6c4b7c4b8c4b9c4bac4bbc4bcc4bdc4bec4bfc4c0c4c1c4c2c4c3c4c4c4c5c4c6c4c7c4c8c4c9c4cac4cbc4ccc4cdc4cec4cfc4d0c4d1c4d2c4d3c4d4c4d5c4d6c4d7c4d8c4d9c4dac4dbc4dcc4ddc4dec4dfc4e0c4e1c4e2c4e3c4e4c4e5c4e6c4e7c4e8c4e9c4eac4ebc4ecc4edc4eec4efc4f0c4f1c4f2c4f3c4f4c4f5c4f6c4f7c4f8c4f9c4fac4fbc4fcc4fdc4fec4ffc400c501c502c503c504c505c506c507c508c509c50ac50bc50cc50dc50ec50fc510c511c512c513c514c515c516c517c518c519c51ac51bc51cc51dc51ec51fc520c521c522c523c524c525c526c527c528c529c52ac52bc52cc52dc52ec52fc530c531c532c533c534c535c536c537c538c539c53ac53bc53cc53dc53ec53fc540c541c542c543c544c545c546c547c548c549c54ac54bc54cc54dc54ec54fc550c551c552c553c554c555c556c557c558c559c55ac55bc55cc55dc55ec55fc560c561c562c563c564c565c566c567c568c569c56ac56bc56cc56dc56ec56fc570c571c572c573c574c575c576c577c578c579c57ac57bc57cc57dc57ec57fc580c581c582c583c584c585c586c587c588c589c58ac58bc58cc58dc58ec58fc590c591c592c593c594c595c596c597c598c599c59ac59bc59cc59dc59ec59fc5a0c5a1c5a2c5a3c5a4c5a5c5a6c5a7c5a8c5a9c5aac5abc5acc5adc5aec5afc5b0c5b1c5b2c5b3c5b4c5b5c5b6c5b7c5b8c5b9c5bac5bbc5bcc5bdc5bec5bfc5c0c5c1c5c2c5c3c5c4c5c5c5c6c5c7c5c8c5c9c5cac5cbc5ccc5cdc5cec5cfc5d0c5d1c5d2c5d3c5d4c5d5c5d6c5d7c5d8c5d9c5dac5dbc5dcc5ddc5dec5dfc5e0c5e1c5e2c5e3c5e4c5e5c5e6c5e7c5e8c5e9c5eac5ebc5ecc5edc5eec5efc5f0c5f1c5f2c5f3c5f4c5f5c5f6c5f7c5f8c5f9c5fac5fbc5fcc5fdc5fec5ffc500c601c602c603c604c605c606c607c608c609c60ac60bc60cc60dc60ec60fc610c611c612c613c614c615c616c617c618c619c61ac61bc61cc61dc61ec61fc620c621c622c623c624c625c626c627c628c629c62ac62bc62cc62dc62ec62fc630c631c632c633c634c635c636c637c638c639c63ac63bc63cc63dc63ec63fc640c641c642c643c644c645c646c647c648c649c64ac64bc64cc64dc64ec64fc650c651c652c653c654c655c656c657c658c659c65ac65bc65cc65dc65ec65fc660c661c662c663c664c665c666c667c668c669c66ac66bc66cc66dc66ec66fc670c671c672c673c674c675c676c677c678c679c67ac67bc67cc67dc67ec67fc680c681c682c683c684c685c686c687c688c689c68ac68bc68cc68dc68ec68fc690c691c692c693c694c695c696c697c698c699c69ac69bc69cc69dc69ec69fc6a0c6a1c6a2c6a3c6a4c6a5c6a6c6a7c6a8c6a9c6aac6abc6acc6adc6aec6afc6b0c6b1c6b2c6b3c6b4c6b5c6b6c6b7c6b8c6b9c6bac6bbc6bcc6bdc6bec6bfc6c0c6c1c6c2c6c3c6c4c6c5c6c6c6c7c6c8c6c9c6cac6cbc6ccc6cdc6cec6cfc6d0c6d1c6d2c6d3c6d4c6d5c6d6c6d7c6d8c6d9c6dac6dbc6dcc6ddc6dec6dfc6e0c6e1c6e2c6e3c6e4c6e5c6e6c6e7c6e8c6e9c6eac6ebc6ecc6edc6eec6efc6f0c6f1c6f2c6f3c6f4c6f5c6f6c6f7c6f8c6f9c6fac6fbc6fcc6fdc6fec6ffc600c701c702c703c704c705c706c707c708c709c70ac70bc70cc70dc70ec70fc710c711c712c713c714c715c716c717c718c719c71ac71bc71cc71dc71ec71fc720c721c722c723c724c725c726c727c728c729c72ac72bc72cc72dc72ec72fc730c731c732c733c734c735c736c737c738c739c73ac73bc73cc73dc73ec73fc740c741c742c743c744c745c746c747c748c749c74ac74bc74cc74dc74ec74fc750c751c752c753c754c755c756c757c758c759c75ac75bc75cc75dc75ec75fc760c761c762c763c764c765c766c767c768c769c76ac76bc76cc76dc76ec76fc770c771c772c773c774c775c776c777c778c779c77ac77bc77cc77dc77ec77fc780c781c782c783c784c785c786c787c788c789c78ac78bc78cc78dc78ec78fc790c791c792c793c794c795c796c797c798c799c79ac79bc79cc79dc79ec79fc7a0c7a1c7a2c7a3c7a4c7a5c7a6c7a7c7a8c7a9c7aac7abc7acc7adc7aec7afc7b0c7b1c7b2c7b3c7b4c7b5c7b6c7b7c7b8c7b9c7bac7bbc7bcc7bdc7bec7bfc7c0c7c1c7c2c7c3c7c4c7c5c7c6c7c7c7c8c7c9c7cac7cbc7ccc7cdc7cec7cfc7d0c7d1c7d2c7d3c7d4c7d5c7d6c7d7c7d8c7d9c7dac7dbc7dcc7ddc7dec7dfc7e0c7e1c7e2c7e3c7e4c7e5c7e6c7e7c7e8c7e9c7eac7ebc7ecc7edc7eec7efc7f0c7f1c7f2c7f3c7f4c7f5c7f6c7f7c7f8c7f9c7fac7fbc7fcc7fdc7fec7ffc700c801c802c803c804c805c806c807c808c809c80ac80bc80cc80dc80ec80fc810c811c812c813c814c815c816c817c818c819c81ac81bc81cc81dc81ec81fc820c821c822c823c824c825c826c827c828c829c82ac82bc82cc82dc82ec82fc830c831c832c833c834c835c836c837c838c839c83ac83bc83cc83dc83ec83fc840c841c842c843c844c845c846c847c848c849c84ac84bc84cc84dc84ec84fc850c851c852c853c854c855c856c857c858c859c85ac85bc85cc85dc85ec85fc860c861c862c863c864c865c866c867c868c869c86ac86bc86cc86dc86ec86fc870c871c872c873c874c875c876c877c878c879c87ac87bc87cc87dc87ec87fc880c881c882c883c884c885c886c887c888c889c88ac88bc88cc88dc88ec88fc890c891c892c893c894c895c896c897c898c899c89ac89bc89cc89dc89ec89fc8a0c8a1c8a2c8a3c8a4c8a5c8a6c8a7c8a8c8a9c8aac8abc8acc8adc8aec8afc8b0c8b1c8b2c8b3c8b4c8b5c8b6c8b7c8b8c8b9c8bac8bbc8bcc8bdc8bec8bfc8c0c8c1c8c2c8c3c8c4c8c5c8c6c8c7c8c8c8c9c8cac8cbc8ccc8cdc8cec8cfc8d0c8d1c8d2c8d3c8d4c8d5c8d6c8d7c8d8c8d9c8dac8dbc8dcc8ddc8dec8dfc8e0c8e1c8e2c8e3c8e4c8e5c8e6c8e7c8e8c8e9c8eac8ebc8ecc8edc8eec8efc8f0c8f1c8f2c8f3c8f4c8f5c8f6c8f7c8f8c8f9c8fac8fbc8fcc8fdc8fec8ffc800c901c902c903c904c905c906c907c908c909c90ac90bc90cc90dc90ec90fc910c911c912c913c914c915c916c917c918c919c91ac91bc91cc91dc91ec91fc920c921c922c923c924c925c926c927c928c929c92ac92bc92cc92dc92ec92fc930c931c932c933c934c935c936c937c938c939c93ac93bc93cc93dc93ec93fc940c941c942c943c944c945c946c947c948c949c94ac94bc94cc94dc94ec94fc950c951c952c953c954c955c956c957c958c959c95ac95bc95cc95dc95ec95fc960c961c962c963c964c965c966c967c968c969c96ac96bc96cc96dc96ec96fc970c971c972c973c974c975c976c977c978c979c97ac97bc97cc97dc97ec97fc980c981c982c983c984c985c986c987c988c989c98ac98bc98cc98dc98ec98fc990c991c992c993c994c995c996c997c998c999c99ac99bc99cc99dc99ec99fc9a0c9a1c9a2c9a3c9a4c9a5c9a6c9a7c9a8c9a9c9aac9abc9acc9adc9aec9afc9b0c9b1c9b2c9b3c9b4c9b5c9b6c9b7c9b8c9b9c9bac9bbc9bcc9bdc9bec9bfc9c0c9c1c9c2c9c3c9c4c9c5c9c6c9c7c9c8c9c9c9cac9cbc9ccc9cdc9cec9cfc9d0c9d1c9d2c9d3c9d4c9d5c9d6c9d7c9d8c9d9c9dac9dbc9dcc9ddc9dec9dfc9e0c9e1c9e2c9e3c9e4c9e5c9e6c9e7c9e8c9e9c9eac9ebc9ecc9edc9eec9efc9f0c9f1c9f2c9f3c9f4c9f5c9f6c9f7c9f8c9f9c9fac9fbc9fcc9fdc9fec9ffc900ca01ca02ca03ca04ca05ca06ca07ca08ca09ca0aca0bca0cca0dca0eca0fca10ca11ca12ca13ca14ca15ca16ca17ca18ca19ca1aca1bca1cca1dca1eca1fca20ca21ca22ca23ca24ca25ca26ca27ca28ca29ca2aca2bca2cca2dca2eca2fca30ca31ca32ca33ca34ca35ca36ca37ca38ca39ca3aca3bca3cca3dca3eca3fca40ca41ca42ca43ca44ca45ca46ca47ca48ca49ca4aca4bca4cca4dca4eca4fca50ca51ca52ca53ca54ca55ca56ca57ca58ca59ca5aca5bca5cca5dca5eca5fca60ca61ca62ca63ca64ca65ca66ca67ca68ca69ca6aca6bca6cca6dca6eca6fca70ca71ca72ca73ca74ca75ca76ca77ca78ca79ca7aca7bca7cca7dca7eca7fca80ca81ca82ca83ca84ca85ca86ca87ca88ca89ca8aca8bca8cca8dca8eca8fca90ca91ca92ca93ca94ca95ca96ca97ca98ca99ca9aca9bca9cca9dca9eca9fcaa0caa1caa2caa3caa4caa5caa6caa7caa8caa9caaacaabcaaccaadcaaecaafcab0cab1cab2cab3cab4cab5cab6cab7cab8cab9cabacabbcabccabdcabecabfcac0cac1cac2cac3cac4cac5cac6cac7cac8cac9cacacacbcacccacdcacecacfcad0cad1cad2cad3cad4cad5cad6cad7cad8cad9cadacadbcadccaddcadecadfcae0cae1cae2cae3cae4cae5cae6cae7cae8cae9caeacaebcaeccaedcaeecaefcaf0caf1caf2caf3caf4caf5caf6caf7caf8caf9cafacafbcafccafdcafecaffca00cb01cb02cb03cb04cb05cb06cb07cb08cb09cb0acb0bcb0ccb0dcb0ecb0fcb10cb11cb12cb13cb14cb15cb16cb17cb18cb19cb1acb1bcb1ccb1dcb1ecb1fcb20cb21cb22cb23cb24cb25cb26cb27cb28cb29cb2acb2bcb2ccb2dcb2ecb2fcb30cb31cb32cb33cb34cb35cb36cb37cb38cb39cb3acb3bcb3ccb3dcb3ecb3fcb40cb41cb42cb43cb44cb45cb46cb47cb48cb49cb4acb4bcb4ccb4dcb4ecb4fcb50cb51cb52cb53cb54cb55cb56cb57cb58cb59cb5acb5bcb5ccb5dcb5ecb5fcb60cb61cb62cb63cb64cb65cb66cb67cb68cb69cb6acb6bcb6ccb6dcb6ecb6fcb70cb71cb72cb73cb74cb75cb76cb77cb78cb79cb7acb7bcb7ccb7dcb7ecb7fcb80cb81cb82cb83cb84cb85cb86cb87cb88cb89cb8acb8bcb8ccb8dcb8ecb8fcb90cb91cb92cb93cb94cb95cb96cb97cb98cb99cb9acb9bcb9ccb9dcb9ecb9fcba0cba1cba2cba3cba4cba5cba6cba7cba8cba9cbaacbabcbaccbadcbaecbafcbb0cbb1cbb2cbb3cbb4cbb5cbb6cbb7cbb8cbb9cbbacbbbcbbccbbdcbbecbbfcbc0cbc1cbc2cbc3cbc4cbc5cbc6cbc7cbc8cbc9cbcacbcbcbcccbcdcbcecbcfcbd0cbd1cbd2cbd3cbd4cbd5cbd6cbd7cbd8cbd9cbdacbdbcbdccbddcbdecbdfcbe0cbe1cbe2cbe3cbe4cbe5cbe6cbe7cbe8cbe9cbeacbebcbeccbedcbeecbefcbf0cbf1cbf2cbf3cbf4cbf5cbf6cbf7cbf8cbf9cbfacbfbcbfccbfdcbfecbffcb00cc01cc02cc03cc04cc05cc06cc07cc08cc09cc0acc0bcc0ccc0dcc0ecc0fcc10cc11cc12cc13cc14cc15cc16cc17cc18cc19cc1acc1bcc1ccc1dcc1ecc1fcc20cc21cc22cc23cc24cc25cc26cc27cc28cc29cc2acc2bcc2ccc2dcc2ecc2fcc30cc31cc32cc33cc34cc35cc36cc37cc38cc39cc3acc3bcc3ccc3dcc3ecc3fcc40cc41cc42cc43cc44cc45cc46cc47cc48cc49cc4acc4bcc4ccc4dcc4ecc4fcc50cc51cc52cc53cc54cc55cc56cc57cc58cc59cc5acc5bcc5ccc5dcc5ecc5fcc60cc61cc62cc63cc64cc65cc66cc67cc68cc69cc6acc6bcc6ccc6dcc6ecc6fcc70cc71cc72cc73cc74cc75cc76cc77cc78cc79cc7acc7bcc7ccc7dcc7ecc7fcc80cc81cc82cc83cc84cc85cc86cc87cc88cc89cc8acc8bcc8ccc8dcc8ecc8fcc90cc91cc92cc93cc94cc95cc96cc97cc98cc99cc9acc9bcc9ccc9dcc9ecc9fcca0cca1cca2cca3cca4cca5cca6cca7cca8cca9ccaaccabccacccadccaeccafccb0ccb1ccb2ccb3ccb4ccb5ccb6ccb7ccb8ccb9ccbaccbbccbcccbdccbeccbfccc0ccc1ccc2ccc3ccc4ccc5ccc6ccc7ccc8ccc9cccacccbcccccccdcccecccfccd0ccd1ccd2ccd3ccd4ccd5ccd6ccd7ccd8ccd9ccdaccdbccdcccddccdeccdfcce0cce1cce2cce3cce4cce5cce6cce7cce8cce9cceaccebccecccedcceeccefccf0ccf1ccf2ccf3ccf4ccf5ccf6ccf7ccf8ccf9ccfaccfbccfcccfdccfeccffcc00cd01cd02cd03cd04cd05cd06cd07cd08cd09cd0acd0bcd0ccd0dcd0ecd0fcd10cd11cd12cd13cd14cd15cd16cd17cd18cd19cd1acd1bcd1ccd1dcd1ecd1fcd20cd21cd22cd23cd24cd25cd26cd27cd28cd29cd2acd2bcd2ccd2dcd2ecd2fcd30cd31cd32cd33cd34cd35cd36cd37cd38cd39cd3acd3bcd3ccd3dcd3ecd3fcd40cd41cd42cd43cd44cd45cd46cd47cd48cd49cd4acd4bcd4ccd4dcd4ecd4fcd50cd51cd52cd53cd54cd55cd56cd57cd58cd59cd5acd5bcd5ccd5dcd5ecd5fcd60cd61cd62cd63cd64cd65cd66cd67cd68cd69cd6acd6bcd6ccd6dcd6ecd6fcd70cd71cd72cd73cd74cd75cd76cd77cd78cd79cd7acd7bcd7ccd7dcd7ecd7fcd80cd81cd82cd83cd84cd85cd86cd87cd88cd89cd8acd8bcd8ccd8dcd8ecd8fcd90cd91cd92cd93cd94cd95cd96cd97cd98cd99cd9acd9bcd9ccd9dcd9ecd9fcda0cda1cda2cda3cda4cda5cda6cda7cda8cda9cdaacdabcdaccdadcdaecdafcdb0cdb1cdb2cdb3cdb4cdb5cdb6cdb7cdb8cdb9cdbacdbbcdbccdbdcdbecdbfcdc0cdc1cdc2cdc3cdc4cdc5cdc6cdc7cdc8cdc9cdcacdcbcdcccdcdcdcecdcfcdd0cdd1cdd2cdd3cdd4cdd5cdd6cdd7cdd8cdd9cddacddbcddccdddcddecddfcde0cde1cde2cde3cde4cde5cde6cde7cde8cde9cdeacdebcdeccdedcdeecdefcdf0cdf1cdf2cdf3cdf4cdf5cdf6cdf7cdf8cdf9cdfacdfbcdfccdfdcdfecdffcd00ce01ce02ce03ce04ce05ce06ce07ce08ce09ce0ace0bce0cce0dce0ece0fce10ce11ce12ce13ce14ce15ce16ce17ce18ce19ce1ace1bce1cce1dce1ece1fce20ce21ce22ce23ce24ce25ce26ce27ce28ce29ce2ace2bce2cce2dce2ece2fce30ce31ce32ce33ce34ce35ce36ce37ce38ce39ce3ace3bce3cce3dce3ece3fce40ce41ce42ce43ce44ce45ce46ce47ce48ce49ce4ace4bce4cce4dce4ece4fce50ce51ce52ce53ce54ce55ce56ce57ce58ce59ce5ace5bce5cce5dce5ece5fce60ce61ce62ce63ce64ce65ce66ce67ce68ce69ce6ace6bce6cce6dce6ece6fce70ce71ce72ce73ce74ce75ce76ce77ce78ce79ce7ace7bce7cce7dce7ece7fce80ce81ce82ce83ce84ce85ce86ce87ce88ce89ce8ace8bce8cce8dce8ece8fce90ce91ce92ce93ce94ce95ce96ce97ce98ce99ce9ace9bce9cce9dce9ece9fcea0cea1cea2cea3cea4cea5cea6cea7cea8cea9ceaaceabceacceadceaeceafceb0ceb1ceb2ceb3ceb4ceb5ceb6ceb7ceb8ceb9cebacebbcebccebdcebecebfcec0cec1cec2cec3cec4cec5cec6cec7cec8cec9cecacecbcecccecdcecececfced0ced1ced2ced3ced4ced5ced6ced7ced8ced9cedacedbcedcceddcedecedfcee0cee1cee2cee3cee4cee5cee6cee7cee8cee9ceeaceebceecceedceeeceefcef0cef1cef2cef3cef4cef5cef6cef7cef8cef9cefacefbcefccefdcefeceffce00cf01cf02cf03cf04cf05cf06cf07cf08cf09cf0acf0bcf0ccf0dcf0ecf0fcf10cf11cf12cf13cf14cf15cf16cf17cf18cf19cf1acf1bcf1ccf1dcf1ecf1fcf20cf21cf22cf23cf24cf25cf26cf27cf28cf29cf2acf2bcf2ccf2dcf2ecf2fcf30cf31cf32cf33cf34cf35cf36cf37cf38cf39cf3acf3bcf3ccf3dcf3ecf3fcf40cf41cf42cf43cf44cf45cf46cf47cf48cf49cf4acf4bcf4ccf4dcf4ecf4fcf50cf51cf52cf53cf54cf55cf56cf57cf58cf59cf5acf5bcf5ccf5dcf5ecf5fcf60cf61cf62cf63cf64cf65cf66cf67cf68cf69cf6acf6bcf6ccf6dcf6ecf6fcf70cf71cf72cf73cf74cf75cf76cf77cf78cf79cf7acf7bcf7ccf7dcf7ecf7fcf80cf81cf82cf83cf84cf85cf86cf87cf88cf89cf8acf8bcf8ccf8dcf8ecf8fcf90cf91cf92cf93cf94cf95cf96cf97cf98cf99cf9acf9bcf9ccf9dcf9ecf9fcfa0cfa1cfa2cfa3cfa4cfa5cfa6cfa7cfa8cfa9cfaacfabcfaccfadcfaecfafcfb0cfb1cfb2cfb3cfb4cfb5cfb6cfb7cfb8cfb9cfbacfbbcfbccfbdcfbecfbfcfc0cfc1cfc2cfc3cfc4cfc5cfc6cfc7cfc8cfc9cfcacfcbcfcccfcdcfcecfcfcfd0cfd1cfd2cfd3cfd4cfd5cfd6cfd7cfd8cfd9cfdacfdbcfdccfddcfdecfdfcfe0cfe1cfe2cfe3cfe4cfe5cfe6cfe7cfe8cfe9cfeacfebcfeccfedcfeecfefcff0cff1cff2cff3cff4cff5cff6cff7cff8cff9cffacffbcffccffdcffecfffcf00d001d002d003d004d005d006d007d008d009d00ad00bd00cd00dd00ed00fd010d011d012d013d014d015d016d017d018d019d01ad01bd01cd01dd01ed01fd020d021d022d023d024d025d026d027d028d029d02ad02bd02cd02dd02ed02fd030d031d032d033d034d035d036d037d038d039d03ad03bd03cd03dd03ed03fd040d041d042d043d044d045d046d047d048d049d04ad04bd04cd04dd04ed04fd050d051d052d053d054d055d056d057d058d059d05ad05bd05cd05dd05ed05fd060d061d062d063d064d065d066d067d068d069d06ad06bd06cd06dd06ed06fd070d071d072d073d074d075d076d077d078d079d07ad07bd07cd07dd07ed07fd080d081d082d083d084d085d086d087d088d089d08ad08bd08cd08dd08ed08fd090d091d092d093d094d095d096d097d098d099d09ad09bd09cd09dd09ed09fd0a0d0a1d0a2d0a3d0a4d0a5d0a6d0a7d0a8d0a9d0aad0abd0acd0add0aed0afd0b0d0b1d0b2d0b3d0b4d0b5d0b6d0b7d0b8d0b9d0bad0bbd0bcd0bdd0bed0bfd0c0d0c1d0c2d0c3d0c4d0c5d0c6d0c7d0c8d0c9d0cad0cbd0ccd0cdd0ced0cfd0d0d0d1d0d2d0d3d0d4d0d5d0d6d0d7d0d8d0d9d0dad0dbd0dcd0ddd0ded0dfd0e0d0e1d0e2d0e3d0e4d0e5d0e6d0e7d0e8d0e9d0ead0ebd0ecd0edd0eed0efd0f0d0f1d0f2d0f3d0f4d0f5d0f6d0f7d0f8d0f9d0fad0fbd0fcd0fdd0fed0ffd000d101d102d103d104d105d106d107d108d109d10ad10bd10cd10dd10ed10fd110d111d112d113d114d115d116d117d118d119d11ad11bd11cd11dd11ed11fd120d121d122d123d124d125d126d127d128d129d12ad12bd12cd12dd12ed12fd130d131d132d133d134d135d136d137d138d139d13ad13bd13cd13dd13ed13fd140d141d142d143d144d145d146d147d148d149d14ad14bd14cd14dd14ed14fd150d151d152d153d154d155d156d157d158d159d15ad15bd15cd15dd15ed15fd160d161d162d163d164d165d166d167d168d169d16ad16bd16cd16dd16ed16fd170d171d172d173d174d175d176d177d178d179d17ad17bd17cd17dd17ed17fd180d181d182d183d184d185d186d187d188d189d18ad18bd18cd18dd18ed18fd190d191d192d193d194d195d196d197d198d199d19ad19bd19cd19dd19ed19fd1a0d1a1d1a2d1a3d1a4d1a5d1a6d1a7d1a8d1a9d1aad1abd1acd1add1aed1afd1b0d1b1d1b2d1b3d1b4d1b5d1b6d1b7d1b8d1b9d1bad1bbd1bcd1bdd1bed1bfd1c0d1c1d1c2d1c3d1c4d1c5d1c6d1c7d1c8d1c9d1cad1cbd1ccd1cdd1ced1cfd1d0d1d1d1d2d1d3d1d4d1d5d1d6d1d7d1d8d1d9d1dad1dbd1dcd1ddd1ded1dfd1e0d1e1d1e2d1e3d1e4d1e5d1e6d1e7d1e8d1e9d1ead1ebd1ecd1edd1eed1efd1f0d1f1d1f2d1f3d1f4d1f5d1f6d1f7d1f8d1f9d1fad1fbd1fcd1fdd1fed1ffd100d201d202d203d204d205d206d207d208d209d20ad20bd20cd20dd20ed20fd210d211d212d213d214d215d216d217d218d219d21ad21bd21cd21dd21ed21fd220d221d222d223d224d225d226d227d228d229d22ad22bd22cd22dd22ed22fd230d231d232d233d234d235d236d237d238d239d23ad23bd23cd23dd23ed23fd240d241d242d243d244d245d246d247d248d249d24ad24bd24cd24dd24ed24fd250d251d252d253d254d255d256d257d258d259d25ad25bd25cd25dd25ed25fd260d261d262d263d264d265d266d267d268d269d26ad26bd26cd26dd26ed26fd270d271d272d273d274d275d276d277d278d279d27ad27bd27cd27dd27ed27fd280d281d282d283d284d285d286d287d288d289d28ad28bd28cd28dd28ed28fd290d291d292d293d294d295d296d297d298d299d29ad29bd29cd29dd29ed29fd2a0d2a1d2a2d2a3d2a4d2a5d2a6d2a7d2a8d2a9d2aad2abd2acd2add2aed2afd2b0d2b1d2b2d2b3d2b4d2b5d2b6d2b7d2b8d2b9d2bad2bbd2bcd2bdd2bed2bfd2c0d2c1d2c2d2c3d2c4d2c5d2c6d2c7d2c8d2c9d2cad2cbd2ccd2cdd2ced2cfd2d0d2d1d2d2d2d3d2d4d2d5d2d6d2d7d2d8d2d9d2dad2dbd2dcd2ddd2ded2dfd2e0d2e1d2e2d2e3d2e4d2e5d2e6d2e7d2e8d2e9d2ead2ebd2ecd2edd2eed2efd2f0d2f1d2f2d2f3d2f4d2f5d2f6d2f7d2f8d2f9d2fad2fbd2fcd2fdd2fed2ffd200d301d302d303d304d305d306d307d308d309d30ad30bd30cd30dd30ed30fd310d311d312d313d314d315d316d317d318d319d31ad31bd31cd31dd31ed31fd320d321d322d323d324d325d326d327d328d329d32ad32bd32cd32dd32ed32fd330d331d332d333d334d335d336d337d338d339d33ad33bd33cd33dd33ed33fd340d341d342d343d344d345d346d347d348d349d34ad34bd34cd34dd34ed34fd350d351d352d353d354d355d356d357d358d359d35ad35bd35cd35dd35ed35fd360d361d362d363d364d365d366d367d368d369d36ad36bd36cd36dd36ed36fd370d371d372d373d374d375d376d377d378d379d37ad37bd37cd37dd37ed37fd380d381d382d383d384d385d386d387d388d389d38ad38bd38cd38dd38ed38fd390d391d392d393d394d395d396d397d398d399d39ad39bd39cd39dd39ed39fd3a0d3a1d3a2d3a3d3a4d3a5d3a6d3a7d3a8d3a9d3aad3abd3acd3add3aed3afd3b0d3b1d3b2d3b3d3b4d3b5d3b6d3b7d3b8d3b9d3bad3bbd3bcd3bdd3bed3bfd3c0d3c1d3c2d3c3d3c4d3c5d3c6d3c7d3c8d3c9d3cad3cbd3ccd3cdd3ced3cfd3d0d3d1d3d2d3d3d3d4d3d5d3d6d3d7d3d8d3d9d3dad3dbd3dcd3ddd3ded3dfd3e0d3e1d3e2d3e3d3e4d3e5d3e6d3e7d3e8d3e9d3ead3ebd3ecd3edd3eed3efd3f0d3f1d3f2d3f3d3f4d3f5d3f6d3f7d3f8d3f9d3fad3fbd3fcd3fdd3fed3ffd300d401d402d403d404d405d406d407d408d409d40ad40bd40cd40dd40ed40fd410d411d412d413d414d415d416d417d418d419d41ad41bd41cd41dd41ed41fd420d421d422d423d424d425d426d427d428d429d42ad42bd42cd42dd42ed42fd430d431d432d433d434d435d436d437d438d439d43ad43bd43cd43dd43ed43fd440d441d442d443d444d445d446d447d448d449d44ad44bd44cd44dd44ed44fd450d451d452d453d454d455d456d457d458d459d45ad45bd45cd45dd45ed45fd460d461d462d463d464d465d466d467d468d469d46ad46bd46cd46dd46ed46fd470d471d472d473d474d475d476d477d478d479d47ad47bd47cd47dd47ed47fd480d481d482d483d484d485d486d487d488d489d48ad48bd48cd48dd48ed48fd490d491d492d493d494d495d496d497d498d499d49ad49bd49cd49dd49ed49fd4a0d4a1d4a2d4a3d4a4d4a5d4a6d4a7d4a8d4a9d4aad4abd4acd4add4aed4afd4b0d4b1d4b2d4b3d4b4d4b5d4b6d4b7d4b8d4b9d4bad4bbd4bcd4bdd4bed4bfd4c0d4c1d4c2d4c3d4c4d4c5d4c6d4c7d4c8d4c9d4cad4cbd4ccd4cdd4ced4cfd4d0d4d1d4d2d4d3d4d4d4d5d4d6d4d7d4d8d4d9d4dad4dbd4dcd4ddd4ded4dfd4e0d4e1d4e2d4e3d4e4d4e5d4e6d4e7d4e8d4e9d4ead4ebd4ecd4edd4eed4efd4f0d4f1d4f2d4f3d4f4d4f5d4f6d4f7d4f8d4f9d4fad4fbd4fcd4fdd4fed4ffd400d501d502d503d504d505d506d507d508d509d50ad50bd50cd50dd50ed50fd510d511d512d513d514d515d516d517d518d519d51ad51bd51cd51dd51ed51fd520d521d522d523d524d525d526d527d528d529d52ad52bd52cd52dd52ed52fd530d531d532d533d534d535d536d537d538d539d53ad53bd53cd53dd53ed53fd540d541d542d543d544d545d546d547d548d549d54ad54bd54cd54dd54ed54fd550d551d552d553d554d555d556d557d558d559d55ad55bd55cd55dd55ed55fd560d561d562d563d564d565d566d567d568d569d56ad56bd56cd56dd56ed56fd570d571d572d573d574d575d576d577d578d579d57ad57bd57cd57dd57ed57fd580d581d582d583d584d585d586d587d588d589d58ad58bd58cd58dd58ed58fd590d591d592d593d594d595d596d597d598d599d59ad59bd59cd59dd59ed59fd5a0d5a1d5a2d5a3d5a4d5a5d5a6d5a7d5a8d5a9d5aad5abd5acd5add5aed5afd5b0d5b1d5b2d5b3d5b4d5b5d5b6d5b7d5b8d5b9d5bad5bbd5bcd5bdd5bed5bfd5c0d5c1d5c2d5c3d5c4d5c5d5c6d5c7d5c8d5c9d5cad5cbd5ccd5cdd5ced5cfd5d0d5d1d5d2d5d3d5d4d5d5d5d6d5d7d5d8d5d9d5dad5dbd5dcd5ddd5ded5dfd5e0d5e1d5e2d5e3d5e4d5e5d5e6d5e7d5e8d5e9d5ead5ebd5ecd5edd5eed5efd5f0d5f1d5f2d5f3d5f4d5f5d5f6d5f7d5f8d5f9d5fad5fbd5fcd5fdd5fed5ffd500d601d602d603d604d605d606d607d608d609d60ad60bd60cd60dd60ed60fd610d611d612d613d614d615d616d617d618d619d61ad61bd61cd61dd61ed61fd620d621d622d623d624d625d626d627d628d629d62ad62bd62cd62dd62ed62fd630d631d632d633d634d635d636d637d638d639d63ad63bd63cd63dd63ed63fd640d641d642d643d644d645d646d647d648d649d64ad64bd64cd64dd64ed64fd650d651d652d653d654d655d656d657d658d659d65ad65bd65cd65dd65ed65fd660d661d662d663d664d665d666d667d668d669d66ad66bd66cd66dd66ed66fd670d671d672d673d674d675d676d677d678d679d67ad67bd67cd67dd67ed67fd680d681d682d683d684d685d686d687d688d689d68ad68bd68cd68dd68ed68fd690d691d692d693d694d695d696d697d698d699d69ad69bd69cd69dd69ed69fd6a0d6a1d6a2d6a3d6a4d6a5d6a6d6a7d6a8d6a9d6aad6abd6acd6add6aed6afd6b0d6b1d6b2d6b3d6b4d6b5d6b6d6b7d6b8d6b9d6bad6bbd6bcd6bdd6bed6bfd6c0d6c1d6c2d6c3d6c4d6c5d6c6d6c7d6c8d6c9d6cad6cbd6ccd6cdd6ced6cfd6d0d6d1d6d2d6d3d6d4d6d5d6d6d6d7d6d8d6d9d6dad6dbd6dcd6ddd6ded6dfd6e0d6e1d6e2d6e3d6e4d6e5d6e6d6e7d6e8d6e9d6ead6ebd6ecd6edd6eed6efd6f0d6f1d6f2d6f3d6f4d6f5d6f6d6f7d6f8d6f9d6fad6fbd6fcd6fdd6fed6ffd600d701d702d703d704d705d706d707d708d709d70ad70bd70cd70dd70ed70fd710d711d712d713d714d715d716d717d718d719d71ad71bd71cd71dd71ed71fd720d721d722d723d724d725d726d727d728d729d72ad72bd72cd72dd72ed72fd730d731d732d733d734d735d736d737d738d739d73ad73bd73cd73dd73ed73fd740d741d742d743d744d745d746d747d748d749d74ad74bd74cd74dd74ed74fd750d751d752d753d754d755d756d757d758d759d75ad75bd75cd75dd75ed75fd760d761d762d763d764d765d766d767d768d769d76ad76bd76cd76dd76ed76fd770d771d772d773d774d775d776d777d778d779d77ad77bd77cd77dd77ed77fd780d781d782d783d784d785d786d787d788d789d78ad78bd78cd78dd78ed78fd790d791d792d793d794d795d796d797d798d799d79ad79bd79cd79dd79ed79fd7a0d7a1d7a2d7a3d7a4d7a5d7a6d7a7d7a8d7a9d7aad7abd7acd7add7aed7afd7b0d7b1d7b2d7b3d7b4d7b5d7b6d7b7d7b8d7b9d7bad7bbd7bcd7bdd7bed7bfd7c0d7c1d7c2d7c3d7c4d7c5d7c6d7c7d7c8d7c9d7cad7cbd7ccd7cdd7ced7cfd7d0d7d1d7d2d7d3d7d4d7d5d7d6d7d7d7d8d7d9d7dad7dbd7dcd7ddd7ded7dfd7e0d7e1d7e2d7e3d7e4d7e5d7e6d7e7d7e8d7e9d7ead7ebd7ecd7edd7eed7efd7f0d7f1d7f2d7f3d7f4d7f5d7f6d7f7d7f8d7f9d7fad7fbd7fcd7fdd7fed7ffd700d801d802d803d804d805d806d807d808d809d80ad80bd80cd80dd80ed80fd810d811d812d813d814d815d816d817d818d819d81ad81bd81cd81dd81ed81fd820d821d822d823d824d825d826d827d828d829d82ad82bd82cd82dd82ed82fd830d831d832d833d834d835d836d837d838d839d83ad83bd83cd83dd83ed83fd840d841d842d843d844d845d846d847d848d849d84ad84bd84cd84dd84ed84fd850d851d852d853d854d855d856d857d858d859d85ad85bd85cd85dd85ed85fd860d861d862d863d864d865d866d867d868d869d86ad86bd86cd86dd86ed86fd870d871d872d873d874d875d876d877d878d879d87ad87bd87cd87dd87ed87fd880d881d882d883d884d885d886d887d888d889d88ad88bd88cd88dd88ed88fd890d891d892d893d894d895d896d897d898d899d89ad89bd89cd89dd89ed89fd8a0d8a1d8a2d8a3d8a4d8a5d8a6d8a7d8a8d8a9d8aad8abd8acd8add8aed8afd8b0d8b1d8b2d8b3d8b4d8b5d8b6d8b7d8b8d8b9d8bad8bbd8bcd8bdd8bed8bfd8c0d8c1d8c2d8c3d8c4d8c5d8c6d8c7d8c8d8c9d8cad8cbd8ccd8cdd8ced8cfd8d0d8d1d8d2d8d3d8d4d8d5d8d6d8d7d8d8d8d9d8dad8dbd8dcd8ddd8ded8dfd8e0d8e1d8e2d8e3d8e4d8e5d8e6d8e7d8e8d8e9d8ead8ebd8ecd8edd8eed8efd8f0d8f1d8f2d8f3d8f4d8f5d8f6d8f7d8f8d8f9d8fad8fbd8fcd8fdd8fed8ffd800d901d902d903d904d905d906d907d908d909d90ad90bd90cd90dd90ed90fd910d911d912d913d914d915d916d917d918d919d91ad91bd91cd91dd91ed91fd920d921d922d923d924d925d926d927d928d929d92ad92bd92cd92dd92ed92fd930d931d932d933d934d935d936d937d938d939d93ad93bd93cd93dd93ed93fd940d941d942d943d944d945d946d947d948d949d94ad94bd94cd94dd94ed94fd950d951d952d953d954d955d956d957d958d959d95ad95bd95cd95dd95ed95fd960d961d962d963d964d965d966d967d968d969d96ad96bd96cd96dd96ed96fd970d971d972d973d974d975d976d977d978d979d97ad97bd97cd97dd97ed97fd980d981d982d983d984d985d986d987d988d989d98ad98bd98cd98dd98ed98fd990d991d992d993d994d995d996d997d998d999d99ad99bd99cd99dd99ed99fd9a0d9a1d9a2d9a3d9a4d9a5d9a6d9a7d9a8d9a9d9aad9abd9acd9add9aed9afd9b0d9b1d9b2d9b3d9b4d9b5d9b6d9b7d9b8d9b9d9bad9bbd9bcd9bdd9bed9bfd9c0d9c1d9c2d9c3d9c4d9c5d9c6d9c7d9c8d9c9d9cad9cbd9ccd9cdd9ced9cfd9d0d9d1d9d2d9d3d9d4d9d5d9d6d9d7d9d8d9d9d9dad9dbd9dcd9ddd9ded9dfd9e0d9e1d9e2d9e3d9e4d9e5d9e6d9e7d9e8d9e9d9ead9ebd9ecd9edd9eed9efd9f0d9f1d9f2d9f3d9f4d9f5d9f6d9f7d9f8d9f9d9fad9fbd9fcd9fdd9fed9ffd900da01da02da03da04da05da06da07da08da09da0ada0bda0cda0dda0eda0fda10da11da12da13da14da15da16da17da18da19da1ada1bda1cda1dda1eda1fda20da21da22da23da24da25da26da27da28da29da2ada2bda2cda2dda2eda2fda30da31da32da33da34da35da36da37da38da39da3ada3bda3cda3dda3eda3fda40da41da42da43da44da45da46da47da48da49da4ada4bda4cda4dda4eda4fda50da51da52da53da54da55da56da57da58da59da5ada5bda5cda5dda5eda5fda60da61da62da63da64da65da66da67da68da69da6ada6bda6cda6dda6eda6fda70da71da72da73da74da75da76da77da78da79da7ada7bda7cda7dda7eda7fda80da81da82da83da84da85da86da87da88da89da8ada8bda8cda8dda8eda8fda90da91da92da93da94da95da96da97da98da99da9ada9bda9cda9dda9eda9fdaa0daa1daa2daa3daa4daa5daa6daa7daa8daa9daaadaabdaacdaaddaaedaafdab0dab1dab2dab3dab4dab5dab6dab7dab8dab9dabadabbdabcdabddabedabfdac0dac1dac2dac3dac4dac5dac6dac7dac8dac9dacadacbdaccdacddacedacfdad0dad1dad2dad3dad4dad5dad6dad7dad8dad9dadadadbdadcdadddadedadfdae0dae1dae2dae3dae4dae5dae6dae7dae8dae9daeadaebdaecdaeddaeedaefdaf0daf1daf2daf3daf4daf5daf6daf7daf8daf9dafadafbdafcdafddafedaffda00db01db02db03db04db05db06db07db08db09db0adb0bdb0cdb0ddb0edb0fdb10db11db12db13db14db15db16db17db18db19db1adb1bdb1cdb1ddb1edb1fdb20db21db22db23db24db25db26db27db28db29db2adb2bdb2cdb2ddb2edb2fdb30db31db32db33db34db35db36db37db38db39db3adb3bdb3cdb3ddb3edb3fdb40db41db42db43db44db45db46db47db48db49db4adb4bdb4cdb4ddb4edb4fdb50db51db52db53db54db55db56db57db58db59db5adb5bdb5cdb5ddb5edb5fdb60db61db62db63db64db65db66db67db68db69db6adb6bdb6cdb6ddb6edb6fdb70db71db72db73db74db75db76db77db78db79db7adb7bdb7cdb7ddb7edb7fdb80db81db82db83db84db85db86db87db88db89db8adb8bdb8cdb8ddb8edb8fdb90db91db92db93db94db95db96db97db98db99db9adb9bdb9cdb9ddb9edb9fdba0dba1dba2dba3dba4dba5dba6dba7dba8dba9dbaadbabdbacdbaddbaedbafdbb0dbb1dbb2dbb3dbb4dbb5dbb6dbb7dbb8dbb9dbbadbbbdbbcdbbddbbedbbfdbc0dbc1dbc2dbc3dbc4dbc5dbc6dbc7dbc8dbc9dbcadbcbdbccdbcddbcedbcfdbd0dbd1dbd2dbd3dbd4dbd5dbd6dbd7dbd8dbd9dbdadbdbdbdcdbdddbdedbdfdbe0dbe1dbe2dbe3dbe4dbe5dbe6dbe7dbe8dbe9dbeadbebdbecdbeddbeedbefdbf0dbf1dbf2dbf3dbf4dbf5dbf6dbf7dbf8dbf9dbfadbfbdbfcdbfddbfedbffdb00dc01dc02dc03dc04dc05dc06dc07dc08dc09dc0adc0bdc0cdc0ddc0edc0fdc10dc11dc12dc13dc14dc15dc16dc17dc18dc19dc1adc1bdc1cdc1ddc1edc1fdc20dc21dc22dc23dc24dc25dc26dc27dc28dc29dc2adc2bdc2cdc2ddc2edc2fdc30dc31dc32dc33dc34dc35dc36dc37dc38dc39dc3adc3bdc3cdc3ddc3edc3fdc40dc41dc42dc43dc44dc45dc46dc47dc48dc49dc4adc4bdc4cdc4ddc4edc4fdc50dc51dc52dc53dc54dc55dc56dc57dc58dc59dc5adc5bdc5cdc5ddc5edc5fdc60dc61dc62dc63dc64dc65dc66dc67dc68dc69dc6adc6bdc6cdc6ddc6edc6fdc70dc71dc72dc73dc74dc75dc76dc77dc78dc79dc7adc7bdc7cdc7ddc7edc7fdc80dc81dc82dc83dc84dc85dc86dc87dc88dc89dc8adc8bdc8cdc8ddc8edc8fdc90dc91dc92dc93dc94dc95dc96dc97dc98dc99dc9adc9bdc9cdc9ddc9edc9fdca0dca1dca2dca3dca4dca5dca6dca7dca8dca9dcaadcabdcacdcaddcaedcafdcb0dcb1dcb2dcb3dcb4dcb5dcb6dcb7dcb8dcb9dcbadcbbdcbcdcbddcbedcbfdcc0dcc1dcc2dcc3dcc4dcc5dcc6dcc7dcc8dcc9dccadccbdcccdccddccedccfdcd0dcd1dcd2dcd3dcd4dcd5dcd6dcd7dcd8dcd9dcdadcdbdcdcdcdddcdedcdfdce0dce1dce2dce3dce4dce5dce6dce7dce8dce9dceadcebdcecdceddceedcefdcf0dcf1dcf2dcf3dcf4dcf5dcf6dcf7dcf8dcf9dcfadcfbdcfcdcfddcfedcffdc00dd01dd02dd03dd04dd05dd06dd07dd08dd09dd0add0bdd0cdd0ddd0edd0fdd10dd11dd12dd13dd14dd15dd16dd17dd18dd19dd1add1bdd1cdd1ddd1edd1fdd20dd21dd22dd23dd24dd25dd26dd27dd28dd29dd2add2bdd2cdd2ddd2edd2fdd30dd31dd32dd33dd34dd35dd36dd37dd38dd39dd3add3bdd3cdd3ddd3edd3fdd40dd41dd42dd43dd44dd45dd46dd47dd48dd49dd4add4bdd4cdd4ddd4edd4fdd50dd51dd52dd53dd54dd55dd56dd57dd58dd59dd5add5bdd5cdd5ddd5edd5fdd60dd61dd62dd63dd64dd65dd66dd67dd68dd69dd6add6bdd6cdd6ddd6edd6fdd70dd71dd72dd73dd74dd75dd76dd77dd78dd79dd7add7bdd7cdd7ddd7edd7fdd80dd81dd82dd83dd84dd85dd86dd87dd88dd89dd8add8bdd8cdd8ddd8edd8fdd90dd91dd92dd93dd94dd95dd96dd97dd98dd99dd9add9bdd9cdd9ddd9edd9fdda0dda1dda2dda3dda4dda5dda6dda7dda8dda9ddaaddabddacddadddaeddafddb0ddb1ddb2ddb3ddb4ddb5ddb6ddb7ddb8ddb9ddbaddbbddbcddbdddbeddbfddc0ddc1ddc2ddc3ddc4ddc5ddc6ddc7ddc8ddc9ddcaddcbddccddcdddceddcfddd0ddd1ddd2ddd3ddd4ddd5ddd6ddd7ddd8ddd9dddadddbdddcdddddddedddfdde0dde1dde2dde3dde4dde5dde6dde7dde8dde9ddeaddebddecddedddeeddefddf0ddf1ddf2ddf3ddf4ddf5ddf6ddf7ddf8ddf9ddfaddfbddfcddfdddfeddffdd00de01de02de03de04de05de06de07de08de09de0ade0bde0cde0dde0ede0fde10de11de12de13de14de15de16de17de18de19de1ade1bde1cde1dde1ede1fde20de21de22de23de24de25de26de27de28de29de2ade2bde2cde2dde2ede2fde30de31de32de33de34de35de36de37de38de39de3ade3bde3cde3dde3ede3fde40de41de42de43de44de45de46de47de48de49de4ade4bde4cde4dde4ede4fde50de51de52de53de54de55de56de57de58de59de5ade5bde5cde5dde5ede5fde60de61de62de63de64de65de66de67de68de69de6ade6bde6cde6dde6ede6fde70de71de72de73de74de75de76de77de78de79de7ade7bde7cde7dde7ede7fde80de81de82de83de84de85de86de87de88de89de8ade8bde8cde8dde8ede8fde90de91de92de93de94de95de96de97de98de99de9ade9bde9cde9dde9ede9fdea0dea1dea2dea3dea4dea5dea6dea7dea8dea9deaadeabdeacdeaddeaedeafdeb0deb1deb2deb3deb4deb5deb6deb7deb8deb9debadebbdebcdebddebedebfdec0dec1dec2dec3dec4dec5dec6dec7dec8dec9decadecbdeccdecddecedecfded0ded1ded2ded3ded4ded5ded6ded7ded8ded9dedadedbdedcdedddedededfdee0dee1dee2dee3dee4dee5dee6dee7dee8dee9deeadeebdeecdeeddeeedeefdef0def1def2def3def4def5def6def7def8def9defadefbdefcdefddefedeffde00df01df02df03df04df05df06df07df08df09df0adf0bdf0cdf0ddf0edf0fdf10df11df12df13df14df15df16df17df18df19df1adf1bdf1cdf1ddf1edf1fdf20df21df22df23df24df25df26df27df28df29df2adf2bdf2cdf2ddf2edf2fdf30df31df32df33df34df35df36df37df38df39df3adf3bdf3cdf3ddf3edf3fdf40df41df42df43df44df45df46df47df48df49df4adf4bdf4cdf4ddf4edf4fdf50df51df52df53df54df55df56df57df58df59df5adf5bdf5cdf5ddf5edf5fdf60df61df62df63df64df65df66df67df68df69df6adf6bdf6cdf6ddf6edf6fdf70df71df72df73df74df75df76df77df78df79df7adf7bdf7cdf7ddf7edf7fdf80df81df82df83df84df85df86df87df88df89df8adf8bdf8cdf8ddf8edf8fdf90df91df92df93df94df95df96df97df98df99df9adf9bdf9cdf9ddf9edf9fdfa0dfa1dfa2dfa3dfa4dfa5dfa6dfa7dfa8dfa9dfaadfabdfacdfaddfaedfafdfb0dfb1dfb2dfb3dfb4dfb5dfb6dfb7dfb8dfb9dfbadfbbdfbcdfbddfbedfbfdfc0dfc1dfc2dfc3dfc4dfc5dfc6dfc7dfc8dfc9dfcadfcbdfccdfcddfcedfcfdfd0dfd1dfd2dfd3dfd4dfd5dfd6dfd7dfd8dfd9dfdadfdbdfdcdfdddfdedfdfdfe0dfe1dfe2dfe3dfe4dfe5dfe6dfe7dfe8dfe9dfeadfebdfecdfeddfeedfefdff0dff1dff2dff3dff4dff5dff6dff7dff8dff9dffadffbdffcdffddffedfffdf00e001e002e003e004e005e006e007e008e009e00ae00be00ce00de00ee00fe010e011e012e013e014e015e016e017e018e019e01ae01be01ce01de01ee01fe020e021e022e023e024e025e026e027e028e029e02ae02be02ce02de02ee02fe030e031e032e033e034e035e036e037e038e039e03ae03be03ce03de03ee03fe040e041e042e043e044e045e046e047e048e049e04ae04be04ce04de04ee04fe050e051e052e053e054e055e056e057e058e059e05ae05be05ce05de05ee05fe060e061e062e063e064e065e066e067e068e069e06ae06be06ce06de06ee06fe070e071e072e073e074e075e076e077e078e079e07ae07be07ce07de07ee07fe080e081e082e083e084e085e086e087e088e089e08ae08be08ce08de08ee08fe090e091e092e093e094e095e096e097e098e099e09ae09be09ce09de09ee09fe0a0e0a1e0a2e0a3e0a4e0a5e0a6e0a7e0a8e0a9e0aae0abe0ace0ade0aee0afe0b0e0b1e0b2e0b3e0b4e0b5e0b6e0b7e0b8e0b9e0bae0bbe0bce0bde0bee0bfe0c0e0c1e0c2e0c3e0c4e0c5e0c6e0c7e0c8e0c9e0cae0cbe0cce0cde0cee0cfe0d0e0d1e0d2e0d3e0d4e0d5e0d6e0d7e0d8e0d9e0dae0dbe0dce0dde0dee0dfe0e0e0e1e0e2e0e3e0e4e0e5e0e6e0e7e0e8e0e9e0eae0ebe0ece0ede0eee0efe0f0e0f1e0f2e0f3e0f4e0f5e0f6e0f7e0f8e0f9e0fae0fbe0fce0fde0fee0ffe000e101e102e103e104e105e106e107e108e109e10ae10be10ce10de10ee10fe110e111e112e113e114e115e116e117e118e119e11ae11be11ce11de11ee11fe120e121e122e123e124e125e126e127e128e129e12ae12be12ce12de12ee12fe130e131e132e133e134e135e136e137e138e139e13ae13be13ce13de13ee13fe140e141e142e143e144e145e146e147e148e149e14ae14be14ce14de14ee14fe150e151e152e153e154e155e156e157e158e159e15ae15be15ce15de15ee15fe160e161e162e163e164e165e166e167e168e169e16ae16be16ce16de16ee16fe170e171e172e173e174e175e176e177e178e179e17ae17be17ce17de17ee17fe180e181e182e183e184e185e186e187e188e189e18ae18be18ce18de18ee18fe190e191e192e193e194e195e196e197e198e199e19ae19be19ce19de19ee19fe1a0e1a1e1a2e1a3e1a4e1a5e1a6e1a7e1a8e1a9e1aae1abe1ace1ade1aee1afe1b0e1b1e1b2e1b3e1b4e1b5e1b6e1b7e1b8e1b9e1bae1bbe1bce1bde1bee1bfe1c0e1c1e1c2e1c3e1c4e1c5e1c6e1c7e1c8e1c9e1cae1cbe1cce1cde1cee1cfe1d0e1d1e1d2e1d3e1d4e1d5e1d6e1d7e1d8e1d9e1dae1dbe1dce1dde1dee1dfe1e0e1e1e1e2e1e3e1e4e1e5e1e6e1e7e1e8e1e9e1eae1ebe1ece1ede1eee1efe1f0e1f1e1f2e1f3e1f4e1f5e1f6e1f7e1f8e1f9e1fae1fbe1fce1fde1fee1ffe100e201e202e203e204e205e206e207e208e209e20ae20be20ce20de20ee20fe210e211e212e213e214e215e216e217e218e219e21ae21be21ce21de21ee21fe220e221e222e223e224e225e226e227e228e229e22ae22be22ce22de22ee22fe230e231e232e233e234e235e236e237e238e239e23ae23be23ce23de23ee23fe240e241e242e243e244e245e246e247e248e249e24ae24be24ce24de24ee24fe250e251e252e253e254e255e256e257e258e259e25ae25be25ce25de25ee25fe260e261e262e263e264e265e266e267e268e269e26ae26be26ce26de26ee26fe270e271e272e273e274e275e276e277e278e279e27ae27be27ce27de27ee27fe280e281e282e283e284e285e286e287e288e289e28ae28be28ce28de28ee28fe290e291e292e293e294e295e296e297e298e299e29ae29be29ce29de29ee29fe2a0e2a1e2a2e2a3e2a4e2a5e2a6e2a7e2a8e2a9e2aae2abe2ace2ade2aee2afe2b0e2b1e2b2e2b3e2b4e2b5e2b6e2b7e2b8e2b9e2bae2bbe2bce2bde2bee2bfe2c0e2c1e2c2e2c3e2c4e2c5e2c6e2c7e2c8e2c9e2cae2cbe2cce2cde2cee2cfe2d0e2d1e2d2e2d3e2d4e2d5e2d6e2d7e2d8e2d9e2dae2dbe2dce2dde2dee2dfe2e0e2e1e2e2e2e3e2e4e2e5e2e6e2e7e2e8e2e9e2eae2ebe2ece2ede2eee2efe2f0e2f1e2f2e2f3e2f4e2f5e2f6e2f7e2f8e2f9e2fae2fbe2fce2fde2fee2ffe200e301e302e303e304e305e306e307e308e309e30ae30be30ce30de30ee30fe310e311e312e313e314e315e316e317e318e319e31ae31be31ce31de31ee31fe320e321e322e323e324e325e326e327e328e329e32ae32be32ce32de32ee32fe330e331e332e333e334e335e336e337e338e339e33ae33be33ce33de33ee33fe340e341e342e343e344e345e346e347e348e349e34ae34be34ce34de34ee34fe350e351e352e353e354e355e356e357e358e359e35ae35be35ce35de35ee35fe360e361e362e363e364e365e366e367e368e369e36ae36be36ce36de36ee36fe370e371e372e373e374e375e376e377e378e379e37ae37be37ce37de37ee37fe380e381e382e383e384e385e386e387e388e389e38ae38be38ce38de38ee38fe390e391e392e393e394e395e396e397e398e399e39ae39be39ce39de39ee39fe3a0e3a1e3a2e3a3e3a4e3a5e3a6e3a7e3a8e3a9e3aae3abe3ace3ade3aee3afe3b0e3b1e3b2e3b3e3b4e3b5e3b6e3b7e3b8e3b9e3bae3bbe3bce3bde3bee3bfe3c0e3c1e3c2e3c3e3c4e3c5e3c6e3c7e3c8e3c9e3cae3cbe3cce3cde3cee3cfe3d0e3d1e3d2e3d3e3d4e3d5e3d6e3d7e3d8e3d9e3dae3dbe3dce3dde3dee3dfe3e0e3e1e3e2e3e3e3e4e3e5e3e6e3e7e3e8e3e9e3eae3ebe3ece3ede3eee3efe3f0e3f1e3f2e3f3e3f4e3f5e3f6e3f7e3f8e3f9e3fae3fbe3fce3fde3fee3ffe300e401e402e403e404e405e406e407e408e409e40ae40be40ce40de40ee40fe410e411e412e413e414e415e416e417e418e419e41ae41be41ce41de41ee41fe420e421e422e423e424e425e426e427e428e429e42ae42be42ce42de42ee42fe430e431e432e433e434e435e436e437e438e439e43ae43be43ce43de43ee43fe440e441e442e443e444e445e446e447e448e449e44ae44be44ce44de44ee44fe450e451e452e453e454e455e456e457e458e459e45ae45be45ce45de45ee45fe460e461e462e463e464e465e466e467e468e469e46ae46be46ce46de46ee46fe470e471e472e473e474e475e476e477e478e479e47ae47be47ce47de47ee47fe480e481e482e483e484e485e486e487e488e489e48ae48be48ce48de48ee48fe490e491e492e493e494e495e496e497e498e499e49ae49be49ce49de49ee49fe4a0e4a1e4a2e4a3e4a4e4a5e4a6e4a7e4a8e4a9e4aae4abe4ace4ade4aee4afe4b0e4b1e4b2e4b3e4b4e4b5e4b6e4b7e4b8e4b9e4bae4bbe4bce4bde4bee4bfe4c0e4c1e4c2e4c3e4c4e4c5e4c6e4c7e4c8e4c9e4cae4cbe4cce4cde4cee4cfe4d0e4d1e4d2e4d3e4d4e4d5e4d6e4d7e4d8e4d9e4dae4dbe4dce4dde4dee4dfe4e0e4e1e4e2e4e3e4e4e4e5e4e6e4e7e4e8e4e9e4eae4ebe4ece4ede4eee4efe4f0e4f1e4f2e4f3e4f4e4f5e4f6e4f7e4f8e4f9e4fae4fbe4fce4fde4fee4ffe400e501e502e503e504e505e506e507e508e509e50ae50be50ce50de50ee50fe510e511e512e513e514e515e516e517e518e519e51ae51be51ce51de51ee51fe520e521e522e523e524e525e526e527e528e529e52ae52be52ce52de52ee52fe530e531e532e533e534e535e536e537e538e539e53ae53be53ce53de53ee53fe540e541e542e543e544e545e546e547e548e549e54ae54be54ce54de54ee54fe550e551e552e553e554e555e556e557e558e559e55ae55be55ce55de55ee55fe560e561e562e563e564e565e566e567e568e569e56ae56be56ce56de56ee56fe570e571e572e573e574e575e576e577e578e579e57ae57be57ce57de57ee57fe580e581e582e583e584e585e586e587e588e589e58ae58be58ce58de58ee58fe590e591e592e593e594e595e596e597e598e599e59ae59be59ce59de59ee59fe5a0e5a1e5a2e5a3e5a4e5a5e5a6e5a7e5a8e5a9e5aae5abe5ace5ade5aee5afe5b0e5b1e5b2e5b3e5b4e5b5e5b6e5b7e5b8e5b9e5bae5bbe5bce5bde5bee5bfe5c0e5c1e5c2e5c3e5c4e5c5e5c6e5c7e5c8e5c9e5cae5cbe5cce5cde5cee5cfe5d0e5d1e5d2e5d3e5d4e5d5e5d6e5d7e5d8e5d9e5dae5dbe5dce5dde5dee5dfe5e0e5e1e5e2e5e3e5e4e5e5e5e6e5e7e5e8e5e9e5eae5ebe5ece5ede5eee5efe5f0e5f1e5f2e5f3e5f4e5f5e5f6e5f7e5f8e5f9e5fae5fbe5fce5fde5fee5ffe500e601e602e603e604e605e606e607e608e609e60ae60be60ce60de60ee60fe610e611e612e613e614e615e616e617e618e619e61ae61be61ce61de61ee61fe620e621e622e623e624e625e626e627e628e629e62ae62be62ce62de62ee62fe630e631e632e633e634e635e636e637e638e639e63ae63be63ce63de63ee63fe640e641e642e643e644e645e646e647e648e649e64ae64be64ce64de64ee64fe650e651e652e653e654e655e656e657e658e659e65ae65be65ce65de65ee65fe660e661e662e663e664e665e666e667e668e669e66ae66be66ce66de66ee66fe670e671e672e673e674e675e676e677e678e679e67ae67be67ce67de67ee67fe680e681e682e683e684e685e686e687e688e689e68ae68be68ce68de68ee68fe690e691e692e693e694e695e696e697e698e699e69ae69be69ce69de69ee69fe6a0e6a1e6a2e6a3e6a4e6a5e6a6e6a7e6a8e6a9e6aae6abe6ace6ade6aee6afe6b0e6b1e6b2e6b3e6b4e6b5e6b6e6b7e6b8e6b9e6bae6bbe6bce6bde6bee6bfe6c0e6c1e6c2e6c3e6c4e6c5e6c6e6c7e6c8e6c9e6cae6cbe6cce6cde6cee6cfe6d0e6d1e6d2e6d3e6d4e6d5e6d6e6d7e6d8e6d9e6dae6dbe6dce6dde6dee6dfe6e0e6e1e6e2e6e3e6e4e6e5e6e6e6e7e6e8e6e9e6eae6ebe6ece6ede6eee6efe6f0e6f1e6f2e6f3e6f4e6f5e6f6e6f7e6f8e6f9e6fae6fbe6fce6fde6fee6ffe600e701e702e703e704e705e706e707e708e709e70ae70be70ce70de70ee70fe710e711e712e713e714e715e716e717e718e719e71ae71be71ce71de71ee71fe720e721e722e723e724e725e726e727e728e729e72ae72be72ce72de72ee72fe730e731e732e733e734e735e736e737e738e739e73ae73be73ce73de73ee73fe740e741e742e743e744e745e746e747e748e749e74ae74be74ce74de74ee74fe750e751e752e753e754e755e756e757e758e759e75ae75be75ce75de75ee75fe760e761e762e763e764e765e766e767e768e769e76ae76be76ce76de76ee76fe770e771e772e773e774e775e776e777e778e779e77ae77be77ce77de77ee77fe780e781e782e783e784e785e786e787e788e789e78ae78be78ce78de78ee78fe790e791e792e793e794e795e796e797e798e799e79ae79be79ce79de79ee79fe7a0e7a1e7a2e7a3e7a4e7a5e7a6e7a7e7a8e7a9e7aae7abe7ace7ade7aee7afe7b0e7b1e7b2e7b3e7b4e7b5e7b6e7b7e7b8e7b9e7bae7bbe7bce7bde7bee7bfe7c0e7c1e7c2e7c3e7c4e7c5e7c6e7c7e7c8e7c9e7cae7cbe7cce7cde7cee7cfe7d0e7d1e7d2e7d3e7d4e7d5e7d6e7d7e7d8e7d9e7dae7dbe7dce7dde7dee7dfe7e0e7e1e7e2e7e3e7e4e7e5e7e6e7e7e7e8e7e9e7eae7ebe7ece7ede7eee7efe7f0e7f1e7f2e7f3e7f4e7f5e7f6e7f7e7f8e7f9e7fae7fbe7fce7fde7fee7ffe700e801e802e803e804e805e806e807e808e809e80ae80be80ce80de80ee80fe810e811e812e813e814e815e816e817e818e819e81ae81be81ce81de81ee81fe820e821e822e823e824e825e826e827e828e829e82ae82be82ce82de82ee82fe830e831e832e833e834e835e836e837e838e839e83ae83be83ce83de83ee83fe840e841e842e843e844e845e846e847e848e849e84ae84be84ce84de84ee84fe850e851e852e853e854e855e856e857e858e859e85ae85be85ce85de85ee85fe860e861e862e863e864e865e866e867e868e869e86ae86be86ce86de86ee86fe870e871e872e873e874e875e876e877e878e879e87ae87be87ce87de87ee87fe880e881e882e883e884e885e886e887e888e889e88ae88be88ce88de88ee88fe890e891e892e893e894e895e896e897e898e899e89ae89be89ce89de89ee89fe8a0e8a1e8a2e8a3e8a4e8a5e8a6e8a7e8a8e8a9e8aae8abe8ace8ade8aee8afe8b0e8b1e8b2e8b3e8b4e8b5e8b6e8b7e8b8e8b9e8bae8bbe8bce8bde8bee8bfe8c0e8c1e8c2e8c3e8c4e8c5e8c6e8c7e8c8e8c9e8cae8cbe8cce8cde8cee8cfe8d0e8d1e8d2e8d3e8d4e8d5e8d6e8d7e8d8e8d9e8dae8dbe8dce8dde8dee8dfe8e0e8e1e8e2e8e3e8e4e8e5e8e6e8e7e8e8e8e9e8eae8ebe8ece8ede8eee8efe8f0e8f1e8f2e8f3e8f4e8f5e8f6e8f7e8f8e8f9e8fae8fbe8fce8fde8fee8ffe800e901e902e903e904e905e906e907e908e909e90ae90be90ce90de90ee90fe910e911e912e913e914e915e916e917e918e919e91ae91be91ce91de91ee91fe920e921e922e923e924e925e926e927e928e929e92ae92be92ce92de92ee92fe930e931e932e933e934e935e936e937e938e939e93ae93be93ce93de93ee93fe940e941e942e943e944e945e946e947e948e949e94ae94be94ce94de94ee94fe950e951e952e953e954e955e956e957e958e959e95ae95be95ce95de95ee95fe960e961e962e963e964e965e966e967e968e969e96ae96be96ce96de96ee96fe970e971e972e973e974e975e976e977e978e979e97ae97be97ce97de97ee97fe980e981e982e983e984e985e986e987e988e989e98ae98be98ce98de98ee98fe990e991e992e993e994e995e996e997e998e999e99ae99be99ce99de99ee99fe9a0e9a1e9a2e9a3e9a4e9a5e9a6e9a7e9a8e9a9e9aae9abe9ace9ade9aee9afe9b0e9b1e9b2e9b3e9b4e9b5e9b6e9b7e9b8e9b9e9bae9bbe9bce9bde9bee9bfe9c0e9c1e9c2e9c3e9c4e9c5e9c6e9c7e9c8e9c9e9cae9cbe9cce9cde9cee9cfe9d0e9d1e9d2e9d3e9d4e9d5e9d6e9d7e9d8e9d9e9dae9dbe9dce9dde9dee9dfe9e0e9e1e9e2e9e3e9e4e9e5e9e6e9e7e9e8e9e9e9eae9ebe9ece9ede9eee9efe9f0e9f1e9f2e9f3e9f4e9f5e9f6e9f7e9f8e9f9e9fae9fbe9fce9fde9fee9ffe900ea01ea02ea03ea04ea05ea06ea07ea08ea09ea0aea0bea0cea0dea0eea0fea10ea11ea12ea13ea14ea15ea16ea17ea18ea19ea1aea1bea1cea1dea1eea1fea20ea21ea22ea23ea24ea25ea26ea27ea28ea29ea2aea2bea2cea2dea2eea2fea30ea31ea32ea33ea34ea35ea36ea37ea38ea39ea3aea3bea3cea3dea3eea3fea40ea41ea42ea43ea44ea45ea46ea47ea48ea49ea4aea4bea4cea4dea4eea4fea50ea51ea52ea53ea54ea55ea56ea57ea58ea59ea5aea5bea5cea5dea5eea5fea60ea61ea62ea63ea64ea65ea66ea67ea68ea69ea6aea6bea6cea6dea6eea6fea70ea71ea72ea73ea74ea75ea76ea77ea78ea79ea7aea7bea7cea7dea7eea7fea80ea81ea82ea83ea84ea85ea86ea87ea88ea89ea8aea8bea8cea8dea8eea8fea90ea91ea92ea93ea94ea95ea96ea97ea98ea99ea9aea9bea9cea9dea9eea9feaa0eaa1eaa2eaa3eaa4eaa5eaa6eaa7eaa8eaa9eaaaeaabeaaceaadeaaeeaafeab0eab1eab2eab3eab4eab5eab6eab7eab8eab9eabaeabbeabceabdeabeeabfeac0eac1eac2eac3eac4eac5eac6eac7eac8eac9eacaeacbeacceacdeaceeacfead0ead1ead2ead3ead4ead5ead6ead7ead8ead9eadaeadbeadceaddeadeeadfeae0eae1eae2eae3eae4eae5eae6eae7eae8eae9eaeaeaebeaeceaedeaeeeaefeaf0eaf1eaf2eaf3eaf4eaf5eaf6eaf7eaf8eaf9eafaeafbeafceafdeafeeaffea00eb01eb02eb03eb04eb05eb06eb07eb08eb09eb0aeb0beb0ceb0deb0eeb0feb10eb11eb12eb13eb14eb15eb16eb17eb18eb19eb1aeb1beb1ceb1deb1eeb1feb20eb21eb22eb23eb24eb25eb26eb27eb28eb29eb2aeb2beb2ceb2deb2eeb2feb30eb31eb32eb33eb34eb35eb36eb37eb38eb39eb3aeb3beb3ceb3deb3eeb3feb40eb41eb42eb43eb44eb45eb46eb47eb48eb49eb4aeb4beb4ceb4deb4eeb4feb50eb51eb52eb53eb54eb55eb56eb57eb58eb59eb5aeb5beb5ceb5deb5eeb5feb60eb61eb62eb63eb64eb65eb66eb67eb68eb69eb6aeb6beb6ceb6deb6eeb6feb70eb71eb72eb73eb74eb75eb76eb77eb78eb79eb7aeb7beb7ceb7deb7eeb7feb80eb81eb82eb83eb84eb85eb86eb87eb88eb89eb8aeb8beb8ceb8deb8eeb8feb90eb91eb92eb93eb94eb95eb96eb97eb98eb99eb9aeb9beb9ceb9deb9eeb9feba0eba1eba2eba3eba4eba5eba6eba7eba8eba9ebaaebabebacebadebaeebafebb0ebb1ebb2ebb3ebb4ebb5ebb6ebb7ebb8ebb9ebbaebbbebbcebbdebbeebbfebc0ebc1ebc2ebc3ebc4ebc5ebc6ebc7ebc8ebc9ebcaebcbebccebcdebceebcfebd0ebd1ebd2ebd3ebd4ebd5ebd6ebd7ebd8ebd9ebdaebdbebdcebddebdeebdfebe0ebe1ebe2ebe3ebe4ebe5ebe6ebe7ebe8ebe9ebeaebebebecebedebeeebefebf0ebf1ebf2ebf3ebf4ebf5ebf6ebf7ebf8ebf9ebfaebfbebfcebfdebfeebffeb00ec01ec02ec03ec04ec05ec06ec07ec08ec09ec0aec0bec0cec0dec0eec0fec10ec11ec12ec13ec14ec15ec16ec17ec18ec19ec1aec1bec1cec1dec1eec1fec20ec21ec22ec23ec24ec25ec26ec27ec28ec29ec2aec2bec2cec2dec2eec2fec30ec31ec32ec33ec34ec35ec36ec37ec38ec39ec3aec3bec3cec3dec3eec3fec40ec41ec42ec43ec44ec45ec46ec47ec48ec49ec4aec4bec4cec4dec4eec4fec50ec51ec52ec53ec54ec55ec56ec57ec58ec59ec5aec5bec5cec5dec5eec5fec60ec61ec62ec63ec64ec65ec66ec67ec68ec69ec6aec6bec6cec6dec6eec6fec70ec71ec72ec73ec74ec75ec76ec77ec78ec79ec7aec7bec7cec7dec7eec7fec80ec81ec82ec83ec84ec85ec86ec87ec88ec89ec8aec8bec8cec8dec8eec8fec90ec91ec92ec93ec94ec95ec96ec97ec98ec99ec9aec9bec9cec9dec9eec9feca0eca1eca2eca3eca4eca5eca6eca7eca8eca9ecaaecabecacecadecaeecafecb0ecb1ecb2ecb3ecb4ecb5ecb6ecb7ecb8ecb9ecbaecbbecbcecbdecbeecbfecc0ecc1ecc2ecc3ecc4ecc5ecc6ecc7ecc8ecc9eccaeccbeccceccdecceeccfecd0ecd1ecd2ecd3ecd4ecd5ecd6ecd7ecd8ecd9ecdaecdbecdcecddecdeecdfece0ece1ece2ece3ece4ece5ece6ece7ece8ece9eceaecebecececedeceeecefecf0ecf1ecf2ecf3ecf4ecf5ecf6ecf7ecf8ecf9ecfaecfbecfcecfdecfeecffec00ed01ed02ed03ed04ed05ed06ed07ed08ed09ed0aed0bed0ced0ded0eed0fed10ed11ed12ed13ed14ed15ed16ed17ed18ed19ed1aed1bed1ced1ded1eed1fed20ed21ed22ed23ed24ed25ed26ed27ed28ed29ed2aed2bed2ced2ded2eed2fed30ed31ed32ed33ed34ed35ed36ed37ed38ed39ed3aed3bed3ced3ded3eed3fed40ed41ed42ed43ed44ed45ed46ed47ed48ed49ed4aed4bed4ced4ded4eed4fed50ed51ed52ed53ed54ed55ed56ed57ed58ed59ed5aed5bed5ced5ded5eed5fed60ed61ed62ed63ed64ed65ed66ed67ed68ed69ed6aed6bed6ced6ded6eed6fed70ed71ed72ed73ed74ed75ed76ed77ed78ed79ed7aed7bed7ced7ded7eed7fed80ed81ed82ed83ed84ed85ed86ed87ed88ed89ed8aed8bed8ced8ded8eed8fed90ed91ed92ed93ed94ed95ed96ed97ed98ed99ed9aed9bed9ced9ded9eed9feda0eda1eda2eda3eda4eda5eda6eda7eda8eda9edaaedabedacedadedaeedafedb0edb1edb2edb3edb4edb5edb6edb7edb8edb9edbaedbbedbcedbdedbeedbfedc0edc1edc2edc3edc4edc5edc6edc7edc8edc9edcaedcbedccedcdedceedcfedd0edd1edd2edd3edd4edd5edd6edd7edd8edd9eddaeddbeddcedddeddeeddfede0ede1ede2ede3ede4ede5ede6ede7ede8ede9edeaedebedecedededeeedefedf0edf1edf2edf3edf4edf5edf6edf7edf8edf9edfaedfbedfcedfdedfeedffed00ee01ee02ee03ee04ee05ee06ee07ee08ee09ee0aee0bee0cee0dee0eee0fee10ee11ee12ee13ee14ee15ee16ee17ee18ee19ee1aee1bee1cee1dee1eee1fee20ee21ee22ee23ee24ee25ee26ee27ee28ee29ee2aee2bee2cee2dee2eee2fee30ee31ee32ee33ee34ee35ee36ee37ee38ee39ee3aee3bee3cee3dee3eee3fee40ee41ee42ee43ee44ee45ee46ee47ee48ee49ee4aee4bee4cee4dee4eee4fee50ee51ee52ee53ee54ee55ee56ee57ee58ee59ee5aee5bee5cee5dee5eee5fee60ee61ee62ee63ee64ee65ee66ee67ee68ee69ee6aee6bee6cee6dee6eee6fee70ee71ee72ee73ee74ee75ee76ee77ee78ee79ee7aee7bee7cee7dee7eee7fee80ee81ee82ee83ee84ee85ee86ee87ee88ee89ee8aee8bee8cee8dee8eee8fee90ee91ee92ee93ee94ee95ee96ee97ee98ee99ee9aee9bee9cee9dee9eee9feea0eea1eea2eea3eea4eea5eea6eea7eea8eea9eeaaeeabeeaceeadeeaeeeafeeb0eeb1eeb2eeb3eeb4eeb5eeb6eeb7eeb8eeb9eebaeebbeebceebdeebeeebfeec0eec1eec2eec3eec4eec5eec6eec7eec8eec9eecaeecbeecceecdeeceeecfeed0eed1eed2eed3eed4eed5eed6eed7eed8eed9eedaeedbeedceeddeedeeedfeee0eee1eee2eee3eee4eee5eee6eee7eee8eee9eeeaeeebeeeceeedeeeeeeefeef0eef1eef2eef3eef4eef5eef6eef7eef8eef9eefaeefbeefceefdeefeeeffee00ef01ef02ef03ef04ef05ef06ef07ef08ef09ef0aef0bef0cef0def0eef0fef10ef11ef12ef13ef14ef15ef16ef17ef18ef19ef1aef1bef1cef1def1eef1fef20ef21ef22ef23ef24ef25ef26ef27ef28ef29ef2aef2bef2cef2def2eef2fef30ef31ef32ef33ef34ef35ef36ef37ef38ef39ef3aef3bef3cef3def3eef3fef40ef41ef42ef43ef44ef45ef46ef47ef48ef49ef4aef4bef4cef4def4eef4fef50ef51ef52ef53ef54ef55ef56ef57ef58ef59ef5aef5bef5cef5def5eef5fef60ef61ef62ef63ef64ef65ef66ef67ef68ef69ef6aef6bef6cef6def6eef6fef70ef71ef72ef73ef74ef75ef76ef77ef78ef79ef7aef7bef7cef7def7eef7fef80ef81ef82ef83ef84ef85ef86ef87ef88ef89ef8aef8bef8cef8def8eef8fef90ef91ef92ef93ef94ef95ef96ef97ef98ef99ef9aef9bef9cef9def9eef9fefa0efa1efa2efa3efa4efa5efa6efa7efa8efa9efaaefabefacefadefaeefafefb0efb1efb2efb3efb4efb5efb6efb7efb8efb9efbaefbbefbcefbdefbeefbfefc0efc1efc2efc3efc4efc5efc6efc7efc8efc9efcaefcbefccefcdefceefcfefd0efd1efd2efd3efd4efd5efd6efd7efd8efd9efdaefdbefdcefddefdeefdfefe0efe1efe2efe3efe4efe5efe6efe7efe8efe9efeaefebefecefedefeeefefeff0eff1eff2eff3eff4eff5eff6eff7eff8eff9effaeffbeffceffdeffeefffef00f001f002f003f004f005f006f007f008f009f00af00bf00cf00df00ef00ff010f011f012f013f014f015f016f017f018f019f01af01bf01cf01df01ef01ff020f021f022f023f024f025f026f027f028f029f02af02bf02cf02df02ef02ff030f031f032f033f034f035f036f037f038f039f03af03bf03cf03df03ef03ff040f041f042f043f044f045f046f047f048f049f04af04bf04cf04df04ef04ff050f051f052f053f054f055f056f057f058f059f05af05bf05cf05df05ef05ff060f061f062f063f064f065f066f067f068f069f06af06bf06cf06df06ef06ff070f071f072f073f074f075f076f077f078f079f07af07bf07cf07df07ef07ff080f081f082f083f084f085f086f087f088f089f08af08bf08cf08df08ef08ff090f091f092f093f094f095f096f097f098f099f09af09bf09cf09df09ef09ff0a0f0a1f0a2f0a3f0a4f0a5f0a6f0a7f0a8f0a9f0aaf0abf0acf0adf0aef0aff0b0f0b1f0b2f0b3f0b4f0b5f0b6f0b7f0b8f0b9f0baf0bbf0bcf0bdf0bef0bff0c0f0c1f0c2f0c3f0c4f0c5f0c6f0c7f0c8f0c9f0caf0cbf0ccf0cdf0cef0cff0d0f0d1f0d2f0d3f0d4f0d5f0d6f0d7f0d8f0d9f0daf0dbf0dcf0ddf0def0dff0e0f0e1f0e2f0e3f0e4f0e5f0e6f0e7f0e8f0e9f0eaf0ebf0ecf0edf0eef0eff0f0f0f1f0f2f0f3f0f4f0f5f0f6f0f7f0f8f0f9f0faf0fbf0fcf0fdf0fef0fff000f101f102f103f104f105f106f107f108f109f10af10bf10cf10df10ef10ff110f111f112f113f114f115f116f117f118f119f11af11bf11cf11df11ef11ff120f121f122f123f124f125f126f127f128f129f12af12bf12cf12df12ef12ff130f131f132f133f134f135f136f137f138f139f13af13bf13cf13df13ef13ff140f141f142f143f144f145f146f147f148f149f14af14bf14cf14df14ef14ff150f151f152f153f154f155f156f157f158f159f15af15bf15cf15df15ef15ff160f161f162f163f164f165f166f167f168f169f16af16bf16cf16df16ef16ff170f171f172f173f174f175f176f177f178f179f17af17bf17cf17df17ef17ff180f181f182f183f184f185f186f187f188f189f18af18bf18cf18df18ef18ff190f191f192f193f194f195f196f197f198f199f19af19bf19cf19df19ef19ff1a0f1a1f1a2f1a3f1a4f1a5f1a6f1a7f1a8f1a9f1aaf1abf1acf1adf1aef1aff1b0f1b1f1b2f1b3f1b4f1b5f1b6f1b7f1b8f1b9f1baf1bbf1bcf1bdf1bef1bff1c0f1c1f1c2f1c3f1c4f1c5f1c6f1c7f1c8f1c9f1caf1cbf1ccf1cdf1cef1cff1d0f1d1f1d2f1d3f1d4f1d5f1d6f1d7f1d8f1d9f1daf1dbf1dcf1ddf1def1dff1e0f1e1f1e2f1e3f1e4f1e5f1e6f1e7f1e8f1e9f1eaf1ebf1ecf1edf1eef1eff1f0f1f1f1f2f1f3f1f4f1f5f1f6f1f7f1f8f1f9f1faf1fbf1fcf1fdf1fef1fff100f201f202f203f204f205f206f207f208f209f20af20bf20cf20df20ef20ff210f211f212f213f214f215f216f217f218f219f21af21bf21cf21df21ef21ff220f221f222f223f224f225f226f227f228f229f22af22bf22cf22df22ef22ff230f231f232f233f234f235f236f237f238f239f23af23bf23cf23df23ef23ff240f241f242f243f244f245f246f247f248f249f24af24bf24cf24df24ef24ff250f251f252f253f254f255f256f257f258f259f25af25bf25cf25df25ef25ff260f261f262f263f264f265f266f267f268f269f26af26bf26cf26df26ef26ff270f271f272f273f274f275f276f277f278f279f27af27bf27cf27df27ef27ff280f281f282f283f284f285f286f287f288f289f28af28bf28cf28df28ef28ff290f291f292f293f294f295f296f297f298f299f29af29bf29cf29df29ef29ff2a0f2a1f2a2f2a3f2a4f2a5f2a6f2a7f2a8f2a9f2aaf2abf2acf2adf2aef2aff2b0f2b1f2b2f2b3f2b4f2b5f2b6f2b7f2b8f2b9f2baf2bbf2bcf2bdf2bef2bff2c0f2c1f2c2f2c3f2c4f2c5f2c6f2c7f2c8f2c9f2caf2cbf2ccf2cdf2cef2cff2d0f2d1f2d2f2d3f2d4f2d5f2d6f2d7f2d8f2d9f2daf2dbf2dcf2ddf2def2dff2e0f2e1f2e2f2e3f2e4f2e5f2e6f2e7f2e8f2e9f2eaf2ebf2ecf2edf2eef2eff2f0f2f1f2f2f2f3f2f4f2f5f2f6f2f7f2f8f2f9f2faf2fbf2fcf2fdf2fef2fff200f301f302f303f304f305f306f307f308f309f30af30bf30cf30df30ef30ff310f311f312f313f314f315f316f317f318f319f31af31bf31cf31df31ef31ff320f321f322f323f324f325f326f327f328f329f32af32bf32cf32df32ef32ff330f331f332f333f334f335f336f337f338f339f33af33bf33cf33df33ef33ff340f341f342f343f344f345f346f347f348f349f34af34bf34cf34df34ef34ff350f351f352f353f354f355f356f357f358f359f35af35bf35cf35df35ef35ff360f361f362f363f364f365f366f367f368f369f36af36bf36cf36df36ef36ff370f371f372f373f374f375f376f377f378f379f37af37bf37cf37df37ef37ff380f381f382f383f384f385f386f387f388f389f38af38bf38cf38df38ef38ff390f391f392f393f394f395f396f397f398f399f39af39bf39cf39df39ef39ff3a0f3a1f3a2f3a3f3a4f3a5f3a6f3a7f3a8f3a9f3aaf3abf3acf3adf3aef3aff3b0f3b1f3b2f3b3f3b4f3b5f3b6f3b7f3b8f3b9f3baf3bbf3bcf3bdf3bef3bff3c0f3c1f3c2f3c3f3c4f3c5f3c6f3c7f3c8f3c9f3caf3cbf3ccf3cdf3cef3cff3d0f3d1f3d2f3d3f3d4f3d5f3d6f3d7f3d8f3d9f3daf3dbf3dcf3ddf3def3dff3e0f3e1f3e2f3e3f3e4f3e5f3e6f3e7f3e8f3e9f3eaf3ebf3ecf3edf3eef3eff3f0f3f1f3f2f3f3f3f4f3f5f3f6f3f7f3f8f3f9f3faf3fbf3fcf3fdf3fef3fff300f401f402f403f404f405f406f407f408f409f40af40bf40cf40df40ef40ff410f411f412f413f414f415f416f417f418f419f41af41bf41cf41df41ef41ff420f421f422f423f424f425f426f427f428f429f42af42bf42cf42df42ef42ff430f431f432f433f434f435f436f437f438f439f43af43bf43cf43df43ef43ff440f441f442f443f444f445f446f447f448f449f44af44bf44cf44df44ef44ff450f451f452f453f454f455f456f457f458f459f45af45bf45cf45df45ef45ff460f461f462f463f464f465f466f467f468f469f46af46bf46cf46df46ef46ff470f471f472f473f474f475f476f477f478f479f47af47bf47cf47df47ef47ff480f481f482f483f484f485f486f487f488f489f48af48bf48cf48df48ef48ff490f491f492f493f494f495f496f497f498f499f49af49bf49cf49df49ef49ff4a0f4a1f4a2f4a3f4a4f4a5f4a6f4a7f4a8f4a9f4aaf4abf4acf4adf4aef4aff4b0f4b1f4b2f4b3f4b4f4b5f4b6f4b7f4b8f4b9f4baf4bbf4bcf4bdf4bef4bff4c0f4c1f4c2f4c3f4c4f4c5f4c6f4c7f4c8f4c9f4caf4cbf4ccf4cdf4cef4cff4d0f4d1f4d2f4d3f4d4f4d5f4d6f4d7f4d8f4d9f4daf4dbf4dcf4ddf4def4dff4e0f4e1f4e2f4e3f4e4f4e5f4e6f4e7f4e8f4e9f4eaf4ebf4ecf4edf4eef4eff4f0f4f1f4f2f4f3f4f4f4f5f4f6f4f7f4f8f4f9f4faf4fbf4fcf4fdf4fef4fff400f501f502f503f504f505f506f507f508f509f50af50bf50cf50df50ef50ff510f511f512f513f514f515f516f517f518f519f51af51bf51cf51df51ef51ff520f521f522f523f524f525f526f527f528f529f52af52bf52cf52df52ef52ff530f531f532f533f534f535f536f537f538f539f53af53bf53cf53df53ef53ff540f541f542f543f544f545f546f547f548f549f54af54bf54cf54df54ef54ff550f551f552f553f554f555f556f557f558f559f55af55bf55cf55df55ef55ff560f561f562f563f564f565f566f567f568f569f56af56bf56cf56df56ef56ff570f571f572f573f574f575f576f577f578f579f57af57bf57cf57df57ef57ff580f581f582f583f584f585f586f587f588f589f58af58bf58cf58df58ef58ff590f591f592f593f594f595f596f597f598f599f59af59bf59cf59df59ef59ff5a0f5a1f5a2f5a3f5a4f5a5f5a6f5a7f5a8f5a9f5aaf5abf5acf5adf5aef5aff5b0f5b1f5b2f5b3f5b4f5b5f5b6f5b7f5b8f5b9f5baf5bbf5bcf5bdf5bef5bff5c0f5c1f5c2f5c3f5c4f5c5f5c6f5c7f5c8f5c9f5caf5cbf5ccf5cdf5cef5cff5d0f5d1f5d2f5d3f5d4f5d5f5d6f5d7f5d8f5d9f5daf5dbf5dcf5ddf5def5dff5e0f5e1f5e2f5e3f5e4f5e5f5e6f5e7f5e8f5e9f5eaf5ebf5ecf5edf5eef5eff5f0f5f1f5f2f5f3f5f4f5f5f5f6f5f7f5f8f5f9f5faf5fbf5fcf5fdf5fef5fff500f601f602f603f604f605f606f607f608f609f60af60bf60cf60df60ef60ff610f611f612f613f614f615f616f617f618f619f61af61bf61cf61df61ef61ff620f621f622f623f624f625f626f627f628f629f62af62bf62cf62df62ef62ff630f631f632f633f634f635f636f637f638f639f63af63bf63cf63df63ef63ff640f641f642f643f644f645f646f647f648f649f64af64bf64cf64df64ef64ff650f651f652f653f654f655f656f657f658f659f65af65bf65cf65df65ef65ff660f661f662f663f664f665f666f667f668f669f66af66bf66cf66df66ef66ff670f671f672f673f674f675f676f677f678f679f67af67bf67cf67df67ef67ff680f681f682f683f684f685f686f687f688f689f68af68bf68cf68df68ef68ff690f691f692f693f694f695f696f697f698f699f69af69bf69cf69df69ef69ff6a0f6a1f6a2f6a3f6a4f6a5f6a6f6a7f6a8f6a9f6aaf6abf6acf6adf6aef6aff6b0f6b1f6b2f6b3f6b4f6b5f6b6f6b7f6b8f6b9f6baf6bbf6bcf6bdf6bef6bff6c0f6c1f6c2f6c3f6c4f6c5f6c6f6c7f6c8f6c9f6caf6cbf6ccf6cdf6cef6cff6d0f6d1f6d2f6d3f6d4f6d5f6d6f6d7f6d8f6d9f6daf6dbf6dcf6ddf6def6dff6e0f6e1f6e2f6e3f6e4f6e5f6e6f6e7f6e8f6e9f6eaf6ebf6ecf6edf6eef6eff6f0f6f1f6f2f6f3f6f4f6f5f6f6f6f7f6f8f6f9f6faf6fbf6fcf6fdf6fef6fff600f701f702f703f704f705f706f707f708f709f70af70bf70cf70df70ef70ff710f711f712f713f714f715f716f717f718f719f71af71bf71cf71df71ef71ff720f721f722f723f724f725f726f727f728f729f72af72bf72cf72df72ef72ff730f731f732f733f734f735f736f737f738f739f73af73bf73cf73df73ef73ff740f741f742f743f744f745f746f747f748f749f74af74bf74cf74df74ef74ff750f751f752f753f754f755f756f757f758f759f75af75bf75cf75df75ef75ff760f761f762f763f764f765f766f767f768f769f76af76bf76cf76df76ef76ff770f771f772f773f774f775f776f777f778f779f77af77bf77cf77df77ef77ff780f781f782f783f784f785f786f787f788f789f78af78bf78cf78df78ef78ff790f791f792f793f794f795f796f797f798f799f79af79bf79cf79df79ef79ff7a0f7a1f7a2f7a3f7a4f7a5f7a6f7a7f7a8f7a9f7aaf7abf7acf7adf7aef7aff7b0f7b1f7b2f7b3f7b4f7b5f7b6f7b7f7b8f7b9f7baf7bbf7bcf7bdf7bef7bff7c0f7c1f7c2f7c3f7c4f7c5f7c6f7c7f7c8f7c9f7caf7cbf7ccf7cdf7cef7cff7d0f7d1f7d2f7d3f7d4f7d5f7d6f7d7f7d8f7d9f7daf7dbf7dcf7ddf7def7dff7e0f7e1f7e2f7e3f7e4f7e5f7e6f7e7f7e8f7e9f7eaf7ebf7ecf7edf7eef7eff7f0f7f1f7f2f7f3f7f4f7f5f7f6f7f7f7f8f7f9f7faf7fbf7fcf7fdf7fef7fff700f801f802f803f804f805f806f807f808f809f80af80bf80cf80df80ef80ff810f811f812f813f814f815f816f817f818f819f81af81bf81cf81df81ef81ff820f821f822f823f824f825f826f827f828f829f82af82bf82cf82df82ef82ff830f831f832f833f834f835f836f837f838f839f83af83bf83cf83df83ef83ff840f841f842f843f844f845f846f847f848f849f84af84bf84cf84df84ef84ff850f851f852f853f854f855f856f857f858f859f85af85bf85cf85df85ef85ff860f861f862f863f864f865f866f867f868f869f86af86bf86cf86df86ef86ff870f871f872f873f874f875f876f877f878f879f87af87bf87cf87df87ef87ff880f881f882f883f884f885f886f887f888f889f88af88bf88cf88df88ef88ff890f891f892f893f894f895f896f897f898f899f89af89bf89cf89df89ef89ff8a0f8a1f8a2f8a3f8a4f8a5f8a6f8a7f8a8f8a9f8aaf8abf8acf8adf8aef8aff8b0f8b1f8b2f8b3f8b4f8b5f8b6f8b7f8b8f8b9f8baf8bbf8bcf8bdf8bef8bff8c0f8c1f8c2f8c3f8c4f8c5f8c6f8c7f8c8f8c9f8caf8cbf8ccf8cdf8cef8cff8d0f8d1f8d2f8d3f8d4f8d5f8d6f8d7f8d8f8d9f8daf8dbf8dcf8ddf8def8dff8e0f8e1f8e2f8e3f8e4f8e5f8e6f8e7f8e8f8e9f8eaf8ebf8ecf8edf8eef8eff8f0f8f1f8f2f8f3f8f4f8f5f8f6f8f7f8f8f8f9f8faf8fbf8fcf8fdf8fef8fff800f901f902f903f904f905f906f907f908f909f90af90bf90cf90df90ef90ff910f911f912f913f914f915f916f917f918f919f91af91bf91cf91df91ef91ff920f921f922f923f924f925f926f927f928f929f92af92bf92cf92df92ef92ff930f931f932f933f934f935f936f937f938f939f93af93bf93cf93df93ef93ff940f941f942f943f944f945f946f947f948f949f94af94bf94cf94df94ef94ff950f951f952f953f954f955f956f957f958f959f95af95bf95cf95df95ef95ff960f961f962f963f964f965f966f967f968f969f96af96bf96cf96df96ef96ff970f971f972f973f974f975f976f977f978f979f97af97bf97cf97df97ef97ff980f981f982f983f984f985f986f987f988f989f98af98bf98cf98df98ef98ff990f991f992f993f994f995f996f997f998f999f99af99bf99cf99df99ef99ff9a0f9a1f9a2f9a3f9a4f9a5f9a6f9a7f9a8f9a9f9aaf9abf9acf9adf9aef9aff9b0f9b1f9b2f9b3f9b4f9b5f9b6f9b7f9b8f9b9f9baf9bbf9bcf9bdf9bef9bff9c0f9c1f9c2f9c3f9c4f9c5f9c6f9c7f9c8f9c9f9caf9cbf9ccf9cdf9cef9cff9d0f9d1f9d2f9d3f9d4f9d5f9d6f9d7f9d8f9d9f9daf9dbf9dcf9ddf9def9dff9e0f9e1f9e2f9e3f9e4f9e5f9e6f9e7f9e8f9e9f9eaf9ebf9ecf9edf9eef9eff9f0f9f1f9f2f9f3f9f4f9f5f9f6f9f7f9f8f9f9f9faf9fbf9fcf9fdf9fef9fff900fa01fa02fa03fa04fa05fa06fa07fa08fa09fa0afa0bfa0cfa0dfa0efa0ffa10fa11fa12fa13fa14fa15fa16fa17fa18fa19fa1afa1bfa1cfa1dfa1efa1ffa20fa21fa22fa23fa24fa25fa26fa27fa28fa29fa2afa2bfa2cfa2dfa2efa2ffa30fa31fa32fa33fa34fa35fa36fa37fa38fa39fa3afa3bfa3cfa3dfa3efa3ffa40fa41fa42fa43fa44fa45fa46fa47fa48fa49fa4afa4bfa4cfa4dfa4efa4ffa50fa51fa52fa53fa54fa55fa56fa57fa58fa59fa5afa5bfa5cfa5dfa5efa5ffa60fa61fa62fa63fa64fa65fa66fa67fa68fa69fa6afa6bfa6cfa6dfa6efa6ffa70fa71fa72fa73fa74fa75fa76fa77fa78fa79fa7afa7bfa7cfa7dfa7efa7ffa80fa81fa82fa83fa84fa85fa86fa87fa88fa89fa8afa8bfa8cfa8dfa8efa8ffa90fa91fa92fa93fa94fa95fa96fa97fa98fa99fa9afa9bfa9cfa9dfa9efa9ffaa0faa1faa2faa3faa4faa5faa6faa7faa8faa9faaafaabfaacfaadfaaefaaffab0fab1fab2fab3fab4fab5fab6fab7fab8fab9fabafabbfabcfabdfabefabffac0fac1fac2fac3fac4fac5fac6fac7fac8fac9facafacbfaccfacdfacefacffad0fad1fad2fad3fad4fad5fad6fad7fad8fad9fadafadbfadcfaddfadefadffae0fae1fae2fae3fae4fae5fae6fae7fae8fae9faeafaebfaecfaedfaeefaeffaf0faf1faf2faf3faf4faf5faf6faf7faf8faf9fafafafbfafcfafdfafefafffa00fb01fb02fb03fb04fb05fb06fb07fb08fb09fb0afb0bfb0cfb0dfb0efb0ffb10fb11fb12fb13fb14fb15fb16fb17fb18fb19fb1afb1bfb1cfb1dfb1efb1ffb20fb21fb22fb23fb24fb25fb26fb27fb28fb29fb2afb2bfb2cfb2dfb2efb2ffb30fb31fb32fb33fb34fb35fb36fb37fb38fb39fb3afb3bfb3cfb3dfb3efb3ffb40fb41fb42fb43fb44fb45fb46fb47fb48fb49fb4afb4bfb4cfb4dfb4efb4ffb50fb51fb52fb53fb54fb55fb56fb57fb58fb59fb5afb5bfb5cfb5dfb5efb5ffb60fb61fb62fb63fb64fb65fb66fb67fb68fb69fb6afb6bfb6cfb6dfb6efb6ffb70fb71fb72fb73fb74fb75fb76fb77fb78fb79fb7afb7bfb7cfb7dfb7efb7ffb80fb81fb82fb83fb84fb85fb86fb87fb88fb89fb8afb8bfb8cfb8dfb8efb8ffb90fb91fb92fb93fb94fb95fb96fb97fb98fb99fb9afb9bfb9cfb9dfb9efb9ffba0fba1fba2fba3fba4fba5fba6fba7fba8fba9fbaafbabfbacfbadfbaefbaffbb0fbb1fbb2fbb3fbb4fbb5fbb6fbb7fbb8fbb9fbbafbbbfbbcfbbdfbbefbbffbc0fbc1fbc2fbc3fbc4fbc5fbc6fbc7fbc8fbc9fbcafbcbfbccfbcdfbcefbcffbd0fbd1fbd2fbd3fbd4fbd5fbd6fbd7fbd8fbd9fbdafbdbfbdcfbddfbdefbdffbe0fbe1fbe2fbe3fbe4fbe5fbe6fbe7fbe8fbe9fbeafbebfbecfbedfbeefbeffbf0fbf1fbf2fbf3fbf4fbf5fbf6fbf7fbf8fbf9fbfafbfbfbfcfbfdfbfefbfffb00fc01fc02fc03fc04fc05fc06fc07fc08fc09fc0afc0bfc0cfc0dfc0efc0ffc10fc11fc12fc13fc14fc15fc16fc17fc18fc19fc1afc1bfc1cfc1dfc1efc1ffc20fc21fc22fc23fc24fc25fc26fc27fc28fc29fc2afc2bfc2cfc2dfc2efc2ffc30fc31fc32fc33fc34fc35fc36fc37fc38fc39fc3afc3bfc3cfc3dfc3efc3ffc40fc41fc42fc43fc44fc45fc46fc47fc48fc49fc4afc4bfc4cfc4dfc4efc4ffc50fc51fc52fc53fc54fc55fc56fc57fc58fc59fc5afc5bfc5cfc5dfc5efc5ffc60fc61fc62fc63fc64fc65fc66fc67fc68fc69fc6afc6bfc6cfc6dfc6efc6ffc70fc71fc72fc73fc74fc75fc76fc77fc78fc79fc7afc7bfc7cfc7dfc7efc7ffc80fc81fc82fc83fc84fc85fc86fc87fc88fc89fc8afc8bfc8cfc8dfc8efc8ffc90fc91fc92fc93fc94fc95fc96fc97fc98fc99fc9afc9bfc9cfc9dfc9efc9ffca0fca1fca2fca3fca4fca5fca6fca7fca8fca9fcaafcabfcacfcadfcaefcaffcb0fcb1fcb2fcb3fcb4fcb5fcb6fcb7fcb8fcb9fcbafcbbfcbcfcbdfcbefcbffcc0fcc1fcc2fcc3fcc4fcc5fcc6fcc7fcc8fcc9fccafccbfcccfccdfccefccffcd0fcd1fcd2fcd3fcd4fcd5fcd6fcd7fcd8fcd9fcdafcdbfcdcfcddfcdefcdffce0fce1fce2fce3fce4fce5fce6fce7fce8fce9fceafcebfcecfcedfceefceffcf0fcf1fcf2fcf3fcf4fcf5fcf6fcf7fcf8fcf9fcfafcfbfcfcfcfdfcfefcfffc00fd01fd02fd03fd04fd05fd06fd07fd08fd09fd0afd0bfd0cfd0dfd0efd0ffd10fd11fd12fd13fd14fd15fd16fd17fd18fd19fd1afd1bfd1cfd1dfd1efd1ffd20fd21fd22fd23fd24fd25fd26fd27fd28fd29fd2afd2bfd2cfd2dfd2efd2ffd30fd31fd32fd33fd34fd35fd36fd37fd38fd39fd3afd3bfd3cfd3dfd3efd3ffd40fd41fd42fd43fd44fd45fd46fd47fd48fd49fd4afd4bfd4cfd4dfd4efd4ffd50fd51fd52fd53fd54fd55fd56fd57fd58fd59fd5afd5bfd5cfd5dfd5efd5ffd60fd61fd62fd63fd64fd65fd66fd67fd68fd69fd6afd6bfd6cfd6dfd6efd6ffd70fd71fd72fd73fd74fd75fd76fd77fd78fd79fd7afd7bfd7cfd7dfd7efd7ffd80fd81fd82fd83fd84fd85fd86fd87fd88fd89fd8afd8bfd8cfd8dfd8efd8ffd90fd91fd92fd93fd94fd95fd96fd97fd98fd99fd9afd9bfd9cfd9dfd9efd9ffda0fda1fda2fda3fda4fda5fda6fda7fda8fda9fdaafdabfdacfdadfdaefdaffdb0fdb1fdb2fdb3fdb4fdb5fdb6fdb7fdb8fdb9fdbafdbbfdbcfdbdfdbefdbffdc0fdc1fdc2fdc3fdc4fdc5fdc6fdc7fdc8fdc9fdcafdcbfdccfdcdfdcefdcffdd0fdd1fdd2fdd3fdd4fdd5fdd6fdd7fdd8fdd9fddafddbfddcfdddfddefddffde0fde1fde2fde3fde4fde5fde6fde7fde8fde9fdeafdebfdecfdedfdeefdeffdf0fdf1fdf2fdf3fdf4fdf5fdf6fdf7fdf8fdf9fdfafdfbfdfcfdfdfdfefdfffd00fe01fe02fe03fe04fe05fe06fe07fe08fe09fe0afe0bfe0cfe0dfe0efe0ffe10fe11fe12fe13fe14fe15fe16fe17fe18fe19fe1afe1bfe1cfe1dfe1efe1ffe20fe21fe22fe23fe24fe25fe26fe27fe28fe29fe2afe2bfe2cfe2dfe2efe2ffe30fe31fe32fe33fe34fe35fe36fe37fe38fe39fe3afe3bfe3cfe3dfe3efe3ffe40fe41fe42fe43fe44fe45fe46fe47fe48fe49fe4afe4bfe4cfe4dfe4efe4ffe50fe51fe52fe53fe54fe55fe56fe57fe58fe59fe5afe5bfe5cfe5dfe5efe5ffe60fe61fe62fe63fe64fe65fe66fe67fe68fe69fe6afe6bfe6cfe6dfe6efe6ffe70fe71fe72fe73fe74fe75fe76fe77fe78fe79fe7afe7bfe7cfe7dfe7efe7ffe80fe81fe82fe83fe84fe85fe86fe87fe88fe89fe8afe8bfe8cfe8dfe8efe8ffe90fe91fe92fe93fe94fe95fe96fe97fe98fe99fe9afe9bfe9cfe9dfe9efe9ffea0fea1fea2fea3fea4fea5fea6fea7fea8fea9feaafeabfeacfeadfeaefeaffeb0feb1feb2feb3feb4feb5feb6feb7feb8feb9febafebbfebcfebdfebefebffec0fec1fec2fec3fec4fec5fec6fec7fec8fec9fecafecbfeccfecdfecefecffed0fed1fed2fed3fed4fed5fed6fed7fed8fed9fedafedbfedcfeddfedefedffee0fee1fee2fee3fee4fee5fee6fee7fee8fee9feeafeebfeecfeedfeeefeeffef0fef1fef2fef3fef4fef5fef6fef7fef8fef9fefafefbfefcfefdfefefefffe00ff01ff02ff03ff04ff05ff06ff07ff08ff09ff0aff0bff0cff0dff0eff0fff10ff11ff12ff13ff14ff15ff16ff17ff18ff19ff1aff1bff1cff1dff1eff1fff20ff21ff22ff23ff24ff25ff26ff27ff28ff29ff2aff2bff2cff2dff2eff2fff30ff31ff32ff33ff34ff35ff36ff37ff38ff39ff3aff3bff3cff3dff3eff3fff40ff21ff22ff23ff24ff25ff26ff27ff28ff29ff2aff2bff2cff2dff2eff2fff30ff31ff32ff33ff34ff35ff36ff37ff38ff39ff3aff5bff5cff5dff5eff5fff60ff61ff62ff63ff64ff65ff66ff67ff68ff69ff6aff6bff6cff6dff6eff6fff70ff71ff72ff73ff74ff75ff76ff77ff78ff79ff7aff7bff7cff7dff7eff7fff80ff81ff82ff83ff84ff85ff86ff87ff88ff89ff8aff8bff8cff8dff8eff8fff90ff91ff92ff93ff94ff95ff96ff97ff98ff99ff9aff9bff9cff9dff9eff9fffa0ffa1ffa2ffa3ffa4ffa5ffa6ffa7ffa8ffa9ffaaffabffacffadffaeffafffb0ffb1ffb2ffb3ffb4ffb5ffb6ffb7ffb8ffb9ffbaffbbffbcffbdffbeffbfffc0ffc1ffc2ffc3ffc4ffc5ffc6ffc7ffc8ffc9ffcaffcbffccffcdffceffcfffd0ffd1ffd2ffd3ffd4ffd5ffd6ffd7ffd8ffd9ffdaffdbffdcffddffdeffdfffe0ffe1ffe2ffe3ffe4ffe5ffe6ffe7ffe8ffe9ffeaffebffecffedffeeffeffff0fff1fff2fff3fff4fff5fff6fff7fff8fff9fffafffbfffcfffdfffeffffff", 0x20000, 0x87400}, {&(0x7f000003ca00)="46494c4530000300000000000000000001000100380001009801000000040000000000000000000004000000000000000800000000000000100000006000000000001800000000004800000018000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000300000006800000000001800000002004a000000180001000500000000000500006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601006c000000000000006c0000000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000004a000000000000004000000000000000002c01000000000000180100000000000018010000000000114b100000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000004000000000000100000000000000010000000000000001101080000000000ffffffff00"/416, 0x1a0, 0xffc00}, {&(0x7f000003cc00)='\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, 0xffde0}, {&(0x7f000003cd00)="000000000000000000000000000000000000000000000000000000000000080046494c4530000300000000000000000001000100380001005801000000040000000000000000000003000000010000000200000000000000100000006000000000001800000000004800000018000000006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601001000000000000000100000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000030000000000000040000000000000000010000000000000001000000000000000100000000000002104ff0300000000ffffffff00"/384, 0x180, 0xfffe0}, {&(0x7f000003cf00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1001e0}, {&(0x7f000003d000)="000000000000000000000000000000000000000000000000000000000000020046494c4530000300000000000000000002000100380001005801000000040000000000000000000003000000020000000200000000000000100000006000000000001800000000004800000018000000006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601000004000000000000000400000000000600000000000000080324004c006f006700460069006c006500000000000000800000004800000001004000000001000000000000000000ff0000000000000040000000000000000000040000000000000004000000000000000400000000002200010304000000ffffffff00"/384, 0x180, 0x1003e0}, {&(0x7f000003d200)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1005e0}, {&(0x7f000003d300)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000300010038000100e001000000040000000000000000000006000000030000000200000000000000100000004800000000001800000000003000000018000000006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601060000000000000000000000000000003000000068000000000018000000010050000000180001000500000000000500006f95ffc78dd601006f95ffc78dd601006f95ffc78dd601006f95ffc78dd6010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c0000001800000000000000000000000301000000000000800000001800000000001800000003000000000018000000ffffffff000000000000000000000000000000000000000000000000000000000000000000000200", 0x220, 0x1007e0}, {&(0x7f000003d600)="0000000000000000000000000000000000000000000000000000000000000200ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff73797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c000000000000", 0x40440, 0x100be0}, {&(0x7f000007db00)="eb52904e5446532020202000020200000000000000f8000000000000000000000000000080008000ff0f0000000000001000000000000000ff0300000000000001000000040000003daaf55af9830909000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b2e20506c6561736520696e73657274206120626f6f7461626c6520666c6f70707920616e640d0a707265737320616e79206b657920746f2074727920616761696e202e2e2e200d0a00"/224, 0xe0, 0x1ffe00}, {&(0x7f000007dc00)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1fffe0}], 0x0, &(0x7f0000001000)=ANY=[@ANYBLOB="81911336b47a0f1d82b8393a06fb8ddbd32a3fc024caaa40e63416699d39ecaa705e3f3306c5620f1f18"]) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000100)='cpuacct.stat\x00', 0x275a, 0x0) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0xfea7) r1 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setresuid(0x0, r2, 0xee01) syz_mount_image$affs(&(0x7f00000000c0)='affs\x00', &(0x7f0000000140)='./file0\x00', 0x2d, 0x1, &(0x7f0000000180)=[{&(0x7f0000000b40)="db83b6bd62e0690cb2948ab7c9feb9cc7c32a1e9331f6224cb6511438c9a4adc9a780a343882acd2d88e136053d9694837361542dc1bc6853171b322244872dda94558a6bd056d3ccac9fc68d556c55199400e0095269a9233aa45b51d36d653f05edf37ace5d86993bff4703dd7b65f49ed4ad53ac36aef6b02759d84e550f9328ba776fe29b250479ca2bd2dbfe934031ca16a8dbcdf4bd97b77686cc705", 0x9f, 0xffffffff}], 0x2002, &(0x7f0000000c00)={[{'\'&)+@'}, {'\x84\\'}, {'\x8b]\\{\\'}, {'ntfs\x00'}, {'cpuacct.stat\x00'}], [{@subj_role={'subj_role', 0x3d, 'security.capability\x00'}}, {@context={'context', 0x3d, 'user_u'}}]}) fsetxattr$security_capability(r0, &(0x7f0000000000)='security.capability\x00', &(0x7f0000000080)=@v3={0x3000000, [{0x400, 0x7fffffff}, {0xffffffe1, 0x5}], r2}, 0x18, 0x0) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r0, 0x0) setsockopt$inet_tcp_TCP_CONGESTION(r0, 0x6, 0xd, &(0x7f0000000040)='reno\x00', 0x5) [ 344.142029][T11097] EXT4-fs (loop1): Unrecognized mount option "debLî)ú£67î" or missing value [ 344.187911][T11105] loop4: detected capacity change from 264192 to 0 [ 344.212261][T11105] ntfs: (device loop4): parse_options(): Unrecognized mount option ‘6´z‚¸9:ûÛÓ*?À$ʪ@æ4i9ìªp^?3Åb. 12:41:06 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x9, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) [ 344.406787][ T8445] usb 4-1: USB disconnect, device number 6 [ 344.417712][ T8445] option 4-1:0.108: device disconnected 12:41:06 executing program 3: mkdirat(0xffffffffffffff9c, &(0x7f0000000040)='./file0\x00', 0x0) r0 = open(&(0x7f0000000080)='./file0\x00', 0x0, 0x10e) mknodat(r0, &(0x7f0000000000)='./file0\x00', 0x6000, 0x7ff) r1 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r1, 0x0) ioctl$FS_IOC_REMOVE_ENCRYPTION_KEY(r1, 0xc0406618, &(0x7f00000000c0)={@desc={0x1, 0x0, @desc4='\x85\xba\xa1t\xf0\xcb\x11B'}}) openat(r0, &(0x7f0000000140)='./file0\x00', 0x0, 0x0) 12:41:06 executing program 1: r0 = socket$inet_udp(0x2, 0x2, 0x0) r1 = openat$zero(0xffffffffffffff9c, &(0x7f0000000000)='/dev/zero\x00', 0x0, 0x0) preadv(r1, &(0x7f00000001c0)=[{0x0}], 0x1, 0x0, 0x0) r2 = syz_open_dev$audion(&(0x7f0000000100)='/dev/audio#\x00', 0x1, 0x4040) getsockopt$inet_udp_int(r2, 0x11, 0xa, &(0x7f0000000080), &(0x7f0000000140)=0x4) sendmmsg$inet(r0, &(0x7f0000003240)=[{{&(0x7f0000000000)={0x2, 0x4e1f, @remote}, 0x10, 0x0}}, {{&(0x7f0000000040)={0x2, 0x4e22, @empty}, 0x10, 0x0, 0x0, &(0x7f0000000480)=[@ip_retopts={{0x14, 0x0, 0x7, {[@lsrr={0x83, 0x7, 0x4, [@private=0xa010102]}]}}}], 0x14}}], 0x2, 0x0) 12:41:06 executing program 2: r0 = syz_usb_connect$cdc_ecm(0x0, 0x92, &(0x7f0000000500)=ANY=[@ANYBLOB="1201000002000008ba0d0010400001020301090280000101000000090400ff0302061400052406000005240000000d240f010000000000000000000c241b07000104070104007f0524150500082407e30000f8ff06240701050008241c04001f3c0d152412feffa317a88b045e4f01a607c0ffcb7e392a090581030004"], 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000000c0)='cpu.stat\x00', 0x275a, 0x0) write$binfmt_script(r1, &(0x7f0000000040)=ANY=[], 0xfea7) mmap(&(0x7f0000000000/0x1000)=nil, 0x1000, 0x9, 0x10012, r1, 0x20000000) syz_usb_ep_write(r0, 0x0, 0x2, &(0x7f0000000000)='\x00_') 12:41:07 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0xa, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:41:07 executing program 4: syz_mount_image$nilfs2(&(0x7f0000000000)='nilfs2\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x13, &(0x7f0000000200)=[{&(0x7f0000010000)="0200000000003434180100007a4a7934d9d44b9a000000003f00000000000000000010000000000004000000000000001000000005000000010000000000000004000000000000000000000000000000e003000000000000561b675f00000000571b675f00000000571b675f000000000100320000000100561b675f00000000004eed0000000000000000000b00000080002000c0001000dadd32bf8764466dbb0c25de8a84ef61", 0xa8, 0x400}, {&(0x7f0000010100)="dd6bcb1c8fa443cb11faaf1e400007000000000000000000561b675f0000000010000000000000000c0000000500000040010000000000000100000000000000020000000000000001000000000000000100000001000000010000000000000000000000000000000600000000000000010000000000000004000000040000000200000000000000000000000000000003000000000000000100000000000000040000000000000002000000000000000500000000000000030000000000000004000000000000000100000000000000010000000100000006000000000000000000000000000000050000000000000001000000000000000100000001000000070000000000000000000000000000000300000000000000010000000000000003000000030000000000000000000000010000000000000002", 0x139, 0x1000}, {&(0x7f0000010300)="0200000000000000100001022e0000000200000000000000100002022e2e00000b00000000000000e00306012e6e696c6673", 0x32, 0x1400}, {&(0x7f0000010400)="f41f0000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000ff0f", 0x402, 0x1800}, {&(0x7f0000010900)="00000000000000000000000000000000561b675f00000000561b675f0000000000000000000000000000000000000000008001", 0x33, 0x2080}, {&(0x7f0000000300)="0102fdffffffffffffff00765553aea3e60000000000561b675f00000000561b675f0000000000000000000000000000000000000800ed410200000000000000000000000000017ed7492547f7aa13959cf46032ee19e8d48bbe614d789dfb5c69e51fd69cb82e164dab86e0a3a6af0ca65311e40fb49488caac9dbd39d77fd31256f142c1101aae9a36a769d99cf28d3fb46a56cc37bd34455ca3c4ac34aae9d3eec577a000a0e7395767f7bfde4ebb8f0904c21801d02ba660688a25a34596c1c18e34847a25287e5d5946401c421d1c6d43b91cfed70b6a0fa8197bd64baf15f3935875f6790a50f370990ce4053d123fe63b06d5a7954ccb30e9c1aa0966dfb9b4e34553658d5c035a17d4023896e105c7c12df73ed97f4fa39d62bc1f2e0e9c3faf58698afd9e1424f79775", 0x12e, 0x2100}, {&(0x7f0000010b00)="00000000000000000000000000000000561b675f00000000561b675f0000000000000000000000000000000000000000008001", 0x33, 0x2380}, {&(0x7f0000010c00)="00000000000000000000000000000000561b675f00000000561b675f0000000000000000000000000000000000000000008001", 0x33, 0x2400}, {&(0x7f0000010d00)="00000000000000000000000000000000561b675f00000000561b675f0000000000000000000000000000000000000000008001", 0x33, 0x2480}, {&(0x7f0000010e00)="00000000000000000000000000000000561b675f00000000561b675f0000000000000000000000000000000000000000008001", 0x33, 0x2500}, {&(0x7f0000010f00)="00000000000000000000000000000000561b675f00000000561b675f0000000000000000000000000000000000000000a48101", 0x33, 0x2580}, {&(0x7f0000011000)="01", 0x1, 0x2800}, {&(0x7f0000011100)="0000000000000000000000000000000000000000000000000100000000000000561b675f000000000c000000000000000200000000000000050000000000000004000000000000000000000000000000561b675f00000000561b675f0000000000000000000000000000000000000000008001000000000000000000000000000200000000000000030000000000000004000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000002", 0xd9, 0x28c0}, {&(0x7f0000011200)="02000000000000000000000000000000000000000000000003", 0x19, 0x2a40}, {&(0x7f0000011300)="02000000000000000000000000000000000000000000000004", 0x19, 0x2b00}, {&(0x7f0000011400)="3d0000000000000002000000000000003e000000000000000000000000000000561b675f000000000c0000000300000000000000000000000000000003", 0x3d, 0x2c00}, {&(0x7f0000011500)="f81f0000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000002000000020000000200000ff", 0x401, 0x3000}, {&(0x7f0000011a00)="05000000000000000100000000000000ffffffffffffffff000000000000000006000000000000000100000000000000ffffffffffffffff000000000000000007000000000000000100000000000000ffffffffffffffff000000000000000008000000000000000100000000000000ffffffffffffffff000000000000000009000000000000000100000000000000ffffffffffffffff00000000000000000a000000000000000100000000000000ffffffffffffffff00000000000000000b000000000000000100000000000000ffffffffffffffff", 0xd8, 0x3820}, {&(0x7f0000011b00)="53882a9490010000561b675f0000000003000000000000000000000000000000561b675f00000000561b675f0000000000000000000000000000000000000000008001000000000000000000000000000c000000000000000d000000000000000e000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000561b675f00000000561b675f0000000000000000000000000000000000000000008001000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000561b675f00000000561b675f00000000000000000000000000000000000000000080010000000000000000000000000007", 0x151, 0x3c00}], 0x0, &(0x7f0000000040)={[{@nobarrier='nobarrier'}, {@nodiscard='nodiscard'}]}) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000100)='cpuacct.stat\x00', 0x275a, 0x0) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0xfea7) fsetxattr$security_capability(r0, &(0x7f0000000000)='security.capability\x00', &(0x7f0000002380)=@v2, 0x14, 0x0) openat$dlm_monitor(0xffffff9c, &(0x7f00000000c0)='/dev/dlm-monitor\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r0, 0x0) fanotify_mark(r0, 0x0, 0x48000000, 0xffffffffffffffff, &(0x7f0000000080)='./file0\x00') [ 345.391573][ T18] usb 3-1: new high-speed USB device number 15 using dummy_hcd 12:41:07 executing program 3: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x11, 0x4, &(0x7f0000000280)=ANY=[@ANYBLOB="18000000000000130000000000000000850000000700000095"], &(0x7f00000003c0)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000040)={&(0x7f0000000500)='sys_enter\x00', r0}, 0x10) pipe(&(0x7f0000000080)={0xffffffffffffffff, 0xffffffffffffffff}) r3 = socket$inet_udp(0x2, 0x2, 0x0) write$binfmt_misc(r2, &(0x7f0000000540)=ANY=[], 0x4240a2a0) socket$inet(0x2, 0x0, 0x0) bind$inet(r3, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x10) connect$inet(r3, &(0x7f0000001280)={0x2, 0x0, @multicast1}, 0x10) splice(r1, 0x0, r3, 0x0, 0x0, 0x0) r4 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r4, 0x0) connect$inet(r4, &(0x7f0000000000)={0x2, 0x4e20, @loopback}, 0x10) 12:41:07 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0xf, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) [ 345.631342][ T18] usb 3-1: Using ep0 maxpacket: 8 12:41:07 executing program 1: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x7, &(0x7f0000000200)=[{&(0x7f0000010000)="2000000080000000060000ff010000000f000000000000000100000001000000004000000040000020000000d2f4655fd2f4655f0100ffff53ef", 0x3a, 0x400}, {&(0x7f0000010100)="000000000000000011", 0x9, 0x4e0}, {0x0, 0x0, 0x100560}, {&(0x7f0000000480)="020000001200000022", 0x9, 0x800}, {&(0x7f0000000180)="ffff01", 0x3, 0x9000}, {&(0x7f0000000140)="ed41000000080000d0f4655fd2f4655fd2f4655f000000000000040004", 0x1d, 0x11080}, {&(0x7f0000000780)="ed41000000080000d2f4655fd2f4655fd2f4655f00000000000002000400000000000800030000000af301000400000000000000000000000100000020000000000000000000000000000000000000000000000000000000003ad464bc000000000000000000000000000000000000000000000000ed8100001a040000d2f4655fd2f4655fd2f4655f00000000000001000400000000000800010000000af301000400000000000000000000000100000024000000000000000000000000000000000000000000000000000000000000000000000000000000831f2e05000000000000000000000000000000000000000000000000ffa1000026000000d2f4655fd2f4655fd2f4655f3a92c7a8267989ff0000000000000000010000002f746d702f73797a2d696d61676567656e3833303138383932382f66696c65302f66696c653000000000000000000000000000000000000000000000790726b3000000000000000000000000000000000000000000000000ed8100000a000000d2f4655fd2f4655fd2f4655f00000000000001000800000000000800010000000af301000400000000000000000000000100000025000000000000000000000000000000000000000000000000000000000000000000000000000000a32dcc89210000000000000000000000000000000000000000000000ed81000028230000d2f4655fd2f4655fd2f4655f00000000000002001400000000000800010000000af3010004000000000000000000000005000000260000000000000000000000000000000000000000000000000000000000000000000000000000008ae01bcd000000000000000000000000000000000000000000000000ed84c2d8a224ff3ec8838b6127", 0x282, 0x11580}], 0x0, &(0x7f0000000080)=ANY=[@ANYBLOB="dea6b83f02698d1544b56915e4b83897fe7831e93a835a86f1a2f891eb73d7b344d1fd4efd3f49fc5d1c576753772b0d65dbef830e"]) [ 345.675743][T11138] loop4: detected capacity change from 60 to 0 [ 345.753738][ T18] usb 3-1: config 1 has an invalid descriptor of length 0, skipping remainder of the config [ 345.765350][ T18] usb 3-1: config 1 interface 0 altsetting 255 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 345.776953][ T18] usb 3-1: config 1 interface 0 altsetting 255 has 1 endpoint descriptor, different from the interface descriptor's value: 3 [ 345.790244][ T18] usb 3-1: config 1 interface 0 has no altsetting 0 [ 345.947020][T11138] loop4: detected capacity change from 60 to 0 [ 346.112928][ T18] usb 3-1: New USB device found, idVendor=0dba, idProduct=1000, bcdDevice= 0.40 [ 346.122510][ T18] usb 3-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 346.130783][ T18] usb 3-1: Product: syz [ 346.135439][ T18] usb 3-1: Manufacturer: syz [ 346.140200][ T18] usb 3-1: SerialNumber: syz [ 346.162171][T11154] loop1: detected capacity change from 4101 to 0 [ 346.304497][T11154] EXT4-fs (loop1): Unrecognized mount option "Þ¦¸?iDµiä¸8—þx1é:ƒZ†ñ¢ø‘ës׳DÑýNý?Iü]WgSw+eÛïƒ" or missing value 12:41:08 executing program 4: r0 = bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0xc, 0x6, &(0x7f0000000000)=@framed={{0x5, 0x0, 0x0, 0x0, 0x0, 0x63, 0x11, 0x38}, [@func={0x85, 0x0, 0x1, 0x0, 0x2}, @call={0x85, 0x0, 0x0, 0x76}, @exit], {0x95, 0x0, 0x5a5}}, &(0x7f0000000080)='GPL\x00', 0x5, 0x29e, &(0x7f000000cf3d)=""/195, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x6, 0x0, 0x0, 0x10, 0x0}, 0x70) bpf$PROG_LOAD(0x5, &(0x7f0000000200)={0x5, 0x2, &(0x7f0000000040)=@raw=[@initr0={0x18, 0x0, 0x0, 0x0, 0x4664, 0x0, 0x0, 0x0, 0xd6}], &(0x7f00000000c0)='GPL\x00', 0xffffffc0, 0x7d, &(0x7f0000000100)=""/125, 0x40f00, 0x3, [], 0x0, 0x6, 0xffffffffffffffff, 0x8, &(0x7f0000000180)={0x7, 0x3}, 0x8, 0x10, &(0x7f00000001c0)={0x4, 0x9, 0x8000, 0x2}, 0x10, 0xffffffffffffffff}, 0x74) r1 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r1, 0x0) bpf$PROG_LOAD(0x5, &(0x7f00000003c0)={0x11, 0xa, &(0x7f0000000280)=@framed={{0x18, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x2}, [@generic={0x80, 0x3, 0x1, 0x80, 0xffffffff}, @exit, @call={0x85, 0x0, 0x0, 0x97}, @call={0x85, 0x0, 0x0, 0x8}, @jmp={0x5, 0x0, 0x2, 0x5, 0x4, 0xfffffffffffffff4, 0x10}, @btf_id={0x18, 0x2, 0x3, 0x0, 0x4}]}, &(0x7f0000000300)='syzkaller\x00', 0x9, 0x1000, &(0x7f00000004c0)=""/4096, 0x40f00, 0xc, [], 0x0, 0x1b, r1, 0x8, &(0x7f0000000340)={0x1, 0x4}, 0x8, 0x10, &(0x7f0000000380)={0x0, 0x2, 0x7, 0xff}, 0x10, 0xffffffffffffffff, r0}, 0x74) openat$cgroup_subtree(r1, &(0x7f00000014c0)='cgroup.subtree_control\x00', 0x2, 0x0) [ 346.478019][T11154] loop1: detected capacity change from 4101 to 0 12:41:08 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x60, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) [ 346.609007][T11154] EXT4-fs (loop1): Unrecognized mount option "Þ¦¸?iDµiä¸8—þx1é:ƒZ†ñ¢ø‘ës׳DÑýNý?Iü]WgSw+eÛïƒ" or missing value [ 346.691384][ T18] usb 3-1: USB disconnect, device number 15 12:41:09 executing program 1: mknod$loop(&(0x7f0000000000)='./file0\x00', 0x2, 0x0) mount$tmpfs(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000080)='tmpfs\x00', 0x10000, &(0x7f00000000c0)=ANY=[@ANYBLOB="6e725f626c6f636b733d2dbab7bcd81dcf98e6697a653d366b35332c646f6e745f6d6561737572652c646f6e745f61707072616973652c646f6e745f6d656d61636b66736465663d616673002c646f6e745f6d6561737572652c66736e616d653d402c2c61756469742c00"/123]) clone(0x26100900, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) mount(0x0, &(0x7f0000000180)='./file0\x00', &(0x7f0000000240)='afs\x00', 0x0, 0x0) 12:41:09 executing program 3: rt_tgsigqueueinfo(0x0, 0x0, 0x0, 0x0) mkdirat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000080)='./cgroup/syz1\x00', 0x1ff) r0 = syz_open_dev$loop(&(0x7f00000001c0)='/dev/loop#\x00', 0x75f, 0x103382) r1 = memfd_create(&(0x7f0000000240)='.^\xc5', 0x0) waitid(0x0, 0x0, &(0x7f00000002c0), 0x0, 0x0) pwritev(r1, &(0x7f0000000540)=[{&(0x7f0000000000)='B', 0x1}], 0x1, 0x81805, 0x0) rt_sigtimedwait(0x0, 0x0, 0x0, 0x0) ioctl$LOOP_CHANGE_FD(r0, 0x4c00, r1) perf_event_open(0x0, 0x0, 0xa, 0xffffffffffffffff, 0x0) sendfile(r0, r0, 0x0, 0x24002da8) ioctl$LOOP_SET_STATUS(0xffffffffffffffff, 0x4c02, 0x0) ioctl$LOOP_SET_STATUS(r0, 0x4c02, &(0x7f0000000780)={0x0, {}, 0x0, {}, 0x4, 0x1, 0x80020, 0x9, "2bbb19e5631df896ba98674d0b4703551b0d0bafc062c40100000300000000000000000800000100", "fd623e81b1486a5e6fab919c545f72d339f1538f1d1c4b68318117e2a6badf49"}) ioctl$LOOP_SET_STATUS(0xffffffffffffffff, 0x4c02, 0x0) r2 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) ioctl$HIDIOCGNAME(r2, 0x80404806, &(0x7f0000000040)) fcntl$getown(0xffffffffffffffff, 0x9) ioctl$LOOP_CLR_FD(r0, 0x4c01) 12:41:09 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x104, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:41:09 executing program 2: r0 = syz_open_procfs(0x0, &(0x7f0000000000)='mountstats\x00') preadv(r0, &(0x7f0000000b80)=[{&(0x7f0000000040)=""/75, 0x4b}], 0x1, 0x2f, 0x0) 12:41:09 executing program 4: syz_read_part_table(0x0, 0x4, &(0x7f0000000040)=[{&(0x7f00000000c0)="0201a5ffffff010000004cb4f03d04d35248fd000800000000000000004000ffffffa500000000000000887700720030b5829237c300000000000080000055aa885c591987a9fdadcafbdaabeb1276d7c6c88f65a88c09216bd65330a4adf735a3dd18bed8700d2971ac37379863059629a048a6ea654b0960f813a17b9391bbd8a0d7a23d1793931ff41d770ebdbf4e4748a24de34a071ef510", 0x9a, 0x1c0}, {&(0x7f0000000200)="7332dd3ff837751c52331b377287fcc8153b2a74ec2c84e7010e429c4b75313e0d1efc8015cfbec6485eb0bb9e81a865276cf4d9837ec4e8136f6a688be331c3efd67443920524ac48850c1a710dbdfb240d7506c7e1a58cc9a1e767bb439026838b04875442d9b70de956fd048b3ff93a6c3899f135e703c636203a9c073cdd0f1bc7ecce46d404ef6e3e05983ca54f83051fabd650771253f3610fb5d19de543d83073e6ff56cef55e50e53ab0fadbfd292c5312e4fd976ecfc408cf5dfe6f", 0xc0, 0x80000000}, {&(0x7f00000002c0)="6870998e6f5cc727ee2ba0ba7f21a4362ee33748e3b872a3df66426de850d143a9f857d292a7517e37206a2b5ab349f0f71b86f3117b7aa68fbc33e694c64ee1bcf043113523bec8296bec4dfd25f0a4bb6593f58e94", 0x56, 0x5a}, {&(0x7f0000000340)="2638fdcb81dc9f1028c119088d850752e35cc1abd8e93db4f93a0dbc8e7fb69c6c4a3dc229b0604a4b29f26a52b4cff9b94302debf5b0a975c39875e611b7b7364ac3f0ed5106821bdce04a71b60e510ef95ea800aecc5e84470bbe7dada6df5eedc5f4e723a4b3bc474e416365bb645d05c49775864df0b60d8ed5ba0c386cfec7489c511da5ec44965a33e89ac07c8c2ff53fde19fe6914235d48af3b9cbef55c13731c7f712bbefca3ddfd54db28994e8239995835507105bc5f498aea3", 0xbf, 0x5}]) r0 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setresuid(0x0, r1, 0xee01) lstat(&(0x7f0000001500)='./file0\x00', &(0x7f0000001540)={0x0, 0x0, 0x0, 0x0, 0x0}) syz_mount_image$minix(&(0x7f0000000080)='minix\x00', &(0x7f0000000180)='./file0\x00', 0x8, 0x3, &(0x7f00000014c0)=[{&(0x7f0000000400)="0d9dc8f6357c1f1f4327c034ea461f57bf4e95a3f4bd38fb18", 0x19, 0x7}, {&(0x7f0000000440)="10cf5552990686e9b75de027864a6cc78537a57947d628b443af0b89402ae759cb0efd5394a3fc621257c447dc5db604f547370425fca481080e0ce49970d37d2868eaa2c8d1222cd57a7465bb2320d387ae738ae5027c82a6488a83074e75", 0x5f, 0xffffffff}, {&(0x7f00000004c0)="a0508901b251ed5439493f659ec280655945ea32a4fe3b1139b8771c5b08fecbdc76bb85155f0319d6deb43c45505071d3db4408a100e2504eedf881636314b118fd5788209920fe7bcfc6bfdabc912575fcd43804d421d6b6b60b26aa52a1f8d3eebcd53ad3d90d30079b4410c1f6d8e9064811afcc1519ff70dfed42398b7a1c028f93652568984661afadf3cdebeee34bf71d3259bc149cb124a100d614a06cb181f803def33a8ab08ad4733d3db5cdeea5c3dff9ee4c2ec7a48dca1819d1ac9b829e3192a91f79353a5707de93f37d994ad6c2560446c1282ecccb73de60714c1f41075739fde814b6e7c7b876dd91697003fae2d0b53be962b693a528b47f72ca672318763659c2db9f7e2c0a8b304b29723f664a2762f5d7be1c3a2fcaa21b6f9a92ee496403a30b2ceb54c141cdba36168fadbc3da03440d0b8b9b5fcb0e1b15470c2bdb055f50959667453a99c9907444e09de90b963a9a12dd0ab6d84c46e0e84409996bbcdec67dcef22fd414b4620b54633b1fa8ba75fcae0ad6b61ae17226f74167bbd3efa8cf50afb8bcd19e32e79f6689d6cd0556978e222ac261512ee30ee4887517c8772548a6bfcc40546054d0aef4fff7e49387858c633470cff8c9520c8eb451bb30f23e5e537269005cb089fabb7bc422b6fd426fed61b3ecd341ce2aec49457cc228a036ff754faf3360d54b649cd3d664fed4ea12d3b7290f64d66aa56ece062a98cbb596c648afb0b920a714145561570437b8e1ce3f49205d0f66a406f99fafdbbc1bb38d9ae00080b666b72cdee45d3fd0d8196bc4220f139b08043eb14be26d2343b5c453b65b8a2e60277ff6f6ce38095e3f4fa259bba963c5e17d9f9c84864ad3504b36ff6120cbf52d24f32ea476fdbbbfe74fcd05b80b95f0a90afc8edb01a528047a6b7b82351c46469b5bf5ef009bc148824a204c89af5e36d33902f250a0798a8fa4e17c352c4ff3e5da331c4f5823feb80db81d827171f569bc35af96f30b0398f1daf59ab39c85c2508f548ae5f013ab5246af07137f2186bf01e3dbf15e121135bff8ed9f64b76b9f9ccf99ea4dba9d6f2f715018e41fa5712da8d2a036e1be13570f03cb2d81d916d2dc2a68d0608e6292d9d3b29eb777fae1c4fd66e0cb52dcb555cd53c2c699d66c5719a222d84f9f0085f4463538683d50d8b73eb13ff2c461ad40a65bc2c4eca51cbfbe9bace0fa288d1191c5b39db0eeb0f8b20133f2497da20e063c00db1b7e5839378d720220a8801562455765a5ed59c301d89b9ab135f083cf7003ed07f80a765170362f8fa287be102195a730f26d244b358ad9069f10ea72aae4717d4bdffd1778c5c1709d2575ce87fcd2ac48021e6f3c48a31a191c70cd812abfefb8e3aa6da925e51b28d236f26f60656b1fd0043392d1b1ee49e61580fa4c26dd468015f6c3bf734018cedd76048c7fe2b4d56649b68e0efdb400104508ec043908a33535e4b7b1b6dcb90b927f8f3d1a09012a7deb3960db231cc49f2e52ea2ef82434dad8a4a8262e8370b99d18335c0f0c9e09176277830fd5c168e3191edd3c35b2da126858f2394807e60529c8ff7570d25684e45ca1b3492425b61b24f4c51669da80308d12a68d08b21d35a08ae73a63fcb5286202a16ef6cc8f244bb2e5ce31dc7d9cbd99c4c10897fe314fdf752b5e2c15c3ec7b19d0e7d580189c75690bbb638ae7e484aff2d6cbf04a80f5f396b35d52bfb522a1692a92f37b1b772345bdde568c15a8c224a271668c273ecaba98c2722381609d5dee7d490acc6b4a107bc58c252bd23ad38563c7cd7529dfa7209f71436454cc4deb2d69ea56b30f042d8a386e9bc71b4671924a62a839e89f9630398da99cac676c981831dfcc6e93f72a91969ba78a3a3033b0b511ec12c41582fcf9da682f0c12e56108b7c02b98e6dbb3a4c196f45ffea578988a3c860ee5f9cbc07bbff13d033567de30abcbafe9b2b70356ef8b870bc2ed2e1606c9b28d5aa5d31d326863d0db78b71c0ce1f0dc86c504b76288a5b52c04f7619c8bacfce30c60512f370567546ac31df4fc34e9f9c906ce14f82b72bd992dc98b2661bdcc977d216226be0912dccb55ff5e3cce30cf54d06db2b6cb7ffa6920f8d0f6578669e13d4ba955f4227553942f49311c08f8a1a323f85b7e0012e04bbec87e5bb150552bbae315462058393ac109dcbea95532c3f18a321c631a4c96aeb51d6369d2db78a4d39c03f2ccfa52612d830d4f562e98d26ee359dc088dacefac62d789fc4374d58dafbb2a7fd782686c28cad9426049e3270c721761e0eb7c9581d29d59c2a2859714a4f7917cc182efbb44daa18d8758690cdf82b494e849acf62dc4ec17ee7a0c40162a15c75d1e2afe8d65ff5e094bb5e92d7de3bc131b197ff9e3e94c87b7484a0e984513d49dd24e771f5b65629a674eeb7c8e23b29365ce8b6ede25b8716e2c5128d8be228e91804c3e0d249fc7ef3f6016488d464d39b2298369316781cca9735a94361c06b702c2c523277b021ca1fdf253b523095aa75d21dce51ccd04e0310e28bf65a4ca83d1d6a944e9dbadc9e1367ad93f3e57bd2a11591a65656aa4d51fee35c3c9e462ebb9e5e8844ac9860d6a8ee4391d1bb6558f62e79f36205d60a2e6c4e8f700283853af1825bfa9031382e7f501620f9cb83c2ca6b506310229ec01b893fa70c31c1b0be599bdcc18a6ef6a49b6ba2275fb7e584b1a33bfd5a4e7c4946156ed9420bf6b87bf78a43c73c6df37a36fd240817a6fd9b63847d8ce8e769b7c3ea3f04bbd98bae38c1736ff8720cf405aacb83842efc71563c77a84535acecf8e335f713272351533f869ef4e56eec4ec412eeae2111a57083bb00ae8dd549a284e0638fe881093e02771d57841f5d2a7a3b3f5df358446b20783f658b561ba1f3e34a12638aafa14f8779dda2bf23a8c1678407953daa71089a6dcbe01d0d89d6b25fdf9663978282c3624cf791f3ea4b04bf9559b13242da0bda882ce2313825e37cf5e21160b8791ae6d83832283b1656be998b8dad308c4ff337bcc22c60b3ece461d7ef0a83f485d75443898674917d43ceef6749a6d59c00b63e9bcaad43d3fc551acf11d891719a1ad7561841dc9b52e2cf2d05d4d186f56f3ae61901f989d29c3eaa9cced34c9e0306f621811b0869da5803b307a90bc2e8103f2523015e182d9c0671f8e70a6fd38f843087c8451246d5a50af11841e940505a3fcefeace94da302a561ce1593deea4e06fa3a847fa223b1fd7ec3a360a2a9c1693a4f62ad34144a81eadf0f2f0748c78052fedc9a38f5bf11c684159a066884e70dc1c52b65d9de3a2864ff9cd154b581e024f94a9573addbb34d19f80b9059525e5b783011c7d161540cfaebffc47e13c6e29bb69ac334de31067c2ac9632f8d74e35374282dd92a670c2b625ae550b511db868dfaf27d45612e41d6d637a0c624bbbf39e12d77acf63e3573a9a5812d9b69a92bf38393c374de687bc88726e6884360218dd45188006503bf24ee8bfc3afac50d9567aafbffdff6eb5f1f9035c88e4cca1a99b19f90c9337ab98cabaac84a6016feb24ea9adf54159eb1dd5999f610a5008fe519c9535df7e5734cb913df306c48f4a3f662ade5bfe7a48a211f13a3f3f592dd1e9bff1329bd3ae9ec71306d3e7db3185a0be61885564b334bf6387f6f0c15b4613514d23097f7454d3ac1faf734d777f4ebde465ae29a69d5806c1878833177cecde2a6b717d2bed84cd9a9ad624690b3c82cc4c607656df2006a92cad192473d62eb88059cd8886d84edc685b0965d74a330279f74277f2d98cc43a66245d8900c724908ece672a8a11287a5593935fba870218be9f8bd6b9527ee59e0e05e44c3c8fc440b4fbb061fcdf01f9ac1a8182154f583a7be61aebb027df26e484722ef085b74a2ee9a504c646d11bb982e257742dcaeab8545759ee9b47b531cdc4263b1f8f5c30423517763bb3ec203604256e1c2b4fb83d4dcc8ac7c5a2023ae60e3a777d5f057069242cfaa319985ce1d992cab41bab13d4c1c8721e0083e1a37e87c8d15ce4e8e4bb88a9993dc56665372b9336645adab423d15809fd17501ce01dd377449977ad97928a4129ace415fbaf818b0d1a3e9428d32f47cfea6eebf61c92fb54a83dd7311fe34364a2d9353a5a435386c25170949a1308cd34e8a000af339e4b4bf7f9d3fd850fd0d9d2393c4de11c9c1e28b989e58a598c1c64f5b3c781ed18821e9e9c9cee347f6242e31553b9b98da3e488254450532a278645e88f40b1b320cc9b2cc737b5d91862c9d35d325b8d82cfafc9c0867fb348312ed996aaa073903a82f3c398c73a38c5913904a49b58e45628be5ad65c40c072bf048b72db4f3d433a88c74fd45a09ad36e6ed3062dc7e95a632b279c4beb349fc71a2c6456da857be9d0c28891cb3d18b5173c921bc79ba82831d92faa23c1603fb6d0a118d98256bf117d71d984857b647be79d2f28c3b889ed1d1ca9a577eced4ece21d5ebcb806a72ea7162200700fa958a4e75f08ddfd3ab816d305c0e9ec87877d4dd2fb17251cb34a875644b3365de514e2c7f1e850ff95850e42e756be1767b85399c70cac862480607ef627a1787f13e1646f613fa546c99c4ea3d61811ced31386162abcd602adab5d90ffd179ea0937f42b13a527f1029eda36a26291f7edc02af5ad59c0f23adb1346a8ebb6dbaf6840ff66f4d572a836d53f1c11cec8c9e4505394b8259d5cd0095b41f5d454e3ad5736582febafa675b9de7cdb266ba47b91c523996c7983947d4095a1709f6cb1fdc2ffb1ac3853debaea78f8c770032551ffaed1f8bed07f1bd8413c72179859cacbe5f2f6b9dd7a20d22f65f0be3cd8d763f65fb59875eb62f73858609fa1fec9729079cf1a4ca79a04a3ee97712900cc48ec9985e45253986b2521171abde1a7adb03bf675bc479ea6619353315c587b3f9e7fe28ad7aeba27fc526d99f2c56ed85b3480b66b504bede11dbd0b7b678aa146925e888a2e3f27d9117355215ad6d886be56e90a7bdf4530ff80ac895482ec24e6a3ad00d278ac70dfaf73138adf52af363f4b4cc7f7773c5cb237c9c8ea5f9d0390c3a62899182332658782578834dcbafd75f186f88fa02a85150596cd23d184f62364808e1ba84f3859c732fe6074ed59f2f937ddaf6e6f371a40e0413845f27444008e167f7cb1fc6b0c5c0aa8276c2bcf1b11408e9745c7e4f2e8970e056dba468d3784cd081552212019566c0929122e5c339eabf3aafa27e40fa620302d86f7a3695b6b90f5616193e67986ca70b618def490af6f218e222b4b7acd19a252ce92558ff65da852cc034fe5b6c83d51b454710639f5d13e50b6518127de036327cd8e50bbfc8a7562f2db70679f814b745c8fee28146098f1a2f456edfda272a07160bf937c8ee5958e51466b3c247c28bb43bacf6a884667c6ad52ecfe365ac0accabd1f18b4dcc6192d374b9e43495a5ff5cc70313400399b086db3f0b2bcaa204e17f76019158e4dfac2e0c9f975f9c13eb7317d3a462619f228abb935e094ce0c7d859b244ae68280dfa72c1a641d7bd6ce33914a7ac5505caf9e604c0a88a0246d81836c9aab92491eef3df11d61bc461600a82f81f79cb2de790676a296c3da73344d644967d8e2d1a6d2dc66d9d65d54d36457656586e4e52857c32f8797faccd1ebe238277cf6165fc0105b2f48b228bf5b4d678fa5dab2dc167dd5c79fb6693f915670e04e7fc312a0ad1eafcf6793f4a994", 0x1000}], 0x0, &(0x7f00000015c0)={[{'\\'}, {'+J&:\a('}, {'.%]]$] '}, {'&\'&.-#:^!-'}], [{@fowner_lt={'fowner<', r1}}, {@pcr={'pcr', 0x3d, 0x28}}, {@measure='measure'}, {@appraise='appraise'}, {@fsname={'fsname', 0x3d, '\x16)]//\''}}, {@euid_gt={'euid>', 0xee00}}, {@measure='measure'}, {@appraise_type='appraise_type=imasig'}, {@euid_gt={'euid>', r2}}, {@mask={'mask', 0x3d, 'MAY_READ'}}]}) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) getresuid(&(0x7f00000016c0), &(0x7f0000001700)=0x0, &(0x7f0000001740)) setreuid(r4, r2) mmap(&(0x7f0000232000/0x4000)=nil, 0x4000, 0x2800004, 0x8010, r3, 0x1000) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) [ 347.505563][T11191] tmpfs: Bad value for 'nr_blocks' [ 347.562708][T11191] kAFS: No cell specified [ 347.623618][T11195] tmpfs: Bad value for 'nr_blocks' [ 347.733182][T11194] loop7: detected capacity change from 1036 to 0 12:41:10 executing program 1: mknod$loop(&(0x7f0000000080)='./file0\x00', 0x2000, 0x0) r0 = socket(0x10, 0x2, 0x0) getsockopt$sock_cred(r0, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0}, &(0x7f0000cab000)=0xc) setresuid(0x0, r1, 0xee01) syz_mount_image$romfs(&(0x7f0000000040)='romfs\x00', &(0x7f00000000c0)='./file0\x00', 0x2, 0x8, &(0x7f0000000480)=[{&(0x7f0000000100)="2b42a4ecc74784ccd6", 0x9}, {&(0x7f0000000140)="965123ebd80ef816dff6f309ffecd4cd192ac33bc14270f83a5d6f6cdb0b85c43802ce3a7e9bb6d1fe9ce1c229b62b57aaf2e78de0c7822fbab1887eb6e06c72370dcbd5bf4cf5251cc4fffa48d8ffb88f0749cf41c62a988c9fab1e476fa1cfc9cac9db34e61670", 0x68, 0x6}, {&(0x7f00000001c0)="6032ee32cad869b7ada2225fd705d55e77000c645f301690d8983092f83a48d4a1e2b41e340ee56f8ed51291ad7e57d5381f3088fdc63d166dac5c5c03aa44ed8326293fb3e90b4828100cdc248598cf00dfd69f2aae0e974c27d27ef1cb114553b90677e53f7e6cde7c6467ac2517c77be29de81a4fb895f932d715b983ccc9b15c5fb79ab2f973cf75", 0x8a, 0x2}, {&(0x7f0000000280)="36d05d9eeb8682dcb296df5741163803184b82", 0x13, 0x9}, {&(0x7f00000002c0)="782d03a049314f475c0a9e9b3f67217f371c1e19638e0ed1cb8ec62ab88fba179b977a1f29e687b774357aef16978be2c82145447b64b2abc97bb3650534288551143ffd41149d483fe0cdbaf813d210f93110ea6732bb3ca27d2005e4656e1751b88e71a5f1b4a9193f2fb3593bbcc64036e17c49def74dcf5187af5e74b11f85780a58bc62", 0x86, 0x8001}, {&(0x7f0000000380), 0x0, 0x4}, {&(0x7f00000003c0), 0x0, 0x20}, {&(0x7f0000000400)="447efd7cab10b1b8dfe71db7e241297405a230a911ee01270f8c4476fa185e1656bed075dca52fc440e604ee2b549ebf483e9bb0cc4faf7e3734f7d3a27f3c0899a3a63f89301f55479de067b9b0a6748b922a", 0x53, 0x3}], 0x0, &(0x7f0000000500)={[{'/!{:}'}, {}], [{@euid_gt={'euid>', r1}}, {@obj_user={'obj_user', 0x3d, '\xf2'}}, {@seclabel='seclabel'}, {@audit='audit'}]}) unlinkat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x8) [ 347.911295][T11201] loop_set_status: loop7 () has still dirty pages (nrpages=48) 12:41:10 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x300, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) [ 347.966253][T11194] blk_update_request: I/O error, dev loop7, sector 896 op 0x0:(READ) flags 0x80700 phys_seg 18 prio class 0 [ 348.094105][T11206] loop4: detected capacity change from 264192 to 0 [ 348.316429][T11206] loop4: detected capacity change from 264192 to 0 12:41:10 executing program 3: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x408900, 0x28) sendmsg$RDMA_NLDEV_CMD_DELLINK(r0, &(0x7f0000000280)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x40000000}, 0xc, &(0x7f00000001c0)={&(0x7f00000002c0)={0x38, 0x1404, 0x200, 0x70bd2a, 0x25dfdbff, "", [@RDMA_NLDEV_ATTR_DEV_INDEX={0x8}, @RDMA_NLDEV_ATTR_DEV_INDEX={0x8}, @RDMA_NLDEV_ATTR_DEV_INDEX={0x8}, @RDMA_NLDEV_ATTR_DEV_INDEX={0x8, 0x1, 0x2}, @RDMA_NLDEV_ATTR_DEV_INDEX={0x8}]}, 0x4e}, 0x1, 0x0, 0x0, 0x4000000}, 0x4044080) perf_event_open(&(0x7f000001d000)={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, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) setsockopt$RDS_GET_MR_FOR_DEST(r0, 0x114, 0x7, &(0x7f0000001440)={@ieee802154={0x24, @none={0x0, 0xffff}}, {&(0x7f0000000400)=""/4096, 0x1000}, &(0x7f0000001400), 0x31}, 0xa0) syz_mount_image$ext4(&(0x7f0000000040)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x8000c, 0x6, &(0x7f0000000200)=[{&(0x7f0000000140)="200000000002000019000000500100000f000000000000000000000004000000000002000020000020000000d8f4655fd8f4655f0100ffff53ef010001000000d7f4655f000000000000000001000000000000000b0000008000000018000000c20500002b02", 0x66, 0x400}, {&(0x7f0000010100)="000000000000000011000000b138d8447495b25a38517e1411f64d55010040", 0x1f, 0x4e0}, {&(0x7f0000010200)="010000000000050040", 0x9, 0x560}, {&(0x7f0000010300)="0300000004", 0x5}, {&(0x7f0000010400)="ff070000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x173, 0xc00}, {&(0x7f0000012000)="504d4d00504d4dff", 0x8, 0x10000}], 0x0, &(0x7f00000000c0)=ANY=[]) r1 = openat$zero(0xffffffffffffff9c, &(0x7f0000000000)='/dev/zero\x00', 0x0, 0x0) preadv(r1, &(0x7f00000001c0)=[{0x0}], 0x1, 0x0, 0x0) sendmsg$AUDIT_USER_AVC(r1, &(0x7f00000003c0)={&(0x7f00000000c0)={0x10, 0x0, 0x0, 0x400000}, 0xc, &(0x7f0000000380)={&(0x7f0000000300)={0x54, 0x453, 0x200, 0x70bd2b, 0x25dfdbfe, "91a029cc40fb4fedee3845ce35a4c2370b7ce44604fc8a739649fb00b05a43c9988639da029893d873c6bb1a3a12b1d8f0a2c97207f4e882cd948138868be024f588b0a7", ["", "", "", ""]}, 0x54}, 0x1, 0x0, 0x0, 0x8090}, 0x404c001) 12:41:10 executing program 4: syz_mount_image$iso9660(&(0x7f0000000000)='iso9660\x00', &(0x7f0000000040)='./file0\x00', 0x0, 0x0, &(0x7f0000000480), 0x0, &(0x7f0000000600)=ANY=[@ANYBLOB="757466382c6e6f726f636b2c756e68696465376d6fca923d3078303030303030303030303030306666662c6f76657272696465726f636b7065726d"]) 12:41:10 executing program 2: r0 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r0, 0x0) r1 = openat(0xffffffffffffffff, &(0x7f0000000080)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r1, 0x0) ioctl$LOOP_CHANGE_FD(r0, 0x4c06, r1) socketpair(0x1e, 0x5, 0x0, &(0x7f0000000000)={0xffffffffffffffff}) recvfrom$unix(r2, 0x0, 0x0, 0x0, 0x0, 0x0) r3 = memfd_create(&(0x7f0000000140)='\x00\xc2\xea\x99\xbb\x1c\xf8jw\x97\x05\xa3\xa2\'\xdd\xe4q\xbf\t\x8c\xe0Y\xe5\xbcJ6\xfc\xa8\xcdj\xc1F\x02\x93\xca`\x8e\x00\x00\x00\x00\x00\x00\x00\x00\x00\b \xff\x13\x96\xe3?\xdfH\x8c\xe4V\xe2\xfe\v8\x04\xa5\xb9\xc4:\xf3\xf6y_w\xd8\xcf\x90k\x05\x00\xf9\x1e\xe8m\xec\x12\xa015\xc2\xb3u|K\x111\xd4\f8\xeb\x18\xfa\xbf\xf3x\x86\xc2\xa3\t\x008\xb6XA]\xdc\xad\xbb!1\x85\x96P\x1b\x92\x01\xe6\xae\xb1\xecB)\xe5\xaa7\xfe\xdd,R\x96X\x1ae', 0x0) write(r3, &(0x7f00000000c0)='i', 0x1) mmap(&(0x7f0000000000/0x2000)=nil, 0x2000, 0x1, 0x11, r3, 0x0) clone(0x200000000204a100, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r4 = socket$alg(0x26, 0x5, 0x0) bind$alg(r4, &(0x7f0000000100)={0x26, 'hash\x00', 0x0, 0x0, 'h(ac(mcryptd(sha384-arm64)),7\x00'}, 0x58) write(0xffffffffffffffff, &(0x7f0000000040)="5fba4d316ed1c9e6db8846", 0xb) [ 348.702346][T11221] loop1: detected capacity change from 128 to 0 [ 348.723374][T11221] romfs: Unknown parameter '/!{:}' [ 348.899979][T11225] loop3: detected capacity change from 1024 to 0 12:41:11 executing program 1: syz_mount_image$squashfs(&(0x7f0000000000)='squashfs\x00', &(0x7f0000000100)='./file0\x00', 0x1000, 0x1, &(0x7f0000000200)=[{&(0x7f0000010000)="6873717307000000911d675f001000000000000001004000d000020004", 0x1d}], 0x0, &(0x7f0000010200)) syz_mount_image$adfs(&(0x7f0000000040)='adfs\x00', &(0x7f0000000080)='./file0\x00', 0x58000000, 0x7, &(0x7f0000002380)=[{&(0x7f0000000240)="e7f0a396cf415ec9c1586f60fe644f8a5bd40db160daa9690005d0e1ac556e01d1f3f6005e28ab29d8ed5bef88c0055b790ced61c539211d65b138ee2f9f5bc6444b926daf04cc5c776c7b0f630116fbcd6def4cce54fd550302f11cd6c73f20c237306654f81919863226aaa39cecc4f93edcb990dc449759851663f6089643ccdaaa044c23ca3fcd4fc0251c4b8ff61cd1a91017d13321e6c72b2d0f8984c9501b53d410a936e4bbce06d1289acc6a8c04f74a21cf5483bb0739e2e45ed7d6805a6a916fe25029958aaabd981dbc570a31fd1f5098eaa0f897824c3f5bb8d9773a06786ed713ba387a0733a28ab4ad4d03dbf0b8e1d0f029dc6e64fb474b05ac1b0519a1f4b27d4123c1ca8ffb547da593795d592f3876d1fdc1f1599fb81d071e7bcd71ea1b479890d98ab4735060c533470f4ff58ef01486c2349f80d8d8bdd85a7c93f297facd7170574471dbfa1709058b644acc25b954ef4fc1f5d523af02ca0ca1358cc7d5da9343159d2c9e6230f16c8b0ab680e9db9afb39fd0932a308ebff095e9dc1ce3bee778b21d9e773c95185f0d2a70768e604a1ea5b136a45cff1583a0d22556d77da4877c5041d541ff9b60f131e870add2e4576df07b40f9c7dd33e66d2921ec79c84817dccb2cb0eab9376def7a62681d222eb7bfc29eba531e30e206c98c26035dcd05c45539a23a7d118c24facea607e71f6576f38cf2f4869f47f8bdfdffdb954d62e72cb3025ea9300fd8a551c72ab186bc1329b6b5794f85683f21839c21781206686123a80755102858bb291ce9d377d5022dddf4cf6de275fdc5ab1af276cffcaa0b14d25a021b9ebfd8ccf28fc6b5b3169c2eaba9fd4cdc3138d7e29b4eeb3107f31f8bcb42ae74a9f8ccda6bc4099849efe9158314f9437348f6e44cb22bc3f59823f9169b1392b7b0373062a1e16e7e71e320536008abd2e1e73e3f668a20057e1d7341cc0ad386226585e94b10fb6e5c65584854eaf282ca5ba3087d2e263a300f2ec550db082fd2c17352a928d18c1988d7512f8b6411ec4f6e6a6ef6d7a7118fa94b549b442425360ed8e44665425956eeef8b87b4ea70a7bf132a70bc2c1fc3dc7796939490247e618df9eb3ae05f2269ab6597551261fe0c630433628193ccc6977e5904124eab0bb0e56ddd83ffe4d40f8e428153fc42d980240c131fe70e0bb3cafc0f75005361f1422b34bcf4dcc523e42156b683fb090f28c66b0ae0e556418f8030539e58b401b0d8e6b2e874f738a25150292381ca63171b3e9e46432d86881452228481631796aa29518165b990efca4d0264974e35e6e8ff2e1fe2737919b4a56e3e8736332b75d772306e4a141bef539003801eca2aa4f3c5447f746f1115866a91580542bc1cfec954708deeb5f6b4e43cb6806acb6b367ff3461dffa02ca5e4887abfb87904b81e5b7e8ebedf056d698afca3a36050a6a717ab468a508cb99d6b1e8a937a8861377d198ba9ab7cf0cdb210f839d611c7f61d000d12e2d386df74da0b3e91bbf325104e1fd4c8506fdd9e64ae597deb3222cda21f41210a678c22a25ab0af898316ace9f2825312f4cd72f03f074eb5125160072b6e53f3fa0c185b15ba95e4e984b1a65ea5c6f7cf51e72a7a2c13b74147e6807c4c48daba1b42307badeaec1d6c7c4b129b78fe0217cd9f83d9d79354246653cfcbac7e8a25df571714eba9ff9b4cbb9c70c5e5e5ee461122851e6c8dca81cc398cc280995c5cddebd2c3b2eee3ae59f289585488df6175a4c76e801286fd4d97290258ae751b6d29224c39d9a85323a98e085c0f87dbc6aa1632991a362bdeb05ab9a28b8fcf00e5fec45bcef31c7fe3ab65431f83e91e16f7b190b2a136abeedc74a3acc38f35639152a79dd17ee4512c9e56e5732ed3347a25696304b4c99964600c848503ad4d92afe33d8b89bc81aad8d5f4e833d1b575316bb5a2da79519925e7a3193be47e28f289956183c9a28105b9066bfa14ce29fdf8668d41883dcd0edb0a1dfcf2eb6f99e14b412cba900a8eda2ea66e2bc09fb9fdfc046a87fedd877873027b3f90d6050c4058f12b77b3ed03350e10d8663fdb46a4e070a30d2c00f64984370a12d36df52f763f78f4ebee22b9bcee274102edf2512526dbe07a9daa870d50c49d3b7197d193fca6ee76e34f6b030c59a3100b4b57e99ad6acb332adba3e1f01f9d59c0a1b5aa465f2dc3a1d328f1fedcb1093b821037290def4c0fbbda0ebfe60d314b06a1711c48a94d33987d98a0f902f0c991791179ce40159343b7dedde8bad8eed77ce8343786879dd660f81b740adf3468a5526c046d22782736ff6be75200da29332bc56130d1616a5652a241e544aba7fa27180dc95549c888b3605435fe5e12d86db616cf62d6ea8a872ab4c695acc1408f34c0bb114f6565158c8dc70193d04a8ee6d0a51f07c35e602aa46df8b276da0502c99cba7d70f4d693692fc14c4db6696cf58d413c05820beb126368aaf3d0606bbc54db6984e0bfd59d52bef0b5ecd6049675978afc254ace4ae64dec5bc37f7bc628af56d753a6a236e8eba0ad694a5375762a9289c005f3197184219c49d16dde2c55cd3799f6d0bb08ec3829bdf6d751a375949cb2f2680c5cf5337475764b8ed8cfd71aea346b321ec58d6417ac4c11aec5d68cc074497f4ce469913a39d439e320b056d351067a61509b249a6c51a7bbc2537166c7e1db636c0b043d9de9b3297a0b2ea349a8dc570fbe88bfe96c2bd7aec4a0fa76e6a8f78b948f5d24064d5dd02a1e3ac45c04dfc4c88579db584e6e48709de8a330e4e1ddbdedfef124ff63039a39561ca80d339591098e17a02adaf84be430962275080f48b422ceed49c57af2dde55139a10c017c5f059c096c64417e54ebc27bde98f29eb0fb9456f26eed1ebb24d843dcaa3711f2ebd636f605f9e3a7b8612c05349d56eeb5747b2635858e2bcd30a6204f51d619004160bb9c0f8068057c6ae0e9e8124a7c2ab5dffb7e1d0572be3b3cc376724db340e432fd0dc5884bb0ce9c33d27a0bfdc5161845d9a1796db193e7d80c851e3b809901fd85f4d847d12db8849dd3ac5cc37a41f3ca7e2e7f26adef0daf72ac7659e593005d1389c74342abcc20a1389a39b7ac416af17c7ed85fa180e5631077915c8dd4faa78b16563967e4142c6dd8e6dfc670e66fa79d548a82e4bc07f119c35354d1c46ef08cf95e8d52df3d8c30a724698023c0d49791eb577366212121d8e5bcab9c647d650f06ff37b9c3bdee3a5dc47db4a6e369775042e02bc3e83fe265fb1176b07c1b4f7db0d45daeecf7eda0d3b1836ad77e4cca5cc780ea0c5821690867718a1137b8430989f944a7796cfdb59706936027da19bc9eda9dff2181c02b76867a424f41092289b0d136cc2f070de254e4182eede6b687d380e456513a8c42d862617f61ca046bfaa9cfefa85ec556cabc8ecf178d36a5bcc790a334151db788673021e8320ae44024e822c1e8be62d877febd327660705984b8e4e74a657217f7b2f0c757ab86e9769d4a4bcb40ad84507adc1dd09ab88038c7da2a8d9a88c457d66f7f2feeeff0c1458e03767dcfdcf3113935d5b59c1068fd759cd3fc1845c3bb4b7e39e2e308f57f452825428dd6bb9f42c214e5c3ff3e3c994688cb0cee528f86995c31209d18c1da63e1c8ffabb00699c35db04666663c0398187acbfd679a6ea0c1d26c10350cdb456b2f825a4f6f62715a4f0b06594a4482d862f6155a7e23a3b8b1ae3c8a999477732f1895419f1b921db3599ba2bd0c02250c06c5fc9c7a5bf31b54dec23559d1776f12d1042f9125811a564113a9105064fbd4d733c20a39f8771fb70744ba5913119bd58ddaef5d24f680578dd72907f4e6cb2860c3ae8bcea933eb65827efbff903e1391656483ae2fb70b08b11de34cc9c5a25d984c0ad555388b2c958b546c816507f2d7fc1c6e3c9e619d379f749677dae365ba557be0a1d53e4802362d4914660ac14193aa20bac746196d11a2b5f93c3462d1f57b29f8f9f06d1722790cf9b27c95f0e3111c40ed278e31842eb7b28d6d9b3cfff750af9083f296e42702989d8cd2ff2c59f735398d3156e5c10217cbe6d7b57f69709108cfc34784a14656169df9c3f673e598dd7125c97bfa7385a6c8115cee9843f21107879aaaacd5d78f709d7ae844b7bb9c3feb1a57c2d9dfe19de23be8d42f0a139ae98c160d05fc0168385b9c24f69651bcb728c57b858a981618dd1bf87faea7528d59073014d73ab0418fb19542567db3d0bcd4b8874169a17410c62f88192961dbf75a7ca9a39482312cb0d9407a11ff1bd0c9a1712309cd3814bf2f27537dc24abff98732f94f52e123ecccdc51fb5af62dea8193bc2c5ebcb108ea56a6a43ee463b8dde2637e8dae3eefc616e17832b84741b01495be0a52046f13000b31ae6c1d34fbab878f807fd571d5acedc0f8806833b8231add60471d7e663cda3d2e0d777e0a038fed86861a77944f3491470b5d8e0d6d5344692c7f5c52a40536f632002d5dc3723156cfab204c49895877448a33c326a1d5f60b0b1aaa1723cbd14bc75fc2f25c39310d45ac42243b116de52d0eef6ffc115be75bfe55d6a4d3dc564ba038aa9d1fd9b5337039acd94949109a5c2d3d1b9c374dbbeaa4b097343fe8298d4b289a126dd006364849de5b3d0aeb48bf787e7bc8443c66a8515f321843d62adcb30df897a72771e425a8aa0a9a74c7ee6dfe22af158fafba750f3c61dd7528e911d2cfbdc32135b71a0eb2acef024705a6a705db25fb49c51b4f6ca5c8449cad31799db1e14e21de4f9e6dcee60b91cb72866af53ad5505177822b09fbb6957dcc8a249fa1dbc89e200421569b1e1934043fc350587b96a18c4825fe5f2ed69b0620cfda590f917993922dc527b72ee51050dfcc93cfa270fcd90d4a0e29b2355bc42ea7f6376512e050b1fd28318861d9bd4311e68dae1dd42d0ad4b46acf554586990b1fddcfe4edb316f9a5d24513be51663136a4ccb32bbde1d0e4bb473204cc8c39b136ffa1604cd61f5a3fec672a0938f5a8b8da65525d7944c921f84ebb79e7b423e1605c3fa21ce9410851af664b231074c220f092ccfa3764a1a4dbc5a8ae633ec624f210f3c30d1db12db02a7b7344ce8950bdd0436f8da44a7ff0a83b2a3608d5d58a3f2d4e887691e50ed13b46d5c5a17d4831cd60b88ee093c3c5c1d84b1926a12da372dc2236e537283af9e9e150aac51e45c44206ba54fbfb9782cd728e4842ac82057bde46a0dfea31c42a22dec9239184c44199e25cb2da6c9fd05fa105a54f5ebcd28db342e1d650392475c4749ea1ed1e7fbe74a73b8bf1c744c92b5e21fd526574163243783ca889efc58a7b3073e924a949f9d32f0885efa836dc56f0163d8335265b177e6ed3d9c39845cce017c52b1d22e6ba02dec3643b463a54fbffa063ca5f71d810684acdd5ce1021363601137e7335e241fc4d8624d944e4fccccadb160bd2c0cee2f762dffb1e286bd5894532ac37aafc554b3de8444a04d1999c2c807a79ed09f76f24036e736e7e26ea7245915ea06e981bcad2eefc3685a3f0dbd7fa2c55ce00c2e771eedbc8e1173de0d3ba975ece49fa09b6ac028562df2cf87132090159a2a39d5ef26dd70d5dfbefaa4322e24e1164ce750c7100a77230f19327a573282460d6950b34f2571cd189c5cd4448c0ae6175d9c6518c13bea60f741bdd8ddb3fcbb4179d45c1ffae467763d44408de7e5d776348d51cf5c40617e9d10027b84059", 0x1000, 0xf047}, {&(0x7f0000000140)="500d4dda320180b9cfabdec168772945536e1cdb9c067622d3e872cf2caa387eca412d55efe4d8f4acdf0523e9170c24457af5ff4db4b75b7e1198278aabacfac619f2", 0x43, 0x81}, {&(0x7f0000001240)="2160648deb2312275f833390fd256924f616704a9b723bc47156d8274fd3cbbdc9065c879aaf4fd5e33fdb47b11c271770eb133c9bd03194a9704aafb500bbf10a00edf06bc50ff9c46e4e8536534333239b86157c88f202decdd466c842624d8a4a7820d507f0204caba33baeee48d94090a921083837eee63822ae31d520fa8faeacfcb27c71faa74a56297116ab5983e8152f6fd98972c29826a6e5876e82b3c256aa7424f30f4387994212f9ae798947b0cc2eb20224df2ac45e41abce25a9c2d8818631e39d135777452e6e4dcbdfe7369ded8efa0da3e1d0a280f5e6c434a1c16ac2427dd5dfdeaa6370dc53ef48936006f775837beff5ea93b26f28d5aabfd207124488c6ac721be15c123590f73f824b47ee02d68c9bc96de5f8250a88c175e223acda86924725e848850accd0477a9169dbab9c5b0818202cade9f1f386f6e6fc6ab228f6886c69d820d544373cac249b681b5a37adb2998908ede05fa4160003857f6226e13c47d546694cbfd0dbd6c0439f0cea1f99a071339239b5178bd677d739fad65727fe7713ec5dda6268445b81c66c035ef759afd3f6d752f41a1e30c97c2c0f208a937ef3e46a725d05788cc33557deb9940b43b96bde6b1c6f564057d762fb7535f85198c7a0af6f901cca46e04412ed1ec8d2412cf3da5403132bc8cec5c1bb7e156480a32d3b98750573a0c0da4d4327807f65a159063264612eafb5dce0ab31f0127a5c181f790322155f1ebac82d2ceb8d3bd39d072085d6ba63ca9edd03bd9c5657c851b5c1403f235002c96b6a3cd1c74ea9f3e4dd6cc00c5fdbf95012639631c4d4739ca081bc00ef3c61ac92199e87a3ebf7a49cc99848ae907bdd6a3eafbff32de3f6d0eeb1723e4af1b8ff088c1aa00332521b5776861018834bc5674bbd984b0225c85327a7a86be26a2107dcfe3205f65ec853d4096a7a8bda52e32dadf2061a73d90a96a623cc5afae38752d6e0406fb4ea7edb7f7de4820381f442f98c93ab6f153e778e7845bd9b1d2367cd7192564f5c6b42993c40888e69168fdf7d9bb0dbf08373edb53b915de762649cd30256ef9242ea2a66b00462e78639792ddf2aa1b7fe931430d49506a509729be1a005dbf7fa8953f8fc321240725a59da06b2853ebe7264b4706d7fada53d923c1cfcf3762c0281a126e2a815cdadae1a3ef28745e364358fdacaef3ba616065a997f336ea8930188b5e9d3c77476b0bd34e33627e711864a841c16a7d724a8e4fdb6a56cb3125e4dc5dc38dde75112246dd37acdacc15232ad738b64e593f8a6893e881baf509159d1626bd78ae0fcd4773c330aecef3c24c4b1388deb6d369ad366be89d90d1c2685f33c372b5d99402cff3f90c13f1e1f89cea29d2266758cc548c3fbebb54fc8721c15c21c9a7abace6cb9b7a0c6c360a844e786c3c663d655eda5f60eb33c69e14ab1e87be057813e74b4f50aceae5fbe8ebef7f2c9f3e50c4a47110d3feaeb92cf0a3c9d5a0b638150746b14c5cf343d0e1f3008449c86cee1078851ea3b337a3229fec30abd35695895687c9fa3427c7425cf954d134f744524eba61114eb6cbb75202bb9906273b9f83691bdf21f437e1600b301b1845b3c03bcfda27450e9611fd3442e7b7036b377e5acd6626017304775afafa0bc1851b1e78db8202d2bfe86effb1758cd1a26df0ad8af40cebb7df484751283e8cb1bd8fda3359ecd9fa21c773caa60647ec936ad3b4b4c67183ef245c345fd9c737f1b9706474f37a2d59409e8dffec18feb101722925ebaabdd3d1c9e1acd7fb12c350d8caa303eeb8396cbb370b86af0c8c6af8db5d709c4dc2e393b52c197f1f25f32d08a4c92e2c210b339ec5586917b6085899cb730a92ded2ea36bcb9dbad0ace0aeae010fbdcc7836c0e8c23736a9d18afc3f9f76c4d81a8b635fddc08c59ead753a6065347df5bac090e7bf27a15fc227fba42e88173617f93c79a30674eb1f3bfe5b6ee5155be895a0cdcb837e07ac22f6257e5be690fc511d66b976d2929a3e72e788943bf4615225dcadeae9f96944bc348fbf81a392c050171f24c4d95879dd937f5b88f4569fb26cfb7cb0243c00e2a8022eab549f39be58f5d1a2335e9bf9a981244511bda97d56a6b70ed4dc8585879fdab2e397a9de08688ff1707c068b4ec301d16b4c8fc9bef44bbe43721fdc9cef5f024108138ea0a8bd0ae529fbda9dc5cfc00135a96d492ee9730832072eea9d661845f3319af791bce54764b3bd864294cbeef09c91e269a0a73884ca6720ea953a4523bfc23be1725dba0e03e39a881c176c0966cbae11b35404ef4a60106c4e205d64e75fcf3873dc1260a6169a5d5b78cafffd99e2a1c80dcbac6b88f19f3fd7185c7cef793aa993e69ccac6a96d117e767d2cfcf0bd4ef0292a6438a70f4fd688fdb6335ac3e24d28b3ca65fafb5b76e3b65e59663e5ab458326448ff97a73ce8ff86aacaa2af4cfbf4162827a69840a898d211755c5109108e2c022fbaf428bc6ca89379283bc21d5da807986a5fb311e3491f5ada1afde21df6fa883a8ad119b29da8083ba6094e2da579b966e970c9b4c2c984e8855075c8eeb0911f59aee46d79f9471066eb2c88a67c2254cabf58d481318700806df6c99dd9a930f0689da8e23969dd7c73f8115f7d7b0fa2cea6f06abb58eafe0eb8b2d9515426c5defaffce82d52d20e94731e7ef293e886f3b9103bcb8385039d46afa719994f02a4ba536ba53ce5ec2dbc6874b99ed6c075a745af902ec9546bc8650b4ce05aa93172ca32ad8f972ed9d9e54c49deb8d3591499eade28265421f50af7e947302819edce2d80c6cb335d38430bfa7e4acf3258ea054764e20b6e92eea3b96839d294cf9a648caec2ef3a35ef1039ab3e6f88a1e8275416402353b6209dc9757ec0355e233603e7faee4566bfb9a69e3b37f27a964faa384fbda354f004d7be8024e1ff3631bcf668ab8bf11b28831c5546b6c8ddad0affe1f3bb7a21e3e1bfd17be46f2b2999a170200d9fd54dcacab026ba52d72912da59bcfe617edec5cca01e3d6ba8f0b5405f5d328b48d772713e6d714946d07b1cea0392b5e50d27c8f46ce627d2bfb4e651d979e982880b42e50df2ad847191404658757a63da8363f27b12b1a3696ea754a5f44b069fb4cda1d06ac7de8513c9c5d87cce80e6520ec1beaaa88a96de6665e87b2b56749dbeffbcd818c76d589c47a7ee23f1d225ee7cbc55f926e198f1fe21753a3f58398b7f203a669f6a6f619ec581e0797a802da9a7ff64041ed4923a12af905d7f4c7e2dedfb9b44ba99e9933f726caa4eb221120ac7ebe543fad52c1f7de4b7737f41438aad6f214d878107fab36db23d23335ee00c8152153f8dbc03c995fb9a6986bb0299190120d63b504f42ed0e7dd17277c1c1e42c57adcd3aee9ed9b91a743464acba8a98403f3d9666b9c17752e8670c2cb349e9da42818a9dcb1c1da7337473eafa2e3aea30bcec314613c71c1b1b496fe880d11b0f680786da8a713a8b7d90dcea185c58f81d87403021e11ce1212b918066b00cd8e6d7594b9a4c727a3b95b577bae355196369032e2bd26f0decc0a4772c836da93d8974645797ab70fcaef2639ba8b610614669eadb458b399434b19305984cf9078f789e662dc258390103bb984fe246fbe75b07ba8746c77da746dbcac9c481651df078b578a5cdfdf14462b1f02da8dce19ab16b8870dbb913d75a48d3aefc4a704130a37debe962a3e781f5a8a62b7fb00fbae933c510e846f161bd4f0508d12996b501a6b51c0daa6a3c5834d68ffc8bde428ede90d9f55845acf1bc5437a7e82158d5eafb6e3dadc2f591f6f4da24754518ed00fe6704ef585a2557d48ba0dcfad01b6091e6cb4104c1bfaae4f5692405e8596836072c9ccd4892091199577bbacb79f8538e1f8e9ddbc6372c28c3e96a0f31a8743b6fa87bdc4979973b6b3de2ecb1b3deb2f2f9b352fc9e14adf096feeec7321a0f6377c1a30605175e64073ab4f07afa58da659e79728bac15bee00c471e4c80d119f7abab462e2d48ace363875e2e2404c73a805ea2372161c80d0b136a879d9449b9463d8893891ea6fe56d5f0c4c2fc5bd94e3df9b243109b0ff121a91dfe199309a24c86147d39669260a0176980443dd6428ca577e9ef9b119b02605059d72e177156229b2eacbb1c08c3fa025ed21c7f06b4ce3f43d63ea29c8f0a130d2ecd1eba4348a6368196273edb14886a85220788725c462e0fdcf01ee7df9932045e8d03e9ed1657b23057c3dfa173dd6a6bd95657e1d3484f2fbe357c42cbe0ba9a4c42e6c5a179aeb361b5862cd9dbe8af59a2a91634aa54289c84f5b4cdcff9fc62e2342317ad7db47670895f02bd98a03f61d9ff5ffd34e6a4375c950d5b1b846ce505297e6392ed182ba79391c6bb66cf6f658e9b4790b2af128e59ce3b11c56bb1ace110e15fea3d7162ab16f899423b1de1e63fa3eb6510e8321a7bfe56300c6d53d646ac4aa014ae584f6c75371a96c53a9b695a7921c29a1a275e31feec83b10d556af84e0c8c8a517b061d56c8727a23464f430b8d56cd744b6bdd17e6f3d94e887d3c8e477fd23f0cf5fd70d1b5a0b0eceed2b632a6e1280fd99853cc146845c2624e003872a61f8e95b53faec8ca5b1dc4a6543e0f9a51bd314cd2c3b1864714350bf03751160b663d3a1e685d42d4ddb97b9d24f879a2872b40e0d807b4c801eac04b31236d9f5646b49a3b0123a1df080d16a2ba5ec9f29609e9346d87f4e311f854b0a070b055e99b7baa2147ac3c56a7277c57285d4f07cc3563e1abb9df26d7b3ce959cc34238812e0b79bdad4af6bdd1f5e82b3994c6255b1103df23e6fd9d08f29fc5d9ad14d4d8bccf85dfde835c6b2aad5bcda4cf3d8f2fc6410b68c8b1065c8449f8484c62f8386ce2544577cbc15b17a0f5d9199a66100eaf03b6d06eea09e32bbe390d6739f13431d301cb8ed79d39a17c5c0b0e9079740126c46a2838499246f9918f1ed6290fa00ebdab51ea11d4750670e76ce4571f1eecf64b70617147d294541c036952c9665486570c4992d3e0211e746c073c23a18a7a143b11c563d48e2af1b163e7617a100e2ffa9c3b4f0b4d39894a12273eea11b736ba3d6e6599ff3dcf0175c38ac568c82b612813e61db37c35a435c8ec070c4db5045b8832de55362bf07c8f068bc1ed897b0050528b519111327d90edade1c5f874724865728b3b525ec59b72dddf83e43283ac29fb5be609305844a1d4af5e42164a845654ef5f6b8aa45e9f2cd0a7b05964b66f13a3c7845d2863e919c46426d6b5fecd7a4b0bd1b2dda22df095425abbd3faf116463a376497455e87081aae162fec4c91f1e8d24229263eae9d8f1fe349fae3ad6d57c28d0a5ada1cf678b5fa5d769c26f00c8d3e3456d143653c3a57fdb83ebb1dff3233e95d2c18eed2c3e553c96413ed161ce43ebddcd38e794cca6eb7a68be367c3447d7750a73c725d2f330fe16f99e2efc9f8dbf19907d65e8bf94c08b7573189a2c42649d2da9ed31c987a2af183f1b6540c930ac1e5c6c853285402d46580760bc98443cf8cacaed5ac24bdf2e29745ac6d7eb48e8ce9d20f162ca62f6422453c92332367c1f07b39e2241dda50448184da798c4e1005066a92a2acb3a4f72ba1ee8509580cf77f6327f9533256dc48b268a1219764ba22f8cb9e2a060f12312dc3e08151d793df63ad73bfcac35b0f102067cb3e668b761941dc471936c0266172f0684a1766412640cd44dbf5", 0x1000, 0x80000001}, {&(0x7f0000002240)="447656751791ff09a7f44f4306d5fa36aa2460e1e3fdf52b666b251e8e001ab9609a838d6be06ff825ac5db2bf0298f8a1851301fea01d7286996d8c185e64e8c448410885e8df814ed32018fade905247bffc401f9c0b7335f2f58e8c9e5931ab1dae6c5a4b10f75dbe902f34", 0x6d, 0x4}, {&(0x7f00000022c0)="2890ff5731daf22afe54debca64a10fc2f0a2b6be157d4ac68c646c3a4107d7bc6a66c3423bbff1df98b30ed51a44cc841d05686e8b74cc781999cc60961f2c58001eacfe7a831f510cb4696727fb37a84a4c4680ec543554f025d5c2e94403110b5426170f6c936be61d4bbc5630fd76f1ab1cc8b6855c23b7a9ca9a1c09e97303778a14bcac0111d38f1", 0x8b, 0xaba}, {&(0x7f0000002440)="e31faf9000938744fa7523ef629cd1bc84977c349c17556bc8ed1b34da32c6466f9ca44f9d5d85331dd7f6d7e8e148efd32a0409ea1e76bac5c10ddaf54a5788675f641932b5f499e68261dab12474c49d78f46b1fa3716c663b09147b44f8e4dcec2f6b45c0e76075", 0x69, 0x9}, {&(0x7f00000001c0)="2c90feb083a6971ac8cf8f87cf1e5cc9413b4fd29c605c92b8dcea80f6ae6bf7e00090f348a90fd71ae321bfdd2e76f56dc08329f25b601a", 0x38, 0x4}], 0x2200002, &(0x7f0000002400)={[{'%'}], [{@fsname={'fsname', 0x3d, 'squashfs\x00'}}, {@uid_lt={'uid<', 0xee00}}, {@subj_type={'subj_type', 0x3d, '.'}}]}) r0 = syz_mount_image$ufs(&(0x7f00000000c0)='ufs\x00', &(0x7f00000024c0)='./file0\x00', 0x7ec, 0x1, &(0x7f0000002580)=[{&(0x7f0000002500)="3950ca6a292f702be89f30e337c4eb2c80854047f4bbb57f0f989f2afe74cdff806519ce0b2ff7b89ff1de1dbb85473cb1657bc10c2391e2106bcfe9541cf0a3ae403a", 0x43, 0x6}], 0x100000, &(0x7f00000025c0)={[{'#'}, {'uid<'}, {'$:^'}, {'#}'}], [{@euid_gt={'euid>', 0xffffffffffffffff}}, {@smackfsfloor={'smackfsfloor', 0x3d, '.'}}, {@smackfstransmute={'smackfstransmute', 0x3d, 'fsname'}}, {@measure='measure'}, {@pcr={'pcr', 0x3d, 0xe}}, {@fsuuid={'fsuuid', 0x3d, {[0x30, 0x65, 0x67, 0x63, 0x64, 0x65, 0x35, 0x39], 0x2d, [0x63, 0x63, 0x66, 0x34], 0x2d, [0x64, 0x0, 0x65, 0x33], 0x2d, [0x31, 0x65, 0x66, 0x64], 0x2d, [0x63, 0x65, 0x31, 0x38, 0x65, 0x64, 0x35, 0x35]}}}, {@dont_measure='dont_measure'}, {@obj_type={'obj_type', 0x3d, '\xb0/'}}, {@defcontext={'defcontext', 0x3d, 'staff_u'}}, {@pcr={'pcr', 0x3d, 0x24}}]}) getdents64(r0, &(0x7f00000026c0)=""/169, 0xa9) 12:41:11 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x500, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) [ 349.266473][T11225] EXT4-fs (loop3): Unrecognized mount option "" or missing value [ 349.419273][T11227] loop3: detected capacity change from 1024 to 0 12:41:11 executing program 2: bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x10, 0x4, &(0x7f0000000040)=ANY=[@ANYBLOB="b400000000000000791048000000000061070c00000000009500740000000000"], &(0x7f0000003ff6)='GPL\x00', 0x2, 0xfd90, &(0x7f000000cf3d)=""/195}, 0x48) pipe2(&(0x7f0000000180)={0xffffffffffffffff}, 0x84000) r1 = bpf$BPF_PROG_WITH_BTFID_LOAD(0x5, &(0x7f0000000340)=@bpf_tracing={0x1a, 0x2, &(0x7f0000000240)=@raw=[@btf_id={0x18, 0x3, 0x3, 0x0, 0x3}], &(0x7f0000000280)='syzkaller\x00', 0x7f, 0x0, 0x0, 0x41000, 0x1a, [], 0x0, 0x18, 0xffffffffffffffff, 0x8, &(0x7f00000002c0)={0x9, 0x3}, 0x8, 0x10, &(0x7f0000000300)={0x1, 0xd, 0x8, 0x61874802}, 0x10, 0x13d06}, 0x74) bpf$PROG_LOAD(0x5, &(0x7f00000003c0)={0xa, 0x10, &(0x7f0000000080)=@framed={{0x18, 0x0, 0x0, 0x0, 0x200, 0x0, 0x0, 0x0, 0xff}, [@generic={0x7, 0x3, 0x2, 0x7, 0x2ca4}, @alu={0x7, 0x1, 0x1, 0xb, 0x6, 0x18, 0x8}, @btf_id={0x18, 0x7, 0x3, 0x0, 0x1}, @alu={0x4, 0x1, 0xb, 0x3, 0x1, 0x10}, @func, @generic={0xb9, 0x2, 0x2, 0x1, 0x8}, @map_val={0x18, 0x1, 0x2, 0x0, 0x1, 0x0, 0x0, 0x0, 0x994}, @ldst={0x0, 0x3, 0x0, 0x0, 0x0, 0x20, 0xfffffffffffffff0}, @btf_id={0x18, 0x9, 0x3, 0x0, 0x1}, @call={0x85, 0x0, 0x0, 0x93}]}, &(0x7f0000000100)='syzkaller\x00', 0xfffffffb, 0x0, &(0x7f0000000140), 0x70bbccb34e48d806, 0xc, [], 0x0, 0x19, r0, 0x8, &(0x7f00000001c0)={0x8, 0x3}, 0x8, 0x10, &(0x7f0000000200)={0x4, 0x2, 0xfff, 0x543b}, 0x10, 0xffffffffffffffff, r1}, 0x74) [ 349.469845][T11227] EXT4-fs (loop3): Unrecognized mount option "" or missing value 12:41:12 executing program 4: creat(0x0, 0x0) open(0x0, 0x48000, 0x10c) r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x61c1, 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={0xffffffff}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000580)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000300)=ANY=[@ANYBLOB="5001000010000307ebfff40606c6000040041200", @ANYRES32=0x0, @ANYBLOB="00fffbffff00000008000a000d0000002500120008000100766574688b010630c7a005b05a19980dce7a2594fc5e60c27c16104ffc602310dfdec82ec185edadc01342df9a8ee7b7512ad8986cfc8a6b4ea21b4665305a3d06bdfd58ad02cbd3340410d97e263f3e5eebc5f6725cc7a8d35559e9707c7b21a9156d9ad90d3b1c9e771a715b354767324001aeaeead6961455e73897340cc5da2aba2681302785ade36b7aa936ea9251fed365e848eec3a7638b5758c73937977791c229e3d411d193871d6c73de78e3606c"], 0x200}}, 0x0) r1 = socket(0x10, 0x800000000080002, 0x0) sendmmsg$alg(r1, &(0x7f0000000140)=[{0x6815, 0xd2efff7f00000000, &(0x7f0000000100), 0xa, &(0x7f0000000100)}], 0x492492492492a3e, 0x0) ioctl$BTRFS_IOC_SUBVOL_CREATE(0xffffffffffffffff, 0x5000940e, &(0x7f00000005c0)={{r0}, "3228467f67054f6dcb582bc3d2cbeb557a90b932dc5b334339e4327eede0650320ea0c7151cd9b96c4e92f962d002bbf03b273ad529b0aecbe56d9e365003750666898e9b3c40955c6f778975827ae491f24551c495e92f884df5ca3d72bdccdfe0bf2cf1a108622397666d6b7e8c542e34483a4a86590441cdf0fc64c155f6547bc70a7529ad9e8187e542489aeefb29bab51f95a9e2940a7880c9d31668a9d04aa4f434086f917af0a1afb1b2abebce6bdcc43aa6f317c0967f3cd614d7f8efc4b8ac95ea5dbac92aea465743402cc61e1a5016e37b3a5f6524d172462cca5f03a36f864a1aa4a1167092b207e2e8430f6152cf0c1dbc36e868973e0b25d1540eb8888352671c73bb21a9c9d89d302e2ef264909c0e5c39665abdd075649ad5492861dfc5acb14b28a038e2caeeb9d451de574837b8d2f9d2c2433992d2c69e167f30b9ffaeb0641a2c8e99207e75df3b7e9779e784d4a3858fa08cf01391abcaca0416efd3200aeefb8f5734ae4360e015c204ef66b874381880d52c36735dfe0b0cd59d53360a1673fb8dc1a0d1f599c272db97a12a2d96b2ebcf22b86bd7dbd243ae7b7a5571e1a35d9c73322ac01c2a74d9c340f15fff157d291607dbb74c22f209bde7b60d531278371968bf20e7b62f5f0dbbbc2cb5ac0f2a3ff0a1b685b51570318318e946c0bc828dfc11ec9a1303cb59e29c069a026d5550695087888c55a8f957e4f52582d3a76c7474a97a93e88f1654caa79be77740cb54744672c159da4b2ec9fd6d3984eec06e155196a1e0e27028376007d9f91395f2bf144c3a845c256be73b99870ea1698986b05bdb599fa217ee66b9303e77456461a863a36507ceee519a3641cccd3bb56b3aa76df7c9da2406ce4e16ea6d6d84d05201a72adeeea8c2f707217b50d7d836be7538d026964c1f2b77b4ba4b8146a7488f186daf2c3cfd89a510286e3a074a5e2d3da6e997ab029377bbd0c04a30021b7f391c15e2357498c66c80fbb56a261fff866d8852b229740e5f87399d0fcd2ae7e22b48fcac4d4411f7f49a092b2a5c7b955abf62c58d917a00a3d2fb37cc6c819e471c2afb5d9cb849c42ff14c37cc544cc6fcac01287b646258f87f655449622729d2dcd11df591d24eba90f81a8260c2e84d45857e2f224eabcb0b8acd18f4f6283afd14d94dd0aa8bf1068e45be85aef98069e192df9420c509d74aed9568e46ebbf6be8b9988630a1704858280aac84401161b17c7e4e4124221d68ab453093dbd668b6f3f7e8709b54c1759322058ff6297c192a5b95a6b0e33ae764d2da5e2cfc546a02947f64ddaca0715e2b716824523f0d0831945ad2881cba31528215496bcc7a5f19ef713057e9d90f221314e0b7caaa9aca14731ad3228b8141afc5c0adb98bc4ff7f9dd48da7ef556fd5acdb2ea26d9d3f6fdb7274274f2f62ebf33c639b8376f34c7ad170515f7e886f6781a6d2c5b5cb23572ea27dcf383ef565674d4521e7b8dec9962513e863bff8186378e990dc3a1910c7ebb32ae9047763319c06e7ec4ffeed139c71d67573c08c1821d892b73504dffec6a6705ce4adb57e2e84ed6b85277d8217e5bf4582951638500c1661780ffa3c56b88dc055204929f2fd01884f179d2d2b03738116643ebbde5adeb771967aa9fa80b3ba57ca4b514ce7efd2c2cc7fbd497ba5ec218874594d7b3ad6969866d934f2bbf89862c2e4123858b16c4e612e8ddfcf64a731ffb2ebac385f4087964709a4eef92995c103ca44f91b0ce1ca8197568d73d4ceb22e246fac423f4a2356e8f81b7847f5b09f9efe7a07ef42f6be12e9cd31033d598db614c5baf2b1597f74717216711930c5a4fd1c511b9332128444decf30a4cdeb936fdc61ccb051626721e596e2e1ada72d3dbdd1fbba62b15a9e58f1a359235a5df4dfff8d593b1cc619389f8e58324fc8d6b25e3cd247df138a2235a0b01d7f3f400ca4b1abb604786d295667f432440561eb6f7f9dfba44cd860b3cc83a41e824ae0f3ac3ad34de5d7d502d178e7ed8d2beebcc11a568b11dfdb9b15466352ef6514e915ce1d1d31f754fc7b687333c53635d25cc739d7218d1ac6a41da2d346c4b5d700ad72834bf58b15953b0cd51ba2a03048b022eb087f3711ffb98bea7fe36e55b1b392adbc7eba604e33fbaf828f7240c2a428d0f75a5646e9b01a03deac06ac9b4a147edacc1a1fb41886c5593173dfaa63e1b0684e81952a86f9e8904f97e6658fad053410c6207ff5647ba41f34dbe16a85df0a5777556c8fbddc4a9adbfd41d72cd7d8a9cdbbdd979686f6e16bd24c082bac6e2597c00ff5dad8218d8b7d819300e95de3c2602b05186ac46127c5827a42dc1861d0e94f7f58ab2e953d25888f64e65777c2652a30b5402469372ff1994d70bfbc4d49c35d9108c61fe224c1a1191d31823cbf49cac591d6ddd09a1092513502f03dd69192a0c33fdb98aee25704908fae4d70e6ee4695d1474d05ef9dda9d87be77a179d3f6ea30f95911c6c2591d6bbb3a8fdc4a0ad8d26eb631223170dc29616bdce8c28c492abd6508d9297d5cc2b352efa9ac952c3c375d73fafc79a15daa31c250b3cb71729290b36641abeb555747aa2bec89c42c896ba4c82f11455bc2849bef312489ea5062732605c16dd825cfbf4a1d2e5cdac4a2ca3f37953ec1a5dbd1f837244d9abb9c5d84a6879f1ee13c09d940bb7ed53ddea711b3a5852e3cb3f304f8f1acdaa1c3f476d4dda9fefef8b2cbfc2785e8ec6739dfeb40be84b06965bf4d8a13350469c4892db61489f75bdba1f6ac59df797e1ff608802ca854b8dc70664905d2e3818245c797caa22c46a5cbc4d6a5242a4a174bddfb5068f0611af48a0dc8e0b13bfa3fc2eac0755dc1481960c183161fb61a2c1d4e6bfc47564fd6409cfa3de658cc003f4ea2d47d5ee6445cf5517f5f90c1cf13009ee9dd79f70c4b80dbf1f10f5e206d80c497e8bfc6fd5d89e61312c2d863892db36b8d684663b7d608a89bdf1c575bddcdc41622d3ceeae0a7195c9124184ed5b9c72f6cb96f64210d09e1713e1554b6700bdbc48fe97efc7d7e0e9a47c16556f0ee9f77678fd3284bce6d244436beb9da96f55c32e9697395cb0e7da45ffbb4e8007553654288d87220c3e9a9110bc31968526b46fd55d480f4a0d7b5cdb4d9253a21b76ad17ccecee76bf6ffb2f7f2de106ab4e3e289d10e67f9a803fd88a4af2b72159525236f053b624fd3a7afc452c72b558c4ba9cb323217e12d948d33aa7cc2a785a6ab6988a3f94377bc453b80ed38069f1a9cd173d70e80695f527450931254f078e51f352d180d7219d4a48f4d374d5fe653e152233ef6fefbfb0b08830e89389af447b9e06d24889bbda6986ea61c45916e8fa8775ecd014dc837062e2ff20b965b330a647e656b4e95aa976c1a1e156504915d4567546c3b8ef5141b3d9e1542b4f06e0f0ec101886c51ac47354aa253199855d53911ec744704159c1b914c640df25ee62d82a3a920698c0dd0349e8270e5b236c28e29e1a64a84be4323637d22a26f3c91fe5b5b5454f807762a91aa8dfaa40cc51207b3577c201ac35eb9dbd335abb02aee1fd8da31a2ae2325e0924da958f1a39c2ebee86e4902309114dad6bc00369bdc6b5a4aa2bca1d89e497b5204490121183a803d72e3d4a515770664a1a4565890c630f61c167cdab720b44f8a445f7830585014240c7faf5241eaf31cc1045e3836c1e6bb81664557a3995c785ed8978850a6ea28a3dfc5f5f2852d68cd8fcf2bcd409b6b0c848d1637678cadb36af440357e4e349474e5112b61e6e0824e55c574d9bc538cfdda049b72cb9b0381d1e7258ab51fbd39b07cae592a2140f1b55569475115c82bbfee603645b40bba78529af17fd931bb7a89a402a37eee93a800a47d9717556083d30de27a9f207dd7d8bfc1b24442977edeb964d3d9c911300a49c66c32121676f647224f6901ba2dcf4d1a8cc23217018967696abfca1cda4cad398101d69c6e768e6aae57b1a00e51a91f3470dcdd584370c54a21ebb4f721ca31721b824e8988f801d772089dff5c8e4ed4a648899170dd442354c6a7ae4bd7081467eb38d53b9eebb6254ed8e58bccc4f49038430dcbfd4e02e41b581b0f4496e16a16dce665108e57a140db10388a1fb5ecfe1ed97d8f1c87c1dacb7766590922de82ccc245f87f423804c14554c170e5c4d79b87139e8fba847b71a55a83e2314e8e6355f50e1ce8d2989fbeb7a3327f5843f71ecb84bb6a50188a1fe3a0309c16464bda8fefa99400c355e8143c3272ab3293fe9915c2d2e9af2f3fd8602c135e8b78e12132d2fc28af02221c7e91ca81ce2da7c35b5415ae502e3dd1796e8318d0024c9f0bd84e1df68caa032d548406c01ac0d1f4b00c1d94439f69acfd742c775308eaeefdc0ee2db1c7ffd422ad933546ac4364cc378222338c1e34688076546cae72022aed7c456943dd0ac0765e6a1cc9ea1574a8b65ceab451e61766b13111e1564650534be53d70558f8108c53fbbf25e6b7430fbf7986cd669813ccb68d8d5f932dfa7cc2052fbd0b76e2d2f5e311e0430eb9b033c63f97b16a72c662b1cf22aacfa07185d12f9f6016d0bd42e5459487a3b85b56268ca8bf83e9d8bddd10e553310691eba0ccb5562ef65318b2c5d05f1d589164f181a5dedf886ffa90d97990be15dd66a81176463164cd0973cf58f7a5cf43d1965588c64d0a693ad8e1c07f9a0092168c981d7c2f848b4d44a8cf0a2af563db19e8d4f81c46bd96644edcdb36f502c9b6b1b5e2b5f42b6c3f531c24fc1d789ff5dbb11c64054c0a9ac3df365b436383d5002da39c12bb28e56f516dc6ceab79820b5f1178cc24dfad8935854c4cb59576a3c5e711a87428f8a55511b91713f00dd5e3b86019d8b13c844eb5f42e63998f7f5fa253e278454fa48b33e56336e73cf9ed3d8ccd51968336dbdefe611eadc22efc63f0b3865aa38e7f079afde237079213d8ce3d821b114b969d6d1dcc59172a054abad2a9ba9b64e9d72bbd244e93273255e85cde7fd4d725584330e8ed7956cdbcdd3bc5d9b30203629c566d9470fdc9a469464da33ed3103ab632f8ddcd71cfbbee328ea8bcb5aa1c364f021ab88ac22085f0e8e00aeda7b9936b0199299b2ca81f4709e6c64dd03908658005cda447c8b3ebdce2fa51763944cea878b227a3aa290c223ee516f98477b6286677a217b48bdd9fcb5dbf500ee2b8ae0444224e2459b928267baa9880960e2609cf6d4e95ce547ff959775434fdb7f9ef1c7dc325e3495d2d1bf0ba8b796c5096c25162a63a5b57cf0036d4bdd2bd279d7b7aca9934f2a4036311d8231979d6ed49173d5dda5bc6a768b8f2e40cdfbc461e1ceb1bf94a817dca37325dd06ccd45dfe490ad5e77993747fb0817c1987f297e5022a938cb52b181c51a24120374bf1d1108283f93ae7798d5acc3131dec3ec4005dd085269922f8c35ab3e311991f5a663143a5c6f06bb99208eb22c82aa2e76de0f116d9099ba5db4cc51234cff32adf6a0c207f319ab04fee8e5ed5cc282733ea792d70e550a243491bf898904ece4afdf0a49246fb20b586938519ccb50e852e3739172ae4742cb98af45683b7fd291a5a7b175f8c755885df75a8d7dcbb85500489e9c0bf5c659c40527647ffcadd8a273b3f53f7f0eb2715deecf03596eff50eb8f5843d3e51949b8c7e36a998da8c335559c2518c9897147fdf1f4d910efe4f065e74cf5ccddaabfb10cfba1bf1d55b3"}) bind$inet6(r1, &(0x7f00000001c0)={0xa, 0x4e23, 0x9, @private0}, 0x1c) r2 = socket$l2tp6(0xa, 0x2, 0x73) r3 = openat$vcsa(0xffffff9c, &(0x7f0000000000)='/dev/vcsa\x00', 0x2, 0x0) setsockopt$inet_sctp_SCTP_PRIMARY_ADDR(r3, 0x84, 0x6, &(0x7f0000000040)={0x0, @in6={{0xa, 0x4e23, 0x8, @mcast1, 0x8}}}, 0x84) ioctl$F2FS_IOC_RELEASE_VOLATILE_WRITE(r2, 0xf504, 0x0) ioctl$TIOCCONS(0xffffffffffffffff, 0x541d) socketpair(0x25, 0x3, 0x0, &(0x7f00000002c0)) [ 349.889667][T11254] loop1: detected capacity change from 8 to 0 12:41:12 executing program 3: r0 = syz_usb_connect$hid(0x0, 0x36, &(0x7f0000000000)={{0x12, 0x1, 0x0, 0x0, 0x0, 0x0, 0x40, 0xeef, 0x480e, 0x0, 0x0, 0x0, 0x0, 0x1, [{{0x9, 0x2, 0x24, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x9, 0x3, 0x0, 0x0, 0x0, {0x9, 0x21, 0x0, 0x0, 0x1, {0x22, 0x22}}}}]}}]}}, 0x0) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io(r0, &(0x7f0000000280)={0x18, &(0x7f0000000080)={0x20, 0xa, 0xa6, {0xa6, 0x2, "e4444046b7400fa2d17c960c9d475579465047a6a4fc150d6dc33310a1de9c03555eafd3543d0357aa656f54be48a5aef8d308245c981af18e3609736e31bbc45418b75c715f28dec540f7a05341e5da5f68b2e2a47475b58f55344dcb0bf1f9780bfa94bb1ce34c825910869b9fb2ea6063fce0093061103875e311770074e04febdd598772f4a3df9bbd6b4841842449121ba1dadfd1ae592fbd0689d40297f6b0b445"}}, &(0x7f0000000140)={0x0, 0x3, 0x4, @lang_id={0x4, 0x3, 0xc0c}}, &(0x7f0000000180)={0x0, 0xf, 0xc, {0x5, 0xf, 0xc, 0x1, [@ext_cap={0x7, 0x10, 0x2, 0x10, 0x6, 0xa, 0x8}]}}, &(0x7f0000000200)={0x20, 0x29, 0xf, {0xf, 0x29, 0x1, 0x2, 0x80, 0x0, "9e2af11b", "d35a1519"}}, &(0x7f0000000240)={0x20, 0x2a, 0xc, {0xc, 0x2a, 0x1, 0x0, 0xff, 0xff, 0x3f, 0x3, 0x7}}}, &(0x7f0000000700)={0x44, &(0x7f00000002c0)={0x40, 0xe, 0x5f, "e9dc147c4e2afc1f9efca7a65f1d8c87d86577164b5d474d243a91763cecf93710306462d0038ca90bb0444bbb1dd1ac75d748be3b38fd6caec08b54cf747507a0e74bf6931c1e2ce8db79a95a767c75d4831165002947751c3272fc8923ac"}, &(0x7f0000000340)={0x0, 0xa, 0x1, 0x6}, &(0x7f0000000380)={0x0, 0x8, 0x1, 0x6}, &(0x7f00000003c0)={0x20, 0x0, 0x4, {0x2, 0x2}}, &(0x7f0000000400)={0x20, 0x0, 0x4, {0x200, 0x80}}, &(0x7f0000000440)={0x40, 0x7, 0x2, 0x5e1}, &(0x7f0000000480)={0x40, 0x9, 0x1, 0xc3}, &(0x7f00000004c0)={0x40, 0xb, 0x2, '|='}, &(0x7f0000000500)={0x40, 0xf, 0x2, 0x800}, &(0x7f0000000540)={0x40, 0x13, 0x6}, &(0x7f0000000580)={0x40, 0x17, 0x6, @dev={[], 0xe}}, &(0x7f00000005c0)={0x40, 0x19, 0x2, "0daa"}, &(0x7f0000000600)={0x40, 0x1a, 0x2, 0x5}, &(0x7f0000000640)={0x40, 0x1c, 0x1, 0xbc}, &(0x7f0000000680)={0x40, 0x1e, 0x1}, &(0x7f00000006c0)={0x40, 0x21, 0x1, 0x6}}) syz_usb_control_io$hid(r0, &(0x7f00000001c0)={0x24, 0x0, 0x0, &(0x7f0000000040)={0x0, 0x22, 0x22, {[@main=@item_4={0x3, 0x0, 0x0, "1c492a42"}, @global=@item_4={0x3, 0x1, 0x0, "f9191ec9"}, @global=@item_4={0x3, 0x1, 0x0, "20001700"}, @main=@item_012={0x2, 0x0, 0x0, "0004"}, @global=@item_4={0x3, 0x1, 0x0, "d27db4f6"}, @local, @global=@item_4={0x3, 0x1, 0x0, "ec6bef33"}, @global=@item_4={0x3, 0x1, 0x4, "962866b4"}]}}, 0x0}, 0x0) [ 350.093808][T11254] loop1: detected capacity change from 8 to 0 [ 350.193168][T11258] loop1: detected capacity change from 3 to 0 12:41:12 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x600, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) [ 350.508823][T11270] netlink: 256 bytes leftover after parsing attributes in process `syz-executor.4'. [ 350.519685][T11270] netlink: 25 bytes leftover after parsing attributes in process `syz-executor.4'. 12:41:12 executing program 1: r0 = syz_usb_connect(0x0, 0x24, &(0x7f0000000000)=ANY=[@ANYBLOB="1201000073b6f010cd0ca31053f40000000109021200018f0000000904"], 0x0) syz_usb_control_io(r0, 0x0, &(0x7f0000000600)={0x84, &(0x7f00000001c0)={0x0, 0x0, 0x6, "dffe5fa8a270"}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) syz_usb_control_io$hid(r0, 0x0, 0x0) syz_usb_control_io$cdc_ncm(r0, &(0x7f0000000100)={0xc, &(0x7f0000000040)={0x0, 0x10, 0x5f, {0x5f, 0x22, "80a89c0661f667ba63bf5d73d73f8378bbcd98ad751d3d95ba7697300a92c115065c86380bff3d20f98cfbccdfaa87430d5c1e85711df9015950e3763c8903613e6aaaaebe307bd7abd6af98015499998dcf1ffc57147f0e4f51e57a79"}}, &(0x7f00000000c0)={0x0, 0x3, 0x1a, {0x1a}}}, &(0x7f0000000400)={0x24, &(0x7f0000000200)={0x40, 0x10, 0x86, "87d9b9bd7b392c39ee1de956651dd507cad7c124f698bb48d72842fa4b25d1d1f1d4e97d5bd9648e10ad6590df46f8996e879b69b307f793af6d1d5acfef2e9c6ef4a565c380e425e510f8a2d2758e13b82b8ebf15213d33f5b4cbda122dbbbafa93cacf967ec778e9f4fe0ea42bc29450ce8a10b0b44ef568bab12fd3bd2f0aa7a21e2df5fe"}, &(0x7f0000000140)={0x0, 0xa, 0x1, 0x4}, &(0x7f0000000180)={0x0, 0x8, 0x1, 0x20}, &(0x7f00000002c0)={0x20, 0x80, 0x1c, {0x81, 0x8001, 0x3ff, 0x6, 0x3, 0x4, 0x2, 0x4, 0x1, 0x40, 0x7fc0, 0x2}}, &(0x7f0000000300)={0x20, 0x85, 0x4, 0xc5c}, &(0x7f0000000340)={0x20, 0x83, 0x2, 0x1}, &(0x7f0000000380)={0x20, 0x87, 0x2, 0x3ff}, &(0x7f00000003c0)={0x20, 0x89, 0x2, 0x1}}) [ 350.878993][T11270] bridge0: port 3(veth3) entered blocking state [ 350.888128][T11270] bridge0: port 3(veth3) entered disabled state [ 350.948383][T11270] device veth3 entered promiscuous mode [ 351.026918][T11270] netlink: 256 bytes leftover after parsing attributes in process `syz-executor.4'. [ 351.038205][T11270] netlink: 25 bytes leftover after parsing attributes in process `syz-executor.4'. [ 351.305873][T11270] bridge0: port 4(veth5) entered blocking state [ 351.312511][T11270] bridge0: port 4(veth5) entered disabled state [ 351.321779][T11270] device veth5 entered promiscuous mode 12:41:13 executing program 2: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000040)='ethtool\x00', 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_DEBUG_GET(r0, &(0x7f0000000740)={0x0, 0x0, &(0x7f0000000700)={&(0x7f0000000080)={0x2c, r1, 0x1, 0x0, 0x0, {}, [@HEADER={0x18, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'ipvlan0\x00'}]}]}, 0x2c}}, 0x0) sendmsg$ETHTOOL_MSG_LINKSTATE_GET(0xffffffffffffffff, &(0x7f0000000240)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x40000}, 0xc, &(0x7f0000000200)={&(0x7f0000000140)={0xa0, r1, 0x400, 0x70bd2d, 0x25dfdbfd, {}, [@HEADER={0x8c, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'caif0\x00'}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'veth0\x00'}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'dummy0\x00'}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'veth0\x00'}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'ip6_vti0\x00'}, @ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'veth1_to_bridge\x00'}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x6}, @ETHTOOL_A_HEADER_FLAGS={0x8, 0x3, 0x1}]}]}, 0xa0}, 0x1, 0x0, 0x0, 0x4008004}, 0x0) syz_usb_connect(0x0, 0x2d, &(0x7f0000000040)=ANY=[@ANYBLOB="12010000d851da2046081041de3f0000000109021b00010000000009040003019aedcbf9e2c0442a8fae8ca717", @ANYBLOB="2d9bcbbdd2490d80b8180128df18d06accc2ee014db508a34edfd6f3bb2fc0f1345623791b00d17306c56fa64e08cefa690ae44860db1fae72a58b597033c37a0ec2c8c7c70d9b426a99ad3e24a40169d329b12ae5ee4aad617c0578951c4264888c4bc0c4e11ff2689a35abd5a2fc56798a93f1b447bc0d20b8aabd109397974fe97dd34f96b7f06ea99d58a4938cb76a865a3064d7f2e1d00425933b9ce95f68dfe1d8"], 0x0) [ 351.635335][ T8841] usb 4-1: new high-speed USB device number 7 using dummy_hcd 12:41:13 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x700, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) [ 351.872050][ T18] usb 2-1: new high-speed USB device number 27 using dummy_hcd [ 352.015718][ T8841] usb 4-1: config 0 interface 0 altsetting 0 endpoint 0x81 has an invalid bInterval 0, changing to 7 [ 352.027158][ T8841] usb 4-1: config 0 interface 0 altsetting 0 endpoint 0x81 has invalid wMaxPacketSize 0 [ 352.037383][ T8841] usb 4-1: config 0 interface 0 altsetting 0 has 1 endpoint descriptor, different from the interface descriptor's value: 9 [ 352.050709][ T8841] usb 4-1: New USB device found, idVendor=0eef, idProduct=480e, bcdDevice= 0.00 [ 352.060100][ T8841] usb 4-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 12:41:14 executing program 4: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000100)='cpuacct.stat\x00', 0x275a, 0x0) write$binfmt_script(r0, &(0x7f0000000040)=ANY=[], 0xfea7) fsetxattr$security_capability(r0, &(0x7f0000000000)='security.capability\x00', &(0x7f0000002380)=@v2, 0x14, 0x0) mmap(&(0x7f0000000000/0x3000)=nil, 0x3000, 0x1, 0x10012, r0, 0x0) ioctl$FS_IOC_GET_ENCRYPTION_POLICY(r0, 0x400c6615, &(0x7f0000000000)={0x0, @aes256, 0x0, @desc2}) bpf$ENABLE_STATS(0x20, 0x0, 0x0) r1 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f0000000040)=ANY=[@ANYBLOB="18010000000040000000000004000000850000000800000095"], &(0x7f0000000100)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000180)='sched_migrate_task\x00', r1}, 0x10) unshare(0x64020000) [ 352.111600][ T18] usb 2-1: Using ep0 maxpacket: 16 [ 352.172421][ T4694] usb 3-1: new high-speed USB device number 16 using dummy_hcd [ 352.232068][ T18] usb 2-1: New USB device found, idVendor=0ccd, idProduct=10a3, bcdDevice=f4.53 [ 352.241581][ T18] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 352.412786][ T4694] usb 3-1: Using ep0 maxpacket: 32 [ 352.415358][ T8841] usb 4-1: config 0 descriptor?? 12:41:14 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x900, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) [ 352.533237][ T4694] usb 3-1: config 0 has an invalid descriptor of length 226, skipping remainder of the config [ 352.544060][ T4694] usb 3-1: config 0 interface 0 altsetting 3 has 0 endpoint descriptors, different from the interface descriptor's value: 1 [ 352.557540][ T4694] usb 3-1: config 0 interface 0 has no altsetting 0 [ 352.564452][ T4694] usb 3-1: New USB device found, idVendor=0846, idProduct=4110, bcdDevice=3f.de [ 352.574057][ T4694] usb 3-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 352.612170][ T18] usb 2-1: dvb_usb_v2: found a 'Terratec H7' in warm state [ 352.720679][T11302] IPVS: ftp: loaded support on port[0] = 21 [ 352.846840][ T4694] usb 3-1: config 0 descriptor?? [ 352.887302][ T8841] hid-generic 0003:0EEF:480E.0005: unknown main item tag 0x4 [ 352.895220][ T8841] hid-generic 0003:0EEF:480E.0005: unknown main item tag 0x3 [ 352.903092][ T8841] hid-generic 0003:0EEF:480E.0005: item fetching failed at offset 33/34 [ 352.946094][ T8841] hid-generic: probe of 0003:0EEF:480E.0005 failed with error -22 [ 353.131703][ T4694] usb 3-1: string descriptor 0 read error: -71 [ 353.178149][ T4694] usb 3-1: USB disconnect, device number 16 [ 353.271274][ T18] usb write operation failed. (-71) 12:41:15 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0xa00, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) [ 353.295541][ T18] usb 2-1: dvb_usb_v2: will pass the complete MPEG2 transport stream to the software demuxer [ 353.306908][ T18] dvbdev: DVB: registering new adapter (Terratec H7) [ 353.313949][ T18] usb 2-1: media controller created [ 353.457835][T11303] IPVS: ftp: loaded support on port[0] = 21 [ 353.464393][ T18] usb read operation failed. (-71) [ 353.530013][ T18] usb write operation failed. (-71) [ 353.582669][ T18] dvb_usb_az6007: probe of 2-1:143.0 failed with error -5 [ 353.675309][ T18] usb 2-1: USB disconnect, device number 27 [ 353.942186][ T4694] usb 3-1: new high-speed USB device number 17 using dummy_hcd [ 354.151619][ T18] usb 2-1: new high-speed USB device number 28 using dummy_hcd [ 354.181614][ T4694] usb 3-1: Using ep0 maxpacket: 32 12:41:16 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0xf00, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) [ 354.302222][ T4694] usb 3-1: config 0 has an invalid descriptor of length 226, skipping remainder of the config [ 354.312985][ T4694] usb 3-1: config 0 interface 0 altsetting 3 has 0 endpoint descriptors, different from the interface descriptor's value: 1 [ 354.326596][ T4694] usb 3-1: config 0 interface 0 has no altsetting 0 [ 354.333512][ T4694] usb 3-1: New USB device found, idVendor=0846, idProduct=4110, bcdDevice=3f.de [ 354.343023][ T4694] usb 3-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 [ 354.402029][ T18] usb 2-1: Using ep0 maxpacket: 16 12:41:16 executing program 3: r0 = socket(0x1000000010, 0x80002, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) socket(0x5, 0x3, 0x7) sendmsg$NBD_CMD_DISCONNECT(r2, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000180)={0x0}}, 0x0) getsockname$packet(r2, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="4800000010000507000000000089a173d2000000", @ANYRES32=r3, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000140)={&(0x7f00000003c0)=ANY=[@ANYBLOB="38000000240007050000004007a2a30005000000", @ANYRES32=r3, @ANYBLOB="00000000ffffffff00000000090001006866736300000000080002"], 0x38}}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f0000000440)={0x0, 0x0, &(0x7f0000000180)={&(0x7f00000002c0)=ANY=[@ANYBLOB="5000000085ffc4c475f3a6000000", @ANYRES32=r3, @ANYBLOB="0000000000000000f3ff00000b000100666c6f7765720000200002001c005480140003800500010001000000080002000000000004000380"], 0x50}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000200), 0x10efe10675dec16, 0x0) [ 354.522338][ T18] usb 2-1: New USB device found, idVendor=0ccd, idProduct=10a3, bcdDevice=f4.53 [ 354.532190][ T18] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0 12:41:16 executing program 4: 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_config_ext={0xfffffffffffffe01, 0x5060856e}, 0x0, 0x0, 0x0, 0x4}, 0x0, 0x0, 0xffffffffffffffff, 0x0) syz_read_part_table(0x0, 0x1, &(0x7f0000003940)=[{&(0x7f0000003a00)="020105eaffff00000000ff07000000fffffffd000800000000000000004000ffffff8500000000000000887700720030b5829237c300000000000080000055aa", 0x40, 0x1c0}]) dup(0xffffffffffffffff) r0 = openat$vsock(0xffffff9c, &(0x7f0000000000)='/dev/vsock\x00', 0x181001, 0x0) ioctl$sock_ipv6_tunnel_SIOCDELTUNNEL(0xffffffffffffffff, 0x89f2, &(0x7f0000000100)={'ip6gre0\x00', &(0x7f0000000080)={'ip6tnl0\x00', 0x0, 0x4, 0x6, 0x9, 0x0, 0x0, @private0={0xfc, 0x0, [], 0x1}, @private0={0xfc, 0x0, [], 0x1}, 0x40, 0x20, 0x40, 0x3d7}}) sendmsg$nl_route_sched(r0, &(0x7f0000000200)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x40000}, 0xc, &(0x7f00000001c0)={&(0x7f0000000140)=@deltclass={0x5c, 0x29, 0x20, 0x70bd2c, 0x25dfdbfd, {0x0, 0x0, 0x0, r1, {0xffff, 0xfff1}, {0x9, 0x9}, {0x7}}, [@TCA_RATE={0x6, 0x5, {0x2, 0x23}}, @TCA_RATE={0x6, 0x5, {0x5}}, @tclass_kind_options=@c_mqprio={0xb, 0x1, 'mqprio\x00'}, @TCA_RATE={0x6, 0x5, {0x20, 0x2}}, @tclass_kind_options=@c_cbs={0x8, 0x1, 'cbs\x00'}, @tclass_kind_options=@c_taprio={0xb, 0x1, 'taprio\x00'}]}, 0x5c}, 0x1, 0x0, 0x0, 0xc000}, 0x20000000) syz_mount_image$reiserfs(0x0, 0x0, 0x0, 0x0, &(0x7f00000007c0), 0x0, 0x0) [ 354.687436][ T8840] usb 4-1: USB disconnect, device number 7 [ 354.702777][ T4694] usb 3-1: config 0 descriptor?? [ 355.024314][ T18] usb read operation failed. (-71) [ 355.029914][ T4694] usb 3-1: can't set config #0, error -71 [ 355.048618][ T4694] usb 3-1: USB disconnect, device number 17 [ 355.057991][ T18] usb write operation failed. (-71) 12:41:17 executing program 1: getsockopt$inet6_IPV6_IPSEC_POLICY(0xffffffffffffffff, 0x29, 0x22, &(0x7f0000000680)={{{@in6=@private1, @in=@broadcast, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, {{@in=@loopback}, 0x0, @in6}}, &(0x7f0000000780)=0xe4) r1 = openat$zero(0xffffffffffffff9c, &(0x7f0000000000)='/dev/zero\x00', 0x0, 0x0) preadv(r1, &(0x7f00000001c0)=[{0x0}], 0x1, 0x0, 0x0) r2 = syz_btf_id_by_name$bpf_lsm(&(0x7f0000000840)='bpf_lsm_file_send_sigiotask\x00') pipe(&(0x7f0000000880)={0xffffffffffffffff}) bpf$PROG_LOAD(0x5, &(0x7f00000008c0)={0x19, 0x2, &(0x7f0000000140)=@raw=[@generic={0x40, 0x6, 0xb, 0x400, 0x10001}, @generic={0x5, 0x8, 0x9, 0xba, 0x800}], &(0x7f0000000180)='GPL\x00', 0x1, 0x94, &(0x7f0000000300)=""/148, 0x41100, 0x0, [], r0, 0xf, r1, 0x8, &(0x7f00000007c0)={0x1, 0x1}, 0x8, 0x10, &(0x7f0000000800)={0x1, 0x0, 0x5, 0x80}, 0x10, r2, r3}, 0x74) openat$vcs(0xffffff9c, 0x0, 0x0, 0x0) r4 = socket$inet(0x2, 0x4000000000000001, 0x0) setsockopt$inet_tcp_int(r4, 0x6, 0x80000000000002, &(0x7f0000000040)=0x76, 0x4) bind$inet(r4, &(0x7f0000000280)={0x2, 0x4e23, @multicast2}, 0x10) r5 = socket(0x11, 0x800000003, 0x8) bind(r5, &(0x7f0000000280)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e0301a4ce875f2e3ff5f163ee340b7679500800000000000000101013c5811039e15775027ecce66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5ecc326d3a0dffc2c654"}, 0x80) setsockopt$SO_ATTACH_FILTER(r4, 0x1, 0x1a, &(0x7f0000000480)={0x1, &(0x7f0000000100)=[{0x6, 0x0, 0x0, 0xe7}]}, 0x8) sendto$inet(r4, 0x0, 0x0, 0x200007fd, &(0x7f0000e68000)={0x2, 0x4e23, @local}, 0x10) r6 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r6, 0x0) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(r5, 0x84, 0x1d, &(0x7f0000000080)={0x6, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0]}, &(0x7f00000000c0)=0x1c) preadv(r6, &(0x7f00000001c0)=[{0x0, 0xfffffe1b}], 0x1, 0x9, 0x0) sendto$inet(r4, &(0x7f00000012c0)="0c268a927f1f6588b967480a41ba7860ac5cf65ac618ded8974895abeaf4b4836af922b3f1e0b02bd60da03059bcecc7a95425a3a07e758044ab4ea6f7ae55d88fecf90b1a7511bf746bec66ba", 0xfe6a, 0x20c49a, 0x0, 0x27) 12:41:17 executing program 2: syz_mount_image$vfat(&(0x7f0000000080)='vfat\x00', &(0x7f0000000000)='./file0\x00', 0x0, 0x0, &(0x7f0000000300), 0x0, &(0x7f00000000c0)={[], [{@smackfstransmute={'smackfstransmute', 0x3d, 'time_offset'}}]}) sendto$unix(0xffffffffffffffff, &(0x7f0000000140)="98c7d47cd3196066e0ea8cae40ced115c10222dfad8cb9aebcba71215c84933d2e5bd404b078db7b4e3e48b69a697de8ee93cfe06962380e072e52ff1c260a3d650ee558c350c202bf5ad1a99037d2bc60597daf8ad2ee133322056f6ab4502f32c8a22ddacf294d395343450640d49b776113a7e6ff1827bb8111f2326627a9", 0x80, 0x40055, &(0x7f00000001c0)=@file={0x1, './file0\x00'}, 0x6e) mount$bpf(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000100)='bpf\x00', 0x12008, &(0x7f0000000340)=ANY=[@ANYBLOB="6d6f64653d30303030303030300000000000000008303030303031312c6d6f64653d30303030303030303030303030303030303130303030302c6d6f64653d30303030303030303030303030303030303030303030302c6d6f64653d3031373737373737375a373737373734343135313133362c6d6f64653d30303030303030303030303030303030303030303031302c6d6f64653d30303030303030303030303030303030303030303030352c6d6561737572652c686173682c0078309ce79e9ad57f5d006dcdf557d28679fa8daffaf1c9a75b440afa2d6477e4d83bac65535ccff424bca7fd"]) socketpair$unix(0x1, 0xa75d0d69a52a9283, 0x0, &(0x7f0000000240)={0xffffffffffffffff, 0xffffffffffffffff}) [ 355.144979][ T18] usb write operation failed. (-71) [ 355.182617][ T18] usb write operation failed. (-71) [ 355.188024][ T18] usb 2-1: dvb_usb_v2: found a 'Terratec H7' in cold state sendmmsg(r0, &(0x7f000000f980)=[{{&(0x7f0000000280)=@in={0x2, 0x4e24, @dev={0xac, 0x14, 0x14, 0x21}}, 0x80, &(0x7f0000000800)=[{&(0x7f0000000440)="f6d000e2afd48ce92f38b838ce39808e1ff79a348361dc28f756486edda78f1fe6a924101e78d6557102afcabeca1c751380cd2575ad62a26b55ee2d3c9098c01e9086cdf276fc2dae0073dc4d506063522cae6cc24f9b26e13b7bb1457355b95a4f0e2451c1ef383f2abd16f7d96ba16f3ecc5959969367c5c93b415f12a38da919f91f677e74fd6fbf1c24cc44022de4873c2c0a3b5465fb3098669aababe6368a6682b6a6bcb6355811bb2fc5aaedf873433b528ec4", 0xb7}, {&(0x7f0000000500)="cee4bf6f225956693ab6e244216eac6807174a457102b896342b1e209c09b65b94998e57a7af4878a0b0499100a497db99cece6f827b1a2a4a8c838168b556e35c5f2f7e989e197f72a082c28b25dfec5c192b1dfa4f13cbd5b15b8a4fda2777ef53a14c226f22eed80396bc70e45749556494e7e5f52ecb02e861e07a96b043ac400191867dce903057f863c195c570c458e18dc0ca88c1", 0x98}, {&(0x7f00000005c0)="1cc33681f2457a1d22ecd7c565d3946cda7757a7f32eae186c1c1f80936ca2a1d5415c8c83f11f18f7adb3f92bf4ea961ac1c2f662e6bc823432d1da8f92c9931d57b0839e694743568d20decc68986b0ab6f56e435dceeb4449558a18334ea40cc0fb4a33408783cb98f43e73f74bd557c337bd276ab709517da689e0bbb1fabff7601de65d8b26e72acc992ab36e5a768de4b4963987ac486eb7b2", 0x9c}, {&(0x7f0000000680)="815c64d95fe9b751ad26ec86d284e47495fcb2049df57e31de8d7e066b0ed74526fcbc19d5dae225c18661054a402f4c9533c5fc407bd4bf48c608c96d8fbc5a1d314d6b7dfc7c5f66773a3bc3e63422e9364cd144cea459c3dea8e410c186393460893cd082184e150244b79a89a46c352905f36f392a14b39eb00bcf5f9956f648036fadef620b56a88c02c9a5a48a1a772ab35f3c4dafe9346cc033c7506a98f8bc2d17e48f234d1bf45162615c8540904a06b0f67bb798a3b9df4c8c382ae707309830eaf5", 0xc7}, {&(0x7f0000000300)="fea3a4983d850f9345002607493860ef6d08320bcc50e268bf8900f868cac9addf26bf83ff23306ebd671f390b29cf29150e54d657bda9aedc89154dfdd33258", 0x40}, {&(0x7f0000000780)="18045b6e3e13993171a4e7175713e4fa16c036025a2e0b9d6bda3da000e6d470a5c4b989486a6881dcf12c6b32891a9b7f6b4e6c313c7b58d4146216ef7551420e", 0x41}], 0x6}}, {{&(0x7f0000000840)=@l2tp={0x2, 0x0, @multicast2}, 0x80, &(0x7f0000001ac0)=[{&(0x7f00000008c0)="72b8a451eca3b5a02dd4d85c7cc1", 0xe}, {&(0x7f0000000900)="08fbc08668282d9c436b10525782703afff785042d6a5e8dcc60d50ed2faa8633013672d5bb90254f7f33b9dbacdcb8d056b950edbf60b7c4f4070b13b51641f48ce5a8e829edc3d71b00de57d1220c2f9a103c7ccf8f57099d9847b7f452021a405", 0x62}, {&(0x7f0000000980)="8b5f980d0f5d5f7f36103adf5a51f0d1831727622f0da2673327f6626ba42ab6ece7b5ebfefc7eb9b5514d9340871f400689814e7f5d4af3dabc6ec3c85fa34bcd731be8187cadb8be7466a8672e395ecd72f828b2af4b5257f161958ec691eb330823e38f1da770b52b57bf7881a8874fdf67181495ff23454fedc5c4fa16f112925bc1aa85a627d2e7d5c16350f835cdfe697871bb70c4d94a8208b45756899834d20b615763e7cf3ac88905b7d95b430b525dcacd159d97b2bcd033bc8144a83f1dd592699f7b61b702816160d2aa573562bb6e2d7660a102ee773cb86752a99b65402de855c2fdd79d54a957965f04b62a5273f5c58007b78df722a6f63605230a243789904bdfdf7718ed09ce0bc7ee6beeb59b5f2824da9b555785044f0ed1c611979bced62e84918e5b28d1429b7c0b0307f34de11a12d78d238b8ecf37814019f2393c978013e756caf8f7d435c2165c28171f5251fcfa763bad2f5f6616aa591720b77e5d244244fd4d5092e49cd2ed916e4467f3b44f872d35e8c8c15b09374229a453f99c0c9674a0842b3e0f668e19d92ae840d74343ff77ea2aa672e580d0859f6adb99818562e262f3f57272730c482cd38d94f452d16f205b383538be9054e7b11c030029026f38d918bda134c407bbe189a1bdee9f374519c2228031a46182dc6f14ba92c9295b1df3d76f3d9ca9aab8455fe0981430c0bf8ca0fa9662c64c47f141b7847c26d4619593ef6afa455c8af3430f8a7f1a64870e1be55e2952562df4b2e006ea6560fb5b8b20078149d7203a4ecd5fe8eaaa6f1ed8edbc11ec706001dd0c7890eb5786c5a71b1a9d6db982b7a2b8edb529d08334ced025b9889656628cdb54c72c7eb3778d79d966b987eba55387ade828033c7a9a87d0e90f28fab94047900f4c76ee5242aa89948c1d7e0f685fd4f618eb519e59f77e0ac792e95da77fab7239d5b79c9f9a98301cd7f75c3c2e0f4cf4ce95fb19550291b4b9e1ffe4546dd37af7703aa04d4c548f772c0009c9c42418614b6c737e4cb96b2f8dc95f63213f986c13172b9bf2ec15265b26f21c6fe91fb3f351c5e3d194ff9179f30de8e650ee8c03cadffdc5637863e4f9ae11ea41fd6a7ca0b26882d49ac1be42f6c471eb52c5bcbd71d7548ca0b3f730e2291cbe51b80a96c0cb4df0d70bd4f8d8a277b67e49ae25492a60b1d66d77188ed42e1f87225daacfcc52a42eb899612ebaa5f6833498729fbc85c119b1bb30fee133dacc7b8d853d9e10753590b56f36e2e2d6b96b9eb8859d8ec437f1430d90ce6b1c9d1cad70925b9cc2d1239d92f7be2acdeeed2014b5b520962919e3e5571dbb58a1993bce46f8b1b8e79a351b9f812c5d9c87b331ce06e771d51bac954e6b81a2bc43b9cb43d78f76f8e271c90da03d64a8449f5ad2019825e45470650ca263982ac21385fdac6b788b8001f5a7777f514c13a865c438ef1ac0d31e0ee85fba557149c438029d8e194a2a80e8f9d7145a79d7823a42e62d898f7b4b5fffe463a8306b87df3ea27cb60e7c230bea74f3451a6eabe206fe68f79a8f5033d971b7a7763ed54f20df8d27fe1d5eb9cf135155f3e9b7f0993ac79800b9abdc70b93ac05b0a43b458fde6d81847a56d1104cc993ac7d718a54520594c55ca043c96cacd80298977a541ae7b3498f22019085f567424e2548badf9097c53db404ae473539e7221eee4db6fa82c7f7c6fc1ace5e7d75510c947205f6b3fd34089a24d695561d9014db99eeff79acfd4eddcde7ace18ab95fb75cc6c1c9377f2d929e2975550f9e3f852510b60b7cdb117e4b7149c6ee25fb31f95dc875083dc3e24b7c37320e10fc2bbc7caa4d3a1d202625533354de18464864ef21d91772b8ab1befc2cbbc444f6b98ea099b91d44aac22124fc154483b37a308e91dc6aa21528595e12f80dc071c5d793678814835d1cbfc1a5337a08b44de542068be3170ccbba544fc0708a69591b0e6159befba1a0e2a48c8518c8b48bac8a868c107787972dc31d51455e98e4f335f764204da3a6b34c49162e4fd3a206f284e8acb081f54828e678d1ceb221de5127c215b409faf0dbf68836e4c0ab6a9c885ae8b07a51f486b26364da4e67589695fbf542776c852322c0009186eb486227e8dddc65bb48fa18ebc51c2857118f3d3f3109e99753af8642700e98ae73e7347a9bb308349f10b636a9b0a5abd14ec422859e7bbf501460fad313ddc8a2389fbf8037206ee4f8f07906acc73b15c5ea000340392aef23a4715a1f16f751b484ed2982514c25b94fbe29c9805fe5a81a11de5f4a8da7abaa26a17385aab4f2533aa7236cbdd71432eff8b20a52dbff8d310bcb11e4df14ce2643aacc5086a59ddca41efb86048bd5f70df7065607629903af1c61fc8a73de8cfc2764964cebcf87b55426145e5bc387ec7e6fb22f2ef1a246668094469d1cd02fc268ece87652e16ef225c235b13601cbea3cbe9243b5cfff55c17f1d8dc07a3b7d809388b1e2eac6f97f0d3753a34c4a7737c899c397bfdbfdf66e1a9f6e3cce1aa8d6511b0b911a7154cd0ba74ef8645ff2731d1b14b4f60a74b41a87e70c4772f8c60b3d8e97620f41c928a67639fb21cc7cb899d26f946e14ffe9b3119c0f022294a8325961f3dd691bc244739e5553726703b16b529e41660961c227311ddce9163b6df89dee1c8301511acc8c35632f4c7459c6f50daa86c1f10d6214735c385944f990045d957ccfe00ccf936b39635bf01f5fba214ee11cab00a0197ac07136e5983f03a6c544bb5b9d6ceb4d6eec3c29b474e30b1371e5d5048f3d90a1cb55f536b9d4b953313ae9955e8c5a991b84fb49d011dc10930867c1364ec98075e94919cfc54687edef433adf06d8d36274c87f1603386aa0335a8169d29b1d193ebb1eac44705cf33e960118400a803b862779de2146246c44a9012f84dd250b5d10a676fc64715b693acceb4ce696da505ca03984d9d97cc7ec4b6676cb820c14dfdf82af4cfa2a5cfa019fd7b8375a3323e6728a6adc74bdcb4887e4acee01e54f382b0605a775061917f9d1e1c388ba65ff8f7e3c6adcd416b1159f9f132cd2841418462d2d186bb9e18668c03b984e1f2ff9944496c06bf2847e2ab28131b50f750c893c729b07d6fabfc9e2fb1f57dfffaa1d63f052ec6705c30d5fd218a12e7def1b0777d048fa08f387ef9af4a6548268c49fca37114eb7bca13727e9a22a99267430d79797933cb94445cfd67c4ce21c7fe1a884776221c7dc2d3c6aaf5f9806cb585f7efe8f1d0856500ad0496cacc1f3abf0f139dcb2d14703736d24fd7a5a4c136ce7a2f5df03fb6e19e49da0c675765226f178f7fb4626ca672962023f8b007d59e7b31a8f98b1ee024ba6d8779f5dad426844fb693d6df1610eab4f2f778cfcbfaa80641a40ec439f621f0163ec22117a5c908e01244144da8a93f8f396f28e7d33057a8cea11c16c8fe46b5783adb5412d011eca7d956ae2cf40807890ec71aeb282b06623d37d24e935677ac7abcaa37cfccafd2bdca5cb115ac4d89d983ae7f1a3073392f9718e1f8dfaf473fcc58d39c1555c1c67e328f4389fe587c55a1c9a171d1d4a27db9b82d9c1895347c311f4429834553404b706bc158be5c2442663df14ce0d154a19789363d37c12dfc94554021e5b99f71b60c67f26807a46dd2adace3a3f2ce11ff7686dcd8c375da6744f642c2ecd7be4032db6708bbcfd3f1535b3d6011ef92cdbf2e11843c46a1e8d4134846233cf074106c585bb0fb9a080ff4613aa48ee2de736252e51beb169035382949e1e114efd73c5775f51946de3975c794d0ad71e2ae634317770cb0a451f51e102b593cd816ec4ed07cfa7df9e2703bea236cdc416f326f203fbc9e66b7ecb384acfc27f0a386d9381cd5240aa9514c4cf0da02d8676595456d90316bb08541cd3310c9d60a3a1133ba12addf8f2a3dcc5dda37b7713689979cb5c1a888d9c9b48fda90c50924fce1390ba5e19ca3d57fd3830230ee6bbc0a948b39712cae5d8dc6de763bba71153ee8389b0123f5cf6a54a34ebc2b449e8ea20457dee79918adb7654cac121019342bc0ef43e088b1e70749d52614f0fd3ef6d6582b678577bb22f5b64db3a8be8e49b23e81d1c5f3ddab23e9f50aeb386786700aada5db2185badbc5b51e5b07f7b652b990bf933858f0d38f5ec9d393bedb27886e5da93a3a0187201802d26bf31f5cab2bd5fafe992f0b8df7459e5634ab51210249991412b9397db7066239e7fffba7466d0980b248e6f249e0b9b5ab69347afd03896380513e72ac17f6af046e556361c36943f2d949e9c82ccfb24c0f0e257df17bd21712fc072bcf88bf886ea790e9d38f3bf6fc5229242b80d1679de34365ae3c76834a304417dd3be5859e330a43a19fe77d14dfb06f1b59b8550b410c271679c795e897328246299d0ad453cdf950c97dcb1b611d7a483ab55db05cd0236d73ce152742ca40e76dbf4963494c961cb466590fc49d3f83f0e07fbc465683c203abad6d1ce9e66d0d43300bf442a84a897f1453ccdb3c4bfb23cb6d80ca0e8702562520af13b23a30ec5f7ebf18dbb99b194c19a454df4624669839b1457f4f2e3121c61f8fae539dfa1730456920f6aad3b8a19c17f119594745c3169bec8e864362a35dd6c976483fbac4a002b462db2e443dd311211f5b0e26112ef9c566d1797f5c1621f0b46ba02f468d0807fe2d55f583ff4d666e2ea8ff450d0e58d68713e8f31442ccaaf4b8ee4cc1edecc6fa79676d4d18bb8d72715325cfaebad8f35d1a9deeb5caa92c8d7267a9209b5154361570104ea3c8cfc139b095fc46d31a8dfd95bc36269f351bfe69563e7cd732e3a1a82983a8aca37843d49cba69446a323d27760047a0992fc8b847477a89916e0050abd9152afb9bf54463c33a31633726899078ed5c653f5f8c5cc4aa8748e96d7f05c528a3276fe325d6ea805121463c41cfe20887f4b2a05a7843174532fbdc45b0149a899bf570873af30efc28208e846751365c2150fd987ca75b7fc6df343622bc90ad09f71ae24d1e606d9d052fdb5deb13f37b5e2d72bc4adfb0657a988ada0d679f0aa05b70678f41a102400f3f01b643d89816a8eafc436b5257495ccff56e338660a01222c7bef1662a7ada95dff930a22c86efa8993162141cf6365477a6d28a5b789c809d271207336b5911774c1e2c88582fd1518fcfd60f118a4fbed051a760acb9d1accbeca95dc63de1ec4160e482390676dee06c092bd7570ce7e51ba168fe3b19c47e6df441375697833e2f3ec7f66049025d23f3bf2e5287a70ac11811c2efac6c80321e555e10a03946ac965270c32c626cf744c78a4600df0f660968746ef6a0fc151ae0d058f93f9671a7dcdc0164d9e33d987b3c745b5fa3ad318ffcce7e527b3e5dd5fc0fd359d4e6c1896975da0b28c80b76e92ec4202d31485a0397eeb82b99fdf18740a81a7860f58921d090e99875ec74cae1ab56f2cfad1fedd9cf86e8d1f195c9ecba96bed47bb62b64c2258c11cc847ea8adb701088ba042980e925e98439d9c424c76685b3e3a8abf198895254f5d38ef585eedaa4cd577ad2cdfba6646e9f8049e928b8b56605ef97bbf8982d722c5338afaa7ded365d55ec62599b96f66366535b2a29e482edb55d43a5fdfb23a66a766e636f6ef0ff1b7063559204e81acc40ecddd9a0634002c45eae9577501f7063a33e1e3500ea6556fe6dba15186f4a1cc0116a00f39312cb63e1b75a678e12104d244c", 0x1000}, {&(0x7f0000001980)="21065380424a0cf91c614d44d001260df791b430d027737336b05a872881e316c9f4cb49b79f941a32aeea628a525fb0a6e0021cf60cce9cddcf0cca", 0x3c}, {&(0x7f00000019c0)="b09b91b83e8949e1d035f490c8d5ef10e1d765676d25898c0da000f77375bee62c11db1d095e9bed1a449f698daf473e9ddc54459720f0dbe26172c49ee0765ee860b26a8ca36278f6c67f10ea2b642538e62a9704b0ccd8046b7f9fcc601fbf68271b13ab0ffbd420d6b03742b4a0b6a457de80797bdd6559c9aecec953cf9b0cb5be30b5c67032d83782ea2f4638f472fd30896053f3f500bec72df1f84fab2ede1d901d782a53b3fd8e28b94c67589052d344042d4cd38de0189b12cb818fd644ae1249c1fc6eddf78b432f1839", 0xcf}], 0x5, &(0x7f0000001b00)=[{0x60, 0x102, 0x4, "1d5507be5ab752b57d547e3a44c5508ea8f0498f1a9abd0417397b3f9fe0c321d9a59f10f0c36ea519d42c70c873e4cdec8fc7e830ec1710fda916ebeecb9cedeedcc9bd8d1a5303e94d0ad59d45e08e54"}, {0x14, 0x112, 0x9, "86a23da135e877"}, {0x100c, 0x1, 0x20, "ae38087cf26e4bf1eb6baf26117cee3ce5fc6202d5de982423ca2877cf15eb8d141b8276b54a74d5c8d842bfabb12148cb6fa5df25410369feb4b6297d9115547d367747fd4e488209bb44c1cebd70c5d3148f6e45cb2c2fc5c292764aa8f0e6a65e549bc69a16284beb56a6ecad39a5a783c4ad7db42ce09a24b03ae13c43c4f64e6f453487541045e4a2d95366eeb29e0838b1aaa407bf2aa89709310e74aa9bb9922019666cef2ea3d5eeb8217863fa51780e4647fdd5b0d57462563c500ae0b6b4ec7002f2a81ed6342ce47995158ab8090d951b697237230a1a0a642fbfccc2fae66e7ded5e42c7771ffe655dc5c7c3a51d7354fa454a1d303c2df1e92d8f00e58e581de5ce0b059ce51ff9ad6a6a7de9a40eabacd53bcd3be41ba145c42cf5de3a683c4cbdaeb0d7c977c688614cfb479351d253d270b5f3875e153ed0900a0c81346bd9235ad997189b422ff5cadb1fd8f967daece582b10b40dea89c2af84d7598ddcfddfb9ec6fef6ea74500565c77cb7d94525231f0c2c5723f0ed455d281c8bfd2da8bd007d79e8b0059693915a2404643c1a8177bdda5b3e9535ea927b36e233055ab21fa856d15f006cfa47e8703da983e51a8256d27ce1dac5ca52e2cae18b4c2b218363547bf14e1c8b6f8df89b834cb3a58cb32cb728a8ad4e20f14abfc14129f074152cb1dc5e8510ea1702a4c8344013c01cf55a432aae5470b3eead8eeeb8496157ac7bcdd1ad4e69a6859f48e1537425dac956e86d9237560cb08d3e98c4e5397752cf0a6ce1b11ad1a7f7f6579fc197fee29f140c69f0a079d044de7ddce87a34fa0e0152df067981274a0b6a1023622985fbb58ddd2ed35711464559c65894a9c2872f1a8e998cfb22543102f3a824159613e177896c88dc7cc62baf0dfd66dfb7dd786cbc5cea3c4d5e8e672b5d7429fb0afd0482cd0bd958724ce746d6c5398b98cc04684a7a01c1010e63ca1d4596f2ffc146a6cb4fe2ae0b53d2ced170284380b68782488fff5f7f0e6be74fd2bd4590beb6456afab5c180ef94919848650692a6db47b687d19cefc6806bd2887d473b2587fa3fa30b306911b863e3e8aed517d2a624ffcc7efa36ab639e8ebdc4ade8ccd7b2630256168891f10029a851bf42ebfdf74a4164a1cbf6b0cfe8ef5482b6fec939a3ac003f24e554996738b7fc47fddad32c95beec243f23c7fa19b662ebf72ee2e0eb08da452fda7515c048487fa920f85a177765bcf31a95939378c464ccf3478377c6635ea0efb1a480ee8c5c9c43c384b31b2e4f1afd20c2f0ed3ecd1c49fcc6686c71b937b2c105f48cc53e39f2ce5eece3d2c04d39cdc987d0796940682e6197f09a9ed0eb5e69e3438cdd74124b0c92cb99885079f5eede9d806671a3cddf70ab8a5dadb629e7cc4ba5f5965549d7c51fb926bd0a15095522c14527dcc6d931bdb4d0f521338b7bdf4ea63b928141271449daecf7d2e53abb2bb6f2987076e1975f8683d68522f1123f9e37e96222f1fbf19ad445968cddd509e7eb984c183c8c23630d20a144fd1c055e1584da24bbaea5085925675a832e113f72ab2f43e0846c7a13f76d2951c6322fbda57c4b8670a72327834e9bf0899e30ec3b584e67c704a454b700cf0be647ced1ada561551ebd5ab540b048a2628ea169053364fe84600cccf6e69af7ebfb3f1ffc50754890b77c2347d6242f7a887bcc1720a2b6fd2a181a139161724a58a984ce01ba5cb944cba0c493837e79576e54fd7ed3e80f92c4385e775bce967bf9d22d00b81cbe0a19c5d8139d11c855a3f9182255b01e92060d04e0db42e1bb8d49902640dbf2bfc233c03e78226ede0fede25ed123d61f9cacbbc8430e7d3ce13e74e1007541166df26b2657df37a2fd547c535dd7b27ce12e66dddef2e367afc2324fd4ead87ceae479f329c144582be50fc37e2fec17b7c0bc0850085846e4e696aafbc1dbbb18deb2852bedffaefe0670087fa19df9391427adf7ecafcb8a2ee4859ab20893fb5424a0ef238d9c46980b5151629543a3ae4fa7e8009eaa8b7c3d32c923eaa99f3094f1005159d6f36d01dc3b7d22d5e657995d966c78f9319bc471381a1bba1d32b0a725da37af249dcb527881c018e5ba516813710bd6f4b1188132ef165facc2582168490c639743cff369248d7741cc87de082ad6068f95c8770e3983dedf3fdacd68acbc4afcf677f1bd30759090ae922922bcae4b522138eef19dbd5e7016a2aaa6e08ee4ad840b5452ab009fc3241b52f2a2852c39529e53197c90d839eb446f3301b4298f8b880c80929ea9710b17056e0810eb93bd6750ea9278c604ae92a1430c340f387c570c8b9321613fee63d4773d2c9ee6e76992fa7a9337cd7eaab48accf597b7237bfcc127d66ca01cf6689d0c29ecb1ca722f0c00079d9cc816a92b1712de1c36ab80124d9065bd969ebd43c683899498ea4d63ac2446fc6aa5344d1f0ba9e66df312d8ff1ebf0fd53280b20b220681d2422da7973f1ace266b9a0b76ffac40f9e57d7fb64f232ca3a8f21853454b839493443cf9db0a9b89a2ac0e82b351d2a6b66a2d0c639bf9f3d03c3fb30466cfcaf7324e77754131544216a79c131da04fa00cd7002f8196ce8dfd783c5c88b6da85c37010b51a649c38b964bbf828265175f404370f96e63ecb1fb214bc417220b1c9e7735160dd314a9027dce720d8761b3874c1b21573c077d5afc049154dad5e5782cdaa8f53aa14bbb4aee02af2623bc769acf67466335c89a76e33a55aea724fe69aa3c050190f1f2ae26454d2c08ef05ef818be5d59d166b2835df6c4b2e1a742ed09a8436f1cc9ab4274828f04a169ef00a55e5a23179c21fdeb95d8caf28ec5e1921a14337522a440a7689e8c23948f3cdae2c81ece549aa9218a287d2caea16a60ef54c094a844712a39b98471cfc15ecfc26135e63918867ce5ed9618ee8449c681cdaa9af516776229039b1d70b40f8f5bfc83bd5687b37207cfb8d1d2fcee5fdc43eef0f54784a0f4cb85ceeee8fd88f7e6ec7b41e43ac187beefc9842d8716efd6c10b34cb6f5fb838ea126ffa5d04e10f6f5a6c4cd628394211650cd5311f232b156a1eb63ea4f69a5901b002826c6db36efd075d39db197d91b65444fa85305faaa38f8a5b97c331e3f6f2e2844315cc671e7d283acef81239117983d7bf1d6ceffa1473e69396731bbf6d3a644f4897a7449306d8e05a6af9979be3823873dc05d8a2681694a3b853c7b4b59c4d33360b9c132ece2c593310bc309596d977abdfc7f96bac883ec1d4fe3ffc31d01d85f37ed76ec7fabed2a3d2d47ce6a4cb2d076a345924306252e1a9f1eea309d557002a4d01387de4fc46c8c507f3295d82671dc8cd875fb201b43650884c128b7fece108488dd023885fca0ae7c4072480899889c4978c942d7559f69090220fe2a6fd4be7d0d52e832f1c60e6709e35365285020860f3c888e21e3d0d05b3b6f1b913e25a12c65bd11f1c72c0b89cd10aeb2861c35562016bf285ba8c53916c6e2bc956a3469d09e3e2acde6634e5204617f7455a0f5aa76e2e72853a35ec32dde4c5aad5bcfbe044d173413ae4f3a2f2ac62f841e602d3bda5c00148daf79ea7398e7f109cbcee8d2aa3ad4f585d9e4c462bc6f69322fe19c1011a28ad5537d07d457a7dc9a34cf1a27b412d05da148ca1bc291ae34a8ac3740cc2d52244ffef45a38b3244ba082d456f6fd281be1e09cd22cf8da8a11b701fda5701e2d6f27c50bbb872ee1288302e62d7bbe93b674c1495267a73c68aa8f92e8b69b687695a67c3b110407d7a2b4564de3f5712efb97d9c14c24afad9c9a0a0d16f75cb9ab8f4a80db67b67c28159b41b2b6de1f6a5e1ae5a67fb0692e1a00d057049af83be852c0c9b84dd20f03476b241a242672d7a5f95c502fed5f4f551a73b6a16f590a184441b82499cb8d33b47b75a58184748027be979b39639468175c3a652a611efb3c0311dff806473fa05fbce0a56494ac818daa85fedd1841d8532936d2a066ac45300c48b35382b3a84f2e8cbc226ca92b960105f1668b00fb5a57c4d71bbd035c302fa3eb4845a10f0440e952104c8e70ca2c6e8725bf4fa250b20b4f529a5e0519dba01d42c2c4f70eedb5981d1434a2665fa2cd35c2e6d5e098c06c05acaec04ee7531992d7acdaa720e82b470c49b1cd640a3cf5bd4365282482d69efe4cb9d4d3f2ef61f9165a7c499d34e01d6bc7594152e6976b7aa3d673ef861e387eaf7e8381e8ff1abaaf5c9786e300c560ff0a428190a954a2a074363b1250e2bc547669b31820411563817daa04c4716a48ca40f4bd17ed710494d6a104ad15b2b5d8eafd584b656b8422e60785c9239517716931f6a72ea2d86588d3a798213a06c5f77b243d07e6283b918b4b441fdb01e635b6bfa64aab174badf1aa8a6eb7567765cf1a4e8dbf14a9a981e401d1ec877aa04cefc5a455c58ca3cad3c5a9347f8a95eb5759dffa2497d68bf013b546bd7e4bfb91b952e47781d431229ff17bec7f008461d76d86f9a63e4a0926217f406e838fff50d3a3ca3ccb60d72f91450cd619049d015cb4309d44066363612b35946ee5b9e16fae967899a8c4f9ebd8e2e64a69e5e97d98f6626a2a6457678ad646aaec2c688203714ac51e1c897d0081f3121a24450fa29695e55536ba2aa4088916074fa23a4e2c6ade3745840f0235a080cd1cc2b33f23cb62e61b62c80b692589542b625c35c288cdee336e2bf45ecfcf3b40f9fe99d6f289bf468f3e2a9666f5e4ca63821259deecf0d4556c542cca1acf724ce9ff268ce13f762f1a8675ee129f32bea6951b5f1ed3f3030d1defa94a985336f554a5826d592f68722ac21a0094b87f9bb84d4ddeb92c56cffa86c9b70f5f147d0b33960e90639f491d11fd74f1fafce868d1516b1555c6397daf60126ed84501d2b81b162d7123ae121f2944902a4c40ff04f2a89368fdb1764501348c388cb656ad743e21c5e93e8e3f428917afb8d043899f22d63000f627c9cda9c47f04156caa9222f05518c33ecde60d4f1fe18874dacb28bbf434f6d488dc8bf57938c884ca6608131762efd66b87036754784d6715a7baf90453d17789ecb76243361cfb926a1fa0ef08df2b0ea1515fe4a5ac9f0e1d2dac00293b8290f01a0e051b78e593d788e1c555bfa52e6dbec7e76fbdee93fd3df5ec9bd1c05f60eb6aea981a2ac7f16694ad1698148f48eb314f71d9ddca2e5614e1509288f0b99524c1b065b3f3eed91a0d4c31d1e0cc7066a599cf8446d187b92ac2569f9477cc9f3078ac0d028ad35f1737a2c0f84fbcf2248c9ac75f5bd5e9f32a582d9ca514abea0a467596eb7ea8a71e447ee4810cc6459b613de881b550b1c7651afd3fd6faff0d3fd9f9c7d92c0c518036965d4da92542b7efa975f2fa2ff66dc014d6ea9a406c95c9121ed19c1f65502c68e7c235e6d8e75f0d641ecd1d033bd2bca5f0e950d21133c97fc21f406bdeb7be34c8d3dad5398e3667782c2a6c09511e10bb7594e4484334e37254562add340ba70759b03f699540720ede75d457f545bf2acb8a9a9ee1b9f6e35958a4974ae5d8b506cd36dddcb385dfaa02c90af6d44e843c3b3e1bb0c043ddac941f7b28efe6ae5f8853d2bf92d0efbd6f69a05e9bfb8be2a38f98e61138110dd83558cc8db706ff4de71dc75c115ec6521455927a32e8002929d13059ccb5054265451a37ad49dd1b85b293b36594aaff6708cb38ab905beab29694d3f71218e00ad477187231d1f7d776112b5"}, {0xd0, 0x110, 0x4, "5ee2725600abfa3741dde087cf9596714e6916b9abbcab23a89d0eb953dad73fac2ad3f84d33b85e4b64b817b2545bda0a231259ad2fc45f2203683a87557f947d7e041e4105957cd44fd9ad7472b6fcb572d59230e6daf66995d0f5610979c709278c4240b5895263155aab38c59168f43d801a48974efe7ad3a1c2127ad4b084cea326036c336ceb2d1f4099835ae68d1e7dd19cdfdffedd5dfa20c28f9e4b37b014976971bb2b5032f0ececc4ac37352617e3ce34f2dfd99b9f5a82d6911f1876"}, {0x9c, 0x111, 0x7, "4eb5574378203079b6eafe19665e4ee45d3dcc20b8d7139a6729c8fa1e72138e987a90245f5aa36ed766ba03ceb369a78fed501724a93d478ac0eb3f4669506d77f53bae0a278fe74cbe099969e65fba5120e05512f2d06f2763a635948de4fc0263a73b98623db1816889c47ac2b668ebafc40acbde20b1f52bc184253a07d29f5c3011e9a8fdfeb6a135387c"}, {0x10c, 0x1, 0xae7f, "9cedbe979784dd2dd834979c7d1982a15a2297d3867697d327761550bcb245b8420438bf1da55f07115dd766868d7beff512acc33022a43ab334d2a2b020d30524608a313bda33053a4f2d4a699f895ea28895b14547df7165e1de1533823c698869230f4eb80e26fef285544c57b986cc8c4f7e10d236f91af759dc3d7ef4c5c85b5d11dde2c723c5a6f6030dc876249ff0b878fd4e5139bb5d59e904815876988723403182ff5c45f59685b3099fad50608bc37710a6753d41a83b9484170f5ebfbe38033425bdb10d6e1b0ca681ad552c05199887bc6965e6c2cc8af0f28a18c4280927f00fcce388423f336743feb1a8832d013d2b1e8ef45bfffda9b0"}, {0x78, 0x116, 0x4, "c418387a235e40a73afb78ea715b1dd9020790eab0d2e0edbedbaf85dbd171de4b896ffeeb77a4da466d72477324f4859061f6a88c22f7c344ec5938a3d8a0f0260a64d296faca6eb93180934454fa0e61db708a1e28dcc2b8e241e90ad94766a261f95ecad13ae45c0b"}, {0x100c, 0x107, 0x5, "b98a2671f9ab9017932c1c8638742a781c5ef2a226567ed46c81125a75ba8e6c7f84a174d1e1a564c2fa896ee2753cb73974375033267ec307141f75bb76b5e13f35ff6b1f0319112d68eaed5e7122f27e823175bd0ea2954000467689210983366f7cccc74094b21218e0c9bf8a30a4f0abf659cb2ed098144127f18dc589c9f35282451bf8f0a5f678da29b683434bbbb349425e7417131b50e7685c958860ddc994d5351ff87b4e1897b63c3fb9115239965baf75439b359fdc3cbc6b3a6429adfcca154e4012a3a336dd2e8e60ac49c25a74fe70c7541bbf33a36ff47218ef9597b72d51c80471712c2ea6fe58890cc082fe5a8c68b781de01be7cf31eaca383133f1c1b298a81d09e1c82331c39d3a980391dbddcb2bbcee05159da254b4c2183532d5791590771bb6188c0232df6dd27290a8327ed43335f6a4df8a8bff3a3fda173437436d12e1311fa0fc30c9bc5018bba9d14ec482683e1473aaea0e6434a8dd3cfeb855d63c6ed6d8d2fd1f95a0e6d853f3de2044bd43d23a88fb2fc67437d7d0c5f539871861c8813789369a0a2e3d1de70014c6cb61bd1f117c762ca12080196784b39d902f4d677a22fe28b1fc0da4eb77f37b77e7d7908caaa04dd515b84b99d34ab0183647efc9fa2a8285ea44d434f7d3dc2322a392d8b095c223970d0bf6c38e67129f8bca86f9577303dd1b2a53c3a608e4b2e3637e8095bedad41d90a124489f2bd4c47ebf10a23485e5aad8e639daf75552f7d79dba95ccb6dc52577f57f8a5cbf065cbeadbc4617903d84adebd6ad01801d3df84a4256d2a0e00c4c6c32c78b9a01cb465673902e8759ad59653dc390d9e0a7a7677d97c137fb374ab4a81965adbc5571b3cbffd9e670e351a3580770be3ca8fbfaae559acfe04e2ba4ffdd8db9b6b35f5fc92634b776a4fbd06767b8e642933df5b8c8680cc1e7ebf09e69365a158df3e3964a9440d017a42cb84c804f8c16dffad89e5e57e7016e01c99718803d08a9acba55fb371d8a5452b175d2f2112a08c693f42a6d7a9d3ee846f618ebe8ad7c7847bda56597e5e8d38788cdd9858d45084c5f0b0573f0ab218a53f745876eef483b42f2495db61da547e3652f79b882501bb81f1273a8eda10740e65283bddd25256cb73f6b36edcc113ebe002efbced69c51ddcebd8e4db25c47da30271b96825702d9d1fa6c7503ed11c84916f4eaf3f9f6a46ea375d6e4e60d62ac5c14c4e13a2617fa55b813fd7076fab607977bbcffec822c13c874aaaac9c3d146fccc29f08c7cc4d9637618e7333cf706ae5b1f536c24d52bb91932a2967bcae151564a907ecaf4c65efbd738c5ec17a1503c94cada9521139f022a891c126dbc1945b0f432adcbdd273f5005156b56a3e6985ba9229879b42aeaa7eb22fcef7a24a39c2f33970e3f580e3f34b3ad33bddac544db11d0ae662e5d330c608bc2affd3074ead77eccdfc1a72a5841d175be90389a4d18944ecd165351504867caae755724f84417c460b6f86bdfc973108cb149e78247a627102ba225b28368b6bdd76b634dcd8faf8162cb8712eb9309675e039fde45b01bab057fb98de0ce159102e6f4164254fe1b32d973935b62912ad6f06e3d0593dc20cdae9388cd360112c5443702167dbfb1c0b44a58ac4ae00f3f460e80c32c5cd026d0a9e072cd3ec34d05cfaf82f47e82841e56f532705b7288b9d4e152b5c52b1113a3f19d72a86d13030793a3c0060465425a31f9da4e15b814f3068f018d1a08cb3f2d93cf220903466182ddd90f1eaffa510fa3093e82b81a5b64984059f52a48aca96a0dc2c1b0bd5b8e6f52a0c50b5a16808cb017d88ff80813492f65ce4ec371c170c20f7e683df3ef494fb2d8226905c7233b78f5b73cea1923b191629e9e3e61f7b55bbe082990a528ad3d0cf8fe29ae7f5ced4402dfb7c359d202a02c8355db0a301a7757a73ee2d18e0dd2c8aac69cf31047cd135201ac3654c8a708d4e0b479aee64f07fc15dbf445fe130e99c0d246cd64fde09be188e0e53a4efe73109232dd71fba5c29e10599527c94529bdbaa8bce433ad40ffc554f098f45968056457decd703669f3faf84d0b7d3f0f831aec54793fe8d003f416d0d3ce7910ed24f5cb214ae1e2047f8353dbf19121b2726a8bd5d165229acda6b305c937e29ce88a6dea90d902aad92e8d07b8f10281719582af12fd4588352491663fc835e33392fa6d311e3fec3bc0140c8c0d9fc9862dc666f516c3e61588c204dcc3ca5428c312b69d98536c1eb031f1e970ded3f10e2b7235834d05a276d7146b6a2c0a8a39420ceb7477ca8f4126b2c44857dc97ac7fefabb0f1f557771f5c24261afb0f04bdbebd25374b45c3fbb57e9f73b3a9278a3a9798ef7e5d811c5529b5334b433afd8b3b6844e9ae188f679d1a8685fc253b44d0ff45a0e3c074402c48feb79e88be4de619a257411a520bcbcdcdfc60c7e908a360a5a6f98dd56ed82cd2975050ed663f831fd31a71d5819482c468996fd5da6191f062c8acdf2301c13a012540a94e23d634d21cc2253689e88ed7cf58e6df7249ade3fd8ff4b919cb94f31fe43eefc21504d82bf52a95cb822267dc0ee10f254511457b3d4e2f15584ccd5c554fd0693c7746c4ef97e1b4d715d9f83102946eb7f3b8055f09271b321d873effd0ec23f3dedc75f4169d1fc680ac973a511b9be37d8a13bfa7f40088b9194d5abbfd57e8a3e13ea729f87e8d2be21e4a7db276f910506ff7555d541dded5aa5f824843c12895a70abe294d27dfe2cb9f27418d1b200742801b3094216f61902c40b39b773e287172ce4608d70f9baaaed08b60391b4f8d96e2fa139fad81760fae39109f75809b3e8ce87c71eca4de1eb5ea47da65a8b3ffab24800893569a76e1d180233000bc5dd4a9692b7ff4a9e225dcfc64d5fa260c5a198ff2edf22fad255616dc3ca7dc4a9b71f8284fafe0735e7ed79219f8eefbc9f80fdb6f475ca72f2cf1074a91c8cf1940c0360bbf37e82b20358cd645ed77f460189673fd64661c926e7162cde69266c2181db48f1dc0aee3e9687b1400065a566554a9b33e91a78339dbcfb84b28cc34019f51404614c0b0131bcfb96901ab06bb48e254a631011a4bc9662f01a0e83ece33f0d0e3d5d2b8cc90c6ca0b7e1e2a937932691b0dac12b504e6b0486832e078ecfd070e0f1ceb638c6c959f91cef26c23d31e9f676d8db198846013894b6099875256a9004a45d1001ed301b894b69eb0bd2fdfdba9f1538bc413c14367483e078e8f7cd6bab1d1c5c414c1309d00f268e21d7c68300bf59fbb1614791725e65cef4eba19b6c8b6bc823635b2b9739dcbbfa000cdda9d02f765336ac47d5e7bd34408b6328290bee16a133ea8f31b01fa373100e0364ff7695ff20712ae7e48a76d42564a458edb1b54605dda4c7f8dad11d3735caf71f9ee41a7092a9b26d888bb86c120a1cdc84b204bf69a57e18c4d6cae9696e429ec8b6194a800e25fddd022da86a8c56fd23f816b8e0ac80471ebba2fcfb4c2f5abaa6c3bbf221c3ef11325c9a46d2948f6328ffa6ff05c326832054a61c90d74d4076eab3cc8894d7f9805f1691c1ae487c1e9f35868e6a07e775cfcb62c498d07fa96c5ddc0e1e2de7d9288cf071c370d74930693dc73fc69ae691ebcbd8956290fed35868f77a6d802038ccc4cf4904410ee49adf7732bc493de655d6852c7682c3c1e75c29a35e58a709dbeb6b82178679f193315e8fd660f2ade7f970303b4eee2267012525c4681eee11325bc33b3cc6485fe622b3d71369a9df07ca15c6a18c331abf84c44a7dd5df146d1da870412e630a2d323aa0247cf182ef14c92d413dce91a0fda1817970da496c2b619b6c3d04f0c9d61fbf551ce8640a23b34e0350c68fdf4cde022257ad8ef7e98ab5e27be6c42197881929ac7645b4cf06223c6ebda223b245ed2ba724b5e227a218fa4c0d7ace8ce459562ecab236a3766adedf1ea9441a7b4d36f4740d288e4151dcec5a144fceb745b10e7ae967b19d23cf324dc6fc5bdece867b5772dd8a9ede395a48dc75581e4c9ab20a3f43adaa529c97102d2f8570db317ea8765a7ae24c786ff3ed60a7839e5a2b94f7868a70cad3c7a605d9a5e2704f49ea6b53948d5c87802a3560e1345c4299e6b494330b2d26fe378ff1687119a608454b7a7455818ed4ff9e3646cea10677d5dbf216fdc7e6a4550f51f329f7e4650864ab1810a743f261a920d2adc124ec80d84cd11ad8315b5d861ba1baaa2639424d18631164f35956a434a745a8d34f8ee349fef9199a0cec897dd40510a4e218884fc19b9ad4411e1747a1db1ab3e6909e2434c67acf13868d78e48ac16b83c7353e9da09a52f597ff55d4618a08e9e17f4947d90c08a0a84c3603bdc8881da8b1bbfc41005cbed94ccccf8261eedb217403a4c7ef45140e15551a2017ccf9d8ac00f1e626712bdca6ab999d6840f13a0b3af35b51e5d4bddffb8ec56b6772b895695a0b48041430d3dd196c8d56d125a643e9072e4b6ad8933ceb4eb47c8b66bb83dd475c3c1b8906f72414ca578c6e2bd0a6ead84550cc5bb7e99517480053c137743e7441e837866de1d98aea824cf1d4eb436f95665962de56a715d0130dc324100c57ae79bb33a8cf78de03d0184a073e39c2f13664062908f1c37ea263fc00e27f3a380d1719cba884299da664f7ad08eeecc8a2d2cf14f923448b9e200cb985c022a7c404405398a3dfde43e7d168e1dbb3eb2985774c23d683d1b668e958c40dcb77ef74c9e3ce2cd774fe635d80c22e7d6f0a610d0f12acae091391039ba5bdc22b428edc924963864697ac0f4f875cc5058fc520b116e6c45cc4fe62898c45383e4ff90daeb2d48669d25c1057067dca8a51db3d3fabd7e2f8be540330d2b7307884475deb5b27e97676baba593e2fd3e34c38b89c77ff4638fff2c8a6b2e36338494e3cf33b77ef42ed07ea4bb84f124be7ee113c405228d4c4fd90966237daefcfabca4402a2e9bfc6c792063f4d3345d609bc9c29e92ed6491b82be5cbfc897e0c49a4ce7b9f83b548e5602feba65de9d1c690ce590788e960b001fbdb032df2a5c03a1b2ba58311c667cddd46df18df55a1fe21e32da19109100447a56cf0d41cdca1e81ccb9c36099a2d851dd97d86478e2ade8dec1c99d86a31f1c5d02be7d21b8aeda2d6094a9a1b53862208cd5a1c007c11d1acf0a0ddcea9ce011bfca9d7f1af512a0efae4e4447aa62884dd8d68c3f015c8b5c941294181c9806ca89539ea7fcc20db6ce1a3257b808c20c4486999c681b62f4d35f12cbbc4f54910fbfe2d44229e0404772fb3dbbf204d937f62939bbb896df61fb726134570043268ccbcb2a98cda90a0a7b31899d807335c852d8a592c71f7516724b6f4d9b794edeecf0e0b0e430bb4474fc2999350519644c7c73d20f02088f15c5da4172fc4e16238a4ae6708afadb87dfeb532d45a9288d3a5a48d88a6b3eef9a9cea2c1c6b4938f2ef6afc46aa316aa83e7e3d58057147f6d300554b6c276c9a85479c15a4ef7e449b32126c782e9523bc0e0915a5914c36a1d22eb8fec4a66b4b0884c850e9e2239064fce912f1ef35dc78940cd94004bb4ecba682a607279d0ba83e003d5d907ffd3e34005af76014da3b0565d4fa50adbaa97016ca5f2dde0d75daed4ec3533be5cb91a98c8f6e624319046a20d4d0a3fb28fe3d1535e584b9f13a431930f3c7ec803f00b1ce1bc977b2118a94f1b9fb66f28bb6575e1dbc1440ce08f77d164e2"}], 0x237c}}, {{&(0x7f0000003e80)=@pppoe={0x18, 0x0, {0x3, @remote, 'vlan0\x00'}}, 0x80, &(0x7f0000007280)=[{&(0x7f0000003f00)="0072d30be0d1baf1cfc6d5e67913fb7ebc141ff0069617e1953ced43c275fca9d0f554fe87c2e42132e0d0544e2d13cfd32884132c0e5d9da1d71e264f5d51cd889d29fc5c418f4fe46d538ca0b84de8cf8909ffa8d7f994fbd7ab2c1588b2a2baa9102733ea4e17c30d8300194ede95c2a5fd56541843fb8fa12cdaaf9d441d33f1609a3f233a03337a14e971a2", 0x8e}, {&(0x7f0000003fc0)="569f33fba0ffee9400664a6303e68dc0ffd9dd1aa8f31373db3e2f6a30f87d80a14b07c1456302df2a08f1edb2448f09aabb76969fb5264c8cf079fffd5c69c189c8b598d9fe7324f1329a560051467ecd31345d628517e8caaee3399b6cd74b949d099a5c5c4d64d129f91197e5996c26f9cb8eb9d1aee30314ea84bc9a359204ea02bebb91da3e6346377915ce84ecb233d6171adb88e6c7a4b9ff751f89846095fcb29f5bbd29663c5682d9874040ca7aec37e3033655", 0xb8}, {&(0x7f0000004080)="f65d6960119451704b1fdb23a03504975468f66ed9ef11fb5b057b10c3bfb80d64b9361aaa6956c9a5329f80ec1ea00cd3bef36c1e6858eb4ffde7e6bc5655bf69de93f3e19d947644c30a1ed8b4d12968dfd23a256e1915fda4f578b0ef4f5e2eadb607b48782c2305568d3a4ce3453f2d44d1a68108d966d75f6ec4e6438a71327b8945e9bd9da69f4663e661921f1c5b3e917d2ebea3a2f6894815427c60ca156d33586837da836ab06366e451954ed154503d8b83a8fe67b33b9fc38be5f2dd0f49fb405eeefb1b2ea62f4851062f5c46f29196458495a095aa47f70f75673f8ded275f8cf1493ae95fda18f17bf59b6e54845ead577d874e4689db9de0dbb651660041a2d78f9f07df64e408d3d858eeb69d3e49f31420510abe9751c7eab4fe7b282f8e0189173e7104cb0027b836163070fff68de8b8954d160bc72ef3ae78ec794a37c85faad9b89bedb7da51dbbac1c900a99f1b8d413ef8b2c4072e1b6c7a1c32f6dc1ecf638f04f5c1c64e6e15071b1c4aeb5ad7f6c2ce028cf4ea2d16a10c06566e1afb170868d7b3ee8445844eb85be3619fda3f79ab97b039393fa84a16d711fe6da2e572881bb722a0f88e394346061975029be7a11ad748384e592c6a424c0fbd5497d13e40429ab117260fd49707b858f66d836efe5ff0f5f522d30b3e219f022597d7f95b10b4d56c53f5ca0a72c2c7719c57dc74f73515ac68d31dde2f370d334c24839c6b2f0a4a1fe8386fde5bc31cb9e60f9622b12fa1fc47e6ebee75decd3e04f0f30ac95937ad4d465b6cff7336cfbcdd8f06a02f1a2eae768a5fc1a7de6467d389d13f5c8c227cf920e8fb369fde3f0bf83e87403861bbdb0e17be51093f7b32490c395dbd825a191d52ac8c66807fbaf0869801d1dfbfbda078d53e84cff584b8135a30c953d89791951b6df97982cdde33ba8c7d74c26891a347bdc08c2cf4f8aa56c726534aa1087861c8acfa70818d119a1d7c68f971bb62392edb9fc634846006758d100fbd632bb2d71cb35cc781cab3dd2c906bf99234ae579f6a53f5011d6c5c34869001b9e1c4859b6dad2a65cbdada32afac6e01d4f63d87d4f34c3e1a36166a0c966e91772d9eb07eebe81f726e0c09840b38875ed976f1b2d93e609c521d66949dee2c607426747785fc00686208e724d49cc34cb62a5c9699d5cefb0c4b8d6eb30d23d1cd48f624fe43616aace5adf222be9c08689a4e6f332314cc06d02eff0efa24f12bdea203fe128400e6fe4c28aa89972eebc3cad7954acb284ede181250bfa43e619dd3c1e6015bd70708a9b5dd12cf59e4b637b2056085a89586374f4dc31230bec4feff74efb8ffd86233a07f8da7d487313c2c0f764343500832738405cc96cd0115ae6dd8b1894a238c3e1c0613d146bdfe251c247b705ef9617b58c7dcf3c488870915fbb54a46abf48ead7713a84f777b1df5c8d1886cd3587be2f2642b4a08c97f761e138652746f9666e8aa9134722681bd2c2aba2375221968a2304fa7cfe48521d78e61924740499fdc0fbb7299be5c60d11cb54dce5cdcfedf0f961427b6b4731ecd0400b8a4507c813c5aef00951aa88abe9064f6f5863a929cf7cb8544247ec955d5ebb8dc76d5ead8aadff90ca704e11d4d6a2e9b897f05e68692128387a514517b47690cc698db1f75e63ff24ba56fd29b23932b26aefe0bca90848476be0daf0cf8cdf7f31a4beac081b8047a31cdebf25d85e48db99cd05460fdc1abd7000cdb5531d7f221248e91d541c11b3315ec1bba138764d5ad9b2f3f302770f2ea6825fcdc7e23d3fa6b24a19504b40e0ea60c117d0f4f2fa5ef8560ec71eb9f72da6ba5d94c41fd9e649d4a25a88fa40a7e19fbef947f43da146d78513583593ef6ee9750159e030ad6ee97472a487a32e4fabdd6cdd04b59bdc4410df76b76d69ce78f707e094af0a405c3ac0cb9f0a139031a7ab54abf1e0859e99f7f70f2c7fd1c9c7e8b00ceb1e1666ecd382d52df65a7e3524d6a55025b4cc1446082a305598f46514360263252acb0fea92d5d741f5db6d4c7bfd3bcacdccedc64f08f06ca8f80d1955de53b067464dee3c7a9d2d9a5ed27ccf6ed4f4d169f33cbf29cb5dec2e099ae9f0750bbbc183bc556f6a2284bb97d4428a1d562e02fb913b72c9efcf31463c95477a4f78fd576f23ce17892fdbc341bbbf6e62b29f9a0948993b70e7e7e451d8eccd78a66b6ad087151d2c62a63d84cc057ba3531ae6fc416686583c83d882db07557ab5b1b767651b7c4af45e7f8cb6e55effe9b672e5030343f7d2b96b2557b575ef20d4bbc1bed34485f09cae7fc510baf2bfe1e8d1b82c814278b878a011c3369bf4ccc10213c9d2d722091ce87f3a2ff019936534259f4d13107ef339bed4654cdcdd68fa0d163bfca975da32e323f35c866d477b31c4c2a8820066b25444100078bed53e71d7b3da73f867657cfe07232c1f9a8f35290ffa8c55eb99ea2e1b5ea1d0f9beac0e3ba0348e18c232d94fde75dceabb37a7b481d7fa4b643ecf3b14b492021f4b9270f2a20963f8a7852836f880469eda03a80859bcba4373607d1a6bce20e1ac6477fa95bf462d2d71bad2bfb647848ef716ebe2b6c4bca7df4d65c1a736f7af73c54714debb4ecf36e1086ea9b32f7694c1ffaac22662caf58c114a0307bd25e4eda3b8ea8a5f1852136d462e9bda7ab600eb404d30729e9ff604c6613c71ccf8d462e237b2bf954f647c7279e01937a6b840c1970a75c9afe79dda8d0609bcc8ce9dbeeeebd13d736f4291edbddeb17a800a74a17cbbc7932e34b8c12d121b3cd852d929acba5e4524969f12b6cd4e9d5685a43ae01871681d1e8919f31d64631f6a79c17ac23e3a53d02bb51702e8dd64d39499a24ec595fe79a985c77d900fe8a95c4447c661799a09e0a15851273cff18ebaf22b8d6fb35907c456f8218783043662b388ab148544f845e0ae00b77c263299f5a2f1ea37d759442729df3f81a9aa6798b0646c4357c68bc397269796295785a1b51964a865a05c518d7fd8e1df1da6d03e12139583eb1e40c4f576054d58b9d3c624ce5cabad9b0ff23f098e363927dd2fc781943491eac5e7dd8525111e6bbb98dc7eac91a2e2ae14534b4f0ad9e4024c05b27aed1534d730a0dffc0a0572a134286b36290164cae7cb1f60070a7222042cc8285ed15a192e53f9c7f510b51c9be7e94e119636114c9962075798ec1226052a15836b1ee4d18bdb27630e96cfa3896a48730ae94b0251924d90d486fcc8672b8f285e6f100f94152b86aaac2f79c0a727a13c8b6e0c929db17721053159eb7de1e62b017d5a4ab2872bc9952c422b9cda7f51f7e1cb7ef4617f6f241628c096e81f3527efeaa44a879f195f1ddc9d682d8e90e6adb8504d96b049edc52c2d6bf807eda4b64f3daa69677ad95b177429e54c30dd1c6b8b4ce5be994d1cb69d306b88a7021358e1a0683c519563979dcc67f04f155a40ef09d9a65efa20a89c4a8f238c3e25958d9f6b49b70c5a2eeb6e739f8d55a0a98eefba3798be18a2c959920a9beb2272932b2e240bdd795bfe1c3864c4f52135edd14ff6188be115f0de2115492437b4c6f4f6136109836ec0f3a3e33c4b7f809e18b4f351ed53d38ac06e6181d6b72629f992f4eafc42b931aa0edab4614031c351aa59194577d55e22f0819257e832e668061bbacf16b8706d4fca87ba3353a07cb93ec7d1414035d0d9dd2ab378004955319ac90958f272208e82b781afc8eba2c52d636ddb83f42708cb98a67bc03c103f257b4c09528be0c50fdc449ce7d6b0beafca2e62062bf96eed82117b1d13076328489ef01ea0c517c4dcde3be298735a12a3ea45c803d1142e7c12bc80e87533212bf0bf3a0d34a02f8fedbb957e6f7e78e0974a6c4280f26eadde1aa62f942d02e17c743d7115f54fa59bed517c2151674bd90d40ed8240ca5f8adcfebb12f25e51d424bd849d7fc3f7e7488af0160fd007735599113be0c928037c20509a12ca6603218c4eb0e96fd65cce72459a009d671cf06f7159f8e034cd9fa43b8b46bb1e35e15fbeac3486b7b3a471a4edcf9f07dcf51be285f0aae96c8bcf2ec7efc7c59784caba7e43d4b665b5c99296e61611c5c1b02e0148ece1c79133ee17297fc992e79c3b1bc8454706a30e5dfd97503aac95f4c06dc6e00159aee7aa5dec8834e6709d930668b0e563dcfa017486d24c5eb7b0b588e44cecccb8e02d10127361c1c6e330316fa51519db0cce7f357d1ef12ceca6054c9dd4462cf94fd7c6e9524baebe8637cd233bba39a5e30542c6500e23017ddcaeac51b8f4df01d45db30caf709b0d45829fefb9dbcc0884b94158827cc0f813c0fc021d7cc61a6b5fb6dc51a2310794db7e1ed8bd0b000ac1bb788ea5ead5e0cb855af8cf61ad73be0c7ae078ee8ba9cebde555f38d858b816f36ff4bd22defc17dbaef687b76aaf130989b3bb61f86793cf668fd29d7e3cb41a5197b0f9b18efd5bb7d9bdfc3359bd102648ef35a3cebfd5e32095485886042b5416835bf2b9d6aad3f4999766419522f4155166200384eaa34ad4f64639ca4697636a67e7cd393745d74265f431f5fdb955139d1440b9bde8c85a492f23d75d14d45bb0a48fd085b80ea071d0da4a0c92843a8cd6b0528e2713df3a9fe778117c441cab7f5155f44b6d75cbd563d8b55402cd3d685a17b7a8d9b9d425bf7019d5277747c2163fea29c3ab4313bb5e54207bc89f5a83350d9cdb2eb2598e4404e26bde4c1f9f3794c397edc9f2d0db327ecbc1700db206121485a4b830edb09e578215670dc741e48c254ae9077d9d3336bbcc07fadb3b954f37a6881868af8a3ee345cf1f05fa13072894db3fabe3144c695b9c07488b62279efe169c3c2f2fdf2d4004d532d10baedd634efcc338e78969116e1f3b2452e41b0fe7745f3112f246d379c62bb11bb3603dc07442b523bee40e124c2419a092a2716cd455931159d557f4b2a30fd536fc063bbbc620708b8e970c6d28e441f0e9f4804a46ddf4d5f2d0416845b06728158d8518676bc778851e4d120b5fac311a0e8d1342889da0d00d26ccad29e38337dc8bd54cf68c36435a7b5ebc689187da9093366b8c4d66ee4628f4236179706b6f2b2ec72468becd5441c8f2d2f3385df61e1d1f35db15afe29f3af77722a16175c2fd0b1d7a956033e9bf37c63d8148e5d3359b93265a02cb4d43099b5d6c1c984c3d13d674a562f3be1cd7e7e79ed7d895885b626bfeab17b9a8c09d3aee1db9d6527d04de366e15fba0c010266be7b5bb0613b6a7db468cf06a3616d3486cd37a978768bac5ada7cce159fb18aa85febcfd295c07ba6fddc0a0497fd079509fa5c59165b95a480bfbc27178f3f5cc445ec2bff175870fe98ac644d2b83589815ac1e068d20a2658f144ed2f54b1fc0bd3bee3ad032ae3ed051b4b42a484748002be093f42f3b46d2167856a12acdd800baeadaa0a6091f3ff0b2f41209f284c606d81771fd1a17b1cd846b1888c50a50f13a7d8a0addb79d4931ee61e60ad29cb81f6d489dee2ed4bf952af20fb5a369b816e25f3a20da8f500ff21f0012d8bf98f93efb4a122a125d1781737399acef2db8118b8e083af135d546caa7f8ba1cb65638de137bf1b246bafd2b1bf92d5e9c3021c5b614bd523c3e2a59d4cb6d0bc39a446ec62a84d86cba6cb660aeef4ebe24711a79d0b7dc7d1db6d02403f613e67e13da971160be5082baba76f78673ce1f4c045e69a4de02d937d27d0591b4121faa77bde987d", 0x1000}, {&(0x7f0000005080)="96b7d44471f5b9f3f25b18dda01f1cf609e3b4efbd801574076ce839f6392a34ebd547f6e05457511b99174aa820c5775ba10eb2183cd2cf1d3698f89e6127f070320a94a997a74a754d11a2e2e46288add99e1ad6be777f6e5126cb288bdff2ca18386e3a3d0d0994755aeb08b9f822363258d7e50ce877fa5b36fd8806b26890a9ca91c0c2641ce156a3e84b964832f288a2a8c6fcb9ffead78635c578063047a40875a9bfea9b3fa2911a5f561ce3d173133555d3f5e17cb1bc9435955a891f27e531890658cdcaa1ef2df5919066043882a33b32feb8bcb70a91c99a9eb9c30bda19d4e999ca4c3c5588cfb4a5a6669ac4284eb9b9e5d2f7b3fc95eea13ebae80e86152154d8a182c16a89e83fdcbedf23a7bf087c22adb708c0aa8279170eb468b2acbba9727cc1dcc5f99682aa056525e79ba5e5bd0b75e223466a913d6a506d5210dafbc344a445828364a6f9a8a5bb8bef6b77101c7f74699327d191dd5fd6aaed95a12582983413d144d721974e8db971f9464d4c8729c70d6f3e6235e210d8e394b992825aec2afc9335f48930d216f22d43dc3bb3f71e0423dcfabb7fd848b8daa392a097b3ff095896ed4ea75231402bb5bf251d847e6558a8cb04cdce4ad1d6411ad41fbf648a36947c7a2154712a199a48816cc49152c70aa89e3dd2519517b317709c3ab9a527ee0a6343977be43a4c26ab84fc70ad3b647858262d9a1212bbd5413343892058d046db069fdf434ec69bc5042a0ff1548e0a43c8ce1792a14f8eca4bc386877c5ee61a4ff3c9f0139ce71cedd8e7ab02c22d5175dd8c237c9aa602f20f2f0373fd0e653baa899432d5a33f233dc38b494f3db07cea2c81a85e696b345d1589b01edb74914f942a0309a8916ad22a4cfb78c3f7de446e0dc94b61e663d2d2e8d2e69a0443952814b564d7c81a538a8b2384a62693c47cae9977b8294c55d90266ac89d45999ae072f5912e4c763dc8be94b600687168d6f4e354a347f098d375d7bdffe5ca5b456b94d3c750a1c486b3c9e252644b214338f357b9e25540f279bfafc3041e6994e4f169eeef7d20031ab5835af6bb8413acfd58cc83c9e5bc6c91f36ec6b5c826e07f33887fdc8781e7ae2f06dc03829e59b1b903db43120a081bb9243c66b0949915a0c45d5dc8c20263521f1f468c8b389dde9237176a79c51a929c8169e2c46dd626d9db5efa51ea4b1b8f773c1bfaae90a7625008ec6abca250d1cd323aa35fecb0c2174f5079702c82d8fdd44fb4fd476866a6d30ccc1cfa57e281cc5df13f28657d7c987183c791051eb7296a5031079a97b0e9dd6ef311d2c4ce11fb3e725aa94389eb6e901d4f889e9aa038744a854dbab18da3420620be2af93408886b59b81d15e4716fd76c0b0c20e3588490f4cd096623418dca1312855f95ba541766b702f954359330395b67b098a9e73f2e2b735a1f6db59c898a7dd019df96cf08efba94dbb04b36f942403bab62d58b021c857476153afb3f65c11c231634280e39dfd014584e8aa2959cf16170020fda8cba8808e81b40e319864896f4d02ffb0896d20e223e301c90150f5b1b03e01b2a3a1e03e0ffeeeeb8dbe9653040d7184cf7a50107f1b39d569d5eaebb64b858d9557e4fa7c83f5e8e27c83a7350eebbc93734255dccf84fdf7f306a9e95cae988849e7f98a8b3a88758c95fb2bd8d8b3b8cdb9d1291f3e6ecda9370ea05c468e15c995b33f991faf6d1b383e2e8b4d50e6467d432730992502c1f4014d51d21782e5a4302fe9e310c5f45736493daee614ebeaedc03c604757bb1a75093fb92f95bd856f46c0e08d690f15b891cdcc04c67e987e82c5a4299e2ef48f0c47a13ac37bb3daf2622f4e9280a86f0ce6a6ec97d3748fcd904ed81da1c4d665f277fb81c252116c20e2a75a9ab5af6650379b97c27a81c02c0c43e1041dcaaa1cd88c79c60c7ba8ed0237b66dac771fb8323a3aa16a595d89e0df594df6c038a02901c183ac71b001d6cb192f41f43547a591d36b34701aa3b817dad7e54b5abfecd5e004eaeaf22e78adc50d9232efc6bf1c363e388c172f3df280e84e54a514e24fd9b95b807cf4454b8ba1cde1439f2853af89be9c4b42624c3f4a60338e0301d3bb53774904f7d6174e1e87d41540d729ee4b6cbc6da9f934fb378afd3a5ab758622288c0dcf2598d9339dbce5d2fe94e6734736e701bb86a7614139cfc3921a8afde59cd9ee4d087d8326f7c16c2e2230c22c2cad76922e010a1b631b91b327683fa088d6c6ec1762e16fd6918db5ee82b1706ab446fb59823632453235832efd138b956db88c5b321e3a116379babd436c681102f1781263b7123d9d0d0dafa918103bd0811803df01b7f5a02b983c7ffc3c931595b2b2f9a2f47421532ef703954f9b62528d4507c6347324e5a6f764200e70ecdf3f879fdbabe4270f07963bd167c488b061acab1173c52621698b1c929c9db9bb5c9ae21768c832cc82cbeab93833b20412a45c9c2f1954279c09447fda9541889f4cd0b54c87031c3d96073d545f648a8316fc19132b5d5120e6f251bf4b1e01a612736ca477c2ba3bdff17fde8b30890ca2685ae5242274a8a08ef2d2281fe370ad248cd33bdcde8d96508b053f2b3bb7ae7d467d8006f670247616de7c9c9ccb51932488b07a9d10bf4a5b0864d6b24fc1fa8381cb521f05df86d69b73b1b7fb164e21572ae5ed9d56f4fe9a174725e6614a7e4e02fbf77bd71ce0611d04d56e99edeb4f1e44d7ab5058951d435513c0285ca50deae924dce8632b4d5bae2316cb6559a2ef14f27e6e83c4f7b8ffbd02aaee7aa32defba32ab404286fdad16ce57318a8d775f38b185a35769b7adc7181e3de626ac1cbd159ff29df049eded859051cae0d4c542e4fa09932e89b829037b9da9d87b737f0e00f9eac625c25869bb1580fe5d7cab761e729809c70a52566edc804ab8b1b53f76d89d59a33f56add0970e6e2e146291e455b67762778d44e58f1cfa149fda511c8b1746cc09badf0761f5f64125a26bf646aea2ec4bb235948520d17e936921f7328191ff768248e7333bcd518ef43980cd7c637551fec068a965292887140fce19111b379dd953e76b55d15994bf2ee406cd6937e3e0fcc17b4dc1e09c0ab62e01d90fd19a506d525e9eea40106c43c9fbfeb0bb042a8e58d99f6b1668cfafb1cafbe5faaa77df6651f0a8303aed59dbc3608e578eb52a9d58e9802da2e7652181dfea7f4d508a11c1226a47ff4bb42935323952ac6b329d66963e05ca6c4a592a08040b58f7a0a347499e0f7a8b0549e261bf4ed6340504cc8946247ee62692b11f25c37266fd487635587d7534811a2000c10ba7520afa6cc627b245b06be664305bb8fb06ca25aacb93fd30cd705859df66bb568cc1cb20751153a256896e4805e9c0fdf1d4b90129a8a428df392377010cc2787334a142286fffd62794b883af947358c29be4f57ca0f60704aa60491e4036635587d13de8e5d85004d3950ae549f5d4af328ff6040e3c7dbcba00890a3de683da2267e5e06a4c6f163bda90976262730f40cc8a30ba50f3f62694a055132d1080d919e49ff3a437a6b476bc247d833ced5f0888a807d4f54e37cdc69f134f930d78d6b6cf0d436ccc342754829dd785c32697e70985530838cade1e11c103c85b928f1dfa777db9bd36459c696f5c65a48b369f5a00955d307bd9fa2ac6c38a9a852b3e9cd1753a9ad473a8205aaef93ce25cc55daafd053aaa658982ba03d20e7267cf7337176c4ede7a3310053903b037e74c1ed29dff18650bf651ccf4234450a1394be25a59584601b0c0b44c192653dbbfa0467452781bfa7efb020c009db81af1ef9130d0582135778fea49f1425ce9c7243a0b8acc0b2a43add185b81a43c7b0d7729195afb3ec921af9a468dcc15593a341e93098a70947040cc4613377ea31a369316503c44fb5cb8ca1066478447fb5f99853569acb34256c517439beca564a9893dfbb7c3996d660ad90006fd775a11f2dbfb0862016053da202141c0027521fee22b7ea85ca040c6b7b97c1f47fc62aa26b039909a61ac0ee119031e4201f87a37cc261fda9e4aa042404bc465da8e4d0b0eec419b5d172f71a2bca48e2f35365595f83c47d8d9e130b72b1c9b16d72b1927188b0dbe25eeb6d18c504708243417425bb261b2c154f6b109cd6d691c9579eda72661281dc5b9e2420b091e7628c24be5e702acab40d02dac352e695ecc20e40a07b04ee3b30d6c31d8d5ed877dc52142a43202d6ecf778cc354f1697b9b70dec32afd9eed7227ad8e137e03931810d5513aa8eb8765970d186d66d29960461f640d5df601f0068e45a62d559e49ad36fb95b07e2b3100b6c9a4de6487065099cbf543d4bcf487c26845b7dffd7e43fb8b26c78877b0b142e0a640e1b303e4495c9aeaed312cfc54b1a694637a52591f7a553e23ae0dcb6098ca8c27e48ce1a490389ccd243d119ceb63156aec419ce506189c53b908ba40c3b14268466bae142da1d63e91567eae01cfb428db3c6ed8b7251a3b4ec48ff85f545e81279081ffffa550d1ffafd9e04bcb63a806f3f2735e2a867d30d5987070e60e3cd477c6cf13d7f2e4de860b854282d62dad5900dcbad39b1a274ee11eaa599c316676e4c71020a4ed218213d82dfc90d3c3c4f3b6e073fba1eaf6987b893db3b487e5802ccfc035baf788034f281a5d080379b86744eb9d484ff34263780cda57612905a8513f438203d35b547e8a7c41061cb604865e104d8925d159180bf8f9c93e16fb04d22ac44ce8e4293d1249ba131807a8890256778e37917499216c9e0bddb8e3eabe7a9a8512377a3aff1514cbc4386dee371efd7ac43d817461143488ac0223152c2dd9f5bb1cd640fb036256791388a9f7a5e2aa1cee30927195dedb363ff7d26d3feb195054c1dc7f73d6249462f3eda989fae613b4962699745878c7e2b68d140c09744af162c963d961a22dd74a9391659107da08bd4ef3f058df4fca998d96b5f9f59467b6132aebdf82eaac9ffd2b5cca2c8ca2b0aef49e6a3b62af662cf305d80d792ab93c1b252640aca3eeacfa9ae9c80a52c6a20ea039ca11ba58e259d9d87916b65fe0d6d55223c33d3ffb716cb2518b501ea96fe3e7ec76eb893f83ecfdbfa0d35f6c960f8c11ea037825bdcda229d3e60c96a3f4e31a69276bb5e6f8587784c5d72ab6870ae7a904b4799b2c95db85d9012f09539c2b1c5e0463220bcbf20286a5c72c4111a2dc979d59dcb4958ab70dfd7c91dcb6664ac2702394d4d70fa6619fe736e500312455ba4d1080ede8e4b0fd8c58a768531638f32c7a76ae2807b090094bf4509a15ace8df1967b5022e8bc5141bdc2fdd404204ec69cff6e776780a8cf31ccb854e1881bea7d1f4be758cb71a71ac037004daac454e0d5c6a067cfe8c12ac956e2dd5fd80a37036ada5f99baf4a57f9ae177bb7b69fdf697fd38f9559882c5d92daee753c7d63f1276a3560b97d084bc9189a4d60906e8e4465538e0b4a43b7bcd02dcc0d2b25d7f4582c5c9d105a8771a206d3385b68b53a3d230e16f3ac085cc2d07c57532f485bb9e84de3f51df823fd4165f3bd1d306926ea478b9b5a59b8d120e452736f84f1c35b9ea1b0260a4fc9c7ac6f74a0f17e6ed04b1fb64bffde7de34b727a1c631e911afac153c4e0edfa083068c7bb15f0206eebeca17d633c9b74172a3b77e162658925011d708d0cac48c214fcf36d702f04dcb0277e32a8e0d8fc0c924c7a13d5b71a7c22d1f", 0x1000}, {&(0x7f0000006080)="5fafefe92eb55133759369e57d097d2f8c845cf48e3701e9c9397f06b255d50e463018cbce471af08c30f78abfa2775521f492c20d7437880de9949d10b9d6d647c1be27759858f20589b955c8b2665b89768cd5", 0x54}, {&(0x7f0000006100)="7160272a9a47f1a5c364acf030333411f115877b246ab341580a3cdd33520bf9cf3d51cc73d761a172bc2c6213ba86f0219c914b94731cb512d4ce7506f7ebbc94583b77f8336c0a45a50684f612f25c512b834b14c37e45331ed5a3d26dad5646b76ff04a9665905e9a9327ad283f7d47835b1585ebc99e2ae81db955d96abd9318df5403d987f8a9fd749360769f3f90b5051422f2359a43992aec9927e148e2c717e8cdde47d6b50fc90d1695", 0xae}, {&(0x7f00000061c0)="5ae416133131c678f930b8fdc8bd00600c3b1ddf6bae6d0d62542cc7d60fb30be95ef8c51054b0a39c38c7931bf130d641cdedba8794a798a4e791923185dbb731dd1b6156659b5ff1323ede725df02463aca37a8dc8", 0x56}, {&(0x7f0000006240)="de57619c4a187e592252f3f12acf049b6fe3f39a0d94aaab092cfbbf4b2bfd", 0x1f}, {&(0x7f0000006280)="d4ca4f43f324d5d3914c041089c58402a1263129472c3461d05105a559e9ddd55eeb3d41f4750ddfb273006fe70578b9e1765775221bfd88f48cde9fb267a38b2e261080862826a9b1cf639297230fc61b32e4de0125c3acf4072a9db58a24ef8c5c6bd8610bd294f99f679907ef25aa8bb093d4f87bd00775c7eed1140a9174fcb00dcf4c93c37ca7cbc5250b6d366ad4477fd3b7036f21642110d24a7e85ab695dcac3ef1fd652f3123565af80060cabdefd67465cfb350195da183cc5eb07fd6b1ee17da14345d0e416a137586d0c58336ee04c5ff40a3ae172b9fa0ee01b6d93c39166b7cc9221840bf88d967cd2e5999d34e2b7d9280449c6391535b43ab23ab4fe20dba394ec9e36a14cf26737484802d850dcb872e44b23da574a84ab783a7f232ed0e68a2983b7602fd076b37e1099afa21b9fa826a419c4d393f5a8ec1687488aa99621f2a8cd37aaef44d7de391fdfbdd7f59a811270d54fc4852380a123057b9371572011bd3d7283002be67818ff319d82cac866a9ad3f0d731bbd7e0de5ff7bc6e5cbf30c22f0e9ad64e2aa065487bc840d120d5b23c09e94e49314c5c6571318f40d2dc03bba6738db84d31a5edbce73da2c7b0bdf63231367824a1d8e1c4b701e28372f1eb266b1842edfb300a9958a112317baccb0006684a11a3bc53a3175073c6ba7eab32bc6dde32a94249ea1d4acfdcff2185be1c243a9f44ca91d40b09e3958f96ad54efd4756a36b8b3fedc85d1c8045ce453484f969ce23ba0a2df719c949e682cc8a88631dd62ba387db746017f284c9800d27d84fc8281809c46e929951731d5f4277e942faaa32f494d692e03dd3cb0c1f2a18a22e7d120393ab86e68523f99bd3c62749b2cb6b32aff441a826b616274f585e1624ba0c743e7c353ec8d590b3b7c6549214f32f00fd04bb71aa93bf899475db8af22a8d7dae6635dc75a0f247d064b01778f2c7ec1ac00dfc37cb75c6df56c438f0ac7b69ae636d79941413ce88ce9f17161e1609ed53e5e51608432844dbae353caf00946c1132dce83dc53ae76b3acc21edf3c8aa53da294d3ef16938d7303aaeed834375f3c7bf3335a19962ee6d21a65c92051976b1331471362fc055fab37484e92d8232994133227c27b340dd2dd7ae701aff3831fa3c03e190aca5f6f6e168915a536d95e522eb115ffcdf0d71edfc0bcfe2ed72dc608a8953137d2924f7f8ca0d9728c33017de20be73577361a407ceefbc0690d209607b431f7e3f62c8d6f93b183a1ec56086e6e79d03d76eb0d35c2814e6a3d9578ca924a95fb36a195d7ed9971ff6633fe13dafce6c5315aad2e8647248e7484d4befb7cdf3e5523a7d6d5a5e72e11eb9743ef9c60a3c3d51f0dd19ec782bd32341532041a48c1d24fb1e92d0d21fd9f239f92dd6a9bd583c9136bc187a2340370cfd64cfcbfe4e91e84506e09e6008e989f859a1145c04550cc952b74f2042cb1299c5adc971b83f3479de76379ee96333249de14584da66752d7eb79356b1fc00d27d8d38e2f7689ce9a28f06759da226b60d578a89208a0606322f006b65d73b47f3213f8802be971a4b808026cbd5ca5fd7505bd3cd8f8238b8d6f4454475e62454426dc041855f11fce6d5cfdab88c2c05cc829c168d6b5dd5b0795111492906f30f7553a097c8dc2196a67ff44d75eceb9c92a2ae154c5212af29ff34360aee5cd9e70e8292bdd67b10f82f6c6b46e6c27ef53c981da5b01d4f9f1a07d5d09b8d52252160f75e651c9522b7f4a9b3f50be69636a11154fb1c968b43c96cb1c38da2b234b082c90ee4224e5799e02a54cec97fe2764159d460c7ed9b98d45f4fd8af664c4db0d17677b624c9b457dee121944ce187d7553e66325c1db5f1a75c68798f7bc08966099a8fea703feec23abae8c70404e55c6593f66a30c2db9490efe488c5370d0e497b26f7bf9e9a79d4a9e18f612f5e519d34c232b43b3c0cfa202d4b0e475278afbbeb6f367866f20dd895209a97f0f579113418d00bdd9a1dd9aac2797e7e1fc6b142465f73fc5a8803d31ce7409da298bf0e0982df7ed6c90069c6b699a7e059e93b735a171356c962b34d49b38960ac9281a0cb38cde68a0641bd57056e17e1c8576d657a8dbbb738912a93d13454867a0239fb0f8052d89e6a9a0150fe8f2d933b8dee82abaa6091f9f6c7de836b2e802c0997a4e4d0e121c1afd11df4aeb332d2a80b540c125915e2eca39e3e8eea62f0e1f8ecf6abfe23c6206a0682f5e80e3951360feeebd4321236e7b752bf232215b32aa74bec260986e71696ec2b63453257731a4bd4ed3104418c1a44d76100cb463a8ab1333f82735247a164d72f136c601b176e60a9db65b12575bc7ff7674e4121337839709a1178170334d9980918a9b6723294a7746434e304848452f6b1aeab36af444eaa435b1ea5d7b8ee183f35d458aadead195c3c93461bdf9830de80b7d0fe38ab0bcf748ece129b5c9367507a83c5faec5789ddd4e571cbec9242a97eaea494aec6aee4ca2b9a11751d20822d48856d3e74310c48179c51a1ddbd3bc1258d9a073a790878599b59e63f795b7603ebca935f16fe47efc3a4cc02d2ecafe024a8a0ab3a034d9bfca4aa8085a7d6a1a0ebb6e5b9fcc17b5a7e117e997d1ba2c1b17877e446e76a8160a445706c4c0ad2a0bbef89685e57f0c08b2a33cdef47799bac9d98518e3debba4e172594fb92689255d3cf54d91ef7a23e627089160dbecac9226be172afdbc61a8651bf8010f5b3f35862167cfd60996d8e73486c9207c2848cfc296cf112ce0079ed704d46b084ee2f39a58b7df674ecb04af4711164a4fedb656b84e5becb9a849f14f81ec20c10402c6a0c7ec48bac91ac375b581ee2d4961a025b5204377c2fd8a11d7b092d9881e3952567ce32d08427a362ac1f4e6da73ae8a6f0f7f63adc501752d57b56fcbb88c2bb02ba47eb68e0449444ea76d1d41d6e03b606a46d237037673d9cdce131d6ced581f0831eadb980b756f4788a2180bb4dc00b88114d0c8700c74d2143716dab246ad5b0e0d14f081131dbb4c17d9e5a865306a3f35dd23f21fc5ad3b08f893cefcdccd61d3ef91d80f13d67b51bf4395b5c14dfb077b3a69804f893fcdb595298c46ffee82f3a7b67ccfd1cbc794079ac6828c3df9fe5e762b766f4f488cd8944b0c873cecbbf27fafe7aef0661828046ef5426885811650bdf710e80648c8be04165b532e9c5c148715732a621b8436e40585c95c43b62aa8eedc55638cbfd06dfd7572d2ddd84d8ccc057d7dbdd023afc1fbc4a10bafcfc0c8acd68cae3cd2ec1cf9026185d08e7500d2762cb2f1690ce9d17da53b85ac7593ed6ce5ab1f2537481f237b0ccefe60cd14ba38f16a0fa6f9365a03f2fe7c93cc432ecbb2ec9d2e911ad65cf88cdac8d61545cbd7ae605c0c4bcef592cc50bfdfb6e14d87be64a49f7d2a6c64a812046a4fa7feb93d7d7eb717656a2e6cfbf20ddf44d6f18b5b5b5db265d4af4cf4959b6700ae12141bd1a241344599c8786396cb80c45e29ed09c29b3ed126dd52fdc5313918cd95cc6306b168bf45fbbb96390d0c3d5b65c9e3d929388f8e22772caaa3a31eb45ff3abc07803c83a846d13d244b8b09373441cedac5eb090da7f4b1507152536237ee19add8d01b9e2bcb8950ae871080697f31710c6d95042b0d61b188a8cd3568b2ed8c6a14c62d5526aa5d1e678e363b95555a4aa9868b14b3e63c126de85d0d4458acfe221051e96aef3969cc86253b08c8a263eac8e29293e88a32d926a3d4b9c9e04c8ab6e6daa228e45d0fe48035e8c007af24cf9dc109f673cd4232467f9c50ee65f617fdb1bebc22852c55ba6959c76e8f240f239d26b3996716cd2a6676c03eed736ad2f596967bfae2788d46ac93ca05e49361adb861ee2e35aba069f1d7401c11bf528fd189af03a31bc8c829920689548412e0acf7cb45ecb70f11b9b21c430b3c9f7b2c6a5da7168b3edec4a9bbefaf77ff0f13ce5ae1c5cc83e49d6991b965d1f06f5f5ba644fa1fdda6e7b68d7ca390439929467857100a90c658d458fa657efb100b7e7032ed345816a918a2bf54da8776c77edd034020d2a47bedb1ef0fe4e935a2a0ab924b38e664ed1cafda2c00952ab62a461045aa895f382884ed74a4c4df9f1eb5f2fcbdf3d296885a0665e7bfce2bb04f47293efb110486d8e203dd2a651b48cd4227f4249af41e432515c306e3be9007c61542f5b4d8ec2d0fce54f6edd9eae585234496fc50876da4bcfb377f82f7ebd8b85c5f93067050ba5e11596daab4d00207b191eab2e9a9e7e25b4072d575842eef36f2a0b49a095c2c3a54d1018aec19b4046dc4c794d87a8d000be8d5e3db688838ccfcf8e8bcff484cfe864980866626a76b5381c61d7fccd3a61f4cb26f37d1d37ca4d753cd1971034bfdfcba163c2dc6662f04eb67e1f347a66ddbb5b9a11d323492d2b098df42fc2158b4ebc9690d7854137356b39df81c8cdee7f312fee6ad70d57d9bf480f6cb2b60b307d9ce21c5130891aa34f28279d0d14050a75ec03225a6bf22f36ecd923ce67888ceb7d65f7a90665ed181698ef2de4b575b3a2b840168f3a11d653667ac70d3f7fad44c3a7efd7d7b5018d7b1e68ad6641dbfabc6184fc630d3f75aa2d5daa86755fabd389248540e20748afcd363631e8112344e302e3ba14f9ffee00dff2ef8fbb083aa9f4b68222a2e6c4fd87a849af102e6df6be38505814be460f5a17e51ddbde1167e788fc3eea193aafab6e838aebb11c7115c2bc2e32e3e1e6278a8fbb61252999ca537dedc219e83e3f8f4c80002f43cd81fe2202e721e92c3d3d8385cd02d5c11f83c8e9f4856420c34270ecc8e35905cf17d0510186ee88cec3a8d370c1dc354578c0b189810396454a72c5ee9d8b28c6cddeaa49a717e89db50b18394931848cfbf62e1474954080464568c0ed7a804f67e184ee06652c3957ff7eaa67311e9ee85a37c4a66cb91639b19083f7fd69ab6250268c4bc9c9085a88c57197d9f99aed8203738de1a70018af8ae7e39b94996cf2cf02352b561eeab3161a90658e8254c7ec7646204c4cb8f36be11f3795e78379531f982633db2656a2014467ddcbb6bf3aa3d471cdf78996929951940a984e9df7e4cb2ec17a46ab83ab56da3b2c446d4aac68a7f9038ed2c2aa64944395040403b085cf254e582e0e1b5076101a0b4ba9bbb722a7a98b6b3a1e508f95809e1f88ee89454c956b4ad74f336a0e4deb89a84dcec1508d99fa9c408e09a682bab5924899b5b36610ebe688cb03fe1905745cc97e217eb64910a52a0c7c7ab1a7f574124446aadbcef2ebf9a862cbc774c31b546fdf331aa8892f5d153e3e766897a237215912c456a75e8290492de2c605af4eb3d8d6dd1d64fea174ba34658d1cc8f04cb1b00e98a59af84ddb349aff4a0ae59b14594ad46066b8c2e07c1dcc669e4fdcc0f7597c3890a0b4b7177dcf387ad09aa68ed1316822acbdb5fcda2eb3eeb04e01cf787dfee64e7ceab89fd9209540949854f7bc3eccb6f039dd1ed659574a9a6987ebf31e9ddae50e890a1736b6ea758346dd98074e3c894724486a63506801c68cbf9e9947183fc8672e8cdcf9921928e0bb18e636986bb47fd0fa19bc9c3fb4e8db1d555bc17a27d3f9f0a877ac20c7f542b290ec15cc9895ec3b185b7ea2aa5eac49deeda7ffdd8bfe7a81f9f9767509fd4cbbcbcf52be31e397c5c4a242f8adf6b38c09e1395a83b7372a21233ab79e5d371c95ec0db91ffbc16", 0x1000}], 0x9, &(0x7f0000007300)=[{0xa0, 0x109, 0x3, "7205bab313d859d42065401767872de1a9c8c7438114ac75da13a431addf9e17f6478043b44ac85e7311b1cbc889e1e6289dde5b4c6aa53bee959f6e9ca86b740ea6c32377ca1f501e817f8e6c9ea01742582a832da7beaa74fbac2495d1c8ecc31d6c2cfad7ad6b640ef6f0fad128af61c837a464f10a95e6d244a0882946702eaf7950724d9cfbe06563132a8bc3a50b5cc8"}, {0x78, 0x0, 0x5, "c919d6296d0b44e44b6154438c877bdefffc055cdcce80e04590d7b56164d60c0bc3c9beca2a127e4c412a14a43da1773fd4e27956e2a1e0370834ec30a753823fb0f3960fc1d6d40139363938637f15fdc97fadfdd4e6cc972bad8fe2daf491da550fffbd215701e39d"}, {0x100c, 0x117, 0x3, "dcaef25dfbd857430691109300b1edb3e959f6f97d897e08dd2063a59a0201c3857e80c1a3b5c9dcf4a3dd8699f5cd1cc01288f8d24789f8130dc5e58986e74bb2cde072522743e61f3aa8da2f134a51eac737f8d8dddfec5258bb0218b0c4d98ac98a87512ac6e72302279700fc46429f8b544fe5ad0f59f7a9fd556f6c6489131319ee6455526a9383bf53c8faf8364da39e651c5465d15d25f76235391d74fa5a71da59f408ecc24cb865bbae4ceeec7e41ec4eece80c223be44aefd4583c0351d04885cc5e92e09e2736e9c2d069ec3faf707a589ac3f8e236b7ebc66b3a941f63729ec43485c7e938d4d1146cfded9cde6e475a382ce30e040353361e985e80d3ddb9cec77c6819c9e8a255f88404c45712fd9340a8e2db5dcc4ff5dcd0d123d55244a1b908e848582444ad97a9fef8f022d3d76142c2c814a7e55ad15f1c7c298eec37b05061d1901fca07b67bbeb88793862b801806847abf42b6402bfbb28e7a79ed8954c666fcecaff74fdbd0d149cd3b9cf2245a35b4f3608ade2d6b3d69b09c50534a488d496bf117d7d997bad63c662f75a38915024ec0669a1079a5cd2292c313104659d11bf80601093817c69dd431a27350d042a9608cd6fb50b4b6e65040f77ef3f58084d3191ac86ab3ca21bad269597345013a60748675754807fb8dc66644f66e4c00d0c2efd846d804aed3f308c10c43c738d0d77148cb6e7c23fe1e0f9a91ba1b10c71cf5e9c271ff201fe3e36bb9099108bd85cf4e66a5a48e1a32807050365d9d7d428cec92a8f7d68c7adbf16c675e55eec45b947de5c5884e8167441db65aeefdf45a8e81737e0d2bc3b5057c5b9a651a754b9329b015836cdd6e87aa16177b712f692a84f1ab0b04f8f567752a0c97efb1bad4595092ed820578e7c738bb4de92ea79e3ff3353cf8254866580e73d2f2d9638aa6772c2964aa1594de31f032610ab785d7b09da5ff71b06668015be9ccbce08bd3c29f18c79b18c676786843a5a6cf7687a5049b945f9aef28f04aeff138a22edb83a12f770d3dfddc3299ca3559abd31913ae2450f398c46aedd1813aed36e933b7b25ea3dbdfca0dc5a882e61dc65dc70d5acb10e72a31d576040be41f58f83a93b984ed7d76c30ae13f7acb8deebb8d16161fe6b5f5785286ed4963e97d200cf51a969bc000a2daa43c306a5ac148305c530ce286ae4a5222baad251c8db80f545037dbf23f1d1f45443cbb13fa505781c21217ac86506307e367704d003b4d5a43f0adbd01ddb0cd4f5045865ab9cd4a7366c4e4483aafdcdfa1a8ba8dc31b69822273a876aa38e82e3ddaa95421422e0bb254e5c21b1959f132e8a236b237662a179289c677cc65ee0be11b98b05d1c90dbb4bac073fb2a6bc8cd83d43ab3f055a0ece7aae27d715c3c06c81139e8b2c0085fecb1c612df815a30cf692478e63641e86303df1d3c09ca883cf76e01fa55878f464f309a4f6f080fbd1916127df4aa0b07661d2755fbd824fee8c2ab05b5745756d6e9090c1ba0ee510363049512a4e54df9ece79e87bd0b52c1c3f910a4ee89a3810de6a1dc0d07dba38cb7ad7f522bf1203f046d3281c91a054f2a0e74701bbe5ef926b04e01c28a6261f5fb0fdc44971dd686c0a460aafd3a93e44531cf6a88af6d450e233d14a01bd89e92d2c1e72c2865f109cbdc9502490e379a76ade629aef305d24e49b3253c7ed157b27790c26d6d3131d4626252cdbba3e3722e0f88f03ba1d9fcddbc9ceff101ef0a12e02da188abb77855f77522142ee92c4dc6354e02f1f0444e156a53b8b114db25b2748190f80311e364e85541d4168c35b398ca6ce17825d68768c8ca31a1121d23a70cc5a9039214afdf33a0bb1719880aa5f78f0e7245ec10c62cc4464d352c829553b31ca3d650fa99241c77b3b962977e1164dab820c1ab423cf47aac6f47c9696d8fd38e24c32ace396a9a1178903a5623f5b6097816a022133fe3e49362ed928268da662b198eb046ef770c1af6913a10705d740a0749271d4688fedccd906b2b8912813e8e98d5e94b34f29eb44796767a87acb7f0f822bb586288d1529f2546cd394a0f095cad769300946aca241713d074149945b0638d1b15e7d31fec1166a009f12a41641755bd3c7455cff7286751648b58200f84383e7db00ba0f63ddf86ea202e1ef76a8b95e7bcc7300a758f9be9ea35fa869b9a8ca7ff2d1ebe7a0f96d2cf8407f11f1925e7c17cc6d7e31b07ef14cc60988319e79111b80570b48874006aae4cb52200147607559419335b66939efd062064bd9d03adf4a1c69b5e2ea0e383a8fda2b13deed034fe8e199908de4297348144e54ce88ebc8398a1744a4bb1e29d1489e4be449858eab9c47c8c74f607196a92144b858ab000438b26f70fe531165a0beb17572ded65701278112bef8e46693c62a0f8b445caa668d57be8b92d800bfe72e567d7f8ec10fd1f6c7e874bd194be0e6b8f0f71af6241ed9a9119754342ebf6716147b73ea89b7eabae2d2e3ee27feff34f0f353dfb1f8e595b2f68ee22589270d8f45df1c9a531e5593969e14433e95ded993358f377e2c0cdbe4d984c53563e701a2e3da7afb5b170cead40a3e1111b14f1d45df3796bc7be676ac3d5ba9848d0be5f7e3bbfb6796545b9c4b608dbb129522c08089ac35469a58162ee75a592b38fe3a83a90073fa7c6b90a11c56de3de01ed57a69ade420c71564613b5e4a1630117c6288f3082bc909df364414d2a0b79c5da7f0c78992f4b4601b38fae8bfe3eed477f55f000b02fa6dd59960066c4c674b7cedea14ba050b2b814a3a7fdb271447f20ca5e8c8461d0cea31e3d56c9fa3ae57f9265fad3a9a0da82dbae8678aa0603ea72b14b0e9b21bf6b60327f703d1448a9d325912cedbbc714cbca24e6eec47dd3719a160512206111deb1f5f8a946fd170f736a2f6943c58fbac7e9f15864576f064857d56603fefcd96f6c2643391a4e0d50bfa29a101158f89e4d8f6ac1cb865bcbcf53178879470df815f9dc5e56bc1a46a1999363b12f419dc26df182377d9736ad3f9f9f07fd89024d92e1aea1224a27da0f2bcdab292aea54a45bc7c43ac1a1ce57d8d1efca2d9c76b31b07877ab00431ed6bdc52156456c332610ede0edb730b372d526765712db239f3e0b3e3dd8390e433d7a47f0ad4ef36f8c502d068e7808d378434fdfaef8f8b6ef4dd209415a93d67ffe45787dd82ee22e4f3a9fb1edaf0dbc30b6c9726331028ab4a8f106ac13040b27bcb56788aac5da2855a21e45180bb332504776cc3d82bb86ae5a9ed83d033932b5f83c418cdf09657fa377cf1f17a3ad7849e2657f96308c6995da0d9704baa46e9f24bd0b3dd81e2b6cdb8ffedd1d9f39047ecee5dc5a7bceb14b526ffbb05abd2da7dd00a57cd28fbedff9fda0275a8e5189f8a5ca14975ae6058036b8c38ec5b53c87267c01f5551d7fb97a8bc6c718d3b46ff4679b8bb3ea5896036c19ba6a962766d34139a4246312a6976a62f935af11580165e691679d230ddb1b88f40dc0b03e1411c9b1b44eb1c2b569e3ee969edeeb3f0234f6b9daeabf3f1e47e98e9e29c5291a2341c6d5116d23ada5a6326a4b2e8fcb4fd640021944e2537dc769a1b222572fd702a9f7f111bf0d71d0b12cbbd3c5121147164fc6c85a1337448c8ab741e341daad834433572e5a002364a9dd98e1207d615e96031509b9155bdb332249e01ff66f2384ba8ae75910a15a71b71bc0dc8252bb5db5ee5eca899edbf5b6cd2dc21437a2e852bbb39201d168983d0767a5154e4386f572f081dc80462ac0290e3c0f8b97cf7b82e696f8b34c6cabfeeb5a1db6e62a1979e31b9cdc4692c89d56907443e160975dc77be3be3b4a2786f4a9369575d8cd2c3fdda585fd4f7b383719895e7adaf7f6f7c51c08ccade5996c2efbebd656bc52c57244a68135441920eb8e88a2d3f7d03ccc3d348c586584f6e982aafcd7182043d172d70c77d68e44a0a920c3f732dcb7b789e42e7c8cd5c1853b153082310f64ec87b9d16e6baf3341624e4d94c7cfabc25677143b83bff8d29fbcb6c4aed72d9e4855abe2720c8b0f6fa8010083b222b5e9dc254d96635c7ac4af603a30cd9ef270dd56c1fa61e1aaf4d804c9a2cdfa020ce9d652b1f44fe948b29231b08fbeecc4c7d9a4d9b9e6610a84f1bb56049aa43f54da38903fbf4eb8691161cd0287913b57426119a73cc3783913c1ba0846f0aac5e0c561ae69b10c32f53cc3075987c690dbe327383c717bc65445d2cadc672823d7873820f24bb0e444806b2ebfcb53d1ce09350c056e2450f9561036ee8c495d7a35a53880bc773272fb69fb3c568697dab3bf48c6209da70e0f7daf8ab6daa8761ddfd7e43b4200cde6f50df840ab97b4eeba90f78b36ef53f254f67948db1e58a049aab178381c19385406ede3abd5053df0acda2c246681d831c284d3447abfe70101d7cae5bfaa2a556615908d538dd77ffd83337d7e97514befcb00c3320a1295bf73f2e20b17cb91fce1214689649da4a5462a96dc06c598ded9bf103961b73dbada53d2692b04d06fcdbff01a87fc82705fb5bdebfdcbfcb46ba84295d9098cea73bf262396d9b018d2d09f86cba7829f707de8bf2b57e876995b593f3908ea8edd41bfcf4d49c8c35cb8f77e5e97a0466cf1d748a3b00341c5a87e903e6a08206623250a8b12cff3527b689ff032c30bd9050068a31a5921771014b1e1f24ab3e20cc6038fdb3bbd7d303cc7f7f15616f17d99bcebc5ddfcd3045978359a7826cff3771d3610451a68cdff5c539cc96a963000dae0010890c31b28383d7ab2e7965cc7113d99f87593f7aa40e2967555a270fba9a6ecf71d2d9f74bbd00abd4172be48bdf0d860b0dc52caa49075c1d900d6313fafef9b3dcf47a86ab4e85d9d87d5d74d90a5acb66d1214bc1be3b3c8ca4a0bd379aeb6f325b78c15582e5fdeeb14651e162e998ba6ec859957c36b6e8578872afd49a7aa2adfba65e98d9bd278b9307af0dbe797636e1332d412c2c0ffe7d6b18aa35e53678c1dc1a6eed76f95156af8ba70c29ad3010fc101581134e3ee6c48cc452b06f40d41496561e13cbce54805956611b2a94db0e0a5192a77255dc31a5952a61824a554044f30224852b261de3d56f48dc826d617717aa68d94e444606346572396a22b6981f8d55a271d6273d64a0c44e749b2f2fbecb389182403d520bb49832c7ea0206ec26e5990e481b980abfaef5dc927299a9a9bb4ccb99daca045ced9f9a7611344da10735148f25a7803e679216b2cbd98b59527c9ac3c6915c2682199b19cd4932ce58b83aff9b5fdcf14dc83a31b09fcd81be3126882fc6f620e549c7a1e8fbbfd82ef617783aef68f4698db71692f038e22d20d0f85374089aab15673a784ea01cdad24d250f1b66b031c1367a695ce295f272542f158c4a7253e431596d8da9e3284e41a0203227c5dfde783940ce0f7f151aaa594635d8ddcbb1e027cf9f98fa7f7c8d52d10641225f2c12c13a2abff868f4a3a0b159e4098ba3636b71471799b1cb0b9eecf833339a9af0f421bac54f4ae5f3776059e3f7b7354fc0b94e536909595de3783b06c78c6b35946a811b4d96fd72aa17d8f6ea8cdf3b7416cc412b15ba833d6d3ccf5502797e8f3b4a01e44b6a35223d25b8094a98449a35a285b9d3b8480cd79f31e380c2943f27f6b1882980c8f49a092f4ec326c086eeb04ba199ea16b2683d4c012dab7571eaef57dc683b592b7238e81bd05d073dc1e17612bbab"}], 0x1124}}, {{&(0x7f0000008440)=@sco={0x1f, @fixed={[], 0x10}}, 0x80, &(0x7f0000008640)=[{&(0x7f00000084c0)="730a5caa07d5e38c39f8cfec42e084a4b8a5107775e32dc1ac8beee9c460cc7fd7b44ff4cda2678dd91e97d8a8cca6a1aeb20953f351530293135410cbc50a7ef9f96b7c3b2759d8eeeedca91735f1ba4a532b58660db7bbb3607c87c82ae8efb2d02bb04ae4a2db6e058a78d8d81b183973d0b7bbff224b115eca0be0fb", 0x7e}, {&(0x7f0000008540)="8f880e656749d6c075d95d8440d3c123908eec473fc60f4c9ceb2d77aa0564feca43a2a1418f6d9b35285bd75687bc405d60a2c67c", 0x35}, {&(0x7f0000008580)="73c9f46dbd4b56f8855ee254c91647ac9646141c972138c9e38da4c9dd43a0b93320985a06ee6583f07d6c993aa1c82187a63791", 0x34}, {&(0x7f00000085c0)="ca7ed3f3774fade60fd3164c3ac88e556e44d72f8552ee9c9603fc2e05e295e37e0e6a399c549e1dbdea989d6e0011ab2de86c07985b2df4629586aec2f256e4f712a3b7e8362f1ea36b0fd0bbd6ed769a022712ee9f67ba3c0b62f52da59857a30814d12d6ce88f52574abf3e09a746e95fdf76cbb9f1e91520ed25", 0x7c}], 0x4, &(0x7f0000008680)=[{0x20, 0x101, 0x8, "afd499f7eef3c5717fa9a89486b00272e0fd6305"}, {0x100c, 0x1, 0x8, "5b98fba09856ed347661d4e972f6d3e32a7bbee403c628751003eac276d63bdb7f62bdf0eeaa223b7a33a1b7439a7db2a77feec21d5e7716a93971c164a9e0344bdc16186261b39493e2e0bc848f56bc7f14cfff61c470c071a2f12c4cc29cb31f575dd2a71cdcc8489e08a48bfcc1e8f28145759b060e80d76146e40813051482dcbefaadb62e625dd8191899875f7b5ea3ac9ae43f07ea275e9525b908c606a3664d84de8b2a2eb00f6a4b8bd3b893375c654c85e276816bbc6c60f6e7f01d9d6d3742ebd2d6240b6100b31ca610f9228822448d9fc3ae5febfad7555af87a9d75030ab285377151dddfc7cff5ddb89b3aac887c669e8fa1787bd39dfae8894316c7f1c9290fdf71621c83d0f1899e824a75a4b7ce48a77fc98d2d507fae8e968af745ad2dae1727e02e9b0d5a79164a84ec35c9c6c63a75ee04587242bcc9c40649f9a3193ad64c38c17f26ccf3b7f5c1b5749ca23474b82470cd03c45565091b00fd760bc9d4bf3ce593cd8e510a4e5580b8aafea39809a6feab6a0854801d654a3ae3595264795dc02938d1294dc11823d21644d8672b4166bee177cb003592c445f5ea2d6d6e18dc02bef3a98e282a0c85153c9da7f92fe25ec2db819fa30a72b2874e71ccf0af939ce548d58db3a1696647ce67baa31acb394f71452eb70c20c0b28db16fdb4857026fb187eddd33fcb1cda4db1b69638097af0525fc5c06497c4452531529a3a08dc23c62a3c54f78bc1e6fc266827a77eeb13dda19f0da9534e3c1758e91dea904f8097098a3b7781db19ea7d8a7f9e38211381c942afa58862db7ba8cacf497adedf9f3bf3ca504adfe0491a48854ce8bb0ec604f50f1614dca89d7abd68d0de3c4d6a77fe1c8ff03c39f81dad7a9ff5c69096ad06c0c456e63cc3a1dcbab5d4246e8bafc000b2868985a6ffb9dea1e24d319067529d7318534cad86b490cfdeb4d38334a150491250965ab9f0f604529c45ba6c9e685fdb4a1f205e54602d36e5a84c47320e97f0db995ce482e36939bafeb5d586a729b161d7631c593bc3365c1afeca3d163a704ffba78d9ce706d110a35b72b532ab7da3cf7d28b2bd4ae0c6a68995c58c153cf5ebbd3bed196049674b2590010fd91648ef593cec8822d9495c137fca1131e22d3a76fd57a8cb5fe5ef1840e0da7c12aa2e810f8b586c0b277eff1b8ced783d4eccb465c0427c835a8d58237d60396cdd60de30307a5d89f7c398ae299c595191b1331567564ba5e6272653d09d90ead3172b6a8bb05450db6e320b55558410e352906af0cd003cf8502b27e034a04cb81d331bc345e6945f0c6d0fc37de4ccd27693e918fbada01afa29d3d6615010831d2396adbf5f313b71665f51f663ea7b2448a0f8b45ad3e76af05e1d96b2363670cf947a5ee5fcc6dd9391e708d45b25bf5dd5d07f97a14dc8caf213696a89cef2c27e7f1aa722b04b4c3e05560afcd17da9fccba0e3271e8ec083d66cb74da1dcf87c46e6432eadf4a400da17a63d933f6af36e894bc7c05daefee08c2d3d0af85174a1dd28e25b0e6df61410a598ece7e04795b361d70b89ceb4dbf1753c7273fe07000a4b48a720a7947864fc0b53c9874657d7f9389dd56527bbc2ef979db91a1c2341f68b367d30b09f481f6bf4bd84b5ea29e875646d3774aafaddf6ec5efb6b2a4a47df1c878c2ef2307f703cf1377b91003e91931511520ed992c1757fe14151e9d9d9ed756217f056619c5a8b3ad1014db515d1c22e7d10164d4a273ec6255bae888f42731ac05ed01d3bcbed6079731c41332e5744e63f6a113797c3460276904e4c74d0fd7c526c8bcb2019acc364737d33787ab7eaa65531451bf1cc0e6ce8e7d8df5ac5f2926e6d92e70eb18b5fa01ffe1d63da2aa803d91805064bb43f21bf97d2bf27ec152afc6d38a285ee5bb8be3985a6711328cf9e49686a10a304d0a4388d952f8440f12e6b183fafeb107043b293dcb0a894518b34eaad0663ce8ab13284a1453f48fda50cd214a671b4eea1ec6a4ebe119b0b6ac98a85bd100e56351ff45378b45223382cb3a0c4cbada6cd925c64baf98f3bad4cd11b2167e5ee8a36653bc33afe583b2482a89558a79d9fb00113c942b5814134a385f5c681659e808403cd73c2a43730acc7a9b6e26beb80df6dab0b04ff2cd558fef933cf69b0904f9b5708542426f3be2bbc5f0e143069469ea4d3ddb28d0ed853a05a72c3b4a8b4eeca19d10a4fac795492b4b2b7ccdf43cfa8e39944a4a403a6a33bea45acd6dbb0f5b1338c5f0ec752dc1c23c6d30d50adb14b457fb4bb6ffb20f4f8f2eb7e74d1e4767933cc7fb71266dc53e7f7c2b74e18f5f0f84ed03810bbe6c1639ef1b737dd9ac04a8f1e6445a074fd0a428180239035bb662ab0052389585eddc10cead834d23230a457a16acd52d3702d4099c31854a5d75faa90b1a7d4c5f8ff74b303f9336e7b36f1166851894fdf17280bda637efdddffc8ddacb4b8aa9e28c63d31c4689ad4ed35e2383bdfe069eaf2fdcb88787e909b239fa822d3f12a3af8186b9c9d4b746f59c6906a8a440dfb53b550fd65d1f6e5ac73af7d1e48e7fe2ddea8b6a53a3f4ee78a1324b19837e9867ae35bda201e5466db3f79fe534b370f425e9007c3a6806081742016582b78db3e1097251b44b3e6d20d6552bc721347de5e1a03a7c13ae4d51cbe9568663663e93cbc8adbaa78d8618310c3b53bb0c71d8d40ab645e9b25eef99c0b96e161bc558162859e99529424bff9dfa6bca21540a81fb560b7d363628b01d5010d0756b35beb6d91c08a1cc1c20dd22377a8bad5b9575945d44277ea409cc84519bb834173ac9d84e9b0119e2cdc2003f101abc95109ac6ca2ead1dd841e79a75c7a9314eb436f73f59e67bbaf484a262579df56667fda9ba6cd5ec46463d07acecc976cc3652bc8e8c14064f7f85078de34608f788bebce0d1b784518f814bbd8a7ff31a7fb6c267b63e26d8fd9a61736b86d9a38672e8e675ef13e84f66c5a4edc166ced6994f6e08be95f7aa7ef7008bbb8668518fb49424862128e6c7366fcdb59d68321f7b634d01338856731591d1efb42a3468d952b46e23d0437c38b720b0496c660d9f009029ecc8235764133b83d6d4b429601fd9819f6f0dc2da679b9f2b2f1e355251573436e83800ad7ec7b8c2897d264915e30412f289e51ba2b4a5ff8febf485184b48a8896375e2be40b72cb2f1e6cd8040824574e91c93a468291df6996c5129752fff566dc7d577859556b49cd8590185d3fd288f21bca537613926ebb25b1fb515e007c3939c96a337f9b55f6c3a6ffe9e7b8c671482f9ff6404af2e789c9bdd5f91509c192a2d49ed5210600863103a1562aa95fca1ff239a62912b0d5cf298aee995158f7969536e472098aa519663a4279ba04fbfd7b6c710953fafae23eeecc018facb56b651aba029d286c37051c6a265d370f6932a389eeae8d76abe9822221b7029b1ec2715d5336ce248070698402eca88da1ca1ee64e04706deac5d46a276c4398afb9b19840dd059b16600a48501d18e8711e4064b8d522be0f1a36a1c43ffc539d7ae257dd499a23a6ecba937424a1ce3f8da060f42db4acf63aa82ce4511e3875dc6bc349ef1ef77cf5fac58b073bed8a5ecf0cb156b75f562a251f01e05b1593630e4bccf9c80109f4634b9e9d348e5384fd84e337f37bad5711780484e67539313bcf91549f542ca48fb37d337378ef2d67b3c07465748bcf7b6cf562e375ff89d1801ca8fd5c8c8c784f430d31c3c6533c93a7d725439ddab6af4a621a7dda21ebfbe9854fb9080da733d4f994588e03545c61fdf95ee7aaf789ea00035e4621a03dc245cd0bddfaeac0a728136ce9ead8ee4acccbc5150c59c8febadc28966d72757b670fb9a02327e6f893dfba858b13982b72d4cbdff67332cdc75e7205801993080f62b7d9560c63b60c0387d5a87f892e4e138a2ca98b7715a9aaf301f7cb1dac46b3c6aa9e549f2db08eb4a23fcf1eb53d34441ce03959590b1213ca05eae7a493bb58bd966b4447a0420540ddc3073a8c321995be7eebd1c5fb50725ef7b8b401a4db8fb58b78b6964e10cbbbd31b292819b1eb8f94851a59a0cae13872c2fd8e0a059cd90f5de5f77ebdd9659d73eed7deaf47edda78cb8c370b2df9c2c7f9aeaacc4377b26f65bbaa4a0dc07226eed11f0976edf6bc3da69c472d2cd8855262842a5298f1122339ca13507fd7c950832b8c2568d98421f01faa0210cf5af7c571d52b4f5ed38303a6c9a3f2de7bd97651e1f89eff2966a5493b2fa035162553ef0bc0ec50a99004d6c7a4a909f83185760ea16b882e1ab8a7124a56f5d2bfec72940a962d8e63ce374cbd10ee09121ca49e8c7f088c0b71493e7e63d81ffbcac85aa41738897661f383221a6aa3ccc741ba62f4383f8433f3ef802335a040d4afe9064041f31073943aee12cffbe668aeab0637d26fd9d4dec3fd277f1cfa482f96a7e6551f9c56372b29a0453419b4ed502fb1f8013e311d1210e7a16a6da6e8d893ab297915f01a8a802b8eb60ffd2a582354ffb6e45c30e38b4990137b8e254bbe069173efb11f7b6494d0a8f9c7e70ff9ddf5f67516bfb99d320ff4725ddfb808adb82c8153c3d5fd3eb477321d091fbfd1fe99459d8170fb8ffeb801292f59ff9fd2d4230afdd74e73fc97142ea2c6a6c8763ab993631cf944e6dc4e0e9143f99c2c2f563e25810d234530af8bb18790646f2c493ff6cdaa2f96697011d654c1b466011feb2bdeb9820bf392c0969841274a0640d4e3f9134bbd62a32f8f1b106f57fe4b87cbd9880fbc53ee646edc9281b767acbb66a622a9206c32aa3f49395ad70010588970f3bc46344a3e8c3c86d14fae2aae6a01211497e9c7d50daae69b063fa180465dffe3feebe6afc07e9712970b4f01508ce987d432b7b4c8aa0daeddb65d327cfcaf5e54b93b953010cb529bbbdd908c00b3d767de26f3cd73d8f92bdbedf3c4991f3aa5fecc50fd27a5e31673a8c85ef1dfc006ae25dce95c8762316444ffd79f417db6dd892022a637f65c107abf422b0427095f099848f55fa7daa97473a6c39cd11e475f698ac6bcd3104e2f75d827a1cc8e3cf61150dcd6ff37e23ff0099ac078ab7fdfd203cee3c0dddca669164b7efea8214771dc678491d0da0b179c88922d33eef8193e3076989d72a6f2aa06208dd26c4060f86972c0102b35d3f813c710b24288d738bbc841d6d2716996f7e4cbdc320f12893043bf5ab6101e319c2b8bb864b1098f709f2eda9a73a56fc68125843fc09698d6bee905a77ed34c4eafa973caab665fded1e01ea78b2bf66a142e7b5f016b3bd7f71072280214bba5a0f90b71831453fd35d10a6a0d0b05e570c0951395a53990c2cf5c3c63c342ef1d5e8616ab40351ca1872925b085d352d8d181325bbe6be0acd97a4bc19a3aa6bfd4cff316e0a842d345ae4fb0343d43f59cc590952f11936464ff91a1f35bd5565643b05a0f2110bec5887d8fb171052abf30bc990f2c035ec69500d7944064cf6b95cc4ffa4883200adc8a7d7e3495dd88f971ed996d37cca2c7e3a0dc83a73975ce81e7f1e898cdd1ec695b2c91a2435d7a22545f2c0a603e42f6bdad384089e0cf6f0295bada679db5ab9af40754d7d8fe5b843024afdff71d16123f8ee7c63d8972a42f632b687640b252d5896ee7c015a664dabf9929a8e03f00149cea266a62b58d9d97b2b946ce9cc67c15ecca48e2c34690bf3a884c00abea5358f5d96fbc8bc36623c0b"}, {0x28, 0x1, 0x8, "13dcb63fa32cb8f3d76583d7282b13d9accd79bcf273338954"}, {0x7c, 0x113, 0x2, "464713bff219c4384cd5c8eab8b91e19256b7868ad8a86a00e52ba56d04699d435bb872f029dd6d5740b272e18cc9dccba563f9bad71fb029cf448bc8caaf5498ff983afaa4410e2431c166fbc058eb78501a0adcf0f76988f42573b7b2c49348debf8805b42c5964c7622aeed"}], 0x10d0}}, {{0x0, 0x0, &(0x7f0000009a40)=[{&(0x7f0000009780)="b4e0ae95fd3f8a74f321216e0eefd4f6c3877c0c3377ca9721bc7f674c260ab387d69c418bc45bf75a899d9d39c88d5eb889186865af9408faa029e7dad8687db008b6198971c81b6029c61d816ddeb62040cdeab0818417872ada3dcd6015e5952d684514a19ea2b5daf7d225c3ce2a9c901497e7a02efe5dabc3ca41b32dc22da26c8924ea796b12c8cac280373c647a550a75c98034be78999360b5ad19a5236593e97497a3e2d23bf21472b332986d2b74c6baceff28a2b73afb9c2500d3fac15ea5340ba2993f413e87838ac524d63f6a8a9eac07f194bcbd18ffcdbc2edd93a64753b68376e2c8c6587fd1bc48f0a7e92eab56e5a8bb7780cc", 0xfc}, {&(0x7f0000009880)="d85108333ddca69e2116bab6659206b8cd6604ee28d9038b812d4fe520139721d4a48b2e53ef7cd5a227b8db58fd1fa3d4e00611a909c538f25342a81dbcc3556b7d7e1fca3280d3cae09dc66fda9a7f6b61df7390ec0e796627571af0782e1357917bf97c2b25ce02a66de31e3f185e1457678e8c3d031e017a4d0439c9577a568fa7b642ef7e8eabffb81110753b46c75130926dd3f38cdf", 0x99}, {&(0x7f0000009940)="a39bfb62d0d163227137274cd84da5cefd6ca8559d662e24381f04f43add9bf829", 0x21}, {&(0x7f0000009980)="683517df500bbe956f41b694f03a4052b8c7d126e27d5d36b573eb0fb84476fdf8ad2bbc2f644d94e96cc32c2b5f47e17c20f657de94297f6d2e9ce7df7deb4924f67b2d8a3cfe103b7802105502f8cdc8dbeedf09b1e8cecc39e2578320e946537ad700f0c4cd4b480dd8452faf0c1ad17ee89c10970c92445f2c4793deffbf50a4ef7ca9384b1c736d7f8cdcaaa8bcd6c6bf43b516a8a282b7b53c0df1bb97344b107570d077826c8749c529df4c25d6df0e882cf4f5bcefbe25d42f45", 0xbe}], 0x4, &(0x7f0000009a80)=[{0x64, 0x109, 0xcd18, "b532e0a7101bf18487894c29a0ebe9deb8f6d0074a1cde9b0fec09d85ba2107ab183109e4ed3f3bb3fd30327e39c5e818eebcace7339dabda7aa14d46d1ded45d95af849afc6f03abcf31a0580d6a46702805b335b4bcc"}, {0xe8, 0x10c, 0x8, "784eb7a186af980c0d830024e1d878ed04e1b3dfcc76380b51a921b05992af84b74f6a42e8593c26b2f3b2fdad7a02ccc7893a94131453820d0e786adb0de50e1c92e4629f9cccbfe005cbf145fd6c3bf7642430efc71a82750c2684c6649a48b0f88e1d27001ef3d8ebee4cc92243800edefafc1f5cb5c9b83c6e1bcf13aa89fd3939384e745bf8b0bc6d69d8c00121c9620d6177a9c998e4a89a7ed24ee81facecfc9cb1df898a4ebc3335a70257c232b0ff71439cc44e672612987a8669491ad54398372b5802364324c8d3d024d243fe0a1b79f8c1bde640e6"}, {0x30, 0x88, 0x18bf, "f7190e3775679b6802af8c9f457fe5bbab2c16f611ea2f53b1eea12f3e58d6d986a0"}, {0x108, 0x110, 0x80000001, "7159b351fe908a2e16533306ecfed16a72e8eca14a27085117b9cf2ebb4da6eeab686988a337edcdbb9399b01c11714b09f6f91e30ae510bdebc484f13c6ed31b52ca431f6508ddee85bedbc03c5194687b111f40501b2aebe3e2b25185a25105a6cdbfc434ec1ef0b5cfcbd03ae072a82039b94f13cb959fd04d5392afd1cc0a40688019c19e5dad29fb2fe1ef9843b0ef810ef2d5cd10e38c39b69a6d5fdfcfdf8ce4910df4fbe2d89f2f3b588eb3e47051d621f8a361e9d952b4ab468aeadc58980094da820f6fab15186370f6eb5b17c0c15168a6d80a281d9fa73ac4937724a39e257108e2a997b1012ca7d23cc0831e54c1800d4cae1ff5b"}, {0x50, 0x84, 0x7, "f2c33cd5624b2a441c94edce748096ee5c111919e021a63fc6bb781587bd5abe376ce1ab10037ff5ac8863e2c66de95e489ff04d16c7f4fbe90839948834a7ad202f"}, {0x100c, 0x107, 0xb87, "13cfc87ae3ca0fcc8979fd249831d2c24d98b136650ea96e0d72974cc34e1ed9a9be518eb7959691d118018938917c056fff21c77690e837d9c6c9dca0a9d17a479a8520d137c4e3eee51306b11b1e95b692f61abf3051b991a6f4f1d5e8e61a123323d0cc0c83ee13113eb5f7837439323334bf1bd6cf649928c4a75e81f7e9e20daa42bf5dbfb3fee0d907995a168ae764728c2c8f7e76ac5335d4852e7e6f895968505d4a7b8256674272342e447dc69f691ee4b642f33235d8cd8489047ab61316967fd36c66a33dde52d30f5bc6b9a218a8ff6b3a7c577bbf7a9a0da0cc91339e074aaebf8f1e3b2c6d1e8ef384e06f32ce43fe0568233a41df131b2816f0387180d9609e9dc184bed152f28a2b599dfddecd16d0fccb5be4700d84d21de955e9c9f0353d65bcb46043b42cd6c211978b0d215046b3a242630b8031afacb4c10aff83bee0fcfec6f87e0845dbc7cad4786d7cbef4c8a8072c9bb8c20f23976940b558ea566a14b6b74e5db1e42969d4232f2cc9c9869c1b3cc0b993176675eb8d32c3f010f961b6e968ade7839403c7e77de2715cddac831be8ffaa4a44e6b973ab4fc8f8254caa4f32cc53788f4ed91896d94f3e300a42a5897852916408fdbd07b31001f75be0e39d5705925122d7091147d15aa37612f290cedf2471502623bb29d966ad28a0b331c4d4eff8dc1f5e38835ac08a0d4208359f03da0b84b53914cd9ef910e8ee8887bfc5fd6b09b47447e3258ae3ba56718c46d38978876bb616bfefbd0fc286d3f9f7cbdf9154553795d9f3b433114417430a2216340ab087d824e945419cab7cf793b4d85ccde3ee8e2cf7a8b6bf5dc038b7350eee97934e5c378c8b7e41a62cc4cd8b855cbc489fa6c4015964dcab037b9c7c8a8ee7bb62dac5c35a9b9f9ea574513699866597b304c2ac28eac02a928a127e61ca2e89e8b9b4a6554bc3c08acd031d4001d6ddd332dca18189cb409b251ab26e8ac272a9e5a25d3e514248f79d0dec8bc4973cbdd9de82749b201f88421f4eef745fcc19c96f06845983501a8ceae56a0cd6c3b24f4ba75013005e743960424379524470bc82ffdc16f14fb43c64e381a0abedd31eca10922c45c0bb0d10c340b37e204af41b508b2e2098a8459ca199421aa013b682f96c148b81006e07989770c5f35d81439983d36f3eb136d1fda6f6a43d7ecad62951697cde8a8f12bbcac9943e64c8eecb956a3a7d2f122a4161678c94721b72078856d9261639499fa86eb2a5118fdb016615183deeb8a8723e9b2572c8842b0b76fddd02a925a500e34d47709737c3a3a926b1b8a99bcfed462b9ea7f66577a96ffd53ef5c42901241d76a16922b1d320c9540838ff8d6ffdcd75fe5a1d5ae6ce4db6c7e09b131255200b0256f80caee7bd5510988352aa3e2f23c4649fb3bcce431dc9f381937342950c5496f021743cd9cbd5090418dd8d192536adb4a0cc12fe75997d92c8ef648899e68f5872ecc07ed0d295e1212a215628a883292c575f4024113297625c013ea693d5c3c8fe9a794b53eb2c543f6907390232ce1db042390157773513aab092aacdd514c69d0393a5705654a551026d47e098547ed79ae4fc0ac0a75e5b4b9e8d343ab310b2f174bdcad200e052930fdc4e93aeb83903578593081f8dbbea7494bac4bec6e714d13a859fa3cd97e5db03036ffc42e6b59698471f060d1dedcddbfed032ef20228b0a380b429cd156ffd2009bd562d7697e94144fe2c74618dc392c2c066990907837912f25ae7caabb7986329312df2d93bffe4939ab48b6d117b2500fea29017a7f2666c3c377736ff2d987c4ba499cd99dd5875abf3fb639304fc4f7da74a1272305135e6181abadfc65b41d309a267280d956c7d610117742fa451a1994acf78535ba0135b8fcce9ae1c8da7e4dffca7f32a7712078770e2b801e0afe0b81b14dfc9b4d735bc4cb4187ffc1c5cfbfc7ffa1312760e95c3a5f4c9fea09779a8cfe868f1a6177ff6d389e6f92d2b7744a2ccdd1c27a69c99f5f0216a7d840663a4b60a6752f681b54b86ca772216bfdac9f133e90df8a448f2ee94feee8fc3d593e7b3841ba132456872310975367a5901d7bab9fec9758322a232999958948baf262ffca69eb3fcb3365b47ec710f06e4862337985bca17f3282f9aecd5d7188af4a8806388fab70cb8728a77a8118d6b974ea9fc4f784ea015c0c4997eb12f0e1c6d514caad0d3c279a6d2feea8c257ff13902660b6b1b6a0536db0bc28578b93195ca962144f453bb79a08c6e7d7bac178b75d74884e092331d1fa5eab17cbaf8836b04ebd919c34d934cec70109f74acb9f642cd7d46ea1c0d062be864e90aa95826251823f84e2e265bc4168b7ce9e211df17672a696011e5238917d20cfae17fa35f1e37102a191c034681a797791b2a5ca1feffac6129d816e1f34ff932cf577d3e1e1f78c6fc74dcec673e139540f12969cf5a1b19ab1d6214a54dc636aef7c8bf27f972470bdd1d1d298d0ce4e0a728d76546fc485f8248b55dbe23af3e815f1017b97b482a27f3c9572e419dfce509514164d876fabba07c7ad0c231eb4c787611bf756faad316f210159a70521b99c6ad389366853a0d6b07f10f9f91e394ea31b723b3ce2e6809fe9bc1779dc5307e218f556f79bb77431d85256d1284c8ac4f7e840e2ab069c43eb84b5a126e2e5f004e6d1ec09c11f4378382d0c5e19f0f5d885d0d455ee110ce508df69f15d68826309827f27fc8f40ee604cf4582253aa73414177c9f8c0869137aff245992abe68f19c82cf9cbe3fe9dbc7742cf01915d4ab3c5e125f473dcf0cff445e1cd8bd4e1c46c90fa1574650f0dfcfd329841e9c62ea4ffa54b8e8beaf09214ca1f6e5bc1ef6369765ba2248d31c3ef47fa1e591b918213d7a45e75378814e2288e58b560ab6add2815828d2cc128518000aa8487cd4aa70331d7f7d3d29aeba54a41ec95e118a1446c6e869bc5c1a04ec23879aaebcac1cc267e7b0dd695c2c87cefb549ab4be2691a3de11626b6201d28b979d99c0de203332055aaf1bdbcbb8117249d1f9aceef4ae7756dc667c764bad92fd311e7c4929bfb805c027309c747ab7a78f362432169a3964609be8c69abf7cc1b8454a0930c36728a921c5bba5a6ebf88c648359b4477bae5cd7283905d7d840052675c78e63cf39e1168303912cf0ea434cfd3e751ddd8c6fa784d6c07e6afcc30f293ebbe2c00e1f9ef0edd49006c52264089222e626198e4d112b72a3da56bec09806cbcdd4abb064ded4be8f81d067dba5a29b897ae6e69576c5f66ad772d27a7deb9157cc0a1c2021a7bead0059fa079680a18d724bd098191b364723a5fdcedf5bf6196fc9380a669c825287e75f34b4c0982833d9ebc151722d994a83091d572d532726b22b4239b296f6a1e515096c98380adf117dcdd09343293d79a0dc96de5e15afd0fdd1883602a6812c33a9621d1fea3ed8ffb94579eb279639d2bc190ab2b673e57bea684bde8cd86218bfd1018d62abc97f8a4a02366a9ed4496f1f89e5f822f053fe0e1b1ef5ecbf11f13046e6c1dbf766ed64ad0486f586bb17a2eb4f81f2d65bd998d23f42e1647f323725be0cd1204b03e723418f134816aa3df162b9875dc97092aa56211ccbf3418024b50bb7a0732491defdd4642d1cb5ee04f9d95877d63af3939eb3b8f3c9ab7a1f42d7a8ccd9dc034b3bcd3973343a01eb399a4c115501d4cb122bf342ac34663506186232e5670ed63e77f430ff80622f168f7bbc6b39f3da67a8ef4549a6efe8758c09f2d4a05a39cd4f3f1eb9cf89afa5a7881c3b2c88254761f28b8b2ae0dd95468f6c3d17e664598a413fd8dfb6347507ab0c325bd5dd48d68c20ee80d2aabe80c7e650ddec4ad7662a7222f6d0143392bd5ad54b560223b8b470cde64e04286d5f0f56c07459c8b1e32dcd8e4a69f6aec79c1e9789e927bc2e74bcdf49b97578e6636244903391bc0499a9c94b67f915357a5200bf8cda2d779fac99f3f238de57e434f1a998822e7111f269191e988435a8b6f63822fbfebea77a19f46312c755b81f6b01b40209b07bf2f2da260212e5c85bdac9d7db32826bd74cdc34d15fa3ca6e663d576eec82b203343b2202dac41297b44bcd65c0585c1ca5330da891666251e1fffa453f2bc1bfb792813041861612f65808e6cd99392640403b2d27f368b44447be7c7b17e05a6a86e6e6f50fb77693a468c6d161a0648da05e5cb8e186dd83cdf3768369953e45ae35d1d532f3388a908341794b4f7b9f8f081f12a43b18a5ee993b6122554d54b4ac29d83e5ce0ef06770049de26c73fab6a442577c75564116510bdf5f130c5ea0c7ff96e624dda807eb06a2e2d498acad8da94dea5049c12f5e768f1c0fecc23d9fa6bdeabd2430cc88e6eed830322bfffd0647bac961b933ca9f17579cf2cf533e5159da181b84d40f6e37e3fbe3a289832d34320dc330e0b56ee7a9916153e3eee58bd6d4af11083787bb875f39368f03dca8b374739833991c9fd6511faba3cd6f1194c9d55759ebdfe22e57d29d6e568e90e6ff2263183d61040cd63283b79c56949487a990f59da7fbdb414c0af9d0f4937e51e7569e2e0cb126130c6acc6edd8755cc0d16e35ac65d8a34c2e2e23b1dbc817a382c45dc27098050f053f34afa73edf5790db260b2dfcbd803e2259e2a9447b64c7535ff14179b7068d642061ff31aa233b315a4b9cdee4820370988d37efcf403a1557e4eadc5114199efe6b87efb3f05aae36be9be9cfa74cc05c37497b257c56acc58a719cbb114d8ca69ea8009a442004baf8c876325918d67abcdb790fe621ebdefd0b8d27f8f99221ad685d95219bbfd828de7e27330a07771d363cf26ef48992b1e99daaef1ca1f1747373323d7f5c8f385071777f066ddcf43cb928b7af0987986e6a15e8475fd8f84ea15a4abbfe1cb6688c281a4f5d1cd97933a7bea7e07e365d21b0f84ff2b277c36bdfa96a42dfa339172f1663c45558543ac73eb0cba364c827986adeaf5e6537e1eb0dfb9bab2b5bb9be554f305c5c930fe3239f5f4791130e47280715195ee260bb0f09302a3162f1de34a6dbc0d953861f3df12ea7edb5220d2a3039527dc02b1849d0bd66c1302a57e0a311be110fb30859eef3d997d0f127146be8fa2475965c1472cdad1f689853eacca7d0dc067f65fe55851578eec9a6f8331546642b3db6da7690ac492b28c6a2b3c27cc67c1d52313481a7312a9f7ce356e3f1e2ebe21f456bbd1801af7ca0dd9f0c8265e010095dd0ac0680adda4094744a52e291ee4ae104e0007b069e185000df92bc4b6f8d9d48b754fb30f1923d488e3b7586e67ea8cf3b58f9fed325445140207cf2fab3093c93d4a990ae3929c090ab5661a0d81cb45f799187bd94b241c4184773a7e4114f7f71cb6c291ce690c905c595eb8a7c32e939c75ec72317c7a4146286d78f3078fc10e543d422a4e16dc9a95ea046e09c26db0dc6686e3b4853fb2e45e7deab0e3e8fe76935295d1fe7c1554fef0a993514fef7849e716546b5cba378e0fb2367d2ceee991f9ed15eed19c00db0a2912fbfd0b247c34bba78db928e53ea7de0ffce7587157c4ce031b23df4a6201dbcdf7b40432aea46b9b3b32b3b5e115e65e22147899e5a9dfe5a45ab2a667a5429629ba4def6d023597aeef72e6b91d46cccd3ed1c083e8701f2328cfb09d091194d10e033795834ac34cf9b71b28945633261ed428799c231e652b493f035282255cbdc351b082d3f879"}], 0x12e0}}, {{&(0x7f000000ad80)=@pppoe={0x18, 0x0, {0x2, @remote, 'veth0_to_batadv\x00'}}, 0x80, &(0x7f000000af00)=[{&(0x7f000000ae00)="8dde2900f5c35da4784336c43ad927ef94d9a325ca12f96e90fbf730a7a2bd7ce5680e973489f5a0c62ea866936c61dd425df07bc3f8b93355ec34ceaa6c9231020e5ca46b959db91279a788d7c3464652312a9f88cb60205dbb6888a5004be0423f00453820431d0674445bd2fc", 0x6e}, {&(0x7f000000ae80)="cfe93cfd7ad85d454ed7bf3cb4962b96c244eae569fa5a17d6ce001efc34da7be89fca0b9031134420ea292ade7a0d1ba25d1338f30a021f2455aa63b11b1a9cc68b9be780483989dd8666ec153126c226c4b0d692d0834ced14ad46ef909086c01d", 0x62}], 0x2}}, {{&(0x7f000000af40)=@llc={0x1a, 0x5, 0x3, 0x6, 0x20, 0x1, @remote}, 0x80, &(0x7f000000e280)=[{&(0x7f000000afc0)="c7a0f6bac9179ea7026b64a7b5d6736b6fe7613fda6cba4c707c6666b2b47644766cbe9c18bea8f23296567e6696db5ab1e6a1e5410b32af72ed2715fbd8d47e23008358cab27149d27bebc42935735d11350da010510f2ee3cdaf4322549b874c604be1e2b419331da4fefaf4593224404d928e38e2c9eb28b85835478f074674806031c35b376c9151d9d1d9aca9ae563ee428035dfeef98f4a8807327d2e3df8eadaca8cd7c335032cb257bf01afa097bfa5b745586e515091dcdd9da3f27dc9bfc0d3a437b00b2f724c6d98699f2a4c56e4585132014fa6fcda135c0982f0428481bf12fd1253af391618e140eb377cf519afff4ecb71f098b247a0d267d401e74d26c1a6e9932f1f0822f594833b335a22b517807108ebc88ab738315442cf2d0d25efd9589fd0d8578fb84c2797c0bf0095f64b85f0d5a2badb18cb5af832b82c504a6377bee7540aa3b589598d0d4825651438cbec9cc2073368df4f1ddcb0f6c6232fdd59d70abd8441817f82cc4a481a51d8d4022b27ea120bf6b2b92d14989bedf8587680e2166cc7b19fde73bae099857c8984ad3afc94c9da563e1ab2b19f7aec991209b030524dfbd709cf20754357f90c37aa363f6c404bb7b1b673763e31955d1c558491d1311fb8245e31041690c3fe3d514c60e02d7017150ea144604c2c8b7409032128b1b2a93891bff171b0f2b0500b5db312c99a540c6bcef3bc42ad367c43bace937b201307f6042ca7cd0cb8ab4cfb87b1e16d9906c3d1329923d8d383750e24d5b4a15e6c878e0e47fa4ec251a83cda2d2aac9e326ab6fa9c363cfe0d54a7616bfb633ed7a76b1f8d9eb32c1c62e0e7038211c5d38c68e4c6eefeb8f2a2e73d64aaaf963d93e0ae9d91c7f6d5104d75d8dbb5c8d65eb60bd404d0fc0d77931e438fb191d1134b68b95f18ff77590231c3ea1fa3cfd6a9479bb09a09a143697d9fec0fab698ee4c3c6a06ddad5ed0df2659bf6609d0e8d3ea084eb3ae67789e584ff628fcc8adf57045ad057e8a1e8d90ad1b586f03a515d39da079d135aee5a0baab8557b0351318a302b161ace911a63a5efe0a2137c7a7e498437c37cbda57214694aebcc11763904a0fe870e20885c477dadecc7c6d7d0df8d07e81d8959202b7097e56db82993cb25287a804f2180ef379190f1094d11350c92618ace45cb7e15d41b277466e9eb01befe9616ef023e533730bef481e13488565b2b7b13dc98054cf93dbf2dfc575007a4bb3dae7595fef2556a91068e76ea67c7bd77cd2e24f34d99855f5c021f8ad1d1a0226e271edaa9d4894fabb32cc6d7d6cb53a5f75d33aca1180c1e5bd48c76a6735aace66f2b1d781a75bae6e67db7b1e09a9243e70b893ce75697807968ed560e61abe18ba21bbcd1237b44fcb346d8cab855a0bc6183faab2aead2a6539c3a5e477323d5f0f6702dc4e0ac66d93d2fcafee3685f8ce9bfc298bfc26755bbd209bc29e5bddc1af16f324fb7de61cd540b9ff1c96bffa1fc2dcbdd6894ddba69248e6986903295a696a21865b05699317db177d34388603340e27afe03f56c9dcf4dd11f55c2124fea1b20a987117e02a954aa6a32516b3d44eb9c4efdfd339346b33cf54a311c10da604841d52ae37ca2e0035326f46b79e368d900cd493c00049794f7cab335b8507ffb924f1d883689118e699a4da2513fa8dd4a6648d33ab7b267381913072919fcd2fd5a9d7f198da0bf47960568a168c9134caedd52c7ff56736df9bfd1d7f2f32a9c61756664f91cb52b932d733ef839dcda5dfc2aafdb0c8c3fc050316aa3e2b6ab6ca004efa3cbd75f23816a7564e18b910a41bf2a2dbd647f6ec019f83d013944ada23c336bef4119584d98a5d0b636aa88265a6f3ce49ad37ef2efdc5d7b05a77031f105478e8a143ee5bda8f7c82c5890c66157c298251dc3243a83afbb50c4824bc8d95b64cff57890bdde616044355a85988c2331a0f1d7e04e22f41cbc7bdc05d5411cafd36875d22679d8f4041376fd9573cbd470e29ab8955c83208a1e1d6faac6de5a53030daede5d3cb769d693fe0c1e4d6823ccbcc18e6145b19a11c2bc940eb5db8f0f3d661c34e837f92a4d52322a572c265546885ac3426f578a2716a5103fcc749861475967274f054a17434716876743c3f64cf20c8e93ecf99125c2f5f38103d9736d015966b24e8b27d346783a40b2468a40f984fb1fd8621ec1f3afb4bff14b8ae80d014ed491b2bd9b084a9507c0cccb73fa69c94c0b335dcf0f252792855734f2fd9af7385dabfb1c7c4f5ccab260152555db6de8649331ddf62c56b5f084aaace40d1c6f8dc81a3e2dd295755a8dc193921d10b11822a727d9a41c150b1ce179ec6bfec1855159866f09cf862663ab1b78bd1be169b46a102f132543b7b47b0aebd63f0e2e9e137a0d6a14af69a8d51ffeb8686d60f0f811f0b572f7d2661e27fec35ce200880ef64feab1e2c0d9304976e6a52089ce4530dee51a5a8f4d59a1f24e3c1b6024c36326a9a7d4b44f5b96ffa9e722d154579f79c02815c0de11a89e21a56bde534274608aa86ab91cec8a961b4649af992896fcd418f988584be2f2524e0e5c874f7189f2f6382dfb0b5cbff0046960f32823fff1674a3363ea4ea2e2a3a616692f886eea21a3d255b7765d918dbde3ba5bfffc101b3419d5e17faacacce9897ed4e0f813e9bb255f44c4a5210e55b43b6a467189b1e69ea2cb5a3962c3576b9048f1971688b6e87a1fd15639e6f47905834a9bb68859aa555958b47075384a0a8acb77f1ab5a617ae8a59e9b918fc2b0d9ec5358dee494d24982fe5018bc92bb76909e13f723e9aa465c5ae2e0195ddc8dd4476c8a954b46ab66c35feab933f0cbeaa4aab98b3d2a05eefe756eb6398d847e39f5040ae7b1ee29e43c5140f9754263bdb7384bd28daf9019e3e33f7da10fe67316563769f67308cf7e534f63fcfb5ac144004f4eded0a6b634c19598839df481c9bf7ac08f3254b3e73f19b388467f3a8758bb1e29a0dc4b318690afb79ef27e626b258d45c2b8cfc443dc490b9da2683650dd7a9426eaf495da955b9830d880bcd3db06a03751c5f3f5900861c66291169182b35a16b5c402bede8ac96f5816bea91e1e2d7d0d7c4d7234a064220f89e8713ab9bf8abf342268e9cb7be870e7cea79bdf0c27dca2aafb2f57dcfef7bef8de29626665db900f1130df49d35034ba38f240db2422c849b4756ab762ecee16f2a108e6522413df31546d9e00fafdd9ee613fb824f1b52d739d545cf781e84e946db3bcd1dce25c99b231e187431930af1aa1f0a59e6366c5e3b78ca75fc135092700aa4ff9ef74aedd1db93dda3fdbae8f9ca870d2e4e25031ca6be6b4ae39ae73ba2c2631fe9b0a106e0b27b04f62ad19992fd23f0de0ad64e3f22c0f8d26dd244279d068d4160df37561a29a76812fe925c687293d42a4272cab09cacb86e4f1d6020ce741da5d66933095c6640850d4e69d98c9a867a8d537ba41de3248627b73c5a3da9f0a0b65ff0c642e1f951c9b109b3f357a010be258a06cd094c189dceb23c0ccfdb100af5ab223608170df6cdc3dc0af3e63567cd1283b7a76cd61216c50ac7a6cbf4e2d7afdf1fe9366609d06524f16a489177b6ef85978eca9244fdc185dc38d56bd465e2e394aeac723394ffd3fc03d0b093c7db8721557105498b4e85cf081437023c04560eebc5bca446dbc010349da2dd2ddd9a3d274e956ebb992877f5853a899bf4eda10a9a2349635a8560a6e4febf385a07ee56787ae7f9738bfec22e1201b15e3d8af15e35e372ab572afe7375571f070bc63ee86d07eb8066d3d6e0ee83caaba9f8b848b01b5810856c0ce80e410fed9bfc05dbcb37f0e9779d40b3ef8588cd6bcb0409d7dffc1368e739ee2d644618caedc546072973f477633cb54a6677a8978ed9d68ac808d227596b0f35119111124b47722f382b6f2f384a1ed31e136407052292fdb7f5ee95e28c7eee3ee919cfd8bd714a12a5c911173391d72e2f7476941479445034bf3e5007e787605134d25e843b8f0959fb5c8dfdf4e4be8765108b6cf90029563e91b154a35c8eadb23224f05bf0cc33acfe014e28b2e9b70eec4a1ac634a9693ee844cacdbf10ce6b6d0c26f4e1fe8430775386708022de51cf38816169240604cd72342e8c4d7a7bd43a9d42f0a6ee16aaf62148604633b2e4aec4f8d166d1728d9422fbe30a298916f4db5330ebbe1a73a455bd8a1421c1699ff22fad64c9ed0c677c4a893ec4ab8d639d71dc1b069a1af5289acd64bb61427255d7459985db660b3766f7bc30284444474825a72928a19c7611e69f449a6e788ccd807ea204fcc9bfc5ac279ab781eb2aa9b9b4f44f2b3ed22d344e2eaf5bb1d20f3afc1c58bc68b7444ffcb8354280e02d16130270cc0e2c17f27c0c736adb7591325ccc36055073335bb1d10b1cb7f7430b17ee6106387c4985333d8cd11c5b5665c032579e694adfa069d83ca67b14ad0a326bef1a201935a124f2b1ff1bb8992875fe582d7a24360347fd667224aa86aaf5738cd4d5876c30c851d08ac0005ae63782ae27df93c4258e24cdef0cfd5a668cfff9e9821a5d857eff172b218fff9c9345437b1a89547dc36f28afbf186d16a7d855eccf968e4c3b9c02357fc2d3554ec65dc418689ef1ed6cc628805ac3df3019ecae3cec26eac267da20fd8df7647eb8ae94ae848452f58de0977353570470671aa23c7daf4a34f4058386f50188b6c85c36652dff917b66f99c21f7d938adf093bbf91d01abc7a550c41b566bf51ee52ac9371e6128838e1ebfb24ea5ca5eccfb6e506f47526e15d9113f49f5fb0005844393b66b876e4d0d658f8ea5680a8a436ed2fa220ecfdd4fd0baf458fd3ff1aa402108a196f258c510835747a282715be52a6e08f58bac0ef2df1eaab00134053d2978e3fadd7b84f47a1bf0271ae480b0750746addd9c11170ad23103d0cae73eb350d96d54e96c23511670fe21c3bd97018a09765b143e61312181921daba5c720fd22dbc6b6713cd3c1b27a43647154e660c9e5259f5175ec782c29b0a3a781d138cf31134c7ecffc51bde322982b53ea6b0e9974b7f6808aa201bcce5e74811e8706ed0fe0826921f7d11d8f50e2525ffffb644cdca96cf2f83c72be88579ff36015bddcefe9940b647c131e4686c6404904016d1efc974b7fce246c63c8c52d161b6eec2697c43be903a9ef5031c315c0ebb9b61ea8be379ec8a1856347ac26174a1ec6041fcfb1e70b6b00afbeb86c38fb1ea366c3a186158aa46fb877ab595ecab9c696c9c6e92329c19f623a3dba72fe17376a4da14fd180b1597282eafb55a7af8619428d2cb8dd646ebfe40857e9f1fd6006e987dbea3ee6fc7af137bb388d5174c287630bb8cc7706a9807a4f8c2eeb2d9641313c2ea8eafcf18c50e7aa86570af28f5d7347dfb828aa8d2a9b2ebe4e302a77a05efced5128661345dc3ee8d2099d66b698f7b9a895244a4318acd3418a1115012bf54c1fe3ed15fabbfef1e8d0130529c6b5d86d8caa37938b1a4ad825b710e72203c8facbcddb344bc49cf98e4db56feba3843e8b86050542dd615063f2aa1db93c71ba724c8696f015516620b0bac9b610d77592191f41ca27c211c316c93b261ddd29512a79f6d6ce617facc12675ef2cdfe8706b26c71ba0b039cf9fa70810de1e2ac723a5cdf426fa6d6445cfdc2ff53a8b3b9de054e41d63768dd6eafd8185b61c5518000611f980e45625166ddf238cc157575f1ca6c42d", 0x1000}, {&(0x7f000000bfc0)="b46781b668cdab0be7a9f332870b67b28bbc4c2c55c2ce7da201582e5863f41b0a9a30a44aaf8310e8417a749c12389c4ec8b6cefa0f15e6fd14d0e6b544e648fe97d81a89d6543aec6a413a8899f8fb4ee9c2de6f90845541fb5b85e316882189f2a2f3de8810332b08cc5b4b5e24a3860d38e0e6eb92f720c69f5a5e10b185cd3f", 0x82}, {&(0x7f000000c080)="539d0008238c49ca7030e55bcc158a59010b559fe695eb799e43ca1cacc2f38395fee9b813a1e0e59e01adabd59fa230fc70d8f1b93fdacfce9da95871f5be504c4b393054de370e9c5f6664e3f113880e7af8e6ba8ddfe0b08b0d03067bf797bfef824a076b2e3c2a7baca69be58cf1b6cc14d16d3e0c17234b19c79d8369c7fc79ce03b97a707ef4afc7489e8aab780830e649a21bf249be76b454db8ecdddaf3450679d57ffdedf7d37a837530d09b96f6819402a6c72fc1822242ab2f5b5f789061db94c5d3729066eab0a50a4918f80d4b53bf76f26b6303a2c8a186ac86b8111a629a6e1dded08177ffc3981ab07329d5dc6378aa97b899b43e40926310f51a63dfc04872c67ad183b6637cb94f577e74320d05f8b548246e787c162aa3dee20505ae487d44ab248f3e3629a600f40357d442decb90a561195cdd8679dfcca4c0c3c7edbd45e1c5219441579fddcd3503f73323f87728e0a831d1f63cefb5b018fd7cfdf45016146d7b917536d29d80ec3152f2e40ff4045e7ccb9c3b642e1450aa73b9f8cc4e5718eb6c962513867a0961f592aa94d9457d0587da9d5402bd5b33dc8155fae03469183d0c859194d15a54cbbbb766bb667342abc092a5ed1706e2b39ab51c8222e8f034d3fb60c4ee922c47d7a7636abbbd52dc1b8723d9b687da86d7e7b8d68bcf779b76e2d97e92413fe58ff45d10913b2afa183312f181bdfd73bd39ce217d764fab3033646f54ebb0de3bacb12afacaf1380c0a2e92f6352845b58f98450d02fa96531f22f93301cabdfc89d5c6c3c3b95d6402371426b3e4aa0784addaedc1fceadbe532ff4ea12ac96ddec85e3ea922b3075cc9adcdb74cbbdfcb0b758ead698a87965d950fae725c2497e89cb7df399ac9ae96b13912165f514cd41adec1a866feabf271ad2ff49820b6e296e3ee383751aae9d7198f5745668c709b3f83ac26c06b74f391290411da9c6ebbb074c0d7b6888489c981c117bf7e5f2185c0319b7aebff673a2ddad3851ce9ce1e9cc126d153b2fdb52a29d35fb6e26fdf45a5fd839c0a223e50b999bb73df142bd978547951d62e750c16afe36dec208b14a05bdaa3ca197315b0a44aecfb4043c0117ef68fbbf4c1308086b1ae3d2805bb7ffb8125023bde59e49f3810f29bf7d5b48142e9d7340395ac38dbcb6a673eb3874178248560f9f3275d449f4d479f1c028f5decea4d631e71734c344999d1f50c9f6c56a448120fc452b485132fe3f7298fa53b754faa055ccac969331d2be6055340da929a191d64f52ae1f235342b9f2ee0ce68a73270e7e25576a8b7c8782f8fd72f681edb00b27b4ddda561436165a253a011350c8e9602163aa273192c16360e992615660ad4c3fbbf72638ff29bcdc6df0a03c7d4a184dc416b30e709f9675bf4da3d07272fbc7de48027ece4cd708ae79ec77d722d4affa654137d341684ea0ae6b778d9c7d2575a2942a3cdc070ee8090e11065c95b59576f1e394404f57a6754aa86fd78582e2508f8e568878b82a50ec8b3b8e0cc86f0f78e5b6f612b641c586985338b2c2d38ec0b9269bd9f849b26071ee776e48712c0cabddec742c2b25c3f3913ecad100d5f4464d33d18a98ae9aa7d3a5589d25cca2022de8d8c9ec834a84174c35954af2ff6d0d543796587eeb94dfdb76c89d8ccdff721067b1423cda7485d4a55b11dd4d750eb2b26eca0cd35d627cc82364953340eacfbfd48b14510e38edaca9a0ec76a5242c6efe4954a6f278c6a2610cfda412528698a69c940b723cc6cd24bbed84f1f1f314b0245cbe3bc5e6c8638ee8fbfab890b9ddc0fdb2ff0818407d75e5214984e0bcd0d6e94b03949e17740b68baf12e5693b5cdde7cb1eeb395e7833258dab0a7ad6493d6509c4b0c0d80f1084e83e8b561b279cd73d196d529c4056051357d3b3ea8d4a3add65abe37e9a0959771042b598435ea4991cdf8bb1c17263048adf5dbdc27ea71d7fb9aaae5b4d3564ffd4debe4dbbb6c7f461d98daad4f8c1f5d76fd076660c384dfdadaf24cf066eba5826bbadeae8e8bc754b0c0bc7105bfc09b06467fe7120c5b9c0869a0ab7b6dc6d8a977d80e8ef35aa7a71175969372b383ca128bdf0ff263049a433dd1bf35067a617ba773f637c8c81851803051e6cc4575a48d26073381baec258e466a0b73eaf187a7a64a6f46ec9aa63ee5fc321113b6f4dfd34e7be9683aa3289d17b30ae841a6623840abb0e0ddd36b31a0ba1aea3301a66e1af9fc070059fd3740c87a461c6cb136a6c20f47d4ecc9f3871cd0c0be0f2b66454af46a84232a47982576e58ade573f1b3a73d7e4ac8c35c0d44e0b39418d44fc50ee63ad5093090ac588fc4c82527193e1af811c8c364461acd876061634c747a70d52e508e925354216702c3eccedf817bc919cad800caa8c867f7bb46c3e207c02359d21ecc91ce3ab34c7316b43daa44b266d093e94f1c9a09762422672b66198b245ccde1799c15b8b4db796d663273f989ae4353c3fcc893d10b9fa9308d5133e90b5de4e2fc3f734f7b8e1679b8d072715fd02dcbc79be2658bb937a04aceb0f10ff3b7125e702d0e7410930e286699511da909e423ce078e68bfb082ab8715341ead01043f241b291d096b1e156c0c92bbc47822832bc8ff741c86f716ba9d7ab63d4c5ee40ac8a9e7f0dde664d6334e8f9094b901c0533b561c8a243afd98a4cef154626ee2ae1c0071f0af5ea03834a3182ebe4ba6c3660df58a20edeedbc020e9584c84a623a2880e3a799de7c3616eb683b5ab27e541800e27ac353d5f37b3d42187daeb8e004b09fb6d0ed75be51b5481c11cad98711ef1bdd1ad63ef50b22dc95e4ef178c7c3efe92f2fc7e318cf21c6a36f7375892b318595a4301198be6d59c28e54ff5f7ef68881ecf29c3fe4d26e40ef05efd7a769ff373f7291090b5a87e498251689d31ca216d5e5493208596cfe4d96acce373201923458b03d84eac4fd348b641f48efef140f3818aa5c21a22f61038b6571ff79ee56211acefba02b18e9c1dad169ee713dfb857447de948d1f80053637e7d535b594fb59dd7109621fe9a0547d91899084ef490b75eb720b50041d95ee266763a03f2f203dd4868c3b45f0189a21116fe651d25c1a8cb021ca1980b204954e629f28d48005a40320160d19708336f40fdb5362ab9a0077303eccbbaf12191f59b06bf51230fe5be52e19ac625096460aebeca575b8141673d42bc661da3b005453aff4e6439761851ac4c6863975fa1117117d49ec60cf27f29af65caaa632d88052104c6e5ea1643c8ba25262ee6ba7998be1d9719cf4a9a47ea1ab4aac4a4808305119a60fe9c2f903f64b7837949844062de25e80e8beb1b5d85c7faee2106c65332113f83114ae5ee442f6e3887922bed8a26aaf196bf2a4cc27569aa19ecc0cac76743b95b6eb8fad03ba488ae35e2c3e4c77867afd95dde13ecd3d521c3c1c048d2a22fc764a841f36a2e79185791c4bb1ebf24cb91f571eef8ca6b81876a0ff5d0257c91f05c4e23a9a057334d7655c130fa638cc31e66044d69fb1283ad8ec176a9b54e9af116ad7af9419ceb8609439b5492d1a20d4ed0260561076f8dac86596917c62f88a4f78f9e87589e24b635654fa2b172032aa1806379d96464460a50dc0924702ee18f697b491afe767adf567c2d07280da14137154ac3d54fd6b429baf5652e8a5e7796f2a856967c02379e8d7c68d327c798f76b9cd3a4c7427b690bbdaab3d16b537db662773fd6f016305f65671f3b44ecbfa60d2cfb8a55fd1adc536fe0417bb560a733cc864a145ee7edd9883f4722c7b4afc4a1d27a6dc6bd1625b683211420077ad1c661b7424aed95bd51be75e0f84b892517fdbaa270aad8c2d5592d121f0597b27e603fc25372ba6d4d89f0b0b1a127f3b38d9c2cf3994191858b5e23adde66020360773d461f2eca6b4fdbca7490e06f7ba0dd780d20e4bd5585020fd773381b606c8cb36e2e256b3368c893c541e385b04a2c6cb790a682a312439b32d4f0a4778f9b8e00ab584f0c103ce8d3b0fa70e520bdc79dee3b3a80e9c2d3c74b9b76f9829fa732366b2133a7ebf07c1a47f8ee9096cb667014a5cd15208f2b2f570cad44bb9ce04275fd3dd4623635fde1e4eb7c61dbb7fc1b75a92fda606b1ba56087c4b9a8ec17ea26edb7cb5c305f244cb4508c5caebee68a09187eacda4b2df949e1345993afcba111d2e0a7db1af69bd88db4e9548971a60836adb90f678311b742ea44c91b9c6f81ffa6ef8889b0b09e3f2b072a972c16db0684c1eb5529d528955081f36c00f06ae269710f80b387c6c420c010e84ff62f1391ce35a309f9c60d649897cd44af4e4bf7f008a1deb9a3ca7c828493abb65c8fb6eb3c659817d227a0ed9db2f43245c17848e99ccf0227241d5d04a960a6e9fd27e963ccf1975b6b290063f2810cdd8e3792faccada2e5872e25009c4d3251bb4ce27f1aa29f961247cc30b612c618d13fc1108fa93071118ac6ecbc4b996d6cb5f19fb047fbe261f740313329239db6d11c9880666936d79b6ed1a70c4f54781642f322087ae23152c3fa3c3b4e5e31e017a345e7019d1123b0c29e6c7655e23d3325927d6ddbaf7dcb1ab3efd9c6437b9a79b575b00c4298e85fa66e0c50c37b5b4f30bd7d37e95389ef1771b45522284b769a1acba7a303173e0991b7738cf78a788a5279e87d066baea5a5a0b5a4f4891abfc820f681b0d543709019097b5e16f69f545d1ae38ccff43f00f9404d3f688d63594ba46e539487de4479bda4e42526509ed2639f62637d3373ccf5c4c79c79443c6d3738e4372048afd692df9d0f0532e80d0f723a9d542508809a194e1223639f52e9c27fff5cd738b5d85c6c7295003321c00d9f8b71450c58aaaa5588a29a212c1ba029952f6d6eaa0d608a986733f75fecd57ecea43dc940f74069925d3a1af60b78fcb8330fe108637ec00c46fb52944559ad04f3389caa4ab8187331067768ea3c8a35c736299809a0a4e6b51e16fc74c6ea85ff4acc5cc41c20acba737c71cdc3450248d5a17bcdd4ce0396a49364acdcfc96c60aaba28a5433d3a46e262b069d665af51f4badd7625d04f19dd08063e1c57af0e0df1219af6ae7a0a750f29c46eab6672155dbffc40f2bbeb73981e1f5ef460088cfae5b2715f4a6d9d76496835f734ccc29a2df8693fc3f833d037b9bd17c0565f7fe228ad0a5b0e4ec8bd88bf4be3000dc651051058b78bb7a72798ab01db2500a7e7650a4560e64025a46dd6aa434d2ebf655d193b85594317d9845a08c87b07a4b3845f2846414d6dde61bfb7f6af16f1afb4422e8adffd9b10952452d6e46d5fadaa340d19bf02cc3a5d01f9ac13ed20a1700aab724780259c9e17dbb69f15ac64fdabc3c671b884cd41034bb2c0c9921d4da5f13cec3ee5fa21f87403e832400acaeeb72487da53175d08dbf3533810185c788586521dc02da8468810ee4f912f052fdd7ba664ddcc2fbca25205eed30d6950bba175d2487dcf0cfd9ced9d5aafe280f85c6d882e124e50c2e50923f433b52b18d7ff953c0e29def0d18f16cde46d410adbc08a434842b7115ec957e007980a1c6450542076f645be9fd30f91cb24fb992efd1071fe0cc1e37fcf6c9c7225b76cba6ac3766faa841e8d8a89ee0ba1d6d0dfc920168b67d7dc1d437870d2bd654f8b74d22e55020b850a573710a334a57464c4d52c3748852a104a7fbae564715d6d1ce11ecd0455b91dfcd977cb46c884c5245a51ef9f3", 0x1000}, {&(0x7f000000d080)="d79b6727d97223705e7b752252dfd8f9f54c91613d6dbc4de9b9f9d89ed8ba4f208c887f6dba326e9a", 0x29}, {&(0x7f000000d0c0)="22d581f7d1ddccb99d3bba5fdc8ac63f64ba2fb7377d02b29539b3f5d063c2a2ac80ca6fecbab14cf641c62e93cef24b21f318af7054a37fcd2ba629593d2fbe217cd239fc35ca986e2556fca524595d49f7e42d649f4341a4d8024b8c8807164aa561f6cca798b0e467416e95f7df4d591bc20b520cf9e0c27b774a2953e914d0131ebfcba525ef3850", 0x8a}, {&(0x7f000000d180)="11cde9591b8eb4014a7e674e1aac9139957c0488f98226cc36a997fb7b05dca4d9fb7145dfe85081d8815b39d6cf02c7bfcb4d25a604f10e2672fefb9d233bd42957ca3bea9063cac3ec4d4824dee083c33e649a7ffe5ea323d4ac195ed738473c61901ed149c9680f48d584261abc269ac34c1dcc4701251a662bbf3e55239a5eb7bba9bd96c0cadcf4cc63555f33623654a8bc20232111fecddd6fd2a0cf7e1d37d3d668add6080e8f8bab0910891cf37112d262329cd37001516a407424cf8ab2004ce0b205bbfdba9220c78b78d8a7fedec6ca05c926768f963f7b926899684b03e06fc5c0e3fc7e2ebc9f7f9e921cd4cf1d33e99ce0fd0a21f0474150cc0a78cf20ff64b1ff0fe078a1c5cf15f73ef46bd967347f21e0915278fcd6b4356d1aa8759de618a4cdaf2a38c2c00a1fab4860cc2edd19499e8ad114cbc5a109e6a0986b5ca2fabbd648cd75c644d0723a24000b23c23802ab7e0abb552070e2ec79bbe15b5436e6b04eaa011116245b2d8c82486e77bc3b7243932dca73670fea0f4c9ebed0eefcd371ae4195102434862efd173b9d635746906155b0a7a4d88030471f6a49fbbc7925a6509343ff4af33f89b2af61a2239a6fcdf86856f94316cb10ea8cb152285cef6f0b9dae0f36ba15d5d5cdd884e387b758cddb2768029fe66398f6823d46292925cff27163cc5c0af883aadeb27b9449746f82cd136c8467f6c235e25af0847cd84d97719a8dfcc9994bf23860e6c9a74e9ef8c2753a519c3d63bd95981e6522362b7a48623d3c83644dd793b2c03d7e949279305602fef8a17b8f393025437e4d4c8b15eef5f3fb71ac8a1c6d9fe0c5801e916ac2e240247d1c99d8c4838113cd2467e65a065ef001b56481206c90484a2606eebafd569ed16231bef895bdcd7c69fdcc3a27da3734f2a2b0df156fd26c4c65d1e44e8c506ae7a79e67274394d88533912b6816e4cac71ec9ed1e91253e0527cc8a3cac835d5bfc78cab26c70f4f413257d940662e8dc328dd66d8f87afae61c0486dee75bf926b8da360d8541aae2c0e899f5747a384bc17933b130798f770c1f0800330e1603181e7c00b20f47d7f0cea06de973958f5d2b6caf2d5e718c2bb40253ffc167afdf8f45ea15bc8162a709a1c393062086986bb0faefc61b2bde3e2cb883f64d4139877af3e6b3a341117c372d6cd16d5652b1a2e30656f948edbe2f96dc21b70103c1c7c7f596746eda76201d6abfde55019faa415d38cc9fb1c1bc82007669f9c7c26ee1cba800de6110d6545b66b00404a08971f8fe2482e9ed621c773a391949d6bb55e3c47329035431f728d5c8daae0a113a54e4f2ea6a37317e1d2c6251b54af9e6d3c27501b4c27b7c82eccccd3b9b43df6ff9dbe677b3467a35300a7ac218aaade3dc945be85f5ce9ceb8cfa2fcfe5eaf039a9cb55d1e609cf9e660eceb7d30c60ba572b3a700be3c08de290c2d3a58130d8195dd4794f00d1ee81c60947fa12ba61e184c6d1f1fa3b14d1e35382db7b15fa29a33d92733a039cc9598aa6cde538d3cc532321b03ed580c30fb3c5130bf8b2dbbc01258448dacc904cb8c01c9eaa09b206062968dec3070e0ea97122e524cef75f0963e2b49d140ebb7ae9385fc74bff07125e59584c85543e334e3c636cb14df93d3c130b5ee732fa3a70704b156ddc6d5e1d94c91c38202dad023c4c7bdf5bd99d53188444efa9f6666e6322277272b71500aad208e3882aa73cc13fe6b7622d3fd54a7e559a91fd8acc4e720b73689a8ba2a20f9fd745a3578b36f97c4a892e16a3d3821e06d3349997f6297ec9bedd5c8039fdee9a6584d7bbd665329ec07ff7c4acb7671ee9df098c8611f224cc2c82520d5662bacab354e0b58a9a690f42440f3edf70faa73d71f6e2b4d030a855b1c731ca81a72185701ee1e1ecd0cb3c1414a1b36fb7e1f4919a861e2ced305ac8eb2b62df1424851e6f8a0e74912174c1474fa8dbd9820c069dd0c441ece521cfa47f1be4001c774236f8e75c28febdeaf429e298b05a68d6aafd7acfa6e55f1101afead974bd9826549fa1b085016a494117028c38a93069c97fbca5e2254981ff54ee2f41d5fa0f601379f6b33c6ed331c8cad96e8224a6cd2bdefa67c4493e4d3b9035c09ad14892636e01edbc973961c369824268da40c3419436c37d1a645ac2450f7b947e143aab9c77cef76581d0981bd0b4bf81d9875a43a15aefdccc1f7c75e633eabc98bdca7d118fe333a7b6b9b1a9636177d5df8b93c864aecdc739dedbcbfdf4d70d56e0d3ed79fbfd2698d00169e8b5ef3d442b419b43fb05ad20f762415247a3c8371cb6f7454a04d418ebfd5161db2ecd198145705516e846b3428abdadbdd58ee219e5be6a8f22b343de83b8ad59a61d0f1b30bb287c22de9b33fe625cc00d2deab6f62caa63e78495498ab669c1755842f349aa638c0893b21fda099a4652a28cafa38b9c412fac63b3f2023efd50e348c0dac5f5ba4fcc2d8914502eadb573e231978f4760028652599a7868bbd442b8dd78dbdd5b1ab5cd2be0a2a26f16dc7d10bc73919c1a6d7cde0635b971faed785cd30fea860c652ba2a0fe59de67be9bc640fb03872fb1169dd20f78317488e72fd5f07a296fd549c65888ef06b8030bd907de5292c5719bbbfde29e318e6e047f5f9cac57587e6095be9bcf6c8cab13a95ee05cc3f3ca59d85f802a3150304f480edbc372cd56e16e4eb71c15300f82a31cae80985bf78493b28564eb2ecb7096e91666c040e9e50e5f2ad933cac5fff0080186659036804ea2b6445151a7b409e2e35c052cd2aff8299fdbefdfe4e35168dbcbd84e4fe25bfbb48ca74df07351f18f70be11d32c7f98f31fb63f86db2f1c03c3b3a543f50f22c5aa968460715c003e75a77203363c320f3500e229e15a8efedd47a45bcdcfb8184bd3d9e05c3ab59f99db1d1ac16b0e480ab3805b00f253864c58593d2ef57c0e817e8434e979c1a8bf4cc67ceda7d393a94a7907eb5531c2ad1263d199b3499af1c9477c449f0fcb5b6cf71f34e0cb78761d46c81aa0f72e9411d828167b66735b51461305574ab8d0388f1247cebf936ae7ca0efacc5a9ebef71983109217b11893ea0f9a166b805d4e5f94d6605eaf793bf885ac4384631264e6d9bae67747dfc9700ef0408c4cfc8c12b12de290f4fde71988c46a00282d61d944bead4a8a7b0abcf86628c2bef2b41e01916d18a87161353009590f5c1e927255b1af37454dc5d34ea20cea457fe5914077f4727e85b7c46e176789aba15c2b084dc0f39cd0ab59241d2b04f18ae5db577ba8d9535f9e766690ffc552e1c88781ceb46e4c465b97c91bdbb748419b2487c74246aabc37f1676681080909c2d319d5871f3b4e7e8c32e564300e1dc8c730fc7956ec0a08a6c58c0112a16775da73fd3a1584e9710abf25edb0e1b4a07703cbb679bf51c20fe1da46524e40ffeaa5af19dd37c4df70b13ecfbdd4c82dcd634a691b06b8d197f5e9a2f4be1322bffb50d342fde108aafc050be030ba6ae2476e798246b46c7484b74f21e80ff0576c8a8d63bb254e1869d1d345c49afab8bbb30d64669fab1a3e9c83d642564daca39444f27c93a02da6c6f26f761c5f7c576311d91178178bd33faa0d70aa101b118f19aab6d0d65f7878f94ae6b1ce2fdb017760cf8bb0903c768507d0c9d835bdb2775c65faac8ee9b7818e3511f39cb30066a78d0285e173f838de7afbe7df1a96e907f040409762c467bf7db07bc609560796553c30a76e8c73630e56c2249400b592a1bfe4e802ff42a0ac7c858f9cdf0b8320386acc0bb17874fc390ddea5f947c5fa3dd6f7f95b9cee119b077bd74d83ac87813ee75c0770926ae62bfe661793040dd0004ddc95f96d4f2a0a41f3db1c4bb81a27d0c59dfc3974429293f9c2d4ecdd98fb8079db0107f1209e029e3a4a20cea2f05d12352c7104bbb47ec94ecbbe7dfa8abbb55408043490b6e28203f3f36cb88c26daea4b5581da0338363eda59b9dae9257c13cbf70afdbcc149f4200ea89eea5f24e3792278488b13ed884b01dbd947a8f7653944f984e8dac72aca1fcec730dd9742c7deadc883484e6237acf453d6d4847fe27d5e5f8d28560e08688da805afaeca4d1261dadb8313ca4aa367019555c4999165edf4311a9f3cda08f140364a7801c495817404065e504d58c97ccf33e8e668c1b6985e94a5e73ff181312e3d5d7a64a5f7d46e20505f6dbefb050e71ccc0377eb032ae5bfbe06d7f0f1576c5dadda89ad5c5047e3f2ef1a0342a24e6f6b34ddeed15b9955eaf3b943da0a7dd5abf2d5047f00b44b2b71881e5ad13a19ce2f30039328817c83369d2774e917fa45749c6175650b1335545f0d47463882ce5ca7b10ebbd4ba7b0c1210e254e6ddccb34b406fa54294cd657db33f6b65331f7293dbd720046c7fbedb1a187f486457a3c7b9b46318b6f0b1d47b36ef5d6a48ab23dfb0d44dbab5f3c49250bdea9132f8d53286e7b9fb870b9be3863087d27a81434c32f09b7848b2a192f1792d2cc4aa1612fc629eecc179940039ece2001fa90faa67411b707c4f7da5a4f5d432c21c5e2bd9e77782b8fef3032c2c99101c439e256739a777758f6c2fa2cad7cfe402446d47256435cb1720f3ff3fd78c51d7e54175b55a05d4ab112d99ef72f976e274a18fbf35e8ea67536d11397a138f7ae3feb4f6be3913564a00324946fa80c755de76431ef2f5c3776a2779c6e149dc499f02297438d4fa0fe0bfc442925291f3fbda27fb60d7c9c9eba0aa6c748ded225d5a5fdf26396f7257e2454c9895d682df971f1ca9492b96aac2b42a9db4d7f700c5129b38e62ff89003f95cfc0efe03317ff467b1986b9f6230e305abddf269751e430c493d87e615c22c32c61a1cb8c7c4f43f73fd08c06f376c08937068e9be617a1f11997366707337b6663c8d93ec229bc5f1a3f70ec2d3123e2c30e9e23424ac7ce8733f87cd93771775c4fd79bbc32f6ae41c1fc5dc48f8272168fa5123a058df68036b9634f763d767989b2ffc91c61b3f1aaa27b8ea9d2df16ff30dee276909946ce97f7680051f51b9c9ca513596fbc42fef35fa612956130e08a259096c02dd09cdb478c193d774bbd389a5ef5a0d7717ff0d5282fe23bdc73070d547737dd654910da3e62e70187762e1a15e0e9afaa7c18dcd391c5f0ac7c5ea1608289b9fdfe6430b83eabe700241396c65c035c09d452d4fd64c8c1b58b6af01fd54aee2bdaa8c81c727c0d25f2942d92a50d7c9bebb3b2581376f4238ade88ff7d950af22c822e8de7fc050473812ae217a210fc37dfead6fc091ff11505d44b060468be578895f80cda37115062c692bde97f3f40f230e0e1b5992071849bcac5e97b396bda2b7456624ebdb8f0d4d863f4590d1976bd011e963e700a845874dad36978e885fdcbececfe00dbe2ed7c5aefbc2935fecab9319252b9557ef318aed0e61438c1ee8c548f93a154265f98e6d91cde42ac1a3a89910294c91150f5b496fe212391c9741f5f7aa903bd1f0948d5c684db7fe2eed6031ff835b51a6981c37be50e1d1c0068016efc21d946059172b816357507a855acc085c5bd04b85ea091abaad35ed0428deeead4ca28939e8b576bc87962d2c23ac5ecf81769d28f987113921032d6acdcff528bb8d8faf0472a9cac962e5ad090d85283e38e7b0bcb3172fcc0df296bccca0ed2491dd492821eef784daca42966981737e8b3abc2827d58bda24f53a30d163aebfe00ea0ebd284bc672cd", 0x1000}, {&(0x7f000000e180)="99544c53d6ec79540ef144817ef07c84fa07494846823139eea8e8d5b32eeeceaf0d9fff2537432977f021b2d8012aa9eea291f03a250f5c12a81195857e0ec6a6224667616525dd5a5398a6fb9078ff0b8c46c9da6c576787a9c49f207346ff767ad9e19f969ae21c951bd2e8e23fcb1fbc95dbc873d93d067ad86ec32e96c9324e87466adcc6be4255f17c0120e5ccf77dbe5f1cf9593512109c7ffc8eb37d6961f1e21fa0cb7cf1a07ba2b8c4b9c3c13b1b122d4abc3e43ee2b6fe4c49c9c887bb02d185a83aa442901dc4f6c05b890fc651aaaeb7f67d406c5d1bd43f2", 0xdf}], 0x7}}, {{0x0, 0x0, &(0x7f000000e840)=[{&(0x7f000000e2c0)="1e80aef99740691e20368c8aab657a59b93f1d680c70fa62c99831a01973fd7e8018af55cef4ffb59f39e40cd67635ee8e8a5145d02e577bfa9c75100d1e934d8699f845307ecdbf0926dfff706691e221c368b8e25292b9b7c4ca5f262cbb000e8b967e823c0adbe05d835e131b3fc4597feb74c955a71927b77015109f3db540c0df702ec26a0c5f4500525cc75efa86560b5294e58b1a749185743a88f47644c0523e3bc7fa17be296a8675e6de51b6e29c84010cb78bb2e760c18e0f54d190575736a166f31ced2d276d1f11eb68759100cc205d908fc8d9bbf7f0357baf0e3724510c47704cc50a99a955f633a9cc3c", 0xf2}, {&(0x7f000000e3c0)="0985a418c53d56ba69d3088b10137ed923a200d1e0165521a156077e76ec7673fa122b58e52284a2153709f22b52b0793e47a63ec8eabd58f16deec5aab55bebfc4ecf45778c67f065f140b9c0fc4e06af58c247c5aa47592af226cfa5887092dc23f625a13e17e8241154659f1b265a32a536c7cdffb55d2717cabd37d75cf050df3fbb79b2cfb2ea07b919687030f54845249e22beba5d56216eee2f68c8", 0x9f}, {&(0x7f000000e480)="59da0f529f5181ffa223fd462c046ce7b6c36234176575ad03d3566864d4c14509de644cb1edd64c032e1036352afd9d2f8bbd74a78a697cab3918001cd5c1d93a1b63a7014fbfa7854a92271c9e0840cf5be79650d3b9a855ed14b2fcc0cf760616f75920efbfd2f9670e91b2f6a12a6a701043fcb5d7632c3e9d20affed5b1557d3a420838404121846f1767192bbeccee1a213e96d060f34835197e205e02e342c7449aea714cf1990ad4b7383b695487d674f1819a5071a88dc6c11fc4f34aeec81b230ac21d10a77e9e20b1fcfb442db22bea7c627dcb938307289654946fcff86e18295ba597e26d8ca551ef06", 0xf0}, {&(0x7f000000e580)="868945e7d896436bae405f4dc33fc01432cbd8f1a4a808e674994713a1fa80ba0fc206e36420658cb6297e97259e7a8dc25b432076bc8e69d4eaa1df9d256661c360cd2d9ba5831a85008ad217c5e6fbd38446c81ebd6c19892fde40ce387f1cb504c8adb92edc55e4bb022922b461e05bd1d9c730ec154053edc4bbe73430817ecf07ce1089dc049393bead2cdc52d1d1d20b0aa8f48495d4c215f2f19f83", 0x9f}, {&(0x7f000000e640)="1923a8b7b3853b37c5aabb86a6aa121173127f6f2b6c8725c590aac8eedc7099911e1a192d598473c1bddf821ac52c2e5b55a3dc82bb0c9fe5c1c4c42b051e3cc561ca9b8793f5111ac427542a5036ce00b46c70f6e5348166ddfad338bab6c70a", 0x61}, {&(0x7f000000e6c0)="4298c977a1a0bf4bf5050677ee3728915740b9b4f0b70f0b046b5c8bf6cb18744d915707766a0ac79bbed2f7e71737cabf81b2105b24ceed6c794320825bea34f365c6c53b801e589f1831754ad4e7b50ef34a7a48cff7b5e7a5b630db67360decd4e1cf11cf9aa948d2bb", 0x6b}, {&(0x7f000000e740)="4fdc2c2281e927eadfe61796f7c04687ca03437da428af09c4c5997d336ca653d23e9a1239bd905cddb899c6785c3b88b6e10d85b2aa84ee2c0c022aa6f720c1a9f24adaa1d940057a166d3cfbe5ca1b676c83dd6947f53c96c1bf47fd605863178227bf0c7b14eb2850925dc2e206bf81e279a26a0a74961742ff6d0d567d07824e0b9efb0e3dd990166f4b8ecc9e60a8b5a5106354df69c13d9b7c55a1385789e376165001b20bf4472269f788113fa8d01f1d02d978e302fed3208e664e14dbbff2ecb10803", 0xc7}], 0x7, &(0x7f000000e880)=[{0x70, 0x10f, 0xc7e, "ef949de5db926d7b28f2cda17f0a17b441fe97f725a1765d236b2b20bc33a9c70c0fb7c919718e227f0f3ff4606e29e3b2c91a645795c1ebebe8b568e24b00814d885a74daf13be1bd43596d186845084c2f2a275cdd009a42f955581f13c48fa721c3b3"}, {0x100c, 0x10e, 0x1000, "29b82f6ea5d9ef86482e95a40363badbf6c90dd4acfb087cadd7cb2d02dd71c7423d17052f68edf487bb52cb2941c77b216430cdecafb406774e657ffc66359ae7a7ce277a25be35d346d6c0b9f96037c0815c01df1ecfd3222c3629e48a31af1a0c15e6bf5370b63cfa8a11bf928d0f0d4f9853ddb51b2b8b2bbde79b3ca82e03f25c54c818b06352e7fecccd2bc6d988af96a803c6d5d9b1814910275fc3cd589ca29c05c59335666bf7acb7748df39dfe9d90ae86b5c26cda702361d717142325a567593af35dd04b68e494ed7965d9364e7cd922b5a8361bf3a6254f3af5d3b8fa7396ccf137bf33dda4c526a4ce4359d227d581f70849a39a5b93875d09696a9d26265b6831f7dd66c55f85fb6f7fe4c0b536f5b61ca8ca18bd8ee24ad171ee8a545b77ff4bfa51ff7a37c7a30b4475aabd5902a78707c078e22706f9604199c06b55a291c18b29f8e96e297338c58d9fefe82418080f742017c6330fce73bb67271d468b53b18b732b667b4bf1f7176d6e4ad7d5987649759efce8e2206dcf319f135f9795cdf636327eb27ea79b1148d95b4a66bb014ef63ba55e413524167c3409ac7b7ae915d62879e89d5e49ad3ddbf38ea8094bb66daab8acbbb05d9487afcf5757d4e06eb4e90764d5ea35b28cf37c35f9e54982546c564325f22c8186a8e1bced0270df645796baed20d06625759c899993b6ca4b92e5c3be9cf4e5cf304a40ad18c47c4c6267a33f2722daf9bfa5369a5c9265064977289f5fc714a6aba01eaa1ffff4ca990a163dbfab632a6b129fd06c63629607c666f1cb6721754400525700a61a84088a49caadcd8c58e4c69bc48c573fbae33b95d59cf1f4fc44c8d8aa6037a519237b800e06978190142225c3382a7db97609d7428e2e0e1c9cd637cc5c53c8149fe0c36303849d9c1d4ec7650fe333753298b44d664f6a38c3ff197f3a02d70eaf34059502b781185b52d9809da6203ebab2ab97b76a5f93fd2e6345e504d5c82d3c45bbc9fff6e86564ea82e2009d564f25af92d9dd9106540c2c984ccd474e21971c1caea1c22a8a6eb7969e84b9ef8bb75a8745bc73022a3b30be00ffae76030673b75c9b91757eb7000319f335a0ad397fb8624cc84253f998936ba8fb4a9a37f08d7896159180ce56c6e03af29bf0e8440b1177a6d6c13803d690a040065c2e6b3534243a494bc6f75ba0a34176188fe85233176ab27e3f2eccbc69be05196837055481b2aa32397ff5532b4f62a706c55280f422d5eb8b2171bd892af7f13dace28704d9cc759e7ebfd31dcbab3ba5d924a59d4408f2bfdf88f139db1ce45b0bec12f3ef5921e718228faf22eed5e244d409bd1ea935a2de2c31291a4ca536fe9c8fced7ceddd404fcbb2e7a74c4151f6528983095fbc5fc7f50d937d0d402a4572eeb256b619f73e89a9ac383f47fd85141c51df73336e93180b35ae1697354b9d1f2fa4ef6b9e33a0ab66c582eafc22315f1234044d50ed4e488a71ea8110f6aed14d9bcbe88f37edcedfd67a0de5de3bafa1cbd733dbc5936c09f4a32aad664dc779c1c724bd2978d5aecd2ec20ed08291af46b948c730f1f1defa3ddbcce0f750d102a57b4da8a5f2170077c420896cc69285e4b50e49ef448f5e86dbd4384fee41f8ee78b5c8ed51f2032be582f784aa87a1dccc8f67e65eda2d436857086f231f529cf8d846ce030f3be587a31a7de07ef3322f992795a35c8456956f14a6c8a4d32cb5b651657aee391557d798dcb9eeb74a415a0604f83421954887923e9c5344de3c22b0b62834e696888500aa79823e96b7b1fadea71a973b8fa15da08c2dd784a0cb687d8a0f21594140b0b243086f77d5afec93ee07f9995746a8b220bd988a52f57f1d582def74458a4e9477f1a2ec8eb21404b243c1efebcfb0b847d24a62b2ad45bddefb02a018d311b214f7ac757a309d2963bd1efd960d849a3bb8f722294908d0255be9ddc5d74315c3d4f6324f04845335a6b0b3f6dd0802de2faa82ca117c5d9e6e3e6d1b1c954fca4bae0c6eb61ec2f15267c612a8d649c85f1c5e3c4239721a764ba641ed7a39e5de37469fd5a40d59e350d26907f862890b2216da1eee6a4aa986f4c2fa8723f8e6039beedcc22a081a6d4ce02600091a46a601322d4747d1b2f7ebf2ead1ec02ece270dc34b1c453ea033c5747563fe96f244d1839dae5c0c607e55fcce1e98276b121a2839e7b0f2ec984b93b09adafcfe64cb8156b9f7b95543aeb4d9932352a1d44ea1afa7ca0c52b3f9e9b0d2d46cea7bcd3bd4bcdb0fa7309ed70e3cd0a27458dc155b540f38d1199e5546020e1b9e70803bdd14890393ff9e9c83ed3ac6fcd44830697416aa7466afecc7624536f90eec186e253230c10ce99d508b7b499f6de6e9fa4d8578301690a716a6cc99c02d2b9883ee461be8129c4e32b77e90f1865157d343b5114a4177332d4db1ae873b294388b96246a6b2502e274cef50effd725140e22e9a93052d8fb4a7565e1c48c41a7ca142c0b4652cfd7aaaa90bc1372909a13a6220ef65032fb59f4fb6579db5922f2b4d39fcf9adf71b546aeeca143e63fdf8e42452cad547463aa9e659376e803f909694834215c5207c38c571a3796ce1a63d3ad2aacc27d7c35958a0849779ad112b1976bb3c49f4576af75655f6ede8be2d84825f2ab4b216feae1bbf65939c34f5024d662eaa616b3394121bcb7f041bf4089c28740927a6f9144fa2039f213ef7f5a1b9be53d50ee15f64c2fa0e58ba496e4fbfc8e4a8d508a0f0cb98ba44d83d35a231a3c2c337f5466118d0356b1a2a170ac2727598d6730d03131ae1e5d69873ae279fec648a8a0112ab2b7288bb13ce51e52021af542eeaf91b9e891619c9128064b6f6e4b04c113ee3342607acb7683d1590ba6117309bd0a5fb4ca1c2e1c6db5484dbd353fc332bc19b0fd305ca834623892d7d44e51c1038b62c4aa1a27c939efa7db985c9092017253aa3df123d68524475c5b120a32684c64de05fc16db892d8794698f22780ae48e295f250cb4c3b2fb1adf2ee5c3c27d9949b45cb8e03d85cf9d24a3e6ac135e79e7b4d27e19a99fadf443b6732f9de9c2139fcd4494c4bdd4e9c4bf99ae99d43b247ec4b4aa89ba26e25a97bccdb32fdceca34c9f19fed96d72079777df8cde1f40f53100f4f4187eac5d15293b7e153ad49f41dbd17a95ef662d39c6fe14b448356fc800dda5e14664ea9c08410fec49a97baebd5da3a8371ac2a9ece58e00598d79c91f929110ccc9db14a0d3f697bb8154ec7a07bda64c271e0a7212122fdcf9056d32c085287b2298502846e540423c9354b70359752b0796d95d4198289f60f793c3581c02eae2510e3e551e532a2dce59fc6a39550bf206fbde2db4f8d6788437fb1d2bcc18d19954e49c53540780ee22b4dc5f9334b0517e1b8717a8ad68d80691e58d81fa2347b3197a22fb6262e11e1aa23af5f1a5b7d01d8d6724b7ec77637a7f31873b411f6a39a1f8017f1c47305c105e5e496c690a1d121d21fe68cf8b94b51caa248ee1f27923c5d607e2804555e767debe955f96665ae826158c93efcbae68cb2869c5be7ec11e5eb65c14df122c699b1e974300925460a0d1c54e1293a94a31f2c46b5ca8e9af09b497115d1342bcdd4cf0492f7ab25109ee6d23f66d163ee4ffd98e4edab353b03e2a629c98253a73eeb3cb387142f99c68cdfdc039c5656b80205a8578ff0b80ca010d88bbc9a38b7135f712122c8860b3a4e934edddc3350b2d6510a8e88d79c2f2a69095b05569895e115c8790a6044137ed96672704e27b090ea34f1f027a6d5772ffcfcbd5256d928fd8552afc7695906414f4afd682525cc7b21275d9dc02cde89e3ef39cc92b94c031d23486763ace4153e51fd35969189b5edddf8fb67bb2b5886bc23adc374932c8ae9c823fbdbcb4fe6f0f8705c3025bd2b60434ba39a559e884805c3da4fd196f6d18a559833510d979abd6808d793effce55744d8d7501ed3c8282b7a3fa5be32c35c7be5aa9d81252176b2b799a15626ae8c79bee8dbf0fd7e7ac1e4b2d13554cff679bf5ade2736a3e0670d8d95fc389713f4345e47cbb2ded7d9c7652da377af6ff551e33da2d2b5cea70554c4a97e618b443e20891534cab741f6c1927e722bb085a72c85fe9611ad8c08c11ae39937ce0f840e49c9499c09c3ffa11d26bf4e737a1eb64eb3657ebdec017be90ce2d737e269463fa607f3e04d274594895efc76eb04496f5e3ab6acfb5aab4e9b4de25989e0718f0f62034b30809ca96a6e5e5783d1f43c9477df954350f7f0c5c32c187e4a2aedadfa0a9f578bb7ad269602d28eca6b118c457b617878eb4574301551a1465da657ce9d7fa1ffce6835c11eb7772a65cf09692493ca74685fcd516e21bcf90daef3e09b9e619c0d9208bcd530eed28726d7aae30a2d47810db92165b5e2df81a8d049fd3c925182be9e217ea12011884071054681f6050e1af73211a00a3fc2f80fd7fd82a27609e7bc54a4712a2b115fefe797b9063e8ea67f29a867b4684d564e81e9b8ec784575a1f7c9d0959b64eb4d66a0f2c2c5044974b5af06801b2e8fd97000b675ff60ed0b2eab5d421cb7da8e83e42630fffd969e17e6d4131a2fb378b93f0d45903bc0171558439e9d5e4af582d25272e01187de5c5e86fe58492438913432ec1c78f4751773f382d8506b3df7f772c57d5833cf4df39f93baa8f4f57c7f48f331c4ef6298787db44d2a72e4a8ccd2163389835512b9191e3355bd56c68dd2563f0894e9b619921d98c55d95e3d90cfb91c1cbbe69ff20d4882725ae20afa7e57c1817048aacbb4d15308e3f6a06654569e572ba8479c379f762a6133a2e72fc36abcc4cbb8e8c85b5dc441d304db0393c18600d6be11e2f1306015c6e62599db810c4fa4f2021260e47758cf26151c67a0d41ad380abd05f4e32f9d2b3d7aba27f2a8c02425a4586358d0618f3fa7bbc9c40a6c6dbaf09b63a6cc0e583a261cf2917b09c9c86b7b409f2d498a67cc1606aa1e5a4ee367c8ace62794918c965113fe37462dd0d9a4b5a6fc8ab64f2034680684d74c4f555dc817f67330d8449a0a11e291cbc4dea4dc2a062eac297aa29f805f3d45f1015d26dd3ad4e8f4fc53b2ddf3f2b46a3cea136fea35365cd1224d2fce5816cf98dd478572579f833198b23fe761c03b8eeb409ab36b2a822720d1c28d4819db4d02aabb885cdde9a86513d11a33d83bf1eddec76b1037cdf9e76495791ebbdc4b869364cf24b9ceae4c47cf211ce39ccff0b739deac40798fa01fc6c9e660040200a7b617be892ff4a24838ac632cd92ace8d345434e4ad3480c842eadbd2c52fe41a5c67a75f11e21ec4b1815e10dee41cadc395b4a6114065ab9811a5b1307cd4c996eeae324354455b7c4c15241f79032c97338e35844e5b565d73ecf63450f5d244806d8a6dc420945512b383aa917215a2a5795857094498a1affa789fd8f8d38fa3c06eb96e0add5f977495898f9ebb71d3bda73b67dd643abc50503a69943337a87c696849ee9a42a5e5cc0a51702eb3c26a4f1248aef0e60e35555fcf4993358f30ea737559e4c02526c096909a2d1ca03128b0ffdcee97272dedf15a24439c1e329e092338eff97f30374df9e34bf0f9b3fec6ca3f0d128d8a1b04715817dce8ff5be85e0cb937ca53921c51173135f682c5ef745e87baf231ddef53223034478e6356a96a2c958fa5695f4be4c05e7a98f40f4b1e3625beed3f2e0ef823ae200416ffaff9756f9360c5"}, {0x60, 0x6, 0x2400, "9d298420e2246de65b345fccaf3e764dff1e98119b8cb34da3a60fac31288ee59fc27f6d7446f518e1b1feb47e73fbd513ab79c2e31b189801d82d273bcf74b5fbbae658fd513c85e30664493d8d7bdc9b81e9"}], 0x10dc}}], 0x8, 0x8000) 12:41:17 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x6000, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) [ 355.258168][ T18] usb 2-1: Direct firmware load for dvb-usb-terratec-h7-az6007.fw failed with error -2 [ 355.269728][ T18] usb 2-1: Falling back to sysfs fallback for: dvb-usb-terratec-h7-az6007.fw [ 355.290917][T11395] loop4: detected capacity change from 1 to 0 [ 355.386397][T11393] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.3'. [ 355.452000][T11395] loop4: p1 < p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 p28 p29 p30 p31 p32 p33 p34 p35 p36 p37 p38 p39 p40 p41 p42 p43 p44 p45 p46 p47 p48 p49 p50 p51 p52 p53 p54 p55 p56 p57 p58 p59 p60 p61 p62 p63 p64 p65 p66 p67 p68 p69 p70 p71 p72 p73 p74 p75 p76 p77 p78 p79 p80 p81 p82 p83 p84 p85 p86 p87 p88 p89 p90 p91 p92 p93 p94 p95 p96 p97 p98 p99 p100 p101 p102 p103 p104 p105 p106 p107 p108 p109 p110 p111 p112 p113 p114 p115 p116 p117 p118 p119 p120 p121 p122 p123 p124 p125 p126 p127 p128 p129 p130 p131 p132 p133 p134 p135 p136 p137 p138 p139 p140 p141 p142 p143 p144 p145 p146 p147 p148 p149 p150 p151 p152 p153 p154 p155 p156 p157 p158 p159 p160 p161 p162 p163 p164 p165 p166 p167 p168 p169 p170 p171 p172 p173 p174 p175 p176 p177 p178 p179 p180 p181 p182 p183 p184 p185 p186 p187 p188 p189 p190 p191 p192 p193 p194 p195 p196 p197 p198 p199 p200 p201 p202 p203 p204 p205 p206 p207 p208 p209 p210 p211 p212 p213 p214 p215 p216 [ 355.452396][T11395] loop4: partition table partially beyond EOD, truncated [ 355.549552][T11395] loop4: p1 size 2 extends beyond EOD, truncated [ 355.551840][T11401] netlink: 24 bytes leftover after parsing attributes in process `syz-executor.3'. 12:41:18 executing program 3: syz_mount_image$vfat(&(0x7f0000000000)='vfat\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x2, &(0x7f0000000200)=[{&(0x7f0000000400)="eb3c906d6b66732e66617400020101000240008000f801", 0x17}, {0x0, 0x0, 0x1ff}], 0x0, &(0x7f0000000080)=ANY=[@ANYBLOB='shortname=winnt,rodir,gid=', @ANYRESHEX]) [ 355.871643][T11412] FAT-fs (loop2): Unrecognized mount option "smackfstransmute=time_offset" or missing value 12:41:18 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x34000, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) [ 356.166401][T11412] FAT-fs (loop2): Unrecognized mount option "smackfstransmute=time_offset" or missing value [ 356.323042][T11395] loop4: p2 size 1073741824 extends beyond EOD, truncated [ 356.392677][T11395] loop4: p3 size 2 extends beyond EOD, truncated [ 356.472529][T11395] loop4: p4 size 32768 extends beyond EOD, truncated [ 356.484735][T11395] loop4: p5 size 1073741824 extends beyond EOD, truncated 12:41:18 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) [ 356.549840][T11432] loop3: detected capacity change from 1 to 0 [ 356.579307][T11395] loop4: p6 size 1073741824 extends beyond EOD, truncated [ 356.712166][T11395] loop4: p7 size 1073741824 extends beyond EOD, truncated [ 356.760608][T11432] loop3: detected capacity change from 1 to 0 [ 356.822642][T11395] loop4: p8 size 1073741824 extends beyond EOD, truncated [ 356.872134][T11395] loop4: p9 size 1073741824 extends beyond EOD, truncated [ 356.936359][T11395] loop4: p10 size 1073741824 extends beyond EOD, truncated 12:41:19 executing program 3: syz_read_part_table(0x81, 0x3, &(0x7f00000011c0)=[{&(0x7f0000000000)="18c98268eddb7178074dbb4eff5fa911f20a5fb8d79509be47cb36d8fb782a9a21aedfa4d094152cb61742b8c88c9fba66826222c9f0011a798ae1f1d49911cb25112088d1ab5c78ea7bb1bc8ad58be50918dd81886fb868273a6b97e0ace5e9fd843f41a09475ce657aa3d542806dfa9fb467328d00f9f78b667e5c5f2875306dbaba588977d171cdb372d575df4c0cd2f4fe78cac6a2408ef5b296327495d11e54eefa4c17776d694e8fb088cf082f32f281f3cd8c97b01e119fc069b53479461d420cdf299f1c60a1566c06ce81cb4291b1110928a777f5eaf905db29b12273230f722dc76e8df9d6886b63263bd37fb4d3ad025aedda96b40ac804eb8fb78d3c15fc5065f1bb070819a41f71590a1847d9236de73e44ee6f9294594728915558c1bbe54f85445dcdfdf8ffc16d693d0d7db2075b4bc216932bbf07f388bf5862290881e67c88f2df01f83c31e15eef60a397c4bda594891adf138c8e6234f0ba5d283da64164defe822ad319aa5298be0f9411150a7d6e4cc599695e9f9ae27b2d108d037d6ecb0f78e45d8970eb4d9f2cb6e1ad2449caded8d80c9ca0c03a5baa640cd655c2b9989f5508ac405e4d0bdccb13a81dc9327a50177e2e2cd7bb0617cf0a20a38878eb1c93e8cd16fd3a269bbe4994da6f41b4bd24327601c4df59f97bd340863b1853a68a89354791301e84499013bec878cbc39a094a17a92f286f45a4d7992ecbfdee02f6f45daa61a36a8a57ba09c03eae4e0e279f350a2a421c3dca1cf23368892bb01747008c2f1ca886b80944043c64d0bfa79a8bee7c9ce1a75e0636b4cf3f6d26332a364c01fa9d7553271ab825b789f6812ac4f92871c991723536ace14468df72359f543f4f7235be4665883014d67ea2fdb3cc007862df282741c195b1058d260919051c449ef6018f1df6f8ac004c7d6e5496fd6d28fe613d250ec57b9b63ae9781a9d918dc32d4c43e7dfc252f7f02ee963ee28c4c7c6089778343d54f9298ec29cc8b2239a4d003172feff7487cbc5dfe84b8f47e25361b06a722b38a33047f82d3b8ddd1c44276801430cbead8ff1f0766e61e19d06007802717087b4b69127a4a9cb11c3dd13c87b7406bbd58b72b6ea3c8a3b04ab4f7d66961941a54dca96b779cdb5425667193e71d618e07d9c86974af3e8ed64d26963edac4cf34e6e36d0aa35049e3014ce1cd69d9077112c2e1c38816f7eddb44e321c03e5ba868db34dc4001943678b17a241c74d8c2279bc6f4ad010a5784438bc3552e0dd63f1067f0da7e2a6a3b73e95754c0710d80aec87167464d20dd7e1810d6faa53c7e5ecd43f7a004edbc06d2ae29a48f27f110cc7163364019d915281d7c7f4f0399ad402ffcf2205d916a07e5cf086fb8f137860c47b933c6a84d72e23e67dba5052c484b24e4aa5fd35a65d086fa8c96cfa43fbd2e6242de9a983839adcf21f285407e5471c2e92c787ed0b2a26720f97a96ea3651b481275d75c500a25cfea526ce29a8ca6462fade8e66181d1fb94dcbde6d4ad195572765ecacac3bc4eb183d215a999233881fe90bef0f099d5ed97ffe8d9c331295eeba9b7aadca58dcfe666f6d4367f3a14ea7e40421cf0f4d83489de65f1e5c3e5f536ae4e2ae4724ef092727f6105688c360c947c72725edb470cbffe48cbb2689707228b997c1e7a437b7fac96b05bca047f8363dc85ff127674257f5b5c0317723f2b3b3f29284025d91650cc0d66bff603e9d593153fef2004c7a40a75fd24984d32b9c97d59695c10a3ca351e5b03556c6446a8f3eb4591459c346b84ce30c9df8692a4c215d3a2d514e18d50b9516a2d915355fdd4f23e01c7e60e1be3f49b6ef011488f1fab8e6a36276598a59512b75a5b5f8ebd8ba032453e19c488a9815e43689cca752bdcd4db12627a259999de501dd77259deb37458741b8ab03e8266a33061785e9c7ecf948294e5050672b4252ba1888b09329d41335e7173d55457e4d65b5ea642a2cb314823a7282a5d0e75202443c4ffdb8739bd7349f2cd5e9f707228bf65ad397ddd5a234d69e27d6523f91929f33f967197b82e063f297e52a19f77c240759029b1e98f64af7aa299d17cf28cb54ab9d2485120dcb2def42eb01f3873f293e02683d54bed2c90dbd6e2b805d09e21744897ca4e99e068eb36ed71b65357a32b7e29dbae6bd399f136fa792cfdb494f4bfac3b24f16246f2bcbf691b5aee0e8d1204c7b53021bd1b4bdd5d11df8aaebef6cafaa2f8c50019f9d58e31dd491dde74c6f77c646a85df37ab5bd84583e22610c0be0896981f331d61faeac9818232bb699f903a1d87c67f71cd56e387e635dd62f99decf77aeddf043f517162dd662527cdd9a4a111ce4ac966b846e382f089afde517919ae7917d938dc630548c1e130d2e0abcbe16e1d90710c0ead0d9d1257a09b5cac559c350ff0aea6e9d9a69d45de27681b19a7be94ce907c9a750f7e8fb3df535a94a150d80c5174cba5ed3c41a9668958e8eb98ab3281974f49a09014cca0fe45c3a7fe527c34144ad1acf3f53e8a9a53f4e86eaab9f7a565ce2750fd8527a18355c92c623992453dda6e0b0068388ba1585adc92428e4b3a1e0354b61f4da254ca0a5df5a6da7b38e6cf62c0f0190e0c2a6c8e408e822d12da536aa9228c4a95346555ca402dfe2936c73b025e1eb1f7f23cd470b7e8bfcbcf83fa9167bb742eb8e6c680ba4c769f06507bf4c88233721a22382a63be0efd131fab634182524e327011b356313d72c057dbac02588702b38cc935b0bb3631b8cd1a654c5d90ea5e58015e01f95a9b1bcd21a4ec9590531f09c150b17929b02c66e7c0a44fab3d7f718c94f01d46bf4d3030c6b35af77da7931670fc401664a73d16f9c4f36956b7886c0ac3f1f73488b77dfa480a0ad0c328cbf77ba62753e15344ac2334b9c3d2478a0e228c382b05e7d93a7ce9c72c35efaa9954b6579ff7bcb66c3134fb6aa5871afbdac670ef2a349729f1fc6a432090ed05fb77689cbd2f672d0f9a0966f76159fff6d1d9d04e488d46578e6fd4966b5fcee74de2931df66366275f7108eabeec4d9c02d6be48e198c246a7ed3149f4c4239289c7255e0d1b76a7c157439c13f7c66c31071cdb87d6a2dfa5fce81d6a2b6d9b9bc51f98d12899a4a8e0a645d0eeb4208a3cb8646426b9f5867b18b0ddc9deb4f57140c0f9301b42d99d0b40ee1df0a222ec0716519eb59a58e0ccfbca4af35d3700c9bfc6e01f182c74a5e6cf7c5f5d6f456f26986df9da60cf5ac4d528dd16c29f04c1ab1f2e8594b6607cf838cc96228ff0fa7ea912d38b5fd36b90dc58ae9f26bd2a74779d19c0445bcd86c7a6ead981fd7d340e5fc2ba9de4563e224d8d6205ba8fca5953caf0423dfb2ef3694a1fb24a49a12495a7a9fdfe4f661c13f7ac4797f79f36026e0911b5adb2cd99613c8bbcf11906cbaeb300d963c7513ecbe74ce4c19d97a80ff8fca73b97fa6afe1dc2bde4b0ce1b8fa5dd71b01a5486488953d1704630f92f1a3b214d73247b9b89b50bd6d3e376a86690e2d32a41a6ace0460c4c6f059e6569b5240f775e842b2b8477914cfe08ad864ba73d891871bea12fff16c1b4e037fc97133d0d7d91249ab9c1118b62e267af3f3822bff52d0a8390fe3c30fdba476b5b2da2d6232ac6715daad1f34ffbb425f7c57a3e48fa35bfd2bc67e23f4d627eb8df44f835dc65e54e63ed6b3b2ae8014dfbfee407b3e7013e293a942dc3532c11557cb248e63f84a69e720dc4a16dd5c10566b7167f0f6173a39d8e5d47da616dc045d9643e903fd74d8fd0d9b2fc25254795484c225fb8dc7379b7753800aa2da6507ec32bf54cc6672958c799a47a4c2d3828ade5d266ba8fdd4bedcda5890cc4e31a1a5b6822699219fd8c88878efec18cad421bb97e1cd2f24a4a1ad6297f7ba1cf67ddb973ae9eede5315c4652aaff28c3aaf11df240d274bcb395c9f4d9d7cb254f84b2b5cdfb76ed64948634d4b48d587b093ce9aa52a23a15179b48458509117425a7474c055262faf330b2840bfb7ca4d81037c22ea4021e82c5412138b3882efb2d11c6e91e0697d9a6533bb4999feb931376befe2add7a53576ca734bb7b3355133c7064c1988df8341276e62a958f6fb8ce897839812c4a3614364e0d9f83ac919f627e1236a120c32a34c961222212ddb6ed01c2076de3833080f2de5cef36fbd1b659b7780747f2ae8e73e482bc409e0b07562172bc8289e6a8375c3b91e80594a0f430f1e19567a3875c2aff2e01f7afba51315fffea8199449c845a36b358353b1debf905f8ddd6f2d342f2fe33b4f668603c859d314532f9d687133e990ee0a0359342d8334b977699e21fbb981e06873e31b7d693aec1662227a1c41692f1f5813685b0cd7e2c3b28af4ab81105fd5388745801606ce5e6938349f0c00394bf636b920abc1910e85ec1dc09edac4d00ddbac2e6dfc63d7668c20721102dcd37c0898dbfd2029694d9e4b0a84de8b42abca5cf42d5638f3029bc4db055e106795b6b898cd0603de9b07c5689b96c645bca504184039f8bf989b196fe97f81c1ada6cfd2255f4c13c8fd6e610d6382a0ae0fdd53b6a7403f40b363d78fbc534997953e6242a685afc1efe62aa915989384e828e49bbf6d573cd258f2dbe31defd4a321b02fc1fb6e0e9d4c07c967c24b8a4c5612116a2fb8d5352061ef3708b6d81c8f41f31bb816031ff3509010fb9607d7181008dcc485c59a40c7b13ba77a8a12bbe306e229d92e2cf69cd7d84bfc4e7db80a086e6fda7dce817286194a48c316da5b447b307d50f672e4b0eb2547724201f27d4b0e2e8b3840150cca36a4887cb2f576d04aaf1f3c14d106e09d81fe9faae955b2a581badeb58d65f9524c98d1f90b28387f79b3b966125d08da3351d6d7a0c521191769d48ab41a6db235d69d0e82b3a56db409319ad3a020ea71a45a7d75089b2abf5e7fb1a3b3412b89edc897bdd6f7cfaea1e90b5ad21ca5eacd30a70306a3eae98f9ae721f3c30bbf74a8523bf1cd63baed4ef57a1fb752ed0bf419ffe963c90a9cf36c3f76868227e601cdcb913b5217f61e61e56bcfe87d19f048586a92863b8bc7d811d0ea5b0bda17f5326782143a48758c20e72c374d8ea012b98c1f7673a173d061d15a2bfcdb0e0d1797e5de9c0eadfe65aed680d14c8c6fae6f98aacde6c1295c759ff528a1a76f852637c377cdac34fa96ed33a987a3fa1b3062e6acd19a58553a35fff69566fbb6c13775570caf8a379ec4ce8ad4de520f12f697e8b1e85972129653d1690bf7826257309f038695288fdf3ec01082cb7b7e177cd3402aa4abd57cf4677a3d367b953105775eaa8936823f84d65349bdc4130febd14a65c511b8e2833ba085c9740a098185f0550282b8ba08c86479c19274e98dfb5507bedefaa179ff93dbc63e5e357691080a557aa3f9273136c4558372d27a93ca5af5f0a1be187f1258528afeef41472a72f18226687edff303fb90f2d5d9510ca1676804041b0bf0af51417b878e8410ed7a99c894a5b54932201f81c79db4d22f0fed9db68c58eedbce63c928afaeedd911ba6c7135fdffbab77761ebbd88110d74e5353d67bebc438700fd593b15d9c836302d85314d734d7103243011f3268e211051e80d91a1ae39978b4274e7de24cc095e37dec6136bfe75ce7085bbd8449ca1f3c583c63cc378424cc9c69c1055fbaa8c72fef20724278b2d3ab2bf551437ee2fd48c1da84d55e5fd93889e8ab07822199315d51278258f962421", 0x1000, 0xffff}, {&(0x7f0000001200)="6572fb7438e29d972cf0da5effe5131d591150cfda88f5d411b9ae09bbce8214face812b7b41811b7cd6b4c70c47a9e6b0ba5b582de8d1e11294e5463227f287463eec5e558fc79f011b871f56f127ff09ae3aa544922b787d2df1bc8bb717fdb25ad4de94d233147ac3973378ebdf7ec9f86c829c680ebd85335049363138f54f643b75c6ebe2a4c77c1015f5ec1ffa762505fd61884a648af55ecffd142074cddd89a92a088a59820c5c816408e903cd20a124f3cfe6d1ba591e115ca92f36105aa9088041a85460806d82f025ac91e753f8cd00008e266f0b6a36dfa8a532769820000000000000000000f1736ff6e42c4ef136dd02e1484f606c99d8bb11d9dce1ca06ff19d497b84d9000", 0x10d, 0x85}, {&(0x7f0000001100)="6edf4cd6b3fd5f60fbfa5c67db947b3a86e3228bb96d647fe109fb87e6c7c32472eea499fc2d2b006230ee7a8bb5b5dec1d09cafdbf34c8d5a8f8ce600e000547e9aef304840a5d65db793953a6713cb8141e76caa90824a6b7a2e6662af6eca27e4944c9f4ffa8c6c49d9b3d6ec50e5ce5de0152998558403c6480d701bd69a35cdf8d1eb477df3500c9b6f84d567a9efc824b638d60446fd9cc1322837968fad6749114a23a770131086def4d3c732a66506325f2d777aa5af11789caef8", 0xbf, 0x7e89}]) syz_mount_image$tmpfs(&(0x7f0000001000)='tmpfs\x00', &(0x7f0000001040)='./file0\x00', 0x1, 0x5, &(0x7f00000010c0)=[{&(0x7f0000001340)="00c06694c29009c58b839ac745310284b78e2e5fff68bd119574837dd5a8bcdffa3cb6af965395239665efe754e3d7b3a06d5c77c1d13816b106f1e480a39031fde2bcb50059f5ee1b010977a1414c8f4472152fb651fde533849a6734c1ed25895054778453eab6bc2ed9705bf8f5633f58bcc7e33c2ffbbbae1b8ad3632acf15ba1874df69246a7536195ac51e9c67b42fee66552645f4c9376e1897903803e0faec43fc4b065651cfbed1f88b7524323d1e355d46d3ef03e7f538dd4160d76f791aad126bdfc11ebbaa2563de9596d52317a1fbdb052a5ae0c0eba8a6401ebece8b5e9fa283176dbaea872fdef25ab38b6e3f568d6bdd5eb2720e35b58d3c1c64355948801a7826a3fd8d819e851c6e6440479ebd18ef8c4fa80cb6e9cafeb2e38f908fede349c74b53444e715897d246ca113e2239950396b96e82441420f44544b92e5566737ec4d1732668103bc2802c272f2fc0579e89cb305c368eecde3efe82789004d4d1846969c514d716beded5573dcc615ad193c90f3e53c9e0aabc4b0cd37eacb4d122580a52f71963a51a001610a09b4ca20bc5c7c10e30e78a5c9f0277dc043ac89069157e9dc29730587591f30dc3a20549ad88d53b7e115441095db2fe2ca376ba8744e8f0d1e64a9a214f998791b1a002b9dee026cb4775278352c6f52e169475d921c89a1ab015a3fbd950d67f86f8b50a4bf4c8b6ae6c8c674f0a5c8d84b2f56bc09e26534cfdab65448eda68c4c7a2fe5be06f2048b4a2dc2b271d87115c0feb101b4680297ea64b526b0228279b18118601c9997b71b89a7d9359dd5a49a3ec22250b6318f55192676ccbe68f3684624d6d8a6910fc2814eeb838f44bdb395110615eba467a0c9dfdea36a19a4854023e1281f3d153748d6babd3eff7c0c17a1ef31507694e07340dde0c955dbac207d9aee329174561d0016f058fb74eab8367090d9d755aa08b565375c138be63f89ed66bc24ce884cff9e5ddc380d0dfba0881ca9ebe691108ec99e1f9e75292445aa813c0e7a0620f00b8bef206e7b95c7efd7d8e8077648ed9780ceaf74d028d70b1009dfaab01e6f724572cd156b68603d669ece8ec8ac2c595dd4b906ba82e4901fefdc3c5175878af6d9b867f72c8613a7505f56bcc43d7072c47e2f11cfa93b75b653ef70a05ebf5ef1a95e286a04065f4244d07e0f8f00afe373b0dbbb122d7b248807c2aaadbe787430d333411e4ecf2a6d8753c70b3acd128809a834607f92b5d6d29099d2debce8068e59c9950b06b19c6181e85cc8ee568f38e7930fd630735fbae92c06262457f13228c352d41bf1eeb977188ff302f5d2d4019dcdf9d97f97bb3592304e6584992bd27ccbdb2ad82802abddc0cc6463795149aeff85c4aab497ab51edc6b4596cb0aab9c9752c2776501a1781fa0540a9411ac811e8c2e6418dd166605b57d46b288b7170b0d7497cd522093da04e8f9321a043f5b3f557b412af5e874c3c280c14af3ed173ad2e5475de767f2ff411e3b883950a88706bd7b1dee1e0acd3642dc57ca3ec22ed20b7ae1f2e356c17575134aecd194091ba291da6e2f024c9783ea31797c50492aff462be26e39b54f4b0bb03190f1530c3a5b7a526798d033e284908693614e7a54dc14755c083013f51c81f6239b1a49e68b7fb29b18266c40b2967b9c5609c7202b4c41fa2d2e49d4b69785d9a2b7abd01a13ac604038257b386792293e3d58dd748851570e3a88f292e7bf65de3ea67fd5f4b82988e0b63ef8578fb9e20e63b3fa50aec2fce800a3518d11844b7a7bd9bcc7d1a2e8252f0b583f94148a2c2aa3bfb9686dba7a76b605158055ee77d0c08052221a78b7c869ca12d40dc026de13e45332e28156bdaad3538f4e952afab986aa6ce81fb0f14706f5e5b74d25158634dfabc89716b82e90dee53aefc2cbccb67cc8e908adee46cccad1efa8fef6048e1c9c34c5df9828ef925fc37d4f46edc45d845a1ea651d5cb7d7893ca675901a628be2a6fc41815d3a08a194bbcb3b84ce61a6051f74aa9d7a22137888f3e97ed6b77a3a5175ea84d6e479e730951479d55f71de1b4715707eba969c5945e834557845f0d1160a615bcad9a236a9ac5077e257e42dcbaf0d82e8110164a586d97f37a85b86e49a9cd72878c1cea445e628c111125416813c6ddc23fc60b9967712e50d1d317835d4c721c73b12225a65619dd6c5313c409732ce23d089cf950eb3e2f2fe0bfef5e7d6401cd690bd2278e9a720f4ec7ed88b47ef027a058a15fbb27238c8873bb8559b37603447b8a2e644b46b07d145d6ab647f6f048645a981fd710a2eef0a72060d00a2d2ffe79382e840411f787605a73e27f76fd50348e4bacc4765a5fc58c5e04cd201bd025d41e9546c8f7a507f46d9ede4c481dc82e9a3fc97022c66d5ef3c474b640a432d0715c9a7af03d9a48d9c7ea98e79e0897727fc430d231007d07387b9abdd1cfb9fe98bf1c3040f4e5369b4f0fe89dbf76d97dda2daf56d2d772cf521c2b5f30e3ed4a8f93ab24aefb3f480edd95e30a6faba4863f3f6e151fab4bb665f671dbb47b1d8f9009f892bcc4de9c5ab109009a2ea770eba7db0657f03392c17cae1ccf45a467b70f97fde7b50c1de3dbccbfcc783d5c6ef84e6b3e15c6023ca21c325e278dca0bb2b87e14c5edc7012f6e1e49e8ccb8002bf4cb6280379ce5681825daeb42f1885ab65a713235ddcb540d125e8b61678667b43233ae033015a1f70abb38b894e4264ca7cb8243bc1b45305759b4c95ddedfb0d397d352d9ce0f13ea7fab6328d11e100d3929c5b41cb537a8c1ec0d90605a886589db398a68e72e8ccdf5f7dae3d72306cbfa7fcc450217d375e2bdc22ee14856c786c0b59bcc9c560b5cf3de2c25f9ffaa799306daac6af61e4e65ee34aa09ccfc6987e782e6e72ba7c4a2c168f4b1c51d0a54b57cfa54f5210bff7d9ca26a9ea8787278bfc44cce07195426b3c862ccde867244a80bd41cb4c3c02920265840cb593c993acd202b21598a4e81b06161311bd806c8473c84a38d775e9d233516ca86e261782355157562c5380c13f0fd3e8f6375a481616911181a71d2484914d7d6330347d62634a0f9fd71b54d543ce7b19e2ad16e4357c5e25b441c57e1d1007ff9470096cf5fbba5fa7adbf33d1a89dfca43213369ac0a56bb0617c2c6316e0a33f2e31b2f6fd746f01e87e8bae2d96b5bb087b81cbcd779ba6d34429cb065d0c89fe71627ecf20b2885bad3e93dc465640dfdb994cbf14a266400f39258f36eed4a477ede3a687ae8dfde724452a6c3541fce20ef7e9e2789d29499f42ecd5686ef734eca0ef4b9ca1caddd9650d544c881605d83c2a784f482d5099a393eadd88e6f083cb809fe5253d544d4538014681a2e1ed88fd6c6e0c98ef0c6810d7dd23efc3a22f0ffc11c086896b6f1daa9223c138123f0431cd3b1dfe71a47ee722224f2539d31afb580d281694531c9e4f417df1395f3adde556c6904b99252aeb4dbcdeda0a17e53ad67f6d5d6f597ee46fa776fb51948875efba6cfbea09bc17bafab3a5843984c484460cd1d3763a3e8fe46f02d8efb38ad76863c1aed90dc9b71527ec3d8f48f0d9e9380ea6832a98ce3e5186d81a0bc6807656aa78110163e331c11a314765473f8831000cb81b8230aff7f279f26750b483966d8cd2edf4dbc07fdacbc7495016ca9b7a0c0284c22cbf18a213ff0b17bf9fdf6345ed696f9634efdb38f1f9b6320a7cf0944b2d2b4b23ad9ff5a066eed87fddf11d0bd07fbea0115497f54788849bd3fb6e38c61334e38512f43fcfe3eb8aad3355e694d21e2015f502b099843867941b4f8cd60b6cb30c76f51f46fdea0f8d9aa108b067e2ee5ff3eb74d372cd71cca66eaae2bb47d220972442ef5b14b8a2ceba17c7950be1ecd842b7c0dc06a0f96ccfd30fe3620300da3695cb2be1a8caae2f50e97a72fd46d25ce87f9aa63c4db79019f2f066cdf95d688ba50d42af67552ebe72bf08d7ab57728269b3643faa3853060da59606686bead6b325a8abb49426fd6b4ab06252feefee517949331f349b1388990d47524b984362e0235af46680590f1ec09e11976134b193735cce733f8c43ba3f71ce2c8a4da460063143927fcb2a01dfc31191367d5ef4ecbf94132b7931127ca0bf094e7a6de4a1ce2b26d83391250a79c026023fcc71aec9641230aa231ce823f8422f8b0fd1a1890137bf3a6a5ef26d36c7f795046c2b4e4cd2d2a25f320ac4dbd8e157e2e01bac7e34c73688069b0b745f971054bfe1ae2401ec64a9eb6644041bdc8474fbfa05229debb6f52232874ce3e531fdc853f83d2dbacda02af86436a61d3acdc6513687d6ecbaf540bd45a7f3754dc68b7cb00cc6beada2e2668fd30cebfb08496dd12b84420f2dc8a049abfca56fab377bb58d881a512beb3f1f753bde937938d1acf4be1da8dd4fae25338fcae1343cd96b699ae9aaf1cd5d2214f9a17d0b3209c9f7368440e036ec009c0f73ff94e3e83741505a9b5d5ab1d7b58b83adce1388732d10f6097e0cd2fc7b8ad097ca84af3d4837296d05bde4231be4251d478c018e2ca9ff9a09c951c7ff3144293131ec1e799572ec65b582affd2c785e73dcec093f69dea3120de22c2963de38d0677befa7ec6d8d49ccfa102e789f66f4404a8ed179e87136b81b7c3906dc6618bd538e20622ab1c261d54efe32032c2fe7c7e182ee367b3583194858222ae0ad9b382dece681cf664d12dddccc3664a8db342f7eb6ee7632aec4435825b4acd71efa673dfb5741f28fcbb113e292608b8cd04653bcd8f3db9ed885f1d2144e3e1f752f5494d810a9441da7729c1b7fee86ec40b088496c69fa950879978c1b207f71b4025a4c81f6863d546c76e627254d8f9ccb684db5e60dcd14c6a569e517174697b7b8248ea27b54254803ce3387fdef9393c890288bc65bf5ba8d28d6b0cad8dff16c364344494b2ff4798ee88937732fb0f960acee3588943133a9d743509c702c5ae31fb59ebe912577ee3c1d7225a70680100ea25436ca4630b86bd8a309aea102241b9e2edc13ce6881dc47ba3654c5dfac9510c4cf1c16e5d717985b2614b4658085ad4047e521497a0dd0c947b652a41d19c5f158873d73dc9b148a7958215b1b8861a8f2d86f24aa39a8c1241cf519b25c643517089509148028ef851d641e8a791ed4030f3c1f0ce2148f55fd06315fdd515689c59ae7e9d20b6b36e9077f35fc4ec08a6805658284549e40ad3844597a4a96cfe94101d6815e90f31d24d5c97991152d42409548d32df8b44b45d56101de50a087a512e502606159493e8d7381e5d8e860ff5bfa2418ca94d01685bd167a3049d72f787923cc717eb4801b94be07a00d3e1fc4d177facbd3b9811254512c989b2a1c061fb8c0ccbf7dde3fed15bc867752ae6b4e0fe7da313658a0ac3dd4fff6db450291c31e23d8bffa48bc025a9364bc489f444af47454557e9308a2938f6c7158ff824a754ca8ef92c02166d6c01176ffccdad0db5f195ad219dc52307d152bdf3b9ab2e6fc5f448f2fdb74be4974054aa8253467f0c107fbaa89bffc381c5b31570fba7d5cbd32d39800b61a64345691d15c82ad4f8ab59ff5e5689b1303d28dca1269a34ef58e989f865bfa1647e3cbd372621e3ed746d9fdd9a51879ab2f2464e376f2931818e01de60a45ebf82313b092d3894ca219d187f9dd8c8ae151f87b672a938a7e972a6307a3aca784b64e159f9e615c0e3a2ccdd17acbd4b4d3e389b9e88f4", 0x1000, 0x1}, {&(0x7f0000001080)="dd33dea3997a6a05053367e5", 0xc, 0xfffffff8}, {&(0x7f0000002340)="20ecac0aa32a28ee3f087101feb54d3eb1b0a815389b96ae5aa47d327a5efe27697ab80f470a051a2ce31422091f9373b9fccaae3bf6fb2ced3bb0d8a57b7a828a383e50dca5d06257a711c90d3946117d27d2d5115242bb4ec397d559afb11bfcd9f8e05857d7c2036f0441d3d94ab64d073b50", 0x74, 0x7fffffff}, {&(0x7f00000023c0)="1da7e6c611d2697bc10bb7e57118deb62f73803bb3ac76bfaa84aebfa81012eececd0639b41934c4b655476e8791b88d73e3146f7f648902e5a3ffb4760cfb1931b0d929e4ec035b989077448ae06f2e6c78b0fcbb8e427a6eb83dd524a7c80d5c814a6fe3f5479231fe647729fe92705792c6cd7d1439cb960e2b76f577cf872e622eca9f8ffe99ed0b9f04e41d4797b8dda0b5ac95fa0c0b85fa55e20d0e74f63cdf7a78c7945d3a54e18fd5a5511477ac15a61637", 0xb6, 0x4}, {&(0x7f0000002480)="6dc6c3c9808effc5c7c18c1ef4cd88b5a225038c305a8108db52b667b09340a6a67e7d5d6263425f645ed5b6de03e0f8fae399e2a3f6cb441e3e38418762eb3c65cc5763d26e5da1d2c94a5d018578896d8e9fb3ea54f47c0367179d5ed0dbec426b9ca9e81faeaa78a0beb1a73cf9a44051679951214db8c12ab47f5ef0473109576ba3e3debc454b38b73b65ae605bb9526436467903fddd975c5af7e701f5ba1d980b0d9f4a31abe62c04671efc77892505cb93a76b52d06ab4320e98b5fec4b084b7a5c935f7af95c7cd756ed0d5b5fa01c33790675f6ab19cb16da878cd9232671f6f4f49ee537e6db23c0034205b5872554f35", 0xf6, 0x7ff}], 0x3aa008, &(0x7f0000002580)={[{@size={'size', 0x3d, [0x33, 0x38]}}, {@huge_advise='huge=advise'}, {@mpol={'mpol', 0x3d, {'interleave', '', @val={0x3a, [0x38, 0x34, 0x39, 0x38, 0x2c, 0x39, 0x35, 0x34, 0x2f]}}}}, {@huge_within_size='huge=within_size'}, {@nr_blocks={'nr_blocks', 0x3d, [0x70, 0x67, 0x39, 0x6d]}}], [{@smackfsfloor={'smackfsfloor', 0x3d, '^-'}}, {@pcr={'pcr', 0x3d, 0x4}}]}) [ 356.979010][T11395] loop4: p11 size 1073741824 extends beyond EOD, truncated 12:41:19 executing program 1: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r0, 0x0) ioctl$F2FS_IOC_GARBAGE_COLLECT_RANGE(r0, 0x4014f50b, &(0x7f00000000c0)={0x1, 0x4, 0x100000001}) preadv(r0, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) mmap(&(0x7f0000000000/0xfbe000)=nil, 0xfbe000, 0x2, 0x31, 0xffffffffffffffff, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket$inet6_icmp_raw(0xa, 0x3, 0x3a) ioctl$sock_SIOCGIFINDEX(r2, 0x8933, &(0x7f0000000000)={'bridge0\x00', 0x0}) pipe2$9p(&(0x7f0000000080)={0xffffffffffffffff, 0xffffffffffffffff}, 0x40000) fcntl$dupfd(r2, 0x406, r4) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000100)=ANY=[@ANYBLOB="1c0000001c00070f000000000000000007000000", @ANYRES32=r3, @ANYBLOB="78904b5eae07f6a6b4f88d9b9582ce1d5c280e3a25c35fa7aa9ee42476bec190146e5efd9d"], 0x1c}}, 0x0) [ 357.095603][T11395] loop4: p12 size 1073741824 extends beyond EOD, truncated [ 357.168856][T11395] loop4: p13 size 1073741824 extends beyond EOD, truncated 12:41:19 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x400300, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) [ 357.242889][T11395] loop4: p14 size 1073741824 extends beyond EOD, truncated [ 357.295495][T11395] loop4: p15 size 1073741824 extends beyond EOD, truncated [ 357.355111][T11395] loop4: p16 size 1073741824 extends beyond EOD, truncated [ 357.400121][T11395] loop4: p17 size 1073741824 extends beyond EOD, truncated 12:41:19 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) [ 357.461792][T11395] loop4: p18 size 1073741824 extends beyond EOD, truncated [ 357.499181][T11395] loop4: p19 size 1073741824 extends beyond EOD, truncated [ 357.535117][T11395] loop4: p20 size 1073741824 extends beyond EOD, truncated [ 357.588455][T11395] loop4: p21 size 1073741824 extends beyond EOD, truncated [ 357.609992][T11467] loop3: detected capacity change from 255 to 0 [ 357.682142][T11395] loop4: p22 size 1073741824 extends beyond EOD, truncated [ 357.697653][T11395] loop4: p23 size 1073741824 extends beyond EOD, truncated [ 357.781620][T11395] loop4: p24 size 1073741824 extends beyond EOD, truncated [ 357.793331][T11467] loop3: detected capacity change from 255 to 0 [ 357.873772][T11395] loop4: p25 size 1073741824 extends beyond EOD, truncated [ 357.942345][T11395] loop4: p26 size 1073741824 extends beyond EOD, truncated [ 357.964023][T11395] loop4: p27 size 1073741824 extends beyond EOD, truncated [ 357.975263][T11395] loop4: p28 size 1073741824 extends beyond EOD, truncated 12:41:20 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x1000000, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) [ 357.987606][T11395] loop4: p29 size 1073741824 extends beyond EOD, truncated [ 358.000126][T11395] loop4: p30 size 1073741824 extends beyond EOD, truncated [ 358.015016][T11395] loop4: p31 size 1073741824 extends beyond EOD, truncated [ 358.087051][T11395] loop4: p32 size 1073741824 extends beyond EOD, truncated [ 358.142054][T11395] loop4: p33 size 1073741824 extends beyond EOD, truncated [ 358.191562][ T5] Bluetooth: hci0: command 0x0406 tx timeout [ 358.250781][T11395] loop4: p34 size 1073741824 extends beyond EOD, truncated [ 358.332123][T11395] loop4: p35 size 1073741824 extends beyond EOD, truncated [ 358.379572][T11395] loop4: p36 size 1073741824 extends beyond EOD, truncated [ 358.420215][T11395] loop4: p37 size 1073741824 extends beyond EOD, truncated [ 358.468532][T11395] loop4: p38 size 1073741824 extends beyond EOD, truncated [ 358.500419][T11395] loop4: p39 size 1073741824 extends beyond EOD, truncated [ 358.520774][T11395] loop4: p40 size 1073741824 extends beyond EOD, truncated [ 358.535226][T11395] loop4: p41 size 1073741824 extends beyond EOD, truncated [ 358.566940][T11395] loop4: p42 size 1073741824 extends beyond EOD, truncated [ 358.579418][T11395] loop4: p43 size 1073741824 extends beyond EOD, truncated [ 358.594719][T11395] loop4: p44 size 1073741824 extends beyond EOD, truncated [ 358.609350][T11395] loop4: p45 size 1073741824 extends beyond EOD, truncated [ 358.630109][T11395] loop4: p46 size 1073741824 extends beyond EOD, truncated [ 358.684822][T11395] loop4: p47 size 1073741824 extends beyond EOD, truncated [ 358.710793][T11395] loop4: p48 size 1073741824 extends beyond EOD, truncated [ 358.727811][T11395] loop4: p49 size 1073741824 extends beyond EOD, truncated [ 358.739904][T11395] loop4: p50 size 1073741824 extends beyond EOD, truncated [ 358.766320][T11395] loop4: p51 size 1073741824 extends beyond EOD, truncated [ 358.785621][T11395] loop4: p52 size 1073741824 extends beyond EOD, truncated [ 358.799628][T11395] loop4: p53 size 1073741824 extends beyond EOD, truncated [ 358.812285][T11395] loop4: p54 size 1073741824 extends beyond EOD, truncated [ 358.822958][T11395] loop4: p55 size 1073741824 extends beyond EOD, truncated [ 358.843765][T11395] loop4: p56 size 1073741824 extends beyond EOD, truncated [ 358.859036][T11395] loop4: p57 size 1073741824 extends beyond EOD, truncated [ 358.870865][T11395] loop4: p58 size 1073741824 extends beyond EOD, truncated [ 358.885730][T11395] loop4: p59 size 1073741824 extends beyond EOD, truncated [ 358.903503][T11395] loop4: p60 size 1073741824 extends beyond EOD, truncated [ 358.916004][T11395] loop4: p61 size 1073741824 extends beyond EOD, truncated [ 358.927609][T11395] loop4: p62 size 1073741824 extends beyond EOD, truncated [ 358.939836][T11395] loop4: p63 size 1073741824 extends beyond EOD, truncated [ 358.952095][T11395] loop4: p64 size 1073741824 extends beyond EOD, truncated [ 358.963216][T11395] loop4: p65 size 1073741824 extends beyond EOD, truncated [ 358.977735][T11395] loop4: p66 size 1073741824 extends beyond EOD, truncated [ 358.990010][T11395] loop4: p67 size 1073741824 extends beyond EOD, truncated [ 359.008376][T11395] loop4: p68 size 1073741824 extends beyond EOD, truncated [ 359.020318][T11395] loop4: p69 size 1073741824 extends beyond EOD, truncated [ 359.032844][T11395] loop4: p70 size 1073741824 extends beyond EOD, truncated [ 359.045262][T11395] loop4: p71 size 1073741824 extends beyond EOD, truncated [ 359.080592][T11395] loop4: p72 size 1073741824 extends beyond EOD, truncated [ 359.092065][T11395] loop4: p73 size 1073741824 extends beyond EOD, truncated [ 359.104253][T11395] loop4: p74 size 1073741824 extends beyond EOD, truncated [ 359.122747][T11395] loop4: p75 size 1073741824 extends beyond EOD, truncated [ 359.134206][T11395] loop4: p76 size 1073741824 extends beyond EOD, truncated [ 359.146283][T11395] loop4: p77 size 1073741824 extends beyond EOD, truncated [ 359.159709][T11395] loop4: p78 size 1073741824 extends beyond EOD, truncated [ 359.172097][T11395] loop4: p79 size 1073741824 extends beyond EOD, truncated [ 359.184166][T11395] loop4: p80 size 1073741824 extends beyond EOD, truncated [ 359.195365][T11395] loop4: p81 size 1073741824 extends beyond EOD, truncated [ 359.207890][T11395] loop4: p82 size 1073741824 extends beyond EOD, truncated [ 359.219244][T11395] loop4: p83 size 1073741824 extends beyond EOD, truncated [ 359.237827][T11395] loop4: p84 size 1073741824 extends beyond EOD, truncated [ 359.250269][T11395] loop4: p85 size 1073741824 extends beyond EOD, truncated [ 359.264208][T11395] loop4: p86 size 1073741824 extends beyond EOD, truncated [ 359.275968][T11395] loop4: p87 size 1073741824 extends beyond EOD, truncated [ 359.288455][T11395] loop4: p88 size 1073741824 extends beyond EOD, truncated [ 359.300619][T11395] loop4: p89 size 1073741824 extends beyond EOD, truncated [ 359.322260][T11395] loop4: p90 size 1073741824 extends beyond EOD, truncated [ 359.348287][T11395] loop4: p91 size 1073741824 extends beyond EOD, truncated [ 359.371851][T11395] loop4: p92 size 1073741824 extends beyond EOD, truncated [ 359.396678][T11395] loop4: p93 size 1073741824 extends beyond EOD, truncated [ 359.421891][T11395] loop4: p94 size 1073741824 extends beyond EOD, truncated [ 359.441812][T11395] loop4: p95 size 1073741824 extends beyond EOD, truncated [ 359.471839][T11395] loop4: p96 size 1073741824 extends beyond EOD, truncated [ 359.491835][T11395] loop4: p97 size 1073741824 extends beyond EOD, truncated [ 359.512714][T11395] loop4: p98 size 1073741824 extends beyond EOD, truncated [ 359.529254][T11395] loop4: p99 size 1073741824 extends beyond EOD, truncated [ 359.555084][T11395] loop4: p100 size 1073741824 extends beyond EOD, truncated [ 359.578407][T11395] loop4: p101 size 1073741824 extends beyond EOD, truncated [ 359.600341][T11395] loop4: p102 size 1073741824 extends beyond EOD, truncated [ 359.626989][T11395] loop4: p103 size 1073741824 extends beyond EOD, truncated [ 359.648610][T11395] loop4: p104 size 1073741824 extends beyond EOD, truncated [ 359.669496][T11395] loop4: p105 size 1073741824 extends beyond EOD, truncated [ 359.697961][T11395] loop4: p106 size 1073741824 extends beyond EOD, truncated [ 359.715694][T11395] loop4: p107 size 1073741824 extends beyond EOD, truncated [ 359.739923][T11395] loop4: p108 size 1073741824 extends beyond EOD, truncated [ 359.766717][T11395] loop4: p109 size 1073741824 extends beyond EOD, truncated [ 359.789094][T11395] loop4: p110 size 1073741824 extends beyond EOD, truncated [ 359.811919][T11395] loop4: p111 size 1073741824 extends beyond EOD, truncated [ 359.824005][T11395] loop4: p112 size 1073741824 extends beyond EOD, truncated [ 359.842565][T11395] loop4: p113 size 1073741824 extends beyond EOD, truncated [ 359.866409][T11395] loop4: p114 size 1073741824 extends beyond EOD, truncated [ 359.891897][T11395] loop4: p115 size 1073741824 extends beyond EOD, truncated [ 359.923744][T11395] loop4: p116 size 1073741824 extends beyond EOD, truncated [ 359.946443][T11395] loop4: p117 size 1073741824 extends beyond EOD, truncated [ 359.973108][T11395] loop4: p118 size 1073741824 extends beyond EOD, truncated [ 360.001943][T11395] loop4: p119 size 1073741824 extends beyond EOD, truncated [ 360.018479][T11395] loop4: p120 size 1073741824 extends beyond EOD, truncated [ 360.039465][T11395] loop4: p121 size 1073741824 extends beyond EOD, truncated [ 360.052955][T11395] loop4: p122 size 1073741824 extends beyond EOD, truncated [ 360.065865][T11395] loop4: p123 size 1073741824 extends beyond EOD, truncated [ 360.081604][T11395] loop4: p124 size 1073741824 extends beyond EOD, truncated [ 360.095255][T11395] loop4: p125 size 1073741824 extends beyond EOD, truncated [ 360.108193][T11395] loop4: p126 size 1073741824 extends beyond EOD, truncated [ 360.131825][T11395] loop4: p127 size 1073741824 extends beyond EOD, truncated [ 360.151763][T11395] loop4: p128 size 1073741824 extends beyond EOD, truncated [ 360.165215][T11395] loop4: p129 size 1073741824 extends beyond EOD, truncated [ 360.178914][T11395] loop4: p130 size 1073741824 extends beyond EOD, truncated [ 360.194029][T11395] loop4: p131 size 1073741824 extends beyond EOD, truncated [ 360.206932][T11395] loop4: p132 size 1073741824 extends beyond EOD, truncated [ 360.220835][T11395] loop4: p133 size 1073741824 extends beyond EOD, truncated [ 360.234573][T11395] loop4: p134 size 1073741824 extends beyond EOD, truncated [ 360.249025][T11395] loop4: p135 size 1073741824 extends beyond EOD, truncated [ 360.268222][T11395] loop4: p136 size 1073741824 extends beyond EOD, truncated [ 360.281753][T11395] loop4: p137 size 1073741824 extends beyond EOD, truncated [ 360.296047][T11395] loop4: p138 size 1073741824 extends beyond EOD, truncated [ 360.308302][T11395] loop4: p139 size 1073741824 extends beyond EOD, truncated [ 360.321350][T11395] loop4: p140 size 1073741824 extends beyond EOD, truncated [ 360.334468][T11395] loop4: p141 size 1073741824 extends beyond EOD, truncated [ 360.347198][T11395] loop4: p142 size 1073741824 extends beyond EOD, truncated [ 360.361251][T11395] loop4: p143 size 1073741824 extends beyond EOD, truncated [ 360.379506][T11395] loop4: p144 size 1073741824 extends beyond EOD, truncated [ 360.393536][T11395] loop4: p145 size 1073741824 extends beyond EOD, truncated [ 360.407096][T11395] loop4: p146 size 1073741824 extends beyond EOD, truncated [ 360.419895][T11395] loop4: p147 size 1073741824 extends beyond EOD, truncated [ 360.434309][T11395] loop4: p148 size 1073741824 extends beyond EOD, truncated [ 360.448170][T11395] loop4: p149 size 1073741824 extends beyond EOD, truncated [ 360.462489][T11395] loop4: p150 size 1073741824 extends beyond EOD, truncated [ 360.475095][T11395] loop4: p151 size 1073741824 extends beyond EOD, truncated [ 360.495349][T11395] loop4: p152 size 1073741824 extends beyond EOD, truncated [ 360.509418][T11395] loop4: p153 size 1073741824 extends beyond EOD, truncated [ 360.520860][T11395] loop4: p154 size 1073741824 extends beyond EOD, truncated [ 360.533628][T11395] loop4: p155 size 1073741824 extends beyond EOD, truncated [ 360.547024][T11395] loop4: p156 size 1073741824 extends beyond EOD, truncated [ 360.559582][T11395] loop4: p157 size 1073741824 extends beyond EOD, truncated [ 360.570897][T11395] loop4: p158 size 1073741824 extends beyond EOD, truncated [ 360.582443][T11395] loop4: p159 size 1073741824 extends beyond EOD, truncated [ 360.604828][T11395] loop4: p160 size 1073741824 extends beyond EOD, truncated [ 360.617281][T11395] loop4: p161 size 1073741824 extends beyond EOD, truncated [ 360.628388][T11395] loop4: p162 size 1073741824 extends beyond EOD, truncated [ 360.640700][T11395] loop4: p163 size 1073741824 extends beyond EOD, truncated [ 360.654178][T11395] loop4: p164 size 1073741824 extends beyond EOD, truncated [ 360.665233][T11395] loop4: p165 size 1073741824 extends beyond EOD, truncated [ 360.678019][T11395] loop4: p166 size 1073741824 extends beyond EOD, truncated [ 360.690766][T11395] loop4: p167 size 1073741824 extends beyond EOD, truncated [ 360.708208][T11395] loop4: p168 size 1073741824 extends beyond EOD, truncated [ 360.723605][T11395] loop4: p169 size 1073741824 extends beyond EOD, truncated [ 360.734952][T11395] loop4: p170 size 1073741824 extends beyond EOD, truncated [ 360.747605][T11395] loop4: p171 size 1073741824 extends beyond EOD, truncated [ 360.760370][T11395] loop4: p172 size 1073741824 extends beyond EOD, truncated [ 360.773103][T11395] loop4: p173 size 1073741824 extends beyond EOD, truncated [ 360.785162][T11395] loop4: p174 size 1073741824 extends beyond EOD, truncated [ 360.800765][T11395] loop4: p175 size 1073741824 extends beyond EOD, truncated [ 360.819668][T11395] loop4: p176 size 1073741824 extends beyond EOD, truncated [ 360.843254][T11395] loop4: p177 size 1073741824 extends beyond EOD, truncated [ 360.857485][T11395] loop4: p178 size 1073741824 extends beyond EOD, truncated [ 360.870778][T11395] loop4: p179 size 1073741824 extends beyond EOD, truncated [ 360.884849][T11395] loop4: p180 size 1073741824 extends beyond EOD, truncated [ 360.906414][T11395] loop4: p181 size 1073741824 extends beyond EOD, truncated [ 360.927273][T11395] loop4: p182 size 1073741824 extends beyond EOD, truncated [ 360.940485][T11395] loop4: p183 size 1073741824 extends beyond EOD, truncated [ 360.954083][T11395] loop4: p184 size 1073741824 extends beyond EOD, truncated [ 360.967096][T11395] loop4: p185 size 1073741824 extends beyond EOD, truncated [ 360.984836][T11395] loop4: p186 size 1073741824 extends beyond EOD, truncated [ 360.998769][T11395] loop4: p187 size 1073741824 extends beyond EOD, truncated [ 361.020341][T11395] loop4: p188 size 1073741824 extends beyond EOD, truncated [ 361.034601][T11395] loop4: p189 size 1073741824 extends beyond EOD, truncated [ 361.048020][T11395] loop4: p190 size 1073741824 extends beyond EOD, truncated [ 361.060911][T11395] loop4: p191 size 1073741824 extends beyond EOD, truncated [ 361.074575][T11395] loop4: p192 size 1073741824 extends beyond EOD, truncated [ 361.089133][T11395] loop4: p193 size 1073741824 extends beyond EOD, truncated [ 361.106681][T11395] loop4: p194 size 1073741824 extends beyond EOD, truncated [ 361.127999][T11395] loop4: p195 size 1073741824 extends beyond EOD, truncated [ 361.142065][T11395] loop4: p196 size 1073741824 extends beyond EOD, truncated [ 361.156449][T11395] loop4: p197 size 1073741824 extends beyond EOD, truncated [ 361.169719][T11395] loop4: p198 size 1073741824 extends beyond EOD, truncated [ 361.186680][T11395] loop4: p199 size 1073741824 extends beyond EOD, truncated [ 361.198952][T11395] loop4: p200 size 1073741824 extends beyond EOD, truncated [ 361.219679][T11395] loop4: p201 size 1073741824 extends beyond EOD, truncated [ 361.246747][T11395] loop4: p202 size 1073741824 extends beyond EOD, truncated [ 361.261380][T11395] loop4: p203 size 1073741824 extends beyond EOD, truncated [ 361.276553][T11395] loop4: p204 size 1073741824 extends beyond EOD, truncated [ 361.288523][T11395] loop4: p205 size 1073741824 extends beyond EOD, truncated [ 361.305498][T11395] loop4: p206 size 1073741824 extends beyond EOD, truncated [ 361.327436][T11395] loop4: p207 size 1073741824 extends beyond EOD, truncated [ 361.339753][T11395] loop4: p208 size 1073741824 extends beyond EOD, truncated [ 361.359282][T11395] loop4: p209 size 1073741824 extends beyond EOD, truncated [ 361.373951][T11395] loop4: p210 size 1073741824 extends beyond EOD, truncated [ 361.386751][T11395] loop4: p211 size 1073741824 extends beyond EOD, truncated [ 361.401189][T11395] loop4: p212 size 1073741824 extends beyond EOD, truncated [ 361.417178][T11395] loop4: p213 size 1073741824 extends beyond EOD, truncated [ 361.429687][T11395] loop4: p214 size 1073741824 extends beyond EOD, truncated [ 361.444908][T11395] loop4: p215 size 1073741824 extends beyond EOD, truncated [ 361.458724][T11395] loop4: p216 size 1073741824 extends beyond EOD, truncated [ 361.483889][T11395] loop4: p217 size 1073741824 extends beyond EOD, truncated [ 361.500863][T11395] loop4: p218 size 1073741824 extends beyond EOD, truncated [ 361.516627][T11395] loop4: p219 size 1073741824 extends beyond EOD, truncated [ 361.528456][T11395] loop4: p220 size 1073741824 extends beyond EOD, truncated [ 361.540229][T11395] loop4: p221 size 1073741824 extends beyond EOD, truncated [ 361.553477][T11395] loop4: p222 size 1073741824 extends beyond EOD, truncated [ 361.565970][T11395] loop4: p223 size 1073741824 extends beyond EOD, truncated [ 361.578971][T11395] loop4: p224 size 1073741824 extends beyond EOD, truncated [ 361.600172][T11395] loop4: p225 size 1073741824 extends beyond EOD, truncated [ 361.612517][T11395] loop4: p226 size 1073741824 extends beyond EOD, truncated [ 361.630825][T11395] loop4: p227 size 1073741824 extends beyond EOD, truncated [ 361.645501][T11395] loop4: p228 size 1073741824 extends beyond EOD, truncated [ 361.664492][T11395] loop4: p229 size 1073741824 extends beyond EOD, truncated [ 361.677639][T11395] loop4: p230 size 1073741824 extends beyond EOD, truncated [ 361.694225][T11395] loop4: p231 size 1073741824 extends beyond EOD, truncated [ 361.715088][T11395] loop4: p232 size 1073741824 extends beyond EOD, truncated [ 361.733685][T11395] loop4: p233 size 1073741824 extends beyond EOD, truncated [ 361.747628][T11395] loop4: p234 size 1073741824 extends beyond EOD, truncated [ 361.759642][T11395] loop4: p235 size 1073741824 extends beyond EOD, truncated [ 361.773000][T11395] loop4: p236 size 1073741824 extends beyond EOD, truncated [ 361.786207][T11395] loop4: p237 size 1073741824 extends beyond EOD, truncated [ 361.800090][T11395] loop4: p238 size 1073741824 extends beyond EOD, truncated [ 361.817624][T11395] loop4: p239 size 1073741824 extends beyond EOD, truncated [ 361.836582][T11395] loop4: p240 size 1073741824 extends beyond EOD, truncated [ 361.848529][T11395] loop4: p241 size 1073741824 extends beyond EOD, truncated [ 361.861711][T11395] loop4: p242 size 1073741824 extends beyond EOD, truncated [ 361.879040][T11395] loop4: p243 size 1073741824 extends beyond EOD, truncated [ 361.897497][T11395] loop4: p244 size 1073741824 extends beyond EOD, truncated [ 361.910392][T11395] loop4: p245 size 1073741824 extends beyond EOD, truncated [ 361.937202][T11395] loop4: p246 size 1073741824 extends beyond EOD, truncated [ 361.957373][T11395] loop4: p247 size 1073741824 extends beyond EOD, truncated [ 361.969408][T11395] loop4: p248 size 1073741824 extends beyond EOD, truncated [ 361.986661][T11395] loop4: p249 size 1073741824 extends beyond EOD, truncated [ 361.998687][T11395] loop4: p250 size 1073741824 extends beyond EOD, truncated [ 362.011872][T11395] loop4: p251 size 1073741824 extends beyond EOD, truncated [ 362.024074][T11395] loop4: p252 size 1073741824 extends beyond EOD, truncated [ 362.039857][T11395] loop4: p253 size 1073741824 extends beyond EOD, truncated [ 362.056519][T11395] loop4: p254 size 1073741824 extends beyond EOD, truncated [ 362.069512][T11395] loop4: p255 size 1073741824 extends beyond EOD, truncated [ 363.278530][ T4679] loop4: p1 < p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 p28 p29 p30 p31 p32 p33 p34 p35 p36 p37 p38 p39 p40 p41 p42 p43 p44 p45 p46 p47 p48 p49 p50 p51 p52 p53 p54 p55 p56 p57 p58 p59 p60 p61 p62 p63 p64 p65 p66 p67 p68 p69 p70 p71 p72 p73 p74 p75 p76 p77 p78 p79 p80 p81 p82 p83 p84 p85 p86 p87 p88 p89 p90 p91 p92 p93 p94 p95 p96 p97 p98 p99 p100 p101 p102 p103 p104 p105 p106 p107 p108 p109 p110 p111 p112 p113 p114 p115 p116 p117 p118 p119 p120 p121 p122 p123 p124 p125 p126 p127 p128 p129 p130 p131 p132 p133 p134 p135 p136 p137 p138 p139 p140 p141 p142 p143 p144 p145 p146 p147 p148 p149 p150 p151 p152 p153 p154 p155 p156 p157 p158 p159 p160 p161 p162 p163 p164 p165 p166 p167 p168 p169 p170 p171 p172 p173 p174 p175 p176 p177 p178 p179 p180 p181 p182 p183 p184 p185 p186 p187 p188 p189 p190 p191 p192 p193 p194 p195 p196 p197 p198 p199 p200 p201 p202 p203 p204 p205 p206 p207 p208 p209 p210 p211 p212 p213 p214 p215 p216 [ 363.278731][ T4679] loop4: partition table partially beyond EOD, truncated [ 363.376091][ T4679] loop4: p1 size 2 extends beyond EOD, truncated [ 363.386644][ T4679] loop4: p2 size 1073741824 extends beyond EOD, truncated [ 363.396957][ T4679] loop4: p3 size 2 extends beyond EOD, truncated [ 363.405167][ T4679] loop4: p4 size 32768 extends beyond EOD, truncated [ 363.414786][ T4679] loop4: p5 size 1073741824 extends beyond EOD, truncated [ 363.424123][ T4679] loop4: p6 size 1073741824 extends beyond EOD, truncated [ 363.435078][ T4679] loop4: p7 size 1073741824 extends beyond EOD, truncated [ 363.445038][ T4679] loop4: p8 size 1073741824 extends beyond EOD, truncated [ 363.455979][ T4679] loop4: p9 size 1073741824 extends beyond EOD, truncated [ 363.468955][ T4679] loop4: p10 size 1073741824 extends beyond EOD, truncated [ 363.482388][ T4679] loop4: p11 size 1073741824 extends beyond EOD, truncated [ 363.496168][ T4679] loop4: p12 size 1073741824 extends beyond EOD, truncated [ 363.505763][ T4679] loop4: p13 size 1073741824 extends beyond EOD, truncated [ 363.515932][ T4679] loop4: p14 size 1073741824 extends beyond EOD, truncated [ 363.527450][ T4679] loop4: p15 size 1073741824 extends beyond EOD, truncated [ 363.537637][ T4679] loop4: p16 size 1073741824 extends beyond EOD, truncated [ 363.547379][ T4679] loop4: p17 size 1073741824 extends beyond EOD, truncated [ 363.558400][ T4679] loop4: p18 size 1073741824 extends beyond EOD, truncated [ 363.570215][ T4679] loop4: p19 size 1073741824 extends beyond EOD, truncated [ 363.580414][ T4679] loop4: p20 size 1073741824 extends beyond EOD, truncated [ 363.590907][ T4679] loop4: p21 size 1073741824 extends beyond EOD, truncated [ 363.602278][ T4679] loop4: p22 size 1073741824 extends beyond EOD, truncated [ 363.613091][ T4679] loop4: p23 size 1073741824 extends beyond EOD, truncated [ 363.623988][ T4679] loop4: p24 size 1073741824 extends beyond EOD, truncated [ 363.634536][ T4679] loop4: p25 size 1073741824 extends beyond EOD, truncated [ 363.644615][ T4679] loop4: p26 size 1073741824 extends beyond EOD, truncated [ 363.655450][ T4679] loop4: p27 size 1073741824 extends beyond EOD, truncated [ 363.668746][ T4679] loop4: p28 size 1073741824 extends beyond EOD, truncated [ 363.678749][ T4679] loop4: p29 size 1073741824 extends beyond EOD, truncated [ 363.688398][ T4679] loop4: p30 size 1073741824 extends beyond EOD, truncated [ 363.697837][ T4679] loop4: p31 size 1073741824 extends beyond EOD, truncated [ 363.707344][ T4679] loop4: p32 size 1073741824 extends beyond EOD, truncated [ 363.717905][ T4679] loop4: p33 size 1073741824 extends beyond EOD, truncated [ 363.727371][ T4679] loop4: p34 size 1073741824 extends beyond EOD, truncated [ 363.737187][ T4679] loop4: p35 size 1073741824 extends beyond EOD, truncated [ 363.746201][ T4679] loop4: p36 size 1073741824 extends beyond EOD, truncated [ 363.757477][ T4679] loop4: p37 size 1073741824 extends beyond EOD, truncated [ 363.769337][ T4679] loop4: p38 size 1073741824 extends beyond EOD, truncated [ 363.779083][ T4679] loop4: p39 size 1073741824 extends beyond EOD, truncated [ 363.790046][ T4679] loop4: p40 size 1073741824 extends beyond EOD, truncated [ 363.799517][ T4679] loop4: p41 size 1073741824 extends beyond EOD, truncated [ 363.811314][ T4679] loop4: p42 size 1073741824 extends beyond EOD, truncated [ 363.821280][ T4679] loop4: p43 size 1073741824 extends beyond EOD, truncated [ 363.830416][ T4679] loop4: p44 size 1073741824 extends beyond EOD, truncated [ 363.840484][ T4679] loop4: p45 size 1073741824 extends beyond EOD, truncated [ 363.851565][ T4679] loop4: p46 size 1073741824 extends beyond EOD, truncated [ 363.860684][ T4679] loop4: p47 size 1073741824 extends beyond EOD, truncated [ 363.872769][ T4679] loop4: p48 size 1073741824 extends beyond EOD, truncated [ 363.883214][ T4679] loop4: p49 size 1073741824 extends beyond EOD, truncated [ 363.892637][ T4679] loop4: p50 size 1073741824 extends beyond EOD, truncated [ 363.901465][ T4679] loop4: p51 size 1073741824 extends beyond EOD, truncated [ 363.910224][ T4679] loop4: p52 size 1073741824 extends beyond EOD, truncated [ 363.920186][ T4679] loop4: p53 size 1073741824 extends beyond EOD, truncated [ 363.930663][ T4679] loop4: p54 size 1073741824 extends beyond EOD, truncated [ 363.943591][ T4679] loop4: p55 size 1073741824 extends beyond EOD, truncated [ 363.956041][ T4679] loop4: p56 size 1073741824 extends beyond EOD, truncated [ 363.966741][ T4679] loop4: p57 size 1073741824 extends beyond EOD, truncated [ 363.981428][ T4679] loop4: p58 size 1073741824 extends beyond EOD, truncated [ 363.990863][ T4679] loop4: p59 size 1073741824 extends beyond EOD, truncated [ 364.002749][ T4679] loop4: p60 size 1073741824 extends beyond EOD, truncated [ 364.012813][ T4679] loop4: p61 size 1073741824 extends beyond EOD, truncated [ 364.022120][ T4679] loop4: p62 size 1073741824 extends beyond EOD, truncated [ 364.030721][ T4679] loop4: p63 size 1073741824 extends beyond EOD, truncated [ 364.045265][ T4679] loop4: p64 size 1073741824 extends beyond EOD, truncated [ 364.055586][ T4679] loop4: p65 size 1073741824 extends beyond EOD, truncated [ 364.064586][ T4679] loop4: p66 size 1073741824 extends beyond EOD, truncated [ 364.078806][ T4679] loop4: p67 size 1073741824 extends beyond EOD, truncated [ 364.088053][ T4679] loop4: p68 size 1073741824 extends beyond EOD, truncated [ 364.098024][ T4679] loop4: p69 size 1073741824 extends beyond EOD, truncated [ 364.107732][ T4679] loop4: p70 size 1073741824 extends beyond EOD, truncated [ 364.117492][ T4679] loop4: p71 size 1073741824 extends beyond EOD, truncated [ 364.126514][ T4679] loop4: p72 size 1073741824 extends beyond EOD, truncated [ 364.138012][ T4679] loop4: p73 size 1073741824 extends beyond EOD, truncated [ 364.148391][ T4679] loop4: p74 size 1073741824 extends beyond EOD, truncated [ 364.158366][ T4679] loop4: p75 size 1073741824 extends beyond EOD, truncated [ 364.168212][ T4679] loop4: p76 size 1073741824 extends beyond EOD, truncated [ 364.180331][ T4679] loop4: p77 size 1073741824 extends beyond EOD, truncated [ 364.189653][ T4679] loop4: p78 size 1073741824 extends beyond EOD, truncated [ 364.199338][ T4679] loop4: p79 size 1073741824 extends beyond EOD, truncated [ 364.209072][ T4679] loop4: p80 size 1073741824 extends beyond EOD, truncated [ 364.218460][ T4679] loop4: p81 size 1073741824 extends beyond EOD, truncated [ 364.227899][ T4679] loop4: p82 size 1073741824 extends beyond EOD, truncated [ 364.237379][ T4679] loop4: p83 size 1073741824 extends beyond EOD, truncated [ 364.247008][ T4679] loop4: p84 size 1073741824 extends beyond EOD, truncated [ 364.257403][ T4679] loop4: p85 size 1073741824 extends beyond EOD, truncated [ 364.268818][ T4679] loop4: p86 size 1073741824 extends beyond EOD, truncated [ 364.286447][ T4679] loop4: p87 size 1073741824 extends beyond EOD, truncated [ 364.295953][ T4679] loop4: p88 size 1073741824 extends beyond EOD, truncated [ 364.306087][ T4679] loop4: p89 size 1073741824 extends beyond EOD, truncated [ 364.315713][ T4679] loop4: p90 size 1073741824 extends beyond EOD, truncated [ 364.325234][ T4679] loop4: p91 size 1073741824 extends beyond EOD, truncated [ 364.335821][ T4679] loop4: p92 size 1073741824 extends beyond EOD, truncated [ 364.345484][ T4679] loop4: p93 size 1073741824 extends beyond EOD, truncated [ 364.355231][ T4679] loop4: p94 size 1073741824 extends beyond EOD, truncated [ 364.364796][ T4679] loop4: p95 size 1073741824 extends beyond EOD, truncated [ 364.375708][ T4679] loop4: p96 size 1073741824 extends beyond EOD, truncated [ 364.387119][ T4679] loop4: p97 size 1073741824 extends beyond EOD, truncated [ 364.397416][ T4679] loop4: p98 size 1073741824 extends beyond EOD, truncated [ 364.406468][ T4679] loop4: p99 size 1073741824 extends beyond EOD, truncated [ 364.416864][ T4679] loop4: p100 size 1073741824 extends beyond EOD, truncated [ 364.426146][ T4679] loop4: p101 size 1073741824 extends beyond EOD, truncated [ 364.438295][ T4679] loop4: p102 size 1073741824 extends beyond EOD, truncated [ 364.448229][ T4679] loop4: p103 size 1073741824 extends beyond EOD, truncated [ 364.458014][ T4679] loop4: p104 size 1073741824 extends beyond EOD, truncated [ 364.467884][ T4679] loop4: p105 size 1073741824 extends beyond EOD, truncated [ 364.478224][ T4679] loop4: p106 size 1073741824 extends beyond EOD, truncated [ 364.490443][ T4679] loop4: p107 size 1073741824 extends beyond EOD, truncated [ 364.501470][ T4679] loop4: p108 size 1073741824 extends beyond EOD, truncated [ 364.510250][ T4679] loop4: p109 size 1073741824 extends beyond EOD, truncated [ 364.521788][ T4679] loop4: p110 size 1073741824 extends beyond EOD, truncated [ 364.530610][ T4679] loop4: p111 size 1073741824 extends beyond EOD, truncated [ 364.541468][ T4679] loop4: p112 size 1073741824 extends beyond EOD, truncated [ 364.550445][ T4679] loop4: p113 size 1073741824 extends beyond EOD, truncated [ 364.560773][ T4679] loop4: p114 size 1073741824 extends beyond EOD, truncated [ 364.570600][ T4679] loop4: p115 size 1073741824 extends beyond EOD, truncated [ 364.580277][ T4679] loop4: p116 size 1073741824 extends beyond EOD, truncated [ 364.595918][ T4679] loop4: p117 size 1073741824 extends beyond EOD, truncated [ 364.606189][ T4679] loop4: p118 size 1073741824 extends beyond EOD, truncated [ 364.615422][ T4679] loop4: p119 size 1073741824 extends beyond EOD, truncated [ 364.626626][ T4679] loop4: p120 size 1073741824 extends beyond EOD, truncated [ 364.636404][ T4679] loop4: p121 size 1073741824 extends beyond EOD, truncated [ 364.646443][ T4679] loop4: p122 size 1073741824 extends beyond EOD, truncated [ 364.656214][ T4679] loop4: p123 size 1073741824 extends beyond EOD, truncated [ 364.666271][ T4679] loop4: p124 size 1073741824 extends beyond EOD, truncated [ 364.676026][ T4679] loop4: p125 size 1073741824 extends beyond EOD, truncated [ 364.685806][ T4679] loop4: p126 size 1073741824 extends beyond EOD, truncated [ 364.696554][ T4679] loop4: p127 size 1073741824 extends beyond EOD, truncated [ 364.707302][ T4679] loop4: p128 size 1073741824 extends beyond EOD, truncated [ 364.717778][ T4679] loop4: p129 size 1073741824 extends beyond EOD, truncated [ 364.727696][ T4679] loop4: p130 size 1073741824 extends beyond EOD, truncated [ 364.738029][ T4679] loop4: p131 size 1073741824 extends beyond EOD, truncated [ 364.748009][ T4679] loop4: p132 size 1073741824 extends beyond EOD, truncated [ 364.758851][ T4679] loop4: p133 size 1073741824 extends beyond EOD, truncated [ 364.769139][ T4679] loop4: p134 size 1073741824 extends beyond EOD, truncated [ 364.779987][ T4679] loop4: p135 size 1073741824 extends beyond EOD, truncated [ 364.792580][ T4679] loop4: p136 size 1073741824 extends beyond EOD, truncated [ 364.802446][ T4679] loop4: p137 size 1073741824 extends beyond EOD, truncated [ 364.815003][ T4679] loop4: p138 size 1073741824 extends beyond EOD, truncated [ 364.826700][ T4679] loop4: p139 size 1073741824 extends beyond EOD, truncated [ 364.837917][ T4679] loop4: p140 size 1073741824 extends beyond EOD, truncated [ 364.848796][ T4679] loop4: p141 size 1073741824 extends beyond EOD, truncated [ 364.858345][ T4679] loop4: p142 size 1073741824 extends beyond EOD, truncated [ 364.869699][ T4679] loop4: p143 size 1073741824 extends beyond EOD, truncated [ 364.880932][ T4679] loop4: p144 size 1073741824 extends beyond EOD, truncated [ 364.890742][ T4679] loop4: p145 size 1073741824 extends beyond EOD, truncated [ 364.903348][ T4679] loop4: p146 size 1073741824 extends beyond EOD, truncated [ 364.913435][ T4679] loop4: p147 size 1073741824 extends beyond EOD, truncated [ 364.925189][ T4679] loop4: p148 size 1073741824 extends beyond EOD, truncated [ 364.936063][ T4679] loop4: p149 size 1073741824 extends beyond EOD, truncated [ 364.946301][ T4679] loop4: p150 size 1073741824 extends beyond EOD, truncated [ 364.956666][ T4679] loop4: p151 size 1073741824 extends beyond EOD, truncated [ 364.967651][ T4679] loop4: p152 size 1073741824 extends beyond EOD, truncated [ 364.977806][ T4679] loop4: p153 size 1073741824 extends beyond EOD, truncated [ 364.987758][ T4679] loop4: p154 size 1073741824 extends beyond EOD, truncated [ 365.003195][ T4679] loop4: p155 size 1073741824 extends beyond EOD, truncated [ 365.014373][ T4679] loop4: p156 size 1073741824 extends beyond EOD, truncated [ 365.024265][ T4679] loop4: p157 size 1073741824 extends beyond EOD, truncated [ 365.035097][ T4679] loop4: p158 size 1073741824 extends beyond EOD, truncated [ 365.045901][ T4679] loop4: p159 size 1073741824 extends beyond EOD, truncated [ 365.056212][ T4679] loop4: p160 size 1073741824 extends beyond EOD, truncated [ 365.067689][ T4679] loop4: p161 size 1073741824 extends beyond EOD, truncated [ 365.078450][ T4679] loop4: p162 size 1073741824 extends beyond EOD, truncated [ 365.092307][ T4679] loop4: p163 size 1073741824 extends beyond EOD, truncated [ 365.103899][ T4679] loop4: p164 size 1073741824 extends beyond EOD, truncated [ 365.114054][ T4679] loop4: p165 size 1073741824 extends beyond EOD, truncated [ 365.123895][ T4679] loop4: p166 size 1073741824 extends beyond EOD, truncated [ 365.132991][ T4679] loop4: p167 size 1073741824 extends beyond EOD, truncated [ 365.146918][ T4679] loop4: p168 size 1073741824 extends beyond EOD, truncated [ 365.156762][ T4679] loop4: p169 size 1073741824 extends beyond EOD, truncated [ 365.166654][ T4679] loop4: p170 size 1073741824 extends beyond EOD, truncated [ 365.178031][ T4679] loop4: p171 size 1073741824 extends beyond EOD, truncated [ 365.188851][ T4679] loop4: p172 size 1073741824 extends beyond EOD, truncated [ 365.198306][ T4679] loop4: p173 size 1073741824 extends beyond EOD, truncated [ 365.208923][ T4679] loop4: p174 size 1073741824 extends beyond EOD, truncated [ 365.219342][ T4679] loop4: p175 size 1073741824 extends beyond EOD, truncated [ 365.229159][ T4679] loop4: p176 size 1073741824 extends beyond EOD, truncated [ 365.239372][ T4679] loop4: p177 size 1073741824 extends beyond EOD, truncated [ 365.249086][ T4679] loop4: p178 size 1073741824 extends beyond EOD, truncated [ 365.259922][ T4679] loop4: p179 size 1073741824 extends beyond EOD, truncated [ 365.270683][ T4679] loop4: p180 size 1073741824 extends beyond EOD, truncated [ 365.281189][ T4679] loop4: p181 size 1073741824 extends beyond EOD, truncated [ 365.290337][ T4679] loop4: p182 size 1073741824 extends beyond EOD, truncated [ 365.299872][ T4679] loop4: p183 size 1073741824 extends beyond EOD, truncated [ 365.314926][ T4679] loop4: p184 size 1073741824 extends beyond EOD, truncated [ 365.325601][ T4679] loop4: p185 size 1073741824 extends beyond EOD, truncated [ 365.336876][ T4679] loop4: p186 size 1073741824 extends beyond EOD, truncated [ 365.347080][ T4679] loop4: p187 size 1073741824 extends beyond EOD, truncated [ 365.357822][ T4679] loop4: p188 size 1073741824 extends beyond EOD, truncated [ 365.367950][ T4679] loop4: p189 size 1073741824 extends beyond EOD, truncated [ 365.377885][ T4679] loop4: p190 size 1073741824 extends beyond EOD, truncated [ 365.387440][ T4679] loop4: p191 size 1073741824 extends beyond EOD, truncated [ 365.398360][ T4679] loop4: p192 size 1073741824 extends beyond EOD, truncated [ 365.409834][ T4679] loop4: p193 size 1073741824 extends beyond EOD, truncated [ 365.419591][ T4679] loop4: p194 size 1073741824 extends beyond EOD, truncated [ 365.429755][ T4679] loop4: p195 size 1073741824 extends beyond EOD, truncated [ 365.439450][ T4679] loop4: p196 size 1073741824 extends beyond EOD, truncated [ 365.449476][ T4679] loop4: p197 size 1073741824 extends beyond EOD, truncated [ 365.459206][ T4679] loop4: p198 size 1073741824 extends beyond EOD, truncated [ 365.469132][ T4679] loop4: p199 size 1073741824 extends beyond EOD, truncated [ 365.480694][ T4679] loop4: p200 size 1073741824 extends beyond EOD, truncated [ 365.492516][ T4679] loop4: p201 size 1073741824 extends beyond EOD, truncated [ 365.502267][ T4679] loop4: p202 size 1073741824 extends beyond EOD, truncated [ 365.517323][ T4679] loop4: p203 size 1073741824 extends beyond EOD, truncated [ 365.528005][ T4679] loop4: p204 size 1073741824 extends beyond EOD, truncated [ 365.538293][ T4679] loop4: p205 size 1073741824 extends beyond EOD, truncated [ 365.547852][ T4679] loop4: p206 size 1073741824 extends beyond EOD, truncated [ 365.557358][ T4679] loop4: p207 size 1073741824 extends beyond EOD, truncated [ 365.567015][ T4679] loop4: p208 size 1073741824 extends beyond EOD, truncated [ 365.576856][ T4679] loop4: p209 size 1073741824 extends beyond EOD, truncated [ 365.588386][ T4679] loop4: p210 size 1073741824 extends beyond EOD, truncated [ 365.600012][ T4679] loop4: p211 size 1073741824 extends beyond EOD, truncated [ 365.610192][ T4679] loop4: p212 size 1073741824 extends beyond EOD, truncated [ 365.623907][ T4679] loop4: p213 size 1073741824 extends beyond EOD, truncated [ 365.644586][ T4679] loop4: p214 size 1073741824 extends beyond EOD, truncated [ 365.654272][ T4679] loop4: p215 size 1073741824 extends beyond EOD, truncated [ 365.664020][ T4679] loop4: p216 size 1073741824 extends beyond EOD, truncated [ 365.674316][ T4679] loop4: p217 size 1073741824 extends beyond EOD, truncated [ 365.683775][ T4679] loop4: p218 size 1073741824 extends beyond EOD, truncated [ 365.696304][ T4679] loop4: p219 size 1073741824 extends beyond EOD, truncated [ 365.706468][ T4679] loop4: p220 size 1073741824 extends beyond EOD, truncated [ 365.724363][ T4679] loop4: p221 size 1073741824 extends beyond EOD, truncated [ 365.736156][ T4679] loop4: p222 size 1073741824 extends beyond EOD, truncated [ 365.745666][ T4679] loop4: p223 size 1073741824 extends beyond EOD, truncated [ 365.757534][ T4679] loop4: p224 size 1073741824 extends beyond EOD, truncated [ 365.771425][ T4679] loop4: p225 size 1073741824 extends beyond EOD, truncated [ 365.782772][ T4679] loop4: p226 size 1073741824 extends beyond EOD, truncated [ 365.795912][ T4679] loop4: p227 size 1073741824 extends beyond EOD, truncated [ 365.807038][ T4679] loop4: p228 size 1073741824 extends beyond EOD, truncated [ 365.822060][ T4679] loop4: p229 size 1073741824 extends beyond EOD, truncated [ 365.831457][ T4679] loop4: p230 size 1073741824 extends beyond EOD, truncated [ 365.840088][ T4679] loop4: p231 size 1073741824 extends beyond EOD, truncated [ 365.851502][ T4679] loop4: p232 size 1073741824 extends beyond EOD, truncated [ 365.860542][ T4679] loop4: p233 size 1073741824 extends beyond EOD, truncated [ 365.871438][ T4679] loop4: p234 size 1073741824 extends beyond EOD, truncated [ 365.880366][ T4679] loop4: p235 size 1073741824 extends beyond EOD, truncated [ 365.890719][ T4679] loop4: p236 size 1073741824 extends beyond EOD, truncated [ 365.902134][ T4679] loop4: p237 size 1073741824 extends beyond EOD, truncated [ 365.910955][ T4679] loop4: p238 size 1073741824 extends beyond EOD, truncated [ 365.923997][ T4679] loop4: p239 size 1073741824 extends beyond EOD, truncated [ 365.934550][ T4679] loop4: p240 size 1073741824 extends beyond EOD, truncated [ 365.944423][ T4679] loop4: p241 size 1073741824 extends beyond EOD, truncated [ 365.955362][ T4679] loop4: p242 size 1073741824 extends beyond EOD, truncated [ 365.965318][ T4679] loop4: p243 size 1073741824 extends beyond EOD, truncated [ 365.975630][ T4679] loop4: p244 size 1073741824 extends beyond EOD, truncated [ 365.986372][ T4679] loop4: p245 size 1073741824 extends beyond EOD, truncated [ 365.996344][ T4679] loop4: p246 size 1073741824 extends beyond EOD, truncated [ 366.009358][ T4679] loop4: p247 size 1073741824 extends beyond EOD, truncated [ 366.020443][ T4679] loop4: p248 size 1073741824 extends beyond EOD, truncated [ 366.031723][ T4679] loop4: p249 size 1073741824 extends beyond EOD, truncated [ 366.042853][ T4679] loop4: p250 size 1073741824 extends beyond EOD, truncated [ 366.053530][ T4679] loop4: p251 size 1073741824 extends beyond EOD, truncated [ 366.063491][ T4679] loop4: p252 size 1073741824 extends beyond EOD, truncated [ 366.074906][ T4679] loop4: p253 size 1073741824 extends beyond EOD, truncated [ 366.085711][ T4679] loop4: p254 size 1073741824 extends beyond EOD, truncated [ 366.096806][ T4679] loop4: p255 size 1073741824 extends beyond EOD, truncated 12:41:29 executing program 4: mlock2(&(0x7f0000ffd000/0x3000)=nil, 0x3000, 0x0) 12:41:29 executing program 3: syz_mount_image$ext4(&(0x7f0000000340)='ext2\x00', &(0x7f0000000040)='./file2\x00', 0x2, 0x1, &(0x7f00000000c0)=[{&(0x7f00000001c0)="25bc0100010000020000fa0095e06126874fb86a54a80aa941000000000000004e2f98b579a782da70546d0e02063e507cca10d7dcc6760253ef", 0x3a, 0x81}], 0x16048, &(0x7f00000003c0)=ANY=[@ANYRESOCT]) r0 = socket$netlink(0x10, 0x3, 0x8000000004) writev(r0, &(0x7f0000000100)=[{&(0x7f0000000080)="580000001400192340834b80040d8c560a067f0200ff000000000000000058000b4824ca945f64009400ff0325010ebc000000000000008000f0fffeffe809005300fff5dd000000100001000c0c1000000000ffffffffff", 0x58}], 0x1) perf_event_open(&(0x7f0000000200)={0x2, 0x70, 0x27, 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, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext, 0x0, 0xffffffffffffffff, 0x400000, 0x0, 0x700}, 0x0, 0xfffffffffffffffc, 0xffffffffffffffff, 0x0) r1 = open(&(0x7f0000000100)='./file1\x00', 0x143042, 0xd8) r2 = socket$inet_tcp(0x2, 0x1, 0x0) r3 = socket$inet_tcp(0x2, 0x1, 0x0) write$cgroup_subtree(r1, &(0x7f0000000300)=ANY=[@ANYBLOB="2b6d656d2f727920bc01000000"], 0x1a) r4 = fcntl$dupfd(r2, 0x0, r3) ioctl$PERF_EVENT_IOC_ENABLE(r4, 0x8912, 0x400200) r5 = syz_open_procfs$namespace(0xffffffffffffffff, &(0x7f00000002c0)='ns/time_for_children\x00') ioctl$F2FS_IOC_WRITE_CHECKPOINT(r5, 0xf507, 0x0) sendfile(r1, r1, 0x0, 0x80001d00c0d3) syz_genetlink_get_family_id$ethtool(&(0x7f0000000100)='ethtool\x00', 0xffffffffffffffff) rt_sigpending(&(0x7f0000000000), 0x8) r6 = socket$nl_route(0x10, 0x3, 0x0) r7 = socket(0x10, 0x803, 0x0) openat$incfs(r4, &(0x7f0000000380)='.pending_reads\x00', 0x4000, 0x11) sendmsg$NBD_CMD_DISCONNECT(r7, &(0x7f00000001c0)={0x0, 0xfffffffffffffdc1, &(0x7f0000000180)={0x0}, 0x1, 0x0, 0x0, 0x4000850}, 0x0) sendmsg$nl_route(r6, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000240)=@newlink={0x48, 0x10, 0x401, 0x400000, 0x0, {0x0, 0x0, 0x0, 0x0, 0x42df58543c8380db, 0x4de3fdd604b4685d}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @ipip6={{0xb, 0x1, 'ip6tnl\x00'}, {0x8, 0x2, 0x0, 0x1, [@IFLA_IPTUN_COLLECT_METADATA={0x4}]}}}, @IFLA_MTU={0x8, 0x4, 0x10000004}, @IFLA_MASTER={0x8}]}, 0x48}}, 0x0) 12:41:29 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:41:29 executing program 1: r0 = getpgid(0x0) perf_event_open(&(0x7f0000000700)={0x1, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0xe0b2856c2b167ba5}, 0x0, 0x2, 0xffffffffffffffff, 0x0) r1 = open(&(0x7f0000002000)='./bus\x00', 0x141042, 0x0) ftruncate(r1, 0x2007fff) r2 = open(&(0x7f0000000300)='./bus\x00', 0x0, 0x0) r3 = socket$inet6_tcp(0xa, 0x1, 0x0) listen(r3, 0x400) rt_sigqueueinfo(0xffffffffffffffff, 0x2b, &(0x7f0000000140)={0x24, 0x2, 0xff}) r4 = socket$inet6_tcp(0xa, 0x1, 0x0) preadv(0xffffffffffffffff, &(0x7f00000001c0)=[{0x0}], 0x1, 0x0, 0x0) r5 = openat$zero(0xffffffffffffff9c, &(0x7f0000000000)='/dev/zero\x00', 0x0, 0x0) preadv(r5, &(0x7f00000001c0)=[{0x0}], 0x1, 0x0, 0x0) sendfile(0xffffffffffffffff, r5, &(0x7f00000001c0)=0x8001, 0x8) sendto$inet6(r4, 0x0, 0x0, 0x20000004, &(0x7f0000000280)={0xa, 0x100000004e22, 0x0, @loopback}, 0x1c) mmap(&(0x7f0000ffd000/0x3000)=nil, 0x3000, 0x1000004, 0x1010, r4, 0x6ce99000) setsockopt$inet6_tcp_TCP_ULP(r4, 0x6, 0x1f, &(0x7f0000000080)='tls\x00', 0x152) setsockopt$inet6_tcp_TLS_TX(r4, 0x11a, 0x1, &(0x7f0000000100)=@gcm_128={{0x303}, '\x00', '\x00', "20040100"}, 0x28) sendfile(r4, r2, 0x0, 0x800100020001) r6 = openat$zero(0xffffff9c, &(0x7f00000000c0)='/dev/zero\x00', 0x48901, 0x0) perf_event_open(&(0x7f0000000000)={0x2, 0x70, 0x38, 0x20, 0x6, 0x5, 0x0, 0x8, 0x10, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x200, 0x4, @perf_config_ext={0x8a, 0x8}, 0x0, 0x2, 0x2, 0x7, 0x1, 0x9e3, 0x2}, r0, 0xf, r6, 0xc) 12:41:29 executing program 5: exit(0x65a950f2) exit(0x9) exit(0x0) exit(0x3) exit(0x0) exit(0x400) exit(0xe58f) exit(0x53b8) mmap(&(0x7f0000ffc000/0x3000)=nil, 0x3000, 0x19077c015fd20828, 0x40010, 0xffffffffffffffff, 0xc0fd000) exit(0x2d8) exit(0x39) exit(0x10000) exit(0x62be) exit(0x142) exit(0x5) exit(0x2) exit(0x6) preadv(0xffffffffffffffff, &(0x7f0000002180)=[{&(0x7f0000000000)=""/26, 0x1a}, {&(0x7f0000000040)=""/110, 0x6e}, {&(0x7f00000000c0)=""/4096, 0x1000}, {&(0x7f00000010c0)=""/4096, 0x1000}, {&(0x7f00000020c0)=""/143, 0x8f}], 0x5, 0x10, 0x8) exit(0x1) exit(0xe0d6) 12:41:29 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x2000000, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) [ 367.926575][ T33] audit: type=1804 audit(1617712890.115:12): pid=12500 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.1" name="/root/syzkaller-testdir698315052/syzkaller.vLQyLX/57/bus" dev="sda1" ino=14210 res=1 errno=0 12:41:30 executing program 1: r0 = socket$inet_sctp(0x2, 0x5, 0x84) getsockopt$inet_sctp_SCTP_DEFAULT_PRINFO(r0, 0x84, 0x6, 0x0, &(0x7f0000000380)) 12:41:30 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x3000000, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:41:30 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:41:30 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x14) sendmsg$BATADV_CMD_GET_MCAST_FLAGS(r0, &(0x7f00000060c0)={0x0, 0x0, &(0x7f0000006080)={0x0}}, 0x0) 12:41:30 executing program 3: r0 = socket$inet_sctp(0x2, 0x5, 0x84) ioctl$ifreq_SIOCGIFINDEX_team(r0, 0x8933, &(0x7f0000000280)={'team0\x00', 0x0}) bpf$MAP_CREATE(0x0, &(0x7f00000003c0)={0x7, 0x0, 0x0, 0x0, 0x1008, 0xffffffffffffffff, 0x0, [], r1, 0xffffffffffffffff, 0x5, 0x2}, 0x40) 12:41:30 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x4000000, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:41:31 executing program 1: r0 = socket$inet6(0xa, 0x1, 0x84) bind$inet6(r0, &(0x7f0000000000)={0xa, 0x4e20}, 0x1c) connect$inet6(r0, &(0x7f0000000080)={0xa, 0x4e20, 0x0, @loopback}, 0x1c) sendmmsg$inet6(r0, &(0x7f0000003c40)=[{{0x0, 0x0, &(0x7f00000011c0)=[{&(0x7f0000001140)='<', 0x1a000}], 0x1}}, {{&(0x7f0000001540)={0xa, 0x0, 0x0, @private1}, 0x1c, &(0x7f00000027c0)=[{&(0x7f0000001580)="f2", 0x1}], 0x1}}], 0x2, 0x0) 12:41:31 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0) 12:41:31 executing program 4: r0 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) ioctl$HCIINQUIRY(r0, 0x8901, &(0x7f0000000000)={0x0, 0xfffc, "1d54fd"}) 12:41:31 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x4010000, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) [ 371.817560][T12567] IPVS: ftp: loaded support on port[0] = 21 [ 372.210850][T12567] chnl_net:caif_netlink_parms(): no params data found [ 372.340503][T12567] bridge0: port 1(bridge_slave_0) entered blocking state [ 372.347985][T12567] bridge0: port 1(bridge_slave_0) entered disabled state [ 372.358274][T12567] device bridge_slave_0 entered promiscuous mode [ 372.375159][T12567] bridge0: port 2(bridge_slave_1) entered blocking state [ 372.383303][T12567] bridge0: port 2(bridge_slave_1) entered disabled state [ 372.395657][T12567] device bridge_slave_1 entered promiscuous mode [ 372.445989][T12567] bond0: (slave bond_slave_0): Enslaving as an active interface with an up link [ 372.463894][T12567] bond0: (slave bond_slave_1): Enslaving as an active interface with an up link [ 372.516330][T12567] team0: Port device team_slave_0 added [ 372.529601][T12567] team0: Port device team_slave_1 added [ 372.588830][T12567] batman_adv: batadv0: Adding interface: batadv_slave_0 [ 372.596787][T12567] batman_adv: batadv0: The MTU of interface batadv_slave_0 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1560 would solve the problem. [ 372.624564][T12567] batman_adv: batadv0: Not using interface batadv_slave_0 (retrying later): interface not active [ 372.645352][T12567] batman_adv: batadv0: Adding interface: batadv_slave_1 [ 372.653200][T12567] batman_adv: batadv0: The MTU of interface batadv_slave_1 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1560 would solve the problem. [ 372.682282][T12567] batman_adv: batadv0: Not using interface batadv_slave_1 (retrying later): interface not active [ 372.752370][T12567] device hsr_slave_0 entered promiscuous mode [ 372.762438][T12567] device hsr_slave_1 entered promiscuous mode [ 372.774698][T12567] debugfs: Directory 'hsr0' with parent 'hsr' already present! [ 372.785426][T12567] Cannot create hsr debugfs directory [ 373.125105][T12567] netdevsim netdevsim5 netdevsim0: renamed from eth0 [ 373.174599][T12567] netdevsim netdevsim5 netdevsim1: renamed from eth1 [ 373.214706][T12567] netdevsim netdevsim5 netdevsim2: renamed from eth2 [ 373.241953][T12567] netdevsim netdevsim5 netdevsim3: renamed from eth3 [ 373.552650][ T5] Bluetooth: hci1: command 0x0406 tx timeout [ 373.630219][T12567] 8021q: adding VLAN 0 to HW filter on device bond0 [ 373.668409][ T8445] IPv6: ADDRCONF(NETDEV_CHANGE): veth1: link becomes ready [ 373.678070][ T8445] IPv6: ADDRCONF(NETDEV_CHANGE): veth0: link becomes ready [ 373.706210][T12567] 8021q: adding VLAN 0 to HW filter on device team0 [ 373.736821][ T8445] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_bridge: link becomes ready [ 373.747625][ T8445] IPv6: ADDRCONF(NETDEV_CHANGE): bridge_slave_0: link becomes ready [ 373.757144][ T8445] bridge0: port 1(bridge_slave_0) entered blocking state [ 373.764566][ T8445] bridge0: port 1(bridge_slave_0) entered forwarding state [ 373.791593][ T4694] Bluetooth: hci5: command 0x0409 tx timeout [ 373.814953][ T8445] IPv6: ADDRCONF(NETDEV_CHANGE): bridge0: link becomes ready [ 373.829379][ T4694] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_bridge: link becomes ready [ 373.839766][ T4694] IPv6: ADDRCONF(NETDEV_CHANGE): bridge_slave_1: link becomes ready [ 373.849605][ T4694] bridge0: port 2(bridge_slave_1) entered blocking state [ 373.857270][ T4694] bridge0: port 2(bridge_slave_1) entered forwarding state [ 373.964610][ T4694] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_bond: link becomes ready [ 373.976341][ T4694] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_bond: link becomes ready [ 373.988294][ T4694] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_team: link becomes ready [ 373.999121][ T4694] IPv6: ADDRCONF(NETDEV_CHANGE): team_slave_0: link becomes ready [ 374.011202][ T4694] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_team: link becomes ready [ 374.022162][ T4694] IPv6: ADDRCONF(NETDEV_CHANGE): team_slave_1: link becomes ready [ 374.043053][ T4694] IPv6: ADDRCONF(NETDEV_CHANGE): team0: link becomes ready [ 374.072258][ T8445] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_hsr: link becomes ready [ 374.082498][ T8445] IPv6: ADDRCONF(NETDEV_CHANGE): hsr_slave_0: link becomes ready [ 374.103696][ T8445] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_hsr: link becomes ready [ 374.117478][ T8445] IPv6: ADDRCONF(NETDEV_CHANGE): hsr_slave_1: link becomes ready [ 374.138452][T12567] IPv6: ADDRCONF(NETDEV_CHANGE): hsr0: link becomes ready [ 374.222862][ T4694] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan1: link becomes ready [ 374.230885][ T4694] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan0: link becomes ready [ 374.266678][T12567] 8021q: adding VLAN 0 to HW filter on device batadv0 [ 374.507076][ T8445] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_virt_wifi: link becomes ready [ 374.517765][ T8445] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_virt_wifi: link becomes ready [ 374.583063][ T4694] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_vlan: link becomes ready [ 374.593307][ T4694] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_vlan: link becomes ready [ 374.623002][T12567] device veth0_vlan entered promiscuous mode [ 374.634746][ T4694] IPv6: ADDRCONF(NETDEV_CHANGE): vlan0: link becomes ready [ 374.644569][ T4694] IPv6: ADDRCONF(NETDEV_CHANGE): vlan1: link becomes ready [ 374.692593][T12567] device veth1_vlan entered promiscuous mode [ 374.790810][ T4694] IPv6: ADDRCONF(NETDEV_CHANGE): macvlan0: link becomes ready [ 374.801361][ T4694] IPv6: ADDRCONF(NETDEV_CHANGE): macvlan1: link becomes ready [ 374.811354][ T4694] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_macvtap: link becomes ready [ 374.821803][ T4694] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_macvtap: link becomes ready [ 374.855060][T12567] device veth0_macvtap entered promiscuous mode [ 374.879758][T12567] device veth1_macvtap entered promiscuous mode [ 374.955350][T12567] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3d) already exists on: batadv_slave_0 [ 374.966461][T12567] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 374.976760][T12567] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3d) already exists on: batadv_slave_0 [ 374.987535][T12567] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 374.998388][T12567] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3d) already exists on: batadv_slave_0 [ 375.009152][T12567] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 375.019299][T12567] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3d) already exists on: batadv_slave_0 [ 375.029977][T12567] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 375.040184][T12567] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3d) already exists on: batadv_slave_0 [ 375.050929][T12567] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 375.065501][T12567] batman_adv: batadv0: Interface activated: batadv_slave_0 [ 375.073854][ T5] IPv6: ADDRCONF(NETDEV_CHANGE): macvtap0: link becomes ready [ 375.083958][ T5] IPv6: ADDRCONF(NETDEV_CHANGE): macsec0: link becomes ready [ 375.093974][ T5] IPv6: ADDRCONF(NETDEV_CHANGE): batadv_slave_0: link becomes ready [ 375.105554][ T5] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_batadv: link becomes ready [ 375.349137][T12567] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_1 [ 375.359977][T12567] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 375.370878][T12567] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_1 [ 375.382013][T12567] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 375.393260][T12567] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_1 [ 375.404051][T12567] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 375.415816][T12567] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_1 [ 375.426578][T12567] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 375.436710][T12567] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_1 [ 375.447757][T12567] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 375.462453][T12567] batman_adv: batadv0: Interface activated: batadv_slave_1 [ 375.473399][ T5] IPv6: ADDRCONF(NETDEV_CHANGE): batadv_slave_1: link becomes ready [ 375.484163][ T5] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_batadv: link becomes ready [ 375.879984][ T8841] Bluetooth: hci5: command 0x041b tx timeout [ 376.347320][T12567] netdevsim netdevsim5 netdevsim0: set [1, 0] type 2 family 0 port 6081 - 0 [ 376.357041][T12567] netdevsim netdevsim5 netdevsim1: set [1, 0] type 2 family 0 port 6081 - 0 [ 376.369235][T12567] netdevsim netdevsim5 netdevsim2: set [1, 0] type 2 family 0 port 6081 - 0 [ 376.378725][T12567] netdevsim netdevsim5 netdevsim3: set [1, 0] type 2 family 0 port 6081 - 0 [ 376.812518][ T18] usb 2-1: dvb_usb_v2: Did not find the firmware file 'dvb-usb-terratec-h7-az6007.fw' (status -11). You can use /scripts/get_dvb_firmware to get the firmware [ 376.829978][ T18] dvb_usb_az6007: probe of 2-1:143.0 failed with error -11 [ 376.994612][ T18] usb 2-1: USB disconnect, device number 28 [ 377.372775][ T1294] wlan0: Created IBSS using preconfigured BSSID 50:50:50:50:50:50 [ 377.380780][ T1294] wlan0: Creating new IBSS network, BSSID 50:50:50:50:50:50 [ 377.395370][ T18] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready [ 377.525787][T10246] wlan1: Created IBSS using preconfigured BSSID 50:50:50:50:50:50 [ 377.534402][T10246] wlan1: Creating new IBSS network, BSSID 50:50:50:50:50:50 [ 377.543820][ T8822] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready [ 377.951414][ T8841] Bluetooth: hci5: command 0x040f tx timeout 12:41:40 executing program 5: r0 = socket$inet_sctp(0x2, 0x1, 0x84) sendmsg$inet_sctp(r0, &(0x7f0000000240)={&(0x7f0000000080)=@in={0x10, 0x2}, 0x10, 0x0}, 0x0) 12:41:40 executing program 3: r0 = socket$kcm(0x29, 0x5, 0x0) sendmsg$kcm(r0, &(0x7f0000001940)={0x0, 0x0, &(0x7f0000000740)=[{&(0x7f0000000640)="92", 0x1}], 0x1}, 0x80) 12:41:40 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x5000000, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:41:40 executing program 4: r0 = socket$inet6_udplite(0xa, 0x2, 0x88) ioctl$sock_ipv6_tunnel_SIOCDEL6RD(r0, 0x8971, &(0x7f00000001c0)={'sit0\x00', 0x0}) 12:41:40 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0) 12:41:40 executing program 1: pselect6(0x40, &(0x7f0000000000), &(0x7f0000000040)={0xfffffffffffffffd}, 0x0, 0x0, 0x0) 12:41:40 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000140)='ethtool\x00', 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_CHANNELS_GET(r0, &(0x7f0000000480)={0x0, 0x0, &(0x7f0000000440)={&(0x7f0000000340)={0x14, r1, 0x1}, 0x14}}, 0x0) 12:41:41 executing program 1: r0 = socket$inet_sctp(0x2, 0x5, 0x84) getsockopt$inet_sctp_SCTP_DEFAULT_PRINFO(r0, 0x84, 0xc, 0x0, &(0x7f0000000380)=0x8300) 12:41:41 executing program 3: bpf$BPF_BTF_GET_NEXT_ID(0xc, 0x0, 0x0) 12:41:41 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x6000000, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:41:41 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x0) 12:41:41 executing program 5: r0 = socket$phonet_pipe(0x23, 0x5, 0x2) getsockname(r0, 0x0, &(0x7f0000000180)) 12:41:41 executing program 4: r0 = socket$inet6_udplite(0xa, 0x2, 0x88) ioctl$sock_ipv6_tunnel_SIOCGET6RD(r0, 0x89f8, &(0x7f00000000c0)={'sit0\x00', &(0x7f0000000040)={'ip6_vti0\x00', 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @private0, @ipv4={[], [], @broadcast}}}) 12:41:41 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x7000000, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:41:41 executing program 1: r0 = socket$inet6_udplite(0xa, 0x2, 0x88) ioctl$sock_ipv6_tunnel_SIOCDEL6RD(r0, 0x89fa, &(0x7f00000001c0)={'sit0\x00', &(0x7f0000000140)={'sit0\x00', 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}, @private0}}) 12:41:41 executing program 3: r0 = socket$inet_sctp(0x2, 0x5, 0x84) getsockopt$inet_sctp_SCTP_DEFAULT_PRINFO(r0, 0x84, 0x16, 0x0, &(0x7f0000000380)) 12:41:42 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) [ 380.034783][ T8445] Bluetooth: hci5: command 0x0419 tx timeout 12:41:42 executing program 5: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000001240)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r0, &(0x7f00000005c0)=ANY=[], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x3, 0x28011, r0, 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='cgroup.controllers\x00', 0xb00000000065808, 0x0) r2 = socket$inet6(0xa, 0x1, 0x84) bind$inet6(r2, &(0x7f0000000000)={0xa, 0x4e20}, 0x1c) connect$inet6(r2, &(0x7f0000000080)={0xa, 0x4e20, 0x0, @loopback}, 0x1c) getsockopt$bt_hci(r2, 0x84, 0x3, &(0x7f00000000c0)=""/4097, &(0x7f0000000040)=0x1001) r3 = socket$nl_netfilter(0x10, 0x3, 0xc) sendfile(r3, r1, 0x0, 0x100000002) 12:41:42 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x8000000, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:41:42 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000040)='ethtool\x00', 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_WOL_SET(r0, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000080)={0x18, r1, 0x1, 0x0, 0x0, {}, [@ETHTOOL_A_WOL_SOPASS={0x4}]}, 0x18}}, 0x0) 12:41:42 executing program 1: r0 = socket$inet_sctp(0x2, 0x5, 0x84) getsockopt$inet_sctp_SCTP_DEFAULT_PRINFO(r0, 0x84, 0x1b, 0x0, &(0x7f0000000380)) 12:41:42 executing program 3: pipe(&(0x7f00000000c0)) r0 = socket$inet(0x2, 0x6, 0x0) ioctl$sock_inet_udp_SIOCOUTQ(r0, 0x5411, &(0x7f0000000040)) [ 380.699404][ T33] audit: type=1804 audit(1617712902.885:13): pid=12910 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.5" name="/root/syzkaller-testdir014973640/syzkaller.iPuA21/3/cgroup.controllers" dev="sda1" ino=14243 res=1 errno=0 12:41:43 executing program 4: bpf$BPF_BTF_GET_NEXT_ID(0x16, &(0x7f00000004c0)={0x7}, 0x8) [ 381.009552][ T33] audit: type=1804 audit(1617712903.195:14): pid=12910 uid=0 auid=4294967295 ses=4294967295 subj==unconfined op=invalid_pcr cause=open_writers comm="syz-executor.5" name="/root/syzkaller-testdir014973640/syzkaller.iPuA21/3/cgroup.controllers" dev="sda1" ino=14243 res=1 errno=0 12:41:43 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x9000000, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:41:43 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:41:43 executing program 5: r0 = socket$inet_sctp(0x2, 0x1, 0x84) recvmmsg(r0, &(0x7f0000001900)=[{{0x0, 0x0, 0x0}}], 0x1, 0xa67ba36229247c4a, 0x0) 12:41:43 executing program 3: r0 = socket$inet6_sctp(0xa, 0x5, 0x84) getsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX3(r0, 0x84, 0x6f, &(0x7f0000000100)={0x0, 0x1c, &(0x7f0000000080)=[@in6={0xa, 0x0, 0x0, @local, 0x9}]}, &(0x7f0000000140)=0x10) getsockopt$inet_sctp6_SCTP_GET_ASSOC_ID_LIST(r0, 0x84, 0x1d, &(0x7f0000000240)={0x1, [0x0]}, &(0x7f0000000280)=0x8) 12:41:43 executing program 1: r0 = socket$inet6_udplite(0xa, 0x2, 0x88) ioctl$sock_ipv6_tunnel_SIOCDEL6RD(r0, 0x8946, &(0x7f00000001c0)={'sit0\x00', 0x0}) 12:41:43 executing program 4: r0 = socket$inet(0x2, 0x6, 0x0) ioctl$sock_inet_udp_SIOCOUTQ(r0, 0x5411, &(0x7f0000000040)) 12:41:44 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0xa000000, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:41:44 executing program 5: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000040)='ethtool\x00', 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_WOL_SET(r0, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000080)={0x14, r1, 0x1}, 0x14}}, 0x0) 12:41:44 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:41:44 executing program 1: socket$inet_sctp(0x2, 0x0, 0x84) r0 = socket$inet6_sctp(0xa, 0x1, 0x84) getsockopt$inet_sctp6_SCTP_MAX_BURST(r0, 0x84, 0x14, &(0x7f0000000280), &(0x7f00000002c0)=0x4) 12:41:44 executing program 4: r0 = socket$inet_sctp(0x2, 0x5, 0x84) getsockopt$inet_sctp_SCTP_DEFAULT_PRINFO(r0, 0x84, 0xe, 0x0, &(0x7f0000000380)=0x300) 12:41:44 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0xf000000, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) [ 382.784673][T12936] syz-executor.3 (12936) used greatest stack depth: 3768 bytes left 12:41:45 executing program 5: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$ethtool(&(0x7f0000000040)='ethtool\x00', 0xffffffffffffffff) sendmsg$ETHTOOL_MSG_WOL_SET(r0, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000200)={&(0x7f00000000c0)={0x2c, r1, 0x1, 0x0, 0x0, {}, [@ETHTOOL_A_WOL_HEADER={0x18, 0x1, 0x0, 0x1, [@ETHTOOL_A_HEADER_DEV_NAME={0x14, 0x2, 'veth1_to_batadv\x00'}]}]}, 0x2c}}, 0x0) [ 382.957190][T12965] sctp: [Deprecated]: syz-executor.1 (pid 12965) Use of int in max_burst socket option. [ 382.957190][T12965] Use struct sctp_assoc_value instead 12:41:45 executing program 4: r0 = socket$inet6_udplite(0xa, 0x2, 0x88) ioctl$sock_ipv6_tunnel_SIOCDEL6RD(r0, 0xc0045878, 0x0) 12:41:45 executing program 3: r0 = socket$inet6_udplite(0xa, 0x2, 0x88) ioctl$sock_ipv6_tunnel_SIOCDEL6RD(r0, 0xc0189436, 0x0) [ 383.205112][T12969] sctp: [Deprecated]: syz-executor.1 (pid 12969) Use of int in max_burst socket option. [ 383.205112][T12969] Use struct sctp_assoc_value instead 12:41:45 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:41:45 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x60000000, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:41:45 executing program 1: r0 = socket$inet_udplite(0x2, 0x2, 0x88) setsockopt$inet_udp_int(r0, 0x11, 0x1, &(0x7f0000000100)=0x2, 0x4) 12:41:45 executing program 4: r0 = socket$inet_udp(0x2, 0x2, 0x0) setsockopt$SO_TIMESTAMPING(r0, 0x1, 0x25, &(0x7f0000000040)=0x5f12, 0x4) bind$inet(r0, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x10) connect$inet(r0, &(0x7f0000000480)={0x2, 0x0, @multicast1}, 0x10) sendmmsg(r0, &(0x7f0000007fc0), 0x800001d, 0x0) recvmmsg(r0, &(0x7f0000000140)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0, 0x0) recvmmsg(r0, &(0x7f0000000040), 0x291962b, 0x45833af92e4b39ff, 0x0) setsockopt$SO_BINDTODEVICE(0xffffffffffffffff, 0x1, 0x19, 0x0, 0x0) 12:41:46 executing program 5: r0 = socket$netlink(0x10, 0x3, 0x0) connect(r0, &(0x7f0000000000)=@nl=@proc, 0x80) sendmsg$TIPC_NL_MON_PEER_GET(r0, &(0x7f00000003c0)={0x0, 0x0, &(0x7f0000000380)={&(0x7f0000000100)={0x14, 0x0, 0x4}, 0x14}}, 0x0) 12:41:46 executing program 3: r0 = socket$inet_sctp(0x2, 0x5, 0x84) getsockopt$inet_sctp_SCTP_DEFAULT_PRINFO(r0, 0x84, 0xf, 0x0, &(0x7f0000000380)) 12:41:46 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x9effffff, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:41:46 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, 0xffffffffffffffff, 0x0) preadv(0xffffffffffffffff, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:41:46 executing program 1: r0 = socket$inet_sctp(0x2, 0x5, 0x84) getsockopt$inet_sctp_SCTP_DEFAULT_PRINFO(r0, 0x84, 0xc, 0x0, &(0x7f0000000380)) 12:41:46 executing program 5: r0 = syz_open_dev$evdev(&(0x7f0000000200)='/dev/input/event#\x00', 0x0, 0x0) ioctl$EVIOCGBITKEY(r0, 0x5451, 0x0) 12:41:47 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0xf0ffffff, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:41:47 executing program 3: bpf$OBJ_GET_PROG(0x7, &(0x7f00000001c0)={&(0x7f0000000180)='./file0\x00', 0x0, 0x8}, 0x10) 12:41:47 executing program 1: keyctl$instantiate_iov(0x14, 0x0, &(0x7f0000000840)=[{0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}], 0x9, 0x0) 12:41:47 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, 0xffffffffffffffff, 0x0) preadv(0xffffffffffffffff, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:41:47 executing program 5: bpf$PROG_LOAD(0x5, &(0x7f0000000180)={0xa, 0x9, &(0x7f00000002c0)=@raw=[@jmp={0x5, 0x0, 0x0, 0x0, 0x0, 0xfffffffffffffff4}, @map_val, @jmp, @initr0, @call, @initr0], &(0x7f0000000240)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x1f) 12:41:48 executing program 4: r0 = add_key$fscrypt_v1(&(0x7f0000000000)='logon\x00', &(0x7f0000000040)={'fscrypt:'}, &(0x7f0000000080)={0x0, "51346076f23b14cac3ccaa12a8cc6d0a81d173f1e099118014b541e6b4a42f1336a09d95b6055a793e51a7cdab94bd1a400d3e5878854f7d8f08e25f944dc97e"}, 0x48, 0xffffffffffffffff) r1 = add_key$fscrypt_v1(&(0x7f0000000000)='logon\x00', &(0x7f0000000040)={'fscrypt:'}, &(0x7f0000000080)={0x0, "51346076f23b14cac3ccaa12a8cc6d0a81d173f1e099118014b541e6b4a42f1336a09d95b6055a793e51a7cdab94bd1a400d3e5878854f7d8f08e25f944dc97e"}, 0x48, 0xffffffffffffffff) keyctl$KEYCTL_MOVE(0x1e, r0, r1, 0x0, 0x0) 12:41:48 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0xffffff7f, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:41:48 executing program 3: r0 = openat$capi20(0xffffffffffffff9c, &(0x7f0000000040)='/dev/capi20\x00', 0x0, 0x0) ioctl$CAPI_GET_FLAGS(r0, 0x80044323, &(0x7f0000000000)) 12:41:48 executing program 1: bpf$MAP_CREATE(0x0, &(0x7f0000000080)={0xa, 0x0, 0x0, 0x0, 0x104}, 0x40) 12:41:48 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, 0xffffffffffffffff, 0x0) preadv(0xffffffffffffffff, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:41:48 executing program 5: syz_open_procfs(0xffffffffffffffff, &(0x7f0000000100)='fd/3\x00') [ 386.844973][ T3114] ieee802154 phy0 wpan0: encryption failed: -22 [ 386.851623][ T3114] ieee802154 phy1 wpan1: encryption failed: -22 12:41:49 executing program 1: bpf$BPF_BTF_LOAD(0x12, &(0x7f00000002c0)={&(0x7f0000000040)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x18, 0x18, 0x2, [@struct={0x0, 0x1, 0x0, 0x4, 0x0, 0x0, [{0x0, 0x1}]}]}}, &(0x7f0000000200)=""/141, 0x32, 0x8d, 0x1}, 0x20) 12:41:49 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0xffffff9e, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:41:49 executing program 5: r0 = openat$apparmor_task_current(0xffffffffffffff9c, &(0x7f00000000c0)='/proc/self/attr/current\x00', 0x2, 0x0) write$apparmor_current(r0, &(0x7f0000000240)=@hat={'changehat ', 0x0, 0x5e, ['/dev/dlm-monitor\x00', '%q+>\x8d\xa8\xe4', '\'&\x00', '/dev/dlm-monitor\x00', '/dev/dlm-monitor\x00', '$-!]-##^\x00', '\'{\x00\xb5u\xd1\xde\xde\xe4\xae\xe3X\x9f\xff\x98\xe94\x7f\xd9.\x836\x13\x8d2\x10J\xdfl\x01\xa1\x83\\\xe0l\xa9+\x88\x1c\xafbK{\xd8\x1ci4l\xef\xdddk\xf5I%ggV\xd2I\x0f\xfb-\x12\xa1\x96\xf7,\x86\xdb\xd9\xf6\a>h\x83\x97\x1b\xaa\x9b@\x93\x1a\xbd%;QZx\x85h$\x15o\xf6A\xe6Y\al\xe5\xa3\x9a\xb19\xe9X?\x9c`+\xc2\x17\x10]\ny#D\x96\x9amRM(\xc9\xc6\x18D;l\xf5G\xb0^\x8b\xf8\xe1\xf5\x92\x83\xb7\x1b\xe6j\x83n']}, 0xfffffffffffffeac) 12:41:49 executing program 3: r0 = socket$can_raw(0x1d, 0x3, 0x1) recvmsg$can_raw(r0, &(0x7f00000006c0)={0x0, 0x0, &(0x7f0000000500)=[{0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}], 0x9}, 0x0) 12:41:49 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) socket(0x1, 0x803, 0x0) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8}]}, 0x40}}, 0x0) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r1, 0x0) preadv(r1, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:41:49 executing program 1: r0 = add_key$fscrypt_v1(&(0x7f0000000000)='logon\x00', &(0x7f0000000040)={'fscrypt:'}, &(0x7f0000000080)={0x0, "51346076f23b14cac3ccaa12a8cc6d0a81d173f1e099118014b541e6b4a42f1336a09d95b6055a793e51a7cdab94bd1a400d3e5878854f7d8f08e25f944dc97e"}, 0x48, 0xffffffffffffffff) keyctl$invalidate(0x1d, r0) 12:41:50 executing program 4: socketpair(0x22, 0x0, 0x6, &(0x7f0000000000)) 12:41:50 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0xfffffff0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:41:50 executing program 5: openat$snapshot(0xffffffffffffff9c, &(0x7f0000000040)='/dev/snapshot\x00', 0xc4100, 0x0) 12:41:50 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) socket(0x1, 0x803, 0x0) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8}]}, 0x40}}, 0x0) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r1, 0x0) preadv(r1, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:41:50 executing program 1: syz_open_dev$ndb(&(0x7f0000000000)='/dev/nbd#\x00', 0x0, 0x1) 12:41:51 executing program 4: r0 = syz_open_dev$video4linux(&(0x7f0000000000)='/dev/v4l-subdev#\x00', 0x0, 0x0) ioctl$VIDIOC_TRY_DECODER_CMD(r0, 0xc0485661, &(0x7f0000000040)={0x0, 0x0, @raw_data}) [ 388.911465][ T55] Bluetooth: hci2: command 0x0406 tx timeout 12:41:51 executing program 5: r0 = socket$isdn_base(0x22, 0x3, 0x0) ioctl$IMGETVERSION(r0, 0x80044942, &(0x7f0000000040)) 12:41:51 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x10, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:41:51 executing program 3: syz_open_dev$binderN(&(0x7f0000000000)='/dev/binder#\x00', 0x0, 0x0) syz_open_procfs(0xffffffffffffffff, 0x0) 12:41:51 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) socket(0x1, 0x803, 0x0) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8}]}, 0x40}}, 0x0) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r1, 0x0) preadv(r1, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:41:51 executing program 1: r0 = syz_open_dev$evdev(&(0x7f0000000200)='/dev/input/event#\x00', 0x0, 0x0) ioctl$EVIOCGBITKEY(r0, 0x80084502, &(0x7f0000000240)=""/141) 12:41:51 executing program 4: r0 = add_key$fscrypt_v1(&(0x7f0000000000)='logon\x00', &(0x7f0000000040)={'fscrypt:'}, &(0x7f0000000080)={0x0, "51346076f23b14cac3ccaa12a8cc6d0a81d173f1e099118014b541e6b4a42f1336a09d95b6055a793e51a7cdab94bd1a400d3e5878854f7d8f08e25f944dc97e"}, 0x48, 0xffffffffffffffff) keyctl$revoke(0x3, r0) add_key$fscrypt_v1(&(0x7f0000000000)='logon\x00', &(0x7f0000000040)={'fscrypt:'}, &(0x7f0000000080)={0x0, "51346076f23b14cac3ccaa12a8cc6d0a81d173f1e099118014b541e6b4a42f1336a09d95b6055a793e51a7cdab94bd1a400d3e5878854f7d8f08e25f944dc97e"}, 0x48, 0xffffffffffffffff) keyctl$invalidate(0xb, r0) 12:41:52 executing program 3: r0 = syz_open_dev$evdev(&(0x7f0000000200)='/dev/input/event#\x00', 0x0, 0x0) ioctl$EVIOCGBITKEY(r0, 0xc0189436, &(0x7f0000000240)=""/141) 12:41:52 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0xc0, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:41:52 executing program 5: r0 = syz_open_dev$evdev(&(0x7f0000000200)='/dev/input/event#\x00', 0x0, 0x0) ioctl$EVIOCGLED(r0, 0x80404519, &(0x7f0000000000)=""/135) 12:41:52 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) getsockname$packet(0xffffffffffffffff, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r1}]}, 0x40}}, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:41:52 executing program 1: bpf$MAP_CREATE(0x0, &(0x7f0000000080)={0x16, 0x0, 0x6, 0xf16b, 0x4}, 0x40) 12:41:52 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0xec1, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:41:52 executing program 4: r0 = openat$vhost_vsock(0xffffffffffffff9c, &(0x7f0000001480)='/dev/vhost-vsock\x00', 0x2, 0x0) ioctl$VHOST_SET_OWNER(r0, 0xaf01, 0x0) ioctl$VHOST_SET_MEM_TABLE(r0, 0x4008af03, 0x0) 12:41:52 executing program 3: msgctl$MSG_INFO(0x0, 0xc, &(0x7f0000000300)=""/4096) 12:41:52 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) getsockname$packet(0xffffffffffffffff, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r1}]}, 0x40}}, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:41:53 executing program 5: syz_open_dev$ndb(&(0x7f00000005c0)='/dev/nbd#\x00', 0x0, 0x0) 12:41:53 executing program 1: r0 = add_key$fscrypt_v1(&(0x7f0000000000)='logon\x00', &(0x7f0000000040)={'fscrypt:'}, &(0x7f0000000080)={0x0, "51346076f23b14cac3ccaa12a8cc6d0a81d173f1e099118014b541e6b4a42f1336a09d95b6055a793e51a7cdab94bd1a400d3e5878854f7d8f08e25f944dc97e"}, 0x48, 0xffffffffffffffff) keyctl$update(0x2, r0, &(0x7f0000000100)=':', 0x1) 12:41:53 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x33fe0, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:41:53 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x200001cc, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:41:53 executing program 3: r0 = signalfd(0xffffffffffffffff, &(0x7f00000000c0), 0x8) io_uring_setup(0x557, &(0x7f00000001c0)={0x0, 0x0, 0x20, 0x0, 0x0, 0x0, r0}) 12:41:53 executing program 4: syz_mount_image$squashfs(0x0, &(0x7f00000000c0)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) syz_mount_image$ufs(&(0x7f00000002c0)='ufs\x00', &(0x7f0000000300)='./file0/file0\x00', 0x0, 0x0, &(0x7f0000000600), 0x1000001, &(0x7f0000000740)={[], [{@euid_lt={'euid<'}}]}) 12:41:53 executing program 1: keyctl$revoke(0x3, 0x0) keyctl$invalidate(0x11, 0x0) 12:41:53 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) getsockname$packet(0xffffffffffffffff, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r1}]}, 0x40}}, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:41:53 executing program 5: r0 = socket$inet6_sctp(0xa, 0x5, 0x84) setsockopt$inet6_IPV6_HOPOPTS(r0, 0x29, 0x36, &(0x7f0000000580), 0x8) 12:41:54 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x7ffff000, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) [ 392.208367][T13164] ufs: Invalid option: "euid<00000000000000000000" or missing value [ 392.216786][T13164] ufs: wrong mount options 12:41:54 executing program 4: r0 = syz_open_dev$evdev(&(0x7f0000000200)='/dev/input/event#\x00', 0x0, 0x0) ioctl$EVIOCGBITKEY(r0, 0x80404507, &(0x7f0000000240)=""/141) 12:41:54 executing program 3: r0 = socket$inet6_sctp(0xa, 0x5, 0x84) setsockopt$inet6_buf(r0, 0x29, 0x14, 0x0, 0x0) 12:41:54 executing program 1: r0 = add_key$fscrypt_v1(&(0x7f0000000000)='logon\x00', &(0x7f0000000040)={'fscrypt:'}, &(0x7f0000000080)={0x0, "51346076f23b14cac3ccaa12a8cc6d0a81d173f1e099118014b541e6b4a42f1336a09d95b6055a793e51a7cdab94bd1a400d3e5878854f7d8f08e25f944dc97e"}, 0x48, 0xffffffffffffffff) keyctl$invalidate(0x16, r0) 12:41:54 executing program 2: pipe(&(0x7f0000000100)) r0 = socket(0x1, 0x803, 0x0) getsockname$packet(r0, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r1}]}, 0x40}}, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:41:54 executing program 5: r0 = syz_open_dev$evdev(&(0x7f0000000200)='/dev/input/event#\x00', 0x0, 0x0) ioctl$EVIOCGBITKEY(r0, 0x40084503, 0x0) 12:41:55 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0xfffffdef, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:41:55 executing program 3: r0 = openat$autofs(0xffffffffffffff9c, &(0x7f00000001c0)='/dev/autofs\x00', 0x0, 0x0) fgetxattr(r0, &(0x7f0000000200)=@random={'security.', '\x00'}, 0x0, 0x0) 12:41:55 executing program 1: r0 = socket$can_raw(0x1d, 0x3, 0x1) getsockopt$CAN_RAW_JOIN_FILTERS(r0, 0x65, 0x6, &(0x7f0000000000), &(0x7f0000000040)=0x4) 12:41:55 executing program 5: bpf$PROG_LOAD(0x23, &(0x7f0000008640)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 12:41:55 executing program 4: r0 = openat$capi20(0xffffffffffffff9c, &(0x7f0000000040)='/dev/capi20\x00', 0x0, 0x0) ioctl$CAPI_MANUFACTURER_CMD(r0, 0xc0104320, &(0x7f0000000080)={0xa, &(0x7f0000000180)="1e"}) 12:41:55 executing program 2: pipe(&(0x7f0000000100)) r0 = socket(0x1, 0x803, 0x0) getsockname$packet(r0, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r1}]}, 0x40}}, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:41:55 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0xb, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:41:56 executing program 1: keyctl$revoke(0x3, 0x0) keyctl$invalidate(0x7, 0x0) 12:41:56 executing program 3: r0 = add_key$fscrypt_v1(&(0x7f0000000000)='logon\x00', &(0x7f0000000040)={'fscrypt:'}, &(0x7f0000000080)={0x0, "51346076f23b14cac3ccaa12a8cc6d0a81d173f1e099118014b541e6b4a42f1336a09d95b6055a793e51a7cdab94bd1a400d3e5878854f7d8f08e25f944dc97e"}, 0x48, 0xffffffffffffffff) keyctl$update(0x2, r0, 0x0, 0x0) 12:41:56 executing program 5: r0 = openat$capi20(0xffffffffffffff9c, &(0x7f0000000040)='/dev/capi20\x00', 0x0, 0x0) ioctl$CAPI_MANUFACTURER_CMD(r0, 0x80044326, &(0x7f0000000140)={0x0, 0x0}) 12:41:56 executing program 2: pipe(&(0x7f0000000100)) r0 = socket(0x1, 0x803, 0x0) getsockname$packet(r0, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r1}]}, 0x40}}, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:41:56 executing program 4: r0 = socket$can_raw(0x1d, 0x3, 0x1) ioctl$sock_ifreq(r0, 0x8921, &(0x7f0000000000)={'veth0_virt_wifi\x00', @ifru_hwaddr=@dev}) 12:41:56 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x10, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:41:57 executing program 1: r0 = socket$inet6_sctp(0xa, 0x5, 0x84) setsockopt$inet6_int(r0, 0x29, 0x31, &(0x7f0000000000), 0x4) 12:41:57 executing program 3: r0 = socket$can_raw(0x1d, 0x3, 0x1) recvmmsg(r0, &(0x7f0000002fc0)=[{{0x0, 0x0, 0x0}}], 0x1, 0x12022, 0x0) 12:41:57 executing program 5: r0 = add_key$fscrypt_v1(&(0x7f0000000000)='logon\x00', &(0x7f0000000040)={'fscrypt:'}, &(0x7f0000000080)={0x0, "51346076f23b14cac3ccaa12a8cc6d0a81d173f1e099118014b541e6b4a42f1336a09d95b6055a793e51a7cdab94bd1a400d3e5878854f7d8f08e25f944dc97e"}, 0x48, 0xffffffffffffffff) r1 = add_key$fscrypt_v1(&(0x7f0000000180)='logon\x00', &(0x7f0000000040)={'fscrypt:'}, &(0x7f0000000080)={0x0, "51346076f23b14cac3ccaa12a8cc6d0a81d173f1e099118014b541e6b4a42f1336a09d95b6055a793e51a7cdab94bd1a400d3e5878854f7d8f08e25f944dc97e"}, 0x48, 0xfffffffffffffffd) keyctl$link(0x8, r1, 0xffffffffffffffff) keyctl$invalidate(0x15, r0) 12:41:57 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:41:57 executing program 4: r0 = openat$drirender128(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/dri/renderD128\x00', 0x0, 0x0) ioctl$DRM_IOCTL_NEW_CTX(r0, 0x40086425, &(0x7f0000000100)) 12:41:57 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x302, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:41:57 executing program 1: r0 = syz_open_dev$evdev(&(0x7f0000000200)='/dev/input/event#\x00', 0x0, 0x0) ioctl$EVIOCGBITSW(r0, 0x80404525, &(0x7f0000000240)=""/67) 12:41:58 executing program 3: r0 = socket$inet6(0xa, 0x3, 0x9) getsockopt$IP6T_SO_GET_INFO(r0, 0x29, 0x40, &(0x7f0000000000)={'filter\x00'}, &(0x7f0000000080)=0x54) 12:41:58 executing program 5: syz_io_uring_setup(0xdfa, &(0x7f0000000000), &(0x7f0000ffd000/0x1000)=nil, &(0x7f0000ffd000/0x1000)=nil, &(0x7f0000000080), &(0x7f00000000c0)) 12:41:58 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:41:58 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x305, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:41:58 executing program 4: add_key$fscrypt_v1(&(0x7f0000000040)='logon\x00', 0x0, 0x0, 0x0, 0xffffffffffffffff) fork() clock_gettime(0x0, &(0x7f0000001080)) 12:41:58 executing program 1: r0 = socket$inet6_sctp(0xa, 0x5, 0x84) getsockopt$inet_sctp6_SCTP_SOCKOPT_CONNECTX3(r0, 0x84, 0x6f, &(0x7f0000000100)={0x0, 0x1c, &(0x7f0000000040)=[@in6={0xa, 0x0, 0x0, @local, 0x7}]}, &(0x7f0000000140)=0x10) 12:41:58 executing program 3: r0 = socket$pptp(0x18, 0x1, 0x2) bind$pptp(r0, &(0x7f0000000080)={0x18, 0x2, {0x0, @private}}, 0x1e) 12:41:58 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:41:59 executing program 5: bpf$PROG_LOAD(0x22, &(0x7f0000008640)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 12:41:59 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x306, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:41:59 executing program 2: pipe(0x0) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:41:59 executing program 3: r0 = openat$capi20(0xffffffffffffff9c, &(0x7f0000000040)='/dev/capi20\x00', 0x0, 0x0) ioctl$CAPI_MANUFACTURER_CMD(r0, 0xc0404309, &(0x7f0000000140)={0x0, 0x0}) 12:41:59 executing program 5: r0 = syz_init_net_socket$bt_l2cap(0x1f, 0x2, 0x0) setsockopt$bt_l2cap_L2CAP_LM(r0, 0x6, 0x3, &(0x7f0000000000)=0x14, 0x4) 12:42:00 executing program 4: bpf$MAP_CREATE(0x0, &(0x7f0000000080)={0x16, 0x1, 0x0, 0xf16b}, 0x40) 12:42:00 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x308, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:00 executing program 1: syz_open_procfs(0xffffffffffffffff, &(0x7f0000000000)='mountinfo\x00') 12:42:00 executing program 2: pipe(0x0) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:00 executing program 3: r0 = openat$capi20(0xffffffffffffff9c, &(0x7f0000000040)='/dev/capi20\x00', 0x0, 0x0) ioctl$CAPI_MANUFACTURER_CMD(r0, 0x80044327, &(0x7f0000000140)={0x0, 0x0}) 12:42:00 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x309, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:00 executing program 4: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000001100)={&(0x7f0000000000)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0xc, 0xc, 0x2, [@fwd]}}, &(0x7f0000000100)=""/4096, 0x26, 0x1000, 0x1}, 0x20) 12:42:00 executing program 5: r0 = socket$inet_smc(0x2b, 0x1, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x3, &(0x7f0000000080)=0x8000, 0x4) 12:42:00 executing program 1: seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x0, &(0x7f0000000080)={0x2, &(0x7f0000000040)=[{0x28}, {0x6}]}) 12:42:00 executing program 3: r0 = socket$netlink(0x10, 0x3, 0x0) getsockopt$sock_timeval(r0, 0x1, 0xa, 0x0, &(0x7f0000000080)) 12:42:01 executing program 2: pipe(0x0) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:01 executing program 5: getresgid(&(0x7f0000000640), &(0x7f0000002900), &(0x7f0000002940)) 12:42:01 executing program 1: r0 = syz_open_dev$usbmon(&(0x7f00000000c0)='/dev/usbmon#\x00', 0x0, 0x0) ioctl$MON_IOCX_GET(r0, 0x40189206, &(0x7f0000001780)={0x0, 0x0}) syz_mount_image$vfat(&(0x7f00000002c0)='vfat\x00', 0x0, 0x0, 0x0, 0x0, 0x0, &(0x7f0000001580)) 12:42:01 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x30a, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:01 executing program 4: mlock2(&(0x7f0000ffb000/0x2000)=nil, 0x2000, 0x0) msync(&(0x7f0000ffc000/0x4000)=nil, 0x4000, 0x6) 12:42:01 executing program 3: r0 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000000)='/dev/ptmx\x00', 0x0, 0x0) ioctl$TIOCGPGRP(r0, 0x5409, &(0x7f0000000400)) 12:42:02 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x0, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:02 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) setsockopt$netlink_NETLINK_ADD_MEMBERSHIP(r0, 0x10e, 0x2, &(0x7f0000000440)=0x10, 0x4) 12:42:02 executing program 5: r0 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000000)='/dev/ptmx\x00', 0x0, 0x0) ioctl$TIOCGPGRP(r0, 0x540c, 0x0) 12:42:02 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x30b, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:02 executing program 4: r0 = syz_open_dev$usbmon(&(0x7f00000000c0)='/dev/usbmon#\x00', 0x0, 0x0) ioctl$MON_IOCX_MFETCH(r0, 0xc020660b, 0x0) 12:42:02 executing program 3: capset(&(0x7f0000000080)={0x20071026}, &(0x7f0000000140)) r0 = add_key$keyring(&(0x7f0000000080)='keyring\x00', &(0x7f00000000c0)={'syz', 0x1}, 0x0, 0x0, 0xfffffffffffffffe) keyctl$restrict_keyring(0x1d, r0, 0x0, 0x0) 12:42:02 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x0, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:03 executing program 1: r0 = memfd_create(&(0x7f0000000140)='#.\x851:)\x00', 0x0) prctl$PR_SET_MM_EXE_FILE(0x23, 0xd, r0) [ 400.930149][T13341] capability: warning: `syz-executor.3' uses deprecated v2 capabilities in a way that may be insecure 12:42:03 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x310, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:03 executing program 5: r0 = syz_open_dev$usbmon(&(0x7f00000000c0)='/dev/usbmon#\x00', 0x0, 0x0) ioctl$MON_IOCX_MFETCH(r0, 0x4020940d, 0x0) 12:42:03 executing program 3: r0 = socket$inet_udp(0x2, 0x2, 0x0) ioctl$sock_ifreq(r0, 0x8901, &(0x7f0000000080)={'bridge_slave_1\x00', @ifru_names}) 12:42:03 executing program 4: mlock2(&(0x7f0000ffc000/0x4000)=nil, 0x4000, 0x0) semctl$SEM_STAT_ANY(0x0, 0x0, 0x14, &(0x7f0000000000)=""/101) munlock(&(0x7f0000ffc000/0x2000)=nil, 0x2000) 12:42:03 executing program 1: r0 = socket$inet_udp(0x2, 0x2, 0x0) setsockopt$SO_TIMESTAMP(r0, 0x1, 0x23, &(0x7f0000000040)=0x1, 0x4) 12:42:03 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x311, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:03 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x0, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:04 executing program 3: r0 = openat$sysctl(0xffffffffffffff9c, &(0x7f0000000080)='/proc/sys/vm/compact_memory\x00', 0x1, 0x0) write$sysctl(r0, 0x0, 0x0) ioctl$ifreq_SIOCGIFINDEX_team(0xffffffffffffffff, 0x8933, 0x0) ioctl$ifreq_SIOCGIFINDEX_team(0xffffffffffffffff, 0x8933, 0x0) sendmsg$ETHTOOL_MSG_FEATURES_GET(0xffffffffffffffff, 0x0, 0x85) 12:42:04 executing program 5: clone(0x80a20100, 0x0, 0x0, 0x0, 0x0) 12:42:04 executing program 4: syz_mount_image$squashfs(&(0x7f0000000140)='squashfs\x00', &(0x7f00000001c0)='./file0\x00', 0x0, 0x5, &(0x7f00000003c0)=[{&(0x7f0000000200)="6137d4bef13aba3f9807b8551ef8946f340e483e25f241c5b6b730581059f1a28c7b4963a6a6ccb835832049e2f30695dacdb406f4242924c8b35f6395f46843f84a0a67f425e60df2bbba1089", 0xfffffffffffffece, 0x1f}, {&(0x7f0000000280)="4756a6b407ce73f5ae627236cb0c1eb94e82a4ffa41ecfd59aa14076e13c206b70725871baf2b1f544bb7f68bdb3894a71a55808", 0x34, 0x8}, {&(0x7f00000004c0)="867eca1e797505aa45ee446eb4e73e631a8c71cadac2fb44bde96e9f93de74a78a77e34be72b21209e9d64c5c4247ed4cd78a488fcb5c42f2d91ebb8c48c02d0bab8a1e177f43d81afe3ae8081ae8dd25982e924fb3939cc19b9fc1be30b172e7dd8079c107538d316f6bdb3409d7b1cf084a1b00302b37c24b9da8f31b50157e3eda7d2a7e08266620f0c8209847b00a467e55a2b7dc09659f5080601b206a7abf2133e5f646f1403954100d713bbad4a750efe11a5ff0d739d24e4433d211141", 0x102}, {&(0x7f00000002c0)="fd461af362e45aae66079ba793c55ea9a7b1ec0c479edea3dbfe2c1224808714c901f5af845acacb51e91b0ce97a8f0c3f3350ff088b7929c6bfde2df2ced723d9e43ca51bb36274c80f05c6ec44d81518d5facb0ff26cae0201fe391add3513be6a4dfed418badbf42e7018fd19ae0e8aee101f98a11aa683bc5d6e4e861567d150f3df237253b09b4b8664910facfdd417c155f68c8ced0916a487ee999b1d73682d21dd33d8b22e9d47a300df47", 0xaf, 0x2}, {&(0x7f00000005c0)="7a2c973615c4b69bb5b14e9a7b0e2e01fe339b8af59be478825664fb0ef93f63d918baa7fa65095cd0c625e8720409bfbffd4db8abcd28f4e14b865b86924b312d3d685b18b3c3b97bc4bac071467a12e0027c436a5524c844b2a891b64e02ab2280a1a7cc525ec31d6f02995379889101854aa7b7629645ca6908cf97cf7d3861beef7b0de4c049de2400a777494a13f36e4fadccd0e9addf60df3f4bab347bd162a80f65ab7bf4124b0bc6386c02dbff8a685184a339bffc05e9590c8e74b655db4665a0c98ab80b6004cea990885654a4f1f561b577", 0xd7, 0x7f}], 0x20000, &(0x7f00000006c0)={[{'squashfs\x00'}, {'#^:(!'}, {'smackfsdef'}, {'smackfsdef'}, {'tmpfs\x00'}], [{@subj_user={'subj_user', 0x3d, 'smackfsdef'}}]}) r0 = openat$full(0xffffffffffffff9c, &(0x7f0000000000)='/dev/full\x00', 0x0, 0x0) read$FUSE(r0, &(0x7f0000000cc0)={0x2020}, 0x2020) 12:42:04 executing program 1: openat$tun(0xffffffffffffff9c, &(0x7f0000000040)='/dev/net/tun\x00', 0x0, 0x0) select(0x40, &(0x7f0000000000)={0x9}, 0x0, 0x0, 0x0) 12:42:05 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x0, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:05 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x0, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:05 executing program 5: seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x0, &(0x7f0000000080)={0x2, &(0x7f0000000040)=[{0x84}, {0x6}]}) 12:42:05 executing program 1: r0 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000000)='/dev/ptmx\x00', 0x0, 0x0) ioctl$TIOCGPGRP(r0, 0x545d, 0x0) [ 403.992633][ T33] audit: type=1326 audit(1617712926.175:15): auid=4294967295 uid=0 gid=0 ses=4294967295 subj==unconfined pid=13396 comm="syz-executor.5" exe="/root/syz-executor.5" sig=31 arch=40000003 syscall=240 compat=1 ip=0xf7fc5549 code=0x0 12:42:06 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x2, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:06 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x0, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:06 executing program 5: r0 = socket$netlink(0x10, 0x3, 0x0) getsockopt$sock_timeval(r0, 0x1, 0x30, 0x0, &(0x7f0000000080)) 12:42:06 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) clock_gettime(0x0, &(0x7f00000057c0)={0x0, 0x0}) recvmmsg(r0, &(0x7f00000055c0)=[{{0x0, 0x0, &(0x7f0000002240)=[{0x0}, {&(0x7f0000001f80)=""/135, 0x87}], 0x2}}, {{&(0x7f00000022c0)=@can, 0x80, &(0x7f00000035c0)=[{0x0}], 0x1}}, {{0x0, 0x0, 0x0}}, {{0x0, 0x0, 0x0}}], 0x4, 0x10000, &(0x7f0000005800)={0x0, r1+10000000}) syz_genetlink_get_family_id$batadv(&(0x7f0000001ac0)='batadv\x00', r0) 12:42:06 executing program 1: prctl$PR_SET_DUMPABLE(0x17, 0x400000) 12:42:07 executing program 4: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFNL_MSG_COMPAT_GET(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000080)={0x2c, 0x0, 0xb, 0x3, 0x0, 0x0, {0x3}, [@NFTA_COMPAT_TYPE={0x8, 0x3, 0x1, 0x0, 0x1}, @NFTA_COMPAT_NAME={0x5, 0x1, '\x00'}, @NFTA_COMPAT_REV={0x8, 0x2, 0x1, 0x0, 0x2}]}, 0x2c}}, 0x0) 12:42:07 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x3, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:07 executing program 5: r0 = socket$netlink(0x10, 0x3, 0x0) getsockopt$sock_timeval(r0, 0x1, 0xd, 0x0, &(0x7f0000000080)) 12:42:07 executing program 1: r0 = syz_open_dev$usbmon(&(0x7f00000000c0)='/dev/usbmon#\x00', 0x0, 0x0) ioctl$MON_IOCX_MFETCH(r0, 0xc0109207, &(0x7f0000000080)={0x0, 0x0, 0x61f}) 12:42:07 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x0, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:07 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x4, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:07 executing program 4: r0 = socket(0x2, 0xa, 0x0) sendmsg$ETHTOOL_MSG_EEE_SET(r0, &(0x7f00000002c0)={&(0x7f0000000100), 0xc, &(0x7f0000000280)={0x0}}, 0x0) 12:42:08 executing program 5: r0 = syz_open_dev$usbmon(&(0x7f00000000c0)='/dev/usbmon#\x00', 0x0, 0x0) ioctl$MON_IOCX_MFETCH(r0, 0x9205, 0x0) 12:42:08 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) socket(0x1, 0x803, 0x0) getsockname$packet(0xffffffffffffffff, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r1}]}, 0x40}}, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:08 executing program 1: socketpair$nbd(0x1, 0x1, 0x0, &(0x7f0000001100)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$sock_SIOCGIFCONF(r0, 0x8912, &(0x7f0000000380)=@buf) 12:42:08 executing program 3: prctl$PR_SET_DUMPABLE(0x19, 0x544000) [ 406.245997][T13441] syz-executor.4 uses obsolete (PF_INET,SOCK_PACKET) 12:42:08 executing program 4: r0 = socket$inet_udp(0x2, 0x2, 0x0) ioctl$sock_ifreq(r0, 0x8941, 0x0) 12:42:08 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x5, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:08 executing program 5: capset(&(0x7f0000000080)={0x20071026}, &(0x7f0000000140)={0x0, 0x0, 0x7fff}) capset(&(0x7f0000000000)={0x20071026}, &(0x7f0000000040)={0x0, 0x0, 0x0, 0x0, 0x0, 0x3}) 12:42:09 executing program 3: capset(&(0x7f0000000080)={0x20071026}, &(0x7f0000000140)) semctl$IPC_STAT(0x0, 0x0, 0x2, 0x0) 12:42:09 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) socket(0x1, 0x803, 0x0) getsockname$packet(0xffffffffffffffff, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r1}]}, 0x40}}, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:09 executing program 1: pipe(&(0x7f0000000080)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$SG_NEXT_CMD_LEN(r1, 0x5452, &(0x7f0000000000)=0xfdfdffff) read$FUSE(r0, &(0x7f00000000c0)={0x2020}, 0x2020) write$FUSE_LK(r1, &(0x7f0000002100)={0x28}, 0x28) 12:42:09 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x6, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:09 executing program 4: r0 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000000)='/dev/ptmx\x00', 0x0, 0x0) ioctl$TIOCGPGRP(r0, 0x5412, &(0x7f0000000400)) 12:42:09 executing program 5: seccomp$SECCOMP_SET_MODE_FILTER_LISTENER(0x1, 0x0, &(0x7f0000000080)={0x2, &(0x7f0000000040)=[{0x80}, {0x6}]}) 12:42:09 executing program 3: r0 = socket$netlink(0x10, 0x3, 0x0) getsockopt$sock_timeval(r0, 0x1, 0x26, 0x0, &(0x7f0000000080)) 12:42:09 executing program 1: pselect6(0x0, 0x0, 0x0, 0x0, &(0x7f0000004500)={0x0, 0x989680}, 0x0) 12:42:10 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x7, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:10 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) socket(0x1, 0x803, 0x0) getsockname$packet(0xffffffffffffffff, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r1}]}, 0x40}}, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:10 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x0) getsockopt$sock_timeval(r0, 0x1, 0xe, 0x0, &(0x7f0000000080)) [ 407.965179][ T33] audit: type=1326 audit(1617712930.155:16): auid=4294967295 uid=0 gid=0 ses=4294967295 subj==unconfined pid=13480 comm="syz-executor.5" exe="/root/syz-executor.5" sig=31 arch=40000003 syscall=240 compat=1 ip=0xf7fc5549 code=0x0 12:42:10 executing program 3: mkdirat$cgroup_root(0xffffffffffffff9c, &(0x7f0000000000)='./cgroup.net/syz1\x00', 0x1ff) setpriority(0x2, 0xffffffffffffffff, 0xffff) 12:42:10 executing program 5: r0 = syz_open_dev$usbmon(&(0x7f00000000c0)='/dev/usbmon#\x00', 0x0, 0x8940) ioctl$MON_IOCX_MFETCH(r0, 0xc0109207, &(0x7f0000000080)={0x0, 0x0, 0x61f}) 12:42:10 executing program 1: syz_mount_image$fuse(0x0, &(0x7f0000000780)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) setxattr$trusted_overlay_origin(&(0x7f0000000500)='./file0\x00', &(0x7f0000000540)='trusted.overlay.origin\x00', 0x0, 0x0, 0x0) 12:42:10 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x8, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:10 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, 0x0, &(0x7f0000000380)) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8}]}, 0x40}}, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:11 executing program 4: syz_mount_image$tmpfs(0x0, &(0x7f0000000340)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38/\x00', 0x0, 0x0, 0x0, 0x0, 0x0) 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) clone(0x3000000a0160101, 0x0, 0x0, 0x0, 0x0) mount$overlay(0x0, &(0x7f00000000c0)='\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38/\x00', &(0x7f0000000000)='overlay\x00', 0x0, &(0x7f00000003c0)={[{@lowerdir={'lowerdir', 0x3d, '\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38/'}}, {@workdir={'workdir', 0x3d, '\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38/'}}, {@upperdir={'upperdir', 0x3d, '\x13\x13w\xc5\xfc5\xd4\x14T\xd5\xd4\x1d)\xad\x1a`)Y\x81F\xe6\xbe\x16nA\xad\r\xbd@T\x03<\x9f3\xbb\xda\x82$\xa2\xf3\xd7r\xe7cnH\xb3<\xbfp\x83r\xe8\xf1\xb9\x93>\xc5\x12wC\xbe\"\x06 \x9e\xf0-\xf9\xcb\xf2\xf6\xe8\x80\xd38/'}}]}) clone(0x0, &(0x7f0000000140)="3d84774e3e9b13dcf8282891b94e337ccaadf48663daf4b1469e5012e9c324bca958beffcc472bcf29e0386bf9d6ebdd848ced5bb9050b8feecc1724d0e3d8f8", &(0x7f0000000040), &(0x7f0000000080), 0x0) 12:42:11 executing program 3: syz_mount_image$btrfs(&(0x7f0000000400)='btrfs\x00', &(0x7f0000000700)='./file0\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f0000002000)={[{@subvolid={'subvolid'}}]}) 12:42:11 executing program 5: r0 = shmget(0x3, 0x1000, 0x200, &(0x7f0000ffc000/0x1000)=nil) shmat(r0, &(0x7f0000ffd000/0x2000)=nil, 0xc000) r1 = shmget(0x3, 0x1000, 0x0, &(0x7f0000ffc000/0x1000)=nil) shmctl$IPC_RMID(r1, 0x0) 12:42:11 executing program 1: prctl$PR_SET_DUMPABLE(0x8, 0x400000) 12:42:11 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x9, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) [ 409.301392][T13513] overlayfs: workdir and upperdir must be separate subtrees 12:42:11 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, 0x0, &(0x7f0000000380)) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8}]}, 0x40}}, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:11 executing program 4: pselect6(0x40, &(0x7f0000000180), &(0x7f00000001c0)={0x1}, 0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000280), 0x8}) 12:42:11 executing program 3: r0 = add_key$keyring(&(0x7f0000000040)='keyring\x00', &(0x7f0000000080)={'syz', 0x1}, 0x0, 0x0, 0xfffffffffffffffb) r1 = add_key$keyring(&(0x7f0000000000)='keyring\x00', &(0x7f00000000c0)={'syz', 0x1}, 0x0, 0x0, r0) keyctl$chown(0x3, r1, 0xffffffffffffffff, 0x0) r2 = add_key$keyring(&(0x7f0000000000)='keyring\x00', &(0x7f00000000c0)={'syz', 0x1}, 0x0, 0x0, 0xfffffffffffffffc) request_key(&(0x7f00000001c0)='keyring\x00', &(0x7f0000000280)={'syz', 0x1}, 0x0, r2) 12:42:12 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, 0x0, &(0x7f0000000380)) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8}]}, 0x40}}, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:12 executing program 5: capset(&(0x7f0000000080)={0x20071026}, &(0x7f0000000140)) fanotify_init(0x0, 0x0) 12:42:12 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0xa, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:12 executing program 1: r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000200)='/proc/tty/ldiscs\x00', 0x0, 0x0) ioctl$SG_NEXT_CMD_LEN(r0, 0x5460, &(0x7f0000000240)) 12:42:12 executing program 3: r0 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) sendmsg$NL802154_CMD_SET_CCA_MODE(r0, &(0x7f0000000340)={0x0, 0x0, &(0x7f0000000300)={0x0}}, 0x68000041) 12:42:12 executing program 4: capset(&(0x7f0000000080)={0x20071026}, &(0x7f0000000140)) 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_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) 12:42:13 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, 0x0) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:13 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0xf, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:13 executing program 5: prctl$PR_SET_MM(0x8, 0xa, &(0x7f0000ffd000/0x1000)=nil) 12:42:13 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$MPTCP_PM_CMD_ADD_ADDR(r0, &(0x7f00000005c0)={&(0x7f0000000480)={0x10, 0x0, 0x0, 0x800}, 0xc, &(0x7f0000000580)={&(0x7f00000004c0)={0x14}, 0x14}}, 0x0) 12:42:13 executing program 1: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0xf, 0x4, &(0x7f00000000c0)=ANY=[@ANYBLOB="18000000000000000000000000000000a50000000200000095"], &(0x7f0000000040)='GPL\x00', 0x3, 0x8a, &(0x7f00000002c0)=""/138, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 12:42:13 executing program 4: add_key$keyring(&(0x7f0000000000)='keyring\x00', &(0x7f0000000040)={'syz', 0x1}, 0x0, 0x0, 0xffffffffffffffff) request_key(&(0x7f00000001c0)='keyring\x00', &(0x7f0000000280)={'syz', 0x1}, 0x0, 0x0) 12:42:13 executing program 5: r0 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$inet6_IPV6_DSTOPTS(r0, 0x29, 0x3b, &(0x7f0000000100)={0x0, 0x1a, [], [@ra, @ra, @jumbo, @calipso={0x7, 0x0, {0x0, 0x0, 0x0, 0x0, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0]}}]}, 0x8) 12:42:14 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, 0x0) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:14 executing program 1: r0 = socket(0x2, 0x3, 0x8) sendto$packet(r0, 0x0, 0xf0ff7f, 0x0, &(0x7f0000000080)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @multicast}, 0x14) 12:42:14 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x60, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:14 executing program 3: munmap(&(0x7f0000ffd000/0x1000)=nil, 0x1000) socketpair$nbd(0x1, 0x1, 0x0, &(0x7f0000000040)) 12:42:14 executing program 5: r0 = add_key$fscrypt_v1(&(0x7f0000000000)='logon\x00', &(0x7f0000000040)={'fscrypt:', @desc1='0000111122223333'}, &(0x7f0000000080)={0x0, "0f0412315b396231a8163436c50603959a073b26f7cf5e953acf6f7be694bdba3c274ad766cc8852b407d4bbeb06bd45f261dc266b934c8de9136acb342ff834"}, 0x48, 0xfffffffffffffffb) keyctl$search(0xa, r0, &(0x7f0000000100)='logon\x00', &(0x7f0000000140)={'syz', 0x0}, 0x0) 12:42:14 executing program 4: r0 = socket$inet_udp(0x2, 0x2, 0x0) ioctl$sock_ipv4_tunnel_SIOCCHGTUNNEL(r0, 0x89f3, &(0x7f00000000c0)={'tunl0\x00', &(0x7f0000000000)={'erspan0\x00', 0x0, 0x0, 0x0, 0x0, 0x0, {{0x6, 0x4, 0x0, 0x0, 0x18, 0x0, 0x0, 0x0, 0x0, 0x0, @multicast1, @initdev={0xac, 0x1e, 0x0, 0x0}, {[@ra={0x94, 0x4}]}}}}}) 12:42:15 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, 0x0) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:15 executing program 1: r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_fanout(r0, 0x107, 0x13, 0x0, 0x0) 12:42:15 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x104, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:15 executing program 3: r0 = socket(0xa, 0x3, 0x5) setsockopt$packet_rx_ring(r0, 0x107, 0x5, 0x0, 0x0) 12:42:15 executing program 5: r0 = socket(0x2, 0x3, 0x8) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r0, 0x8924, &(0x7f0000000000)={'batadv_slave_0\x00'}) 12:42:15 executing program 4: syz_emit_ethernet(0x3a, &(0x7f0000000140)={@random="d9969b8847a7", @multicast, @val={@void}, {@ipv6={0x86dd, @generic={0x0, 0x6, "e08d89", 0x0, 0x3a, 0x0, @remote, @local}}}}, 0x0) 12:42:15 executing program 2: pipe(&(0x7f0000000100)) socket$nl_route(0x10, 0x3, 0x0) r0 = socket(0x1, 0x803, 0x0) getsockname$packet(r0, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r1}]}, 0x40}}, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:15 executing program 1: r0 = socket$inet6_udplite(0xa, 0x2, 0x88) ioctl$ifreq_SIOCGIFINDEX_wireguard(r0, 0x8942, &(0x7f0000001000)={'wg2\x00'}) 12:42:15 executing program 3: socket(0xa, 0x80003, 0x0) 12:42:16 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x300, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:16 executing program 5: r0 = add_key$keyring(&(0x7f0000000000)='keyring\x00', &(0x7f00000000c0)={'syz', 0x1}, 0x0, 0x0, 0xfffffffffffffffc) request_key(&(0x7f00000001c0)='keyring\x00', &(0x7f0000000280)={'syz', 0x1}, &(0x7f00000002c0)='keyring\x00', r0) 12:42:16 executing program 2: pipe(&(0x7f0000000100)) socket$nl_route(0x10, 0x3, 0x0) r0 = socket(0x1, 0x803, 0x0) getsockname$packet(r0, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r1}]}, 0x40}}, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:16 executing program 4: syz_emit_ethernet(0x42, &(0x7f0000000000)={@local, @broadcast, @val={@void}, {@ipv6={0x86dd, @generic={0x0, 0x6, "e08d89", 0x8, 0x2c, 0x0, @remote, @local, {[], "8dffe3d3d5aff65d"}}}}}, 0x0) 12:42:16 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$TIPC_CMD_RESET_LINK_STATS(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000080)=ANY=[@ANYBLOB="10000000", @ANYRES16, @ANYBLOB="01"], 0x28}}, 0x0) syz_genetlink_get_family_id$nl80211(&(0x7f0000000040)='nl80211\x00', r0) syz_genetlink_get_family_id$smc(&(0x7f00000003c0)='SMC_PNETID\x00', r0) 12:42:16 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x500, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:16 executing program 3: prctl$PR_SET_MM(0x2a, 0x0, &(0x7f0000ffd000/0x1000)=nil) 12:42:16 executing program 5: r0 = syz_open_dev$loop(&(0x7f0000000180)='/dev/loop#\x00', 0x0, 0x0) ioctl$LOOP_SET_FD(r0, 0x401870c8, 0xffffffffffffffff) 12:42:17 executing program 2: pipe(&(0x7f0000000100)) socket$nl_route(0x10, 0x3, 0x0) r0 = socket(0x1, 0x803, 0x0) getsockname$packet(r0, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r1}]}, 0x40}}, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:17 executing program 1: bpf$MAP_CREATE(0x0, &(0x7f00000000c0)={0x9, 0x4, 0x70, 0x2, 0x4, 0x1}, 0x40) 12:42:17 executing program 4: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000001400)={0x18, 0x7, &(0x7f0000000300)=@framed={{}, [@call, @jmp={0x5, 0x0, 0x0, 0x0, 0x0, 0xfffffffffffffe95}, @func, @func]}, &(0x7f0000000340)='syzkaller\x00', 0x6, 0x1000, &(0x7f0000000380)=""/4096, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 12:42:17 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x600, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:17 executing program 5: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x18, 0x3, &(0x7f0000000200)=@framed, &(0x7f0000000040)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x4, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 12:42:17 executing program 3: r0 = socket$packet(0x11, 0x2, 0x300) r1 = socket$inet6_tcp(0xa, 0x1, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r1, 0x8933, &(0x7f0000000380)={'batadv_slave_1\x00', 0x0}) sendto$packet(r0, &(0x7f0000000100)='7-', 0x2, 0x0, &(0x7f0000000040)={0x11, 0x0, r2, 0x1, 0x0, 0x6, @broadcast}, 0x14) 12:42:17 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, 0x0, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:17 executing program 1: epoll_create(0x10001) 12:42:17 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x700, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:18 executing program 4: socket$packet(0x11, 0x2, 0x300) syz_emit_ethernet(0x66, &(0x7f0000000240)={@dev, @empty, @void, {@mpls_uc={0x8847, {[], @ipv4=@gre={{0x5, 0x4, 0x0, 0x0, 0x58, 0x0, 0x0, 0x0, 0x2f, 0x0, @dev, @dev}}}}}}, 0x0) 12:42:18 executing program 3: pkey_mprotect(&(0x7f0000ffd000/0x1000)=nil, 0x1000, 0x1000002, 0xffffffffffffffff) prctl$PR_SET_MM(0x23, 0x8, &(0x7f0000ffc000/0x2000)=nil) 12:42:18 executing program 5: munmap(&(0x7f0000ffd000/0x1000)=nil, 0x1000) pkey_mprotect(&(0x7f0000ffd000/0x1000)=nil, 0x1000, 0x1000009, 0xffffffffffffffff) 12:42:18 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, 0x0, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:18 executing program 1: bpf$MAP_CREATE(0x0, &(0x7f0000000040)={0x0, 0x0, 0x0, 0x0, 0x18}, 0x40) 12:42:18 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x900, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:18 executing program 3: syz_emit_ethernet(0x46, &(0x7f00000000c0)={@random="d9969b8847a7", @multicast, @void, {@ipv6={0x86dd, @dccp_packet={0x0, 0x6, "024508", 0x10, 0x21, 0x0, @mcast2, @private1, {[], {{0x0, 0x0, 0x4, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, "15198a", 0x0, "d03413"}}}}}}}, 0x0) 12:42:18 executing program 4: r0 = socket$inet6_udplite(0xa, 0x2, 0x88) ioctl$ifreq_SIOCGIFINDEX_wireguard(r0, 0x89a2, &(0x7f0000001000)={'wg2\x00'}) 12:42:18 executing program 5: mremap(&(0x7f0000ffd000/0x3000)=nil, 0x3000, 0x1000, 0x7, &(0x7f0000fff000/0x1000)=nil) 12:42:19 executing program 1: r0 = syz_open_dev$loop(&(0x7f0000000180)='/dev/loop#\x00', 0x0, 0x0) ioctl$LOOP_SET_FD(r0, 0x5421, 0xffffffffffffffff) 12:42:19 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, 0x0, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:19 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0xa00, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:19 executing program 3: r0 = syz_open_procfs(0xffffffffffffffff, &(0x7f0000000300)='net/ip6_tables_names\x00') mmap$IORING_OFF_CQ_RING(&(0x7f0000ffc000/0x1000)=nil, 0x1000, 0x2000004, 0x12, r0, 0x8000000) 12:42:19 executing program 4: openat$tun(0xffffffffffffff9c, &(0x7f00000000c0)='/dev/net/tun\x00', 0x24442, 0x0) 12:42:19 executing program 1: bpf$MAP_CREATE(0x0, &(0x7f0000000000)={0x33}, 0x40) 12:42:19 executing program 5: r0 = syz_open_dev$loop(&(0x7f0000000180)='/dev/loop#\x00', 0x0, 0x0) ioctl$LOOP_SET_STATUS64(r0, 0x5421, &(0x7f0000000200)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, "8bd6b4511bb43aa276a0678e9a8a61823caf674e3e17ec1b6718c35c8159010100000000000001a90f41c470e6744cc9546dc9b99dd921f8e478c225d9b54a33", "801833d87333bb2c3d6bf99f477d4fea6354437de8e3ba86c8d2a56fcaff6687609a763764edb2650263ee94f5ee383551d3d3888f550d11d64d45c1407ec1c1", "0d2be6f71b1f304eacccc3a3a6b3204ff4a5738b977d6f2a732bfc3cf1750ffa"}) 12:42:19 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0xf00, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:19 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, 0x0}, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:20 executing program 4: bpf$MAP_CREATE(0x0, &(0x7f0000004280)={0x1b, 0x2}, 0x40) 12:42:20 executing program 3: setitimer(0x1, &(0x7f0000000040)={{}, {0x0, 0x2710}}, 0x0) setitimer(0x1, 0x0, &(0x7f0000000240)) 12:42:20 executing program 1: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000000)={&(0x7f00000000c0)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x18, 0x18, 0x2, [@array={0x0, 0x0, 0x0, 0x3, 0x0, {0x3}}]}}, &(0x7f0000000180)=""/188, 0x32, 0xbc, 0x1}, 0x20) 12:42:20 executing program 5: setitimer(0x1, &(0x7f0000000040)={{}, {0x0, 0x2710}}, 0x0) setitimer(0x1, &(0x7f0000000280)={{}, {0x0, 0xea60}}, 0x0) 12:42:20 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x6000, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:20 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, 0x0}, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) [ 418.457167][T13699] syz-executor.3 calls setitimer() with new_value NULL pointer. Misfeature support will be removed 12:42:20 executing program 4: r0 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_ipv4_tunnel_SIOCCHGTUNNEL(r0, 0x89f3, &(0x7f0000000080)={'ip_vti0\x00', &(0x7f0000000040)={'syztnl2\x00', 0x0, 0x0, 0x0, 0x0, 0x0, {{0x5, 0x4, 0x0, 0x0, 0x14, 0x0, 0x0, 0x0, 0x0, 0x0, @rand_addr, @multicast2}}}}) 12:42:20 executing program 3: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000000)={&(0x7f00000000c0)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x30, 0x30, 0x4, [@array={0x0, 0x0, 0x0, 0x3, 0x0, {0x3, 0x1}}, @struct={0x0, 0x1, 0x0, 0x4, 0x0, 0x0, [{0x3}]}]}, {0x0, [0x0, 0x0]}}, &(0x7f0000000180)=""/188, 0x4c, 0xbc, 0x1}, 0x20) 12:42:21 executing program 1: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000180)={&(0x7f0000000100)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x2c, 0x2c, 0x2, [@func_proto={0x0, 0x4, 0x0, 0xd, 0x0, [{}, {}, {}, {}]}]}}, &(0x7f0000000380)=""/157, 0x46, 0x9d, 0x1}, 0x20) 12:42:21 executing program 5: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000240)={0x11, 0x3, &(0x7f0000000000)=@raw=[@ldst={0x3, 0x0, 0x6}, @btf_id], &(0x7f0000000040)='GPL\x00', 0x4, 0xf7, &(0x7f0000000080)=""/247, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 12:42:21 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x34000, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:21 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, 0x0}, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:21 executing program 4: r0 = openat$vcsa(0xffffffffffffff9c, &(0x7f0000001f80)='/dev/vcsa\x00', 0x0, 0x0) syz_mount_image$fuse(0x0, &(0x7f0000000040)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) mount$fuseblk(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000080)='fuseblk\x00', 0x0, &(0x7f0000000240)={{'fd', 0x3d, r0}, 0x2c, {'rootmode', 0x3d, 0xc000}, 0x2c, {'user_id'}, 0x2c, {'group_id'}}) 12:42:21 executing program 3: syz_emit_ethernet(0x42, &(0x7f0000000140)={@random="d9969b8847a7", @broadcast, @val={@void}, {@ipv6={0x86dd, @generic={0x0, 0x6, "8b62d4", 0x8, 0x0, 0x0, @local, @empty, {[@routing={0x0, 0x0, 0x0, 0x2}]}}}}}, 0x0) 12:42:21 executing program 1: r0 = socket$inet6_udplite(0xa, 0x2, 0x88) ioctl$ifreq_SIOCGIFINDEX_wireguard(r0, 0x8981, 0x0) [ 419.630896][ T55] Bluetooth: hci3: command 0x0406 tx timeout 12:42:21 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x400300, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:22 executing program 5: r0 = syz_open_dev$loop(&(0x7f0000000180)='/dev/loop#\x00', 0x0, 0x0) ioctl$LOOP_SET_STATUS64(r0, 0x127a, &(0x7f0000000200)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, "8bd6b4511bb43aa276a0678e9a8a61823caf674e3e17ec1b6718c35c8159010100000000000001a90f41c470e6744cc9546dc9b99dd921f8e478c225d9b54a33", "801833d87333bb2c3d6bf99f477d4fea6354437de8e3ba86c8d2a56fcaff6687609a763764edb2650263ee94f5ee383551d3d3888f550d11d64d45c1407ec1c1", "0d2be6f71b1f304eacccc3a3a6b3204ff4a5738b977d6f2a732bfc3cf1750ffa"}) 12:42:22 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={0x0}}, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:22 executing program 4: perf_event_open(&(0x7f00000000c0)={0x0, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3ea2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x10216, 0x7}, 0x0, 0x0, 0xffffffffffffffff, 0x0) 12:42:22 executing program 3: r0 = syz_open_dev$loop(&(0x7f0000000180)='/dev/loop#\x00', 0x0, 0x0) ioctl$LOOP_SET_STATUS64(r0, 0x80041284, &(0x7f0000000200)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, "8bd6b4511bb43aa276a0678e9a8a61823caf674e3e17ec1b6718c35c8159010100000000000001a90f41c470e6744cc9546dc9b99dd921f8e478c225d9b54a33", "801833d87333bb2c3d6bf99f477d4fea6354437de8e3ba86c8d2a56fcaff6687609a763764edb2650263ee94f5ee383551d3d3888f550d11d64d45c1407ec1c1", "0d2be6f71b1f304eacccc3a3a6b3204ff4a5738b977d6f2a732bfc3cf1750ffa"}) 12:42:22 executing program 1: r0 = socket(0x2, 0x3, 0x8) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r0, 0x891b, &(0x7f0000000000)={'batadv_slave_0\x00'}) 12:42:22 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x1000000, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:22 executing program 5: perf_event_open(&(0x7f0000000140)={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, 0x8, 0x0, 0x0, @perf_bp={0x0}}, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) 12:42:22 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={0x0}}, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:23 executing program 3: syz_emit_ethernet(0x42, &(0x7f0000000140)={@random="d9969b8847a7", @multicast, @val={@void}, {@ipv6={0x86dd, @generic={0x0, 0x6, "e08d89", 0x8, 0x0, 0x0, @remote, @local, {[@fragment={0x0, 0x0, 0x0, 0x1}]}}}}}, 0x0) 12:42:23 executing program 1: r0 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$inet6_IPV6_RTHDR(r0, 0x29, 0x39, &(0x7f0000000100)=ANY=[], 0x68) 12:42:23 executing program 4: bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000000)={0x11, 0x246, &(0x7f0000000200)=@raw=[@ldst], &(0x7f0000000480)='syzkaller\x00', 0x5, 0x94, &(0x7f0000001840)=""/148, 0x0, 0x0, [], 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) 12:42:23 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x2000000, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:23 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={0x0}}, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:23 executing program 5: keyctl$KEYCTL_PKEY_SIGN(0x1b, &(0x7f0000000000), &(0x7f00000001c0)=ANY=[@ANYBLOB='e'], 0x0, 0x0) 12:42:24 executing program 4: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000180)={&(0x7f0000000100)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0xc, 0xc, 0xa, [@func={0x8}]}, {0x0, [0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x61]}}, &(0x7f0000000380)=""/157, 0x2e, 0x9d, 0x1}, 0x20) 12:42:24 executing program 1: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$wireguard(&(0x7f0000000040)='wireguard\x00', 0xffffffffffffffff) sendmsg$WG_CMD_SET_DEVICE(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000080)={0x14, r1, 0x1}, 0x14}}, 0x0) 12:42:24 executing program 3: r0 = socket$packet(0x11, 0x2, 0x300) bind$packet(r0, &(0x7f0000000080)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @local}, 0xfffffffffffffdb3) 12:42:24 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x3000000, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:24 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x0, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:24 executing program 5: syz_open_dev$vcsu(&(0x7f0000000040)='/dev/vcsu#\x00', 0x19, 0x119a42) 12:42:25 executing program 4: syz_emit_ethernet(0x86, &(0x7f0000000180)={@random="d9969b8847a7", @multicast, @val={@void}, {@ipv6={0x86dd, @udp={0x0, 0x6, "8e99ce", 0x4c, 0x11, 0x0, @private1, @local, {[], {0x0, 0x0, 0x4c, 0x0, @opaque="792eb0196c5255f3b431f13b52523bde9fcef00339b7deab365829678fb2dfd1656e324a9af5671021ccf28fd42434627b9bb9a9ec7ea03e36f7a9deaf0f175b0a74b135"}}}}}}, 0x0) 12:42:25 executing program 3: syz_genetlink_get_family_id$wireguard(&(0x7f0000000180)='wireguard\x00', 0xffffffffffffffff) 12:42:25 executing program 1: syz_emit_ethernet(0x5a, &(0x7f0000000300)={@random="d9969b8847a7", @multicast, @val={@void}, {@ipv6={0x86dd, @generic={0x0, 0x6, "e08d89", 0x20, 0x0, 0x0, @remote, @private2, {[@hopopts={0x0, 0x3, [], [@ra, @enc_lim, @padn={0x1, 0x3, [0x0, 0x0, 0x0]}, @enc_lim, @padn={0x1, 0x1, [0x0]}, @jumbo]}]}}}}}, 0x0) 12:42:25 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x4000000, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:25 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x0, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:25 executing program 5: syz_emit_ethernet(0x1e81, &(0x7f0000000040)={@multicast, @empty, @void, {@ipv4={0x800, @gre={{0x5, 0x4, 0x0, 0x0, 0x1e73, 0x0, 0x0, 0x0, 0x2f, 0x0, @broadcast, @loopback}, {{0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x880b, 0xc52, 0x0, [], "43b81d4408fddd736143ec93a7fb767c254f7c55a694ea04034d79bd1ca78c2bc094b466077a34491546968b764e6b1fdedcb71901640813f1981613408e477fcf88e479f0bde4d56d48549abc55258958b45a09ade850bc35485d0e2beb129d6052be7aa1f35728f190411a933751d1d4e84e9fb081a27daff1cf494591704ea0a30b063a7fb0654c1a2c6c4e613f8d3e6dc96dca41a003c8eec23720c57844d52c3a590842db9ff5a35c18a5b46d3d09836e8bf5b695603648fad5c77cd333f8323bcf342b5137eaa68ec5823f87d413039220df490c64e333c4bab4504cc037866e008b9e48bc3ed4a19a2ef9e4600c5b4eb891c1fb622aaf77fb8ec58a48a263341627092ae186874d295eff903edaff0cad313dcb76cc768eeb30ad82be40643a379943381cdea8f1d3a45c7b578abb77d49eeee5a8c810336be7181b689f84c4ece5bef4e2ce2cadea05f1069d00e05c331fa6725b8a797d2ce45792f94d6b0308ef198f1a10a08c5e3fcc3fe8a286b46acd562493cdd48b6c4d42bf9e6e57d026378d8e5cedebbabee7e0352750bd28d1011b031ec8004326f1e7400654d77e5889c545b36aa1f9165ef18264a4765d23e20b934ca997e19079472cda5613221b8acbfacd851518f5b98db1e60afa9a9dc9e27a9e85eb50c0be9a9863cc8d2ec9e81b52aba60945cdbfed431300e9db402b0aa46e7c63213104c03c2b00e0bb2736643824aa55d4833c62ea775caf93a0ac2b0403efea894828c60dfcd026af89fa0830972c61c8e643c7dc0fb6c5a1e2ce151e95ee24273da5a39e9a950da6283a1c13862dd6a5ebdf1d240a382951ce2a93437121cd9065c45bb449561e256430fc19d49e760c24285bd3b749cac0aa9dd91d9267895ea906ccf7ff7d56ecbbe401a03ada645f01bbb8629e7b2570d28b40a180f404fefa4c2e6005b03536198ee5f171671d9a007b167199bbafe12c40d9817bfcc7b02502708ee3b662f0fe173a3385dceab174c8ca1801c2a4b3d39d2d49aabe545e5e872adb52891601d41c7947c6b8b2589e21fe28d7d096faf90b881e1b9a68416593373118403a43e38306a99912d87bc6e571fd45af6e6cb0deccc56e6ca52a9cff1096e3aa977fc8cbfd62eeaa7eaf0b88b09a200063478fd2076c13cbf11b7d378f88149624c52d8117d15c6a8fbe56378a04abf6e3c537ea367f3d35a5d234b16a66c66d6d4078d85575c9f86ef6ee65549a8e4862cb56a2fc73e64b2d623cd2aa19141c840159eed6f6fb3b595d0206812482baf42b8baacaaa694a0dcf461ad62101233f12569080236faca2ef03ec52cc60e60c6856bf01407beae5497f580e10be04bfb7d045cff4921b8826f0f14158316a6acdbe553bcd01596857feb78869865892cbeb612b8937957812463ebd522c0fb2e702f0209810c7fcd9498662057cae4fee84be503c89bc947f9f57169bd58f9d5e26ee16535331f369f40d124c5359d28af77cd99a4a84859be429b1f6a1de443448aa459be8dafa3e6ea6201367ad2e2c2faa25b3131c11bedb6a7aa389fe7165f13725864dc08bc1c31673b6048bb20bfc9b225b2a920a280e969be1c276000deca4dc5865b382b71fb472516ab5f8ebc65ed394a0481413a504afbad0d9be67d06f0c6ce41f629602a6a41cba8f601c65a8bd50d840f0f9ae643ee0592a740d3ce9d4f1443c3c08b35ea09b227e0b719953d9d5dff2f60a71da2bc65a88c46a55aa63625c1b79322cbde941d6875726b2bff675a865b86a12b71926e4acc865572c02ab7e3b94735e759ec2026145cb76e8e191ff2d61fd5460f7fbc12c8f7c2f5d40cb38516db98210e6fa51387f9b7560229b303ee36832bf25140ef80da62824c583589ee3e3220e040380b7df1851c1f20c549a3299606ccef8e4fda72737b8c9404d7b5e7752129b93e3c34155e8f7e1bf99263c51a73513b86573f863e9c96091c8cfbda6281e2d7f8b5af5c8d8ea06cb03e3628e40cf4f9252cdfd87becdcbe6609164914b358dc351f49febe8e84069d674deb8ce8daa4f139e5497069c27fb867d1224aa18ca054ec76aede6925e9deab3332a6e08f82fe48449611496c6c0210c5433dc1cf43fe2de8a1e592ba05e9db5797c38aee16cfbcab2e2d07c695fc0b534fe84e9d91a4923be1ef5d74f7158212a975fb142ffa90eca9c8b77285d7be477e0556371b60081e460c1ff52d2e7c1775dabc3691764bc053df0b02d23f49995e21fbb28ac6ca1c3f80754adfd19d1b12a22e0603112329fe109715902d351737c1fc2724ba633eb2ce688f452fde1fbfdce69ad712280226744fe4b35f08d90315fba81661237feefdfc263ab164d6ba1d0d915ce5dcf8f3e731e86efa6fd21d03561e2b64080fa2d32e380de0371503ffbc6d816c1c35a90220e6f8e2a6135a1ce4143afdbc5a9513329f7518d91a521bb46fa8d7b4fd45792c2eac3516c6a52dfe05a62e4dc7010c0e72a67083520fa388bd7c418a1465b8d6697847e004c7b23ddca9cfb5ce6188a8ecd42a0b1afe363c3ca3245be31fb08c9c894ae9429def6004c647db48063ef644d084f72eee9bb8029cb3fc5ec390a2561aeee61f4a41a95043f9ebbe3b7fde626d588ac03a89a38e10d5835061a2509002c38ae4410a0c0a2629358fe15c9eb02592f344ec8dd17be347836af1b8926542da36a9a7d0eb463ffa9a21b97c7669a7b73d3f5c3f085ce8f5f1fdd2614a546bb4afa318eafd5dd95863de8e0ff652ada89d896813d0459c6b4e8a831e5fb23cd5a61e8a3519759bbda0218428804cd08b566b3dcd7e2faa822d329931a94bbbf214b37cd3fe9c685e77118ac42988eeda6b4fbab212f73ac30e2632edd8cce8af96cc66b30c54e29b9b78c2e43cecf6df85cb81a09ce2cdd3a50f4edb4b18954bfb2d659fb2dc818fab0ac178d6667b247e1bf98e6ef2f30e9c71695f9b6256e14a4a6cb05afc00caacae34564aa83ff6367de2c52fc010009519eb4346746e78bbdab889273532b301754fcf2747b584d6346a4c1e2c04b715df5898df2487e3ea715a42b4ecebeb65c96711adbf93cee1bc8464177cbc7bbafe00c48f58a8e1409b5147e19313a302218e57ac1a3608cfb24536e0f06f0c7251ef2525968fd2cfd55b644b04ffffa9f148fbada4e21af555fb70cff087c3cfc6a5d41d339be954697139658490de021c309567d3fd10c8cec07a754b7245576af8bcbc88734ebc885300c04e6b42d2a0f95125e6ad1fc49acc13108dc10ec1348af3db25df9cf2dfe875b4c7d08a3e4a12716ab0317e565d391a0f5bb4467ce083eda7829b91fb2339f784151140d59d7d67c241d2da3349edf56dd74d9adf02571abfc2e02ffafe3020a1c98fc5cf06a284201a9e6983aa00e4c5ca699ea62135cc6ba0829ec77413ca40e463d00f1c1e4eedafa97f12d90d125551a0d83a295a1967b8ae89ee2bfe2db46b66a839f67ddf36ecb123b18b24f4d60268a70373d3dee7aeedb0ed10cc41411729949c53be8dd55b398327bc633ce02e5c836aaba9eb60f07f18b4ad36d6c70feb11e579432c3db4eac928a09879864e8a82cbd47d7af9c3989cb3d1b9cdd85ea3e613e57aef1f5a3110d824ac33465ca9a9cd65cf491362cc532e5edfd588ac4b6130556d0b30abb125f830ad56956f4a0dccc77bcbbd16a24621d33137b667ba2b57f7b4ad76866d06d1a5d55ceeced82f77188b5624aaf169a6a9fcea4a5062e91391f69407b6a275eb8c9edd037fad34d50dd1edacc5669996e949b3c1575a049967aa1c32d6d500bab0f282bd43f2f051686bb9a13480f3b98f89580e562c4d767e8fa4b1a7bed507d0f11dfdc46c0bc21539b45395556d0e6a144c3a18c57a2c4332fb26ad23c3f5475cda6d45de3f63e4fc8da25d3f13f481ff1819cc19b24cd1bd57aaf4cf50d539014e53838ba61fe64dc274d6963b6479f88a1c99f19ca45a2c19952fdc685f09089ace375b2637f30a90859f3cf0f62388e738465c53ab06516cfdf57db1b929cfafd610600b37d6297a3ecc95058f796a02eb263d4c19fd6cd3afba377b14f25da68328ad119650b46135e9c5299f24a695ab4a01aac06069b13cd1cab60462cd1d781b6f242d9e95c1b9d7539545d3f25394e3f9eb7ee78f4cadee33bce6c003491f759dc6e51d4541aede68d023f4b88697de94c89dded03dfb840ec43da774f73f5be0fb4fdd993f67a1c7a9d337f192e78d8a3b1264a969def1fee9170f4eda0693a76b9b521f9eabb94bfb381911adced125dd5b7223da2d5bcc51ecf1944479ba9453eb96eb2510497ead7cc366b5a9ca3bb59c8dc574af260a47b6897ece8c85410500883913c872d0c9791b5a59b1e7dbe789f680dfebbf2264ad5950791594c9b6ff54f1b26d6d1e325eeff096afb13255847af2672f2995bdb627f2e05175a90920977"}, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x800, [0x0, 0x0], "e9672ed1191c748fb1c1fc8e07be1b61351868574da4cc3eec8297d3e1fbde5aa61fdb4eed25908e485a4cd96b564521da9573acb4600b0fef87abeaeebf0e982d93f151e6cd25baca483eb2c070284ecd1288c7f52f4f66aa8b93138943ecca6100a332559eeea88df9b359be32e0ee8084897f54e4d461c70436bbf0409102ae48e62f7082507b4bea2a6d04f1aaea102264d4a01511d2b118fc485eb302aaabc6c698cb00652b6ae72855c55e2b089f928cdca342635a4d92c9d2c8a5bc67517d587d03f0be4fb2c9b1a9c59d57267e2c1a4d1db444fc7c3179e6e7fcaef4b440d35e7a5386db722a58e72a5922f6993a96fe8689543ba58541c9a62c7a9b6a1bfe8814a46c20a6f2d277bc2a3f9b8346e61582d3e8f3f6b9d219647c231b3404b0c1bfa7fb214a078b205f8d2c111b476821547aacb834214ff89cd8a5a79468db653b17ee7a83bf481625a8e4c820e042d39553fc3136bba49166f97311336edb929d5ba944a3e0ddc8edcf7c8995ada7999cbe8aee553e0716270a2aedf15b2a047c841d0ff9771a8d22930bc5a18a9ddc2b587832e16dc2e181d33803c8a32d4c94ebd99c5a3681fb26a2edbf4bcd6bd6acd10c549000dd705d08e8316e2d55a23816174155bef7b48c9f35ff4368fe43027db4fa6b6c81092185d63c6e8469d2ba44f83b9b42aacfd955a7604b823651f2ed820531dea40191059fed7bddd8659146c1fc13c0ea530999a9a9da10d599740fb521cecd679f76646bf96f2f1a8f18e26ee2ba9fa745d22538e24b535c77432fcda475b97d73ac9cf4a041c01919140e9db2bdc3a86a8312b95c39b6017c2a21c16eb3e75e1ff30b49ce2f4fb15bf00ae2adf2334aab4f825aa82a9bc629376a9996c73ab4bec3cb2a22a971fc94be2c4dd249a218726d6c2c04826407df6587940c96a561094c302c385993db84a95112427b201f8352a9220516506a237be3528428ee490a3e136d4fc0ee00c0749a79994d435a9ca23df669b6f7acaa870c77de458b79e7f41da1e34829976fc653f800e495d985fbcc6fe75ed3590ae7cb17aa53988a0982dcff5326111b01525818edec5a336a60bd0d3f8007b97ba8f5a10e8edd93b3f8c501fb27338ed98a335e67ea7f762d3ccd8ae925897d38435ddfea1434868e428019ec231eb2d6cbca0a3fcecea0a7cdcf928edad8bfa0a3684a4237ff8d4e97fdae2477373e162197426761855e1b4932a6cd151564342ed9fed966c44cae28729d8eacda5d85d0328ce49e525a134bf0dd456a1293500e6ae581f4999ab44a1313c06d5eca42f6540218ccdebc87b231f84d189b6771d7a58249fe20b1867cc6bb5674f2e2087e2528f56505b637daba9d03fc67879c7efe89cfd8545a81a6cd2be7c4e1fb292fa41c715560199c7bffe3436ee505c3c73e85d96da6775a5933cf388a8c1fedf6c16771e1d594b1ac709c4b2191e7c7d25eada9edcaca907249ef7b6cd6aaf291bf36f6cc85911f522dc54563257690563f2dc9d46c8998b3130af96e8f5b377d3c987b2dbf035fe4eae0646f5970a5c44dcf3b1e73cf31ac6dbc0d6bb23d50e664655e03225296e841a689354dd0b325d6b81034c925d47fb52c15fd30a57d179dbcb8780d0a1ed36155e9e20852a1b49ed6019d1bc607af40901e06832ca75fab1da3459c041dc6046f4c766fdbf564b7c2b6ff2bfeaf92fcff289cc9f7587cba52757c49cc0008d76ee6f23a1c1a7217bcef3019c4790204dd4675f9fc45c9cbd1d271f0c6c7eed3d2ae4ccbc061b0c3b1b217b76965cda8383cd64969af14da8101fa8d2aca047b38e688f4af9bd14846905f2adfd3c419bf5c3a21515c624cf8faed47666cce69b2a572198031fe099d7c82466d863df4110d6ffa943ce34f3f115eaef2846423fa69ccc799430294e7ec13b8c8853ce43d06768b5ac2fddd3bbc9651dd30eebaac3d15252de5468873f33c96d54b5cea3ccebcc3265be6843ea390abf661a2099e529e7a68e8daf687d0ecff9c4c9eed4d780894df1d6bbfdea5cf3dc393d642ce6af6c524cf10aaee54a2d2eb9b1a7428e784b585fc8ca61f243b5e4648e239c9143e01fe26327a93b939c9f8f473a6661ac14fc0ec4cfefc5a428b2d0f6ae04a4759084a0ab0ae4dc56c0ba410da01943f0d170eb7b5b3dc7e91d33e1c96c6f550d73ebb415597238022ab14a690c0d2acd86bfc2dc0f93eab961661b98e621dbcc4c2bed05beb1cd14e47c90d3afa5077866e42afd51b7af3dc9be3e88620377ff375bd5c7b6929adb8d6094bb7345b84f5ecb590056a06c8c1a86974f5d82f5f985e532d21aa86288760e24f79dd351913bf17bfa57c7e4079cdb62879212f9ff332547d9a134e120f1943a975ad020ce1fab1e5257371b490f05e80367f51bdd17939a36b3bfbfc189f6f700193503a1d34160b337508f177f569d3dcc1fd5d355468aad345b753ed6133c5fd0e4fc644e37e15c3ee330cc644e8cc55c890482313f1748b23009a760893dd50fafe50cb85b0a9b6ce51926270296b144a4e0aaee80c726e7869dca99082d11896ee911ace9637fba80ca0c9eeac1d7dfea7c4e7f4856f457de96fc55a9064be6ba992b5c008879b2cbe8dc1150fb7e00ca89d4247d0f37387cd91aa4601b090be5d0ec95c24d136fc6b233be2a00ec7f01ae379a58786d84bfa66f3a07b2e8eb5346a81e9bab57a1aa57470eecdb1b82b83a83293f016c842f90186e754f41d8a2f9f99886f37ccd925acc1019ea7cc6f16cfd47b3db47a0d5f856c58759b657485c8492c3c3781a6f8914df6cf5e2aadd0655f4a1a5c93a76944884c40c5bd188fba215bb04e2f11e847ffe4c3d6cf9c61ee40adcc590c4abf200b639086b9a34198dd02315d3469c8cfd8399c691f1e65f416ef54c054a422f4654d0c44e03d31d3c034e599198e9ca53aefd8650be1ab2c9218f4c8b28f61456ac2e320c3e3196813a7e1d16d42d72bfaf36afa4409b2029affcbb936e9f12a996625eab8744bb5b451fe85a74f055f64e9629876850e344d849d79685a7c8dce4f8930ce999df34e76d3487f17f7917c545a0990ab71f92c3fba16a196ecf3bb39fb07ab09a20a177542c5314336d59d6ad0da155509221457e4eaa1f586dd83ca4d55dc27f40bbb890b431e80d5202dd6cd6b7394d31d269c5a5ee208cf7ff23045493c60c6e324770abfd912e7e3123f75b9e7edb883ec75d94a627d24f860428d3883d2a842e8f193f1cc7dff4f116ae4c7060b61121216a69d992f65e16f47aa9dfd705982282dfa88365c9699e9ce20e805de9b662728dfb8ded0e289066eb5d6745aa7ef0f112eb7b7e69b2889528e38e8542c3c7c051c6df46ddc4d348ed0baf442597d874aa98187887c549bc3d23a34077ffa9dc1c36cfd102baeefe7bb7a2e65172903e4bc992274fa457b7b6c062f755d84e8d3e519c66986bdeb0cb91974393d27b934c755425f23ae09cbf0dc1353a7e551e769b54cffd4e11c9e1a61997264d27f39281be60d19c1c023d81546f60b6db14310e48e19e6c9c1a9045b20a7ff5507e151d479877c3f6dbfe1fe75c008f977148dd302d2136dca67339244168c520b5caca623872ae5fafeea5aa799a17dbe26a50dff2c036ca88705493b8bd3aa3f4e4e284391c0b3d73ea6d54bcdd5b9cd42898e2fa0a11fe62a94de019498bcc2d8760ecac717e16dca458472d549e89ddc6a3a027707a78c1ad948dc29ed093fae6350d6bd3db487d0f8f0d85937706ddb0bfd26a97ce1a1a707b37766da3f2f835addfb9ab6669dc74dc65cd991a941f8ad6f2883ba65075f9b30ea48de712ccaa5535b9d9481b05507fd22273bd72684edfe3f348abd142eb5a9515f085c374f6c1105515e39ca7e3691e6a7a7b1571db39175639ae8114953a6afe3ea59e3848c90fb86aa631e1cb2940792a12b94c1f7f26a657b387869c78c0818ca1f6fb9dabf1638a8b0d89a4149e74d39a0a9f0464e9baa65adaf4754c6829ca55d07ca6ac48ed54d314375f278de0fa9fa4699ac30301210b2e41d88e33512b1fa30d70263a01683b35e5ce47bcbba1885319c22d98beebf7724fb02c8561b1832da30ce37b702c6181270e1df533d3cff20e64bfc7f3c9eadfc316ef56031dc609d6864415abd4366b0c1900c9113cd02680e3b39addd23bdd5529ec12104c9a1ba6fb06455c4ac44b79697848516855a77483799c138ebc80f810ffc407ca4c222d0067486bb882680e769eab1d15aa61dfabc6a2130004d2186f965f6fed1aa9513b6d50670a916637e4f821c0c68d22dc99e52f98243956fd73627ce45b95a605c173a528e1384036945dae0b0fd1b06d96f27beea1ac44ff3fbdabb4b20b8d9d20b2d5bb46c25d0885d9abd8d0a57a017aef8dd749e0eda47d11320dd64b1db986d25b7ac517d72c51cfda33e0c280ebeaa0435b3844e1b92ee2891580c24e2de424560b6d3ba760e55aa62f898d659803ecd64bb6f6f9f17ba1d6b26e77c4d6e0e8e8d40f076eca307bac335eba9a327f693e1fbdc2a9144a092a12acf90dadf1d0500c4be91871ad710976aec667e25aab3dc5d6c385f90de73ae7220c508da980e57feec73990771e85578ed119e2dce2d1e039d29ce879ae1518c11892978d7b704d8979d156e4c553e88a712a24282df59c0d5b075ffaf3acbfa7e949dd21cfaf08d03f4eb77d5584e091de0df4d5b576edd4b28b3b913963ae90c346a73ea74791c24e5438684e28263fc77d68d638091f69d7d6e232f0c7ea7e7eedc2da7aa7f88d8bc2b8ddcd9a5c109f973d38bd78b33e4cae7395224156d5d7ce2e97dc13ddd645ce95cdbd576cbf9b614292ddef0c5638302cbd5d84608559fa1c344cca2b1ecb2e49190982d15212e15fa9e3fa19df3d49374863ccd742f1b81a58a96aa65af3b8675c06b4db9b0012dfdb8a8f4c03ce38d89e32e2baf9cc6974c5d61b5a3757ea8407031b1eb7140ac54d6184bf6abe9a508fdd11932d88a79036e28ea626a4eeb5f942cf41e8e799865b1859428956cf0b3306d59082a628253a7d8a405058c470d8334515055f5dcd56cdd32db561375fa7316d5f3cc3fb0e6c2e212f703cc0f1ca3c468958f2a2f27de0ca5796a456b3ceb7be1530d928a8d6269f13a0c00fbbea64c19e67a14b77a7fa02cc31e489361b5aa1e5e1c69568b0dde659eb7e8342c1432d41289645652113cab57a1b44fe53797219683d288205688935ceb330c5f6592655060f6b750bb224140c0c6fab6a5b17691c6fdc7822056ebf31b6699b071297ad99d3ed92caabf4a2fb3cacd749e51c45ade92df6f42195fc77ab3f1e3334627c386f546d519c11d25121496625edb589967bfaebae263593b6c978cacc2c00704db7cb270975024c78cfb928cf23657c4af6958b56bb24953ba1c87c8c4c7d7456ea8882c068335103d641d258132a671165ecf75e3c3dc1f4ef01be6e2c98ec2056b6c7f13e1e6b021d254aafdf450791fb9a207dee2e43d1780b4b7922a048866b0d50d6cbb2ac6eb82ffaaf87146977b18e6d4746f2e30b709bf69ba03b43b3ffcb6b1e27cbbb1c66aa147c34f1be147f4d840c78a59d03ce53ad4c7bafa1e0e5960eca1e77f30d959573b6be43a4c3e3c245efa3bab19fceb54d78f4a737f8b3ad0525aab89d0bd029fecd48697d856802857ede79daf8b9c27a94a141cbd10f3bb0c4d33dfc24b7c7ec7bb7a4f7d6327b88ba2bb7209d8f7a626fb8bf079c87cb94df983004c0f000c12e88f3537205d"}, {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x86dd, [0x0, 0x0], "ef77730c06f4e58ebb27aa8ee6a58d57321d18b1c2b2a68d2eb98808f4f818b8fcfb664d7f6edba7fe4350fe0d31e8d7f213dff2b71f548c730b79aa0833e424eb322febe9037de610c03052328f83de49c29c8d58ed52b1a74b85442c03327f8ff7817aefe27994f573bf7ed686440b2be4ab0b771bb64d6c04c315a721254fa80e08b099e6c25692228c30d518fd8784cbb560f6b7a3ff27fec961904d0982ada98fe8e1c5de30c04940b8f22fb41ea999213cacd23994993e3f63db825f406caba09099131295e18fcaf658dce45a21cbaf741a7774ade4fc32d0d2ad4bd7711db7778fffdaa4e5761cb2a9b07d3c6269d376fa89cc"}, {}, {}, {0x8, 0x6558, 0x0, "5eb34f543175b886a6537d81580d0e3080106fce1c47cd47ca2b132e58b5d220f9070d37e9e88b9f93a75aec7210ab5939f3033a8ae11515ec99c3ed697b249eaf491a3b8ab9faf085b5fa141169244e9347c8956d09eb987972af58fdf91e24aa3d964bf1a8f147e15a852db5341f52958503d43abf539e5276b39901fc06c67ad223c178aac155b19adc0980726ab7f0e654009b172521dd7eca19b5b930654b448f5a2a940191ae76190a3379262ca7884a0ef72134043bf748e2a0c8e2bce390630f357b9fb05cca"}}}}}}, 0x0) 12:42:25 executing program 4: syz_emit_ethernet(0x66, &(0x7f0000000040)={@multicast, @empty, @void, {@ipv4={0x800, @gre={{0x5, 0x4, 0x0, 0x0, 0x58, 0x0, 0x0, 0x0, 0x2f, 0x0, @broadcast, @loopback}, {{0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x2}}}}}}, 0x0) 12:42:26 executing program 1: r0 = socket$packet(0x11, 0x3, 0x300) r1 = socket$packet(0x11, 0x2, 0x300) ioctl$ifreq_SIOCGIFINDEX_wireguard(r0, 0x8933, &(0x7f00000003c0)={'wg1\x00', 0x0}) sendto$packet(r1, &(0x7f00000000c0)="1351ea8c6abba6c25a7059dc6a8d5ef1aa474d7d", 0x14, 0x0, &(0x7f0000000200)={0x11, 0x0, r2}, 0x14) 12:42:26 executing program 3: syz_usb_connect(0x0, 0xc8, &(0x7f0000000000)={{0x12, 0x1, 0x0, 0x72, 0xc0, 0x8c, 0x40, 0x1b3d, 0x1bb, 0x2202, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0xb6, 0x1, 0x0, 0x0, 0x0, 0x3, [{{0x9, 0x4, 0x0, 0x0, 0x4, 0xdd, 0xbd, 0xd8, 0x0, [], [{{0x9, 0x5, 0x0, 0x0, 0x0, 0x7}}, {{0x9, 0x5, 0x0, 0x0, 0x0, 0x80, 0x7, 0x3, [@uac_iso={0x7, 0x25, 0x1, 0x0, 0x0, 0xf5cd}, @generic={0x6c, 0x0, "d797846575570ff0e2ed94b9975c043107b931b6957c6029886221095397dd8a0fb63f8521b34b941bd5469b604f896244bbcc011b910aa96197b5ad339bf7c10ca030ab2927d865084cfaf43c4b53e303a4665748fcb4b03909c0b05d3a759512373e1f99f51550a4ab"}]}}, {{0x9, 0x5, 0x0, 0x0, 0x0, 0x0, 0x8, 0x0, [@generic={0xb, 0x5, "571e3b25d6ef10c675"}]}}, {{0x9, 0x5, 0x5, 0x0, 0x20, 0x0, 0x0, 0x7, [@generic={0x2}]}}]}}]}}]}}, 0x0) 12:42:26 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x4010000, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:26 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x0, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:26 executing program 5: r0 = syz_open_dev$loop(&(0x7f0000000180)='/dev/loop#\x00', 0x0, 0x0) ioctl$LOOP_SET_FD(r0, 0x401070c9, 0xffffffffffffffff) 12:42:26 executing program 4: r0 = socket$inet6_udplite(0xa, 0x2, 0x88) ioctl$ifreq_SIOCGIFINDEX_wireguard(r0, 0x89b0, &(0x7f0000001000)={'wg2\x00'}) 12:42:26 executing program 1: syz_mount_image$tmpfs(0x0, &(0x7f0000000180)='./file0\x00', 0x0, 0x0, 0x0, 0x0, 0x0) setxattr$trusted_overlay_upper(&(0x7f0000001600)='./file0\x00', &(0x7f0000001640)='trusted.overlay.upper\x00', &(0x7f0000001680)={0x0, 0xfb, 0x15, 0x0, 0x0, "ff289767113ed7c8d06059c9d2a69029"}, 0x15, 0x0) setxattr$trusted_overlay_upper(&(0x7f0000001780)='./file0\x00', &(0x7f00000017c0)='trusted.overlay.upper\x00', 0x0, 0x0, 0x0) 12:42:26 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x5000000, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) [ 424.685339][ T5] usb 4-1: new high-speed USB device number 8 using dummy_hcd 12:42:27 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x38, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}]}, 0x38}}, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:27 executing program 5: mknod$loop(&(0x7f0000000100)='./file0\x00', 0x0, 0x1) setxattr$trusted_overlay_upper(0x0, 0x0, &(0x7f0000001680)={0x0, 0xfb, 0x15, 0x1, 0x0, "ff289767113ed7c8d06059c9d2a69029"}, 0x15, 0x0) setxattr$trusted_overlay_upper(&(0x7f0000001780)='./file0\x00', &(0x7f00000017c0)='trusted.overlay.upper\x00', 0x0, 0x0, 0x0) [ 425.077010][ T5] usb 4-1: config 0 interface 0 altsetting 0 has an invalid endpoint with address 0x0, skipping [ 425.087863][ T5] usb 4-1: config 0 interface 0 altsetting 0 has an invalid endpoint with address 0x0, skipping [ 425.098725][ T5] usb 4-1: config 0 interface 0 altsetting 0 has an invalid endpoint with address 0x0, skipping [ 425.109514][ T5] usb 4-1: config 0 interface 0 altsetting 0 has an invalid endpoint with address 0x57, skipping 12:42:27 executing program 4: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000080)='nl80211\x00', 0xffffffffffffffff) sendmsg$NL80211_CMD_NEW_INTERFACE(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000140)={0x14, r1, 0x1, 0x0, 0x0, {{}, {@void, @void, @void}}}, 0x14}}, 0x0) [ 425.120491][ T5] usb 4-1: config 0 interface 0 altsetting 0 has 5 endpoint descriptors, different from the interface descriptor's value: 4 12:42:27 executing program 1: bpf$MAP_CREATE(0x2, &(0x7f0000000080), 0x40) 12:42:27 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x6000000, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) [ 425.471713][ T5] usb 4-1: New USB device found, idVendor=1b3d, idProduct=01bb, bcdDevice=22.02 [ 425.481211][ T5] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 425.489452][ T5] usb 4-1: Product: syz [ 425.494044][ T5] usb 4-1: Manufacturer: syz [ 425.498863][ T5] usb 4-1: SerialNumber: syz [ 425.698372][ T5] usb 4-1: config 0 descriptor?? [ 425.725126][T13797] raw-gadget gadget: fail, usb_ep_enable returned -22 [ 425.775354][ T5] ftdi_sio 4-1:0.0: FTDI USB Serial Device converter detected [ 425.784520][ T5] usb 4-1: Detected FT-X [ 425.991853][ T5] ftdi_sio ttyUSB0: Unable to read latency timer: -71 [ 426.011596][ T5] ftdi_sio ttyUSB0: Unable to write latency timer: -71 [ 426.054091][ T5] ftdi_sio 4-1:0.0: GPIO initialisation failed: -71 [ 426.082167][ T5] usb 4-1: FTDI USB Serial Device converter now attached to ttyUSB0 [ 426.121950][ T5] usb 4-1: USB disconnect, device number 8 [ 426.149300][ T5] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0 [ 426.160831][ T5] ftdi_sio 4-1:0.0: device disconnected [ 426.750988][ T4694] usb 4-1: new high-speed USB device number 9 using dummy_hcd [ 427.131047][ T4694] usb 4-1: config 0 interface 0 altsetting 0 has an invalid endpoint with address 0x0, skipping [ 427.141899][ T4694] usb 4-1: config 0 interface 0 altsetting 0 has an invalid endpoint with address 0x0, skipping [ 427.154607][ T4694] usb 4-1: config 0 interface 0 altsetting 0 has an invalid endpoint with address 0x0, skipping [ 427.165917][ T4694] usb 4-1: config 0 interface 0 altsetting 0 has an invalid endpoint with address 0x57, skipping [ 427.176854][ T4694] usb 4-1: config 0 interface 0 altsetting 0 has 5 endpoint descriptors, different from the interface descriptor's value: 4 [ 427.401251][ T4694] usb 4-1: New USB device found, idVendor=1b3d, idProduct=01bb, bcdDevice=22.02 [ 427.410897][ T4694] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 427.419077][ T4694] usb 4-1: Product: syz [ 427.423867][ T4694] usb 4-1: Manufacturer: syz [ 427.428616][ T4694] usb 4-1: SerialNumber: syz [ 427.507228][ T4694] usb 4-1: config 0 descriptor?? 12:42:29 executing program 3: r0 = syz_open_dev$loop(&(0x7f0000000180)='/dev/loop#\x00', 0x0, 0x0) ioctl$LOOP_SET_STATUS64(r0, 0xc0189436, &(0x7f0000000200)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, "8bd6b4511bb43aa276a0678e9a8a61823caf674e3e17ec1b6718c35c8159010100000000000001a90f41c470e6744cc9546dc9b99dd921f8e478c225d9b54a33", "801833d87333bb2c3d6bf99f477d4fea6354437de8e3ba86c8d2a56fcaff6687609a763764edb2650263ee94f5ee383551d3d3888f550d11d64d45c1407ec1c1", "0d2be6f71b1f304eacccc3a3a6b3204ff4a5738b977d6f2a732bfc3cf1750ffa"}) 12:42:29 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x38, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}]}, 0x38}}, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:29 executing program 5: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000180)={&(0x7f0000000100)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x1c, 0x1c, 0x2, [@func_proto={0x0, 0x2, 0x0, 0xd, 0x0, [{0x0, 0x5}, {}]}]}}, &(0x7f0000000380)=""/157, 0x36, 0x9d, 0x1}, 0x20) 12:42:29 executing program 1: r0 = syz_open_dev$vcsu(&(0x7f0000000200)='/dev/vcsu#\x00', 0x0, 0x0) mmap$IORING_OFF_CQ_RING(&(0x7f0000ffe000/0x2000)=nil, 0x2000, 0x4, 0x11, r0, 0x8000000) ioctl$BTRFS_IOC_SET_RECEIVED_SUBVOL(0xffffffffffffffff, 0xc0c89425, 0x0) mmap$IORING_OFF_CQ_RING(&(0x7f0000ffc000/0x4000)=nil, 0x4000, 0x0, 0x12, r0, 0x8000000) 12:42:29 executing program 4: syz_emit_ethernet(0x2e, &(0x7f0000000100)={@dev, @broadcast, @val={@void}, {@arp={0x8035, @ether_ipv4={0x1, 0x800, 0x6, 0x4, 0x0, @local, @remote, @local, @remote}}}}, 0x0) 12:42:29 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x7000000, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) [ 427.630993][ T4694] usb 4-1: can't set config #0, error -71 [ 427.731383][ T4694] usb 4-1: USB disconnect, device number 9 12:42:30 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x38, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}]}, 0x38}}, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:30 executing program 4: clock_getres(0x3, &(0x7f0000003140)) 12:42:30 executing program 1: syz_emit_ethernet(0x3a, &(0x7f00000000c0)={@broadcast, @link_local, @void, {@ipv4={0x800, @tcp={{0x6, 0x4, 0x0, 0x0, 0x2c, 0x0, 0x0, 0x0, 0x6, 0x0, @dev, @rand_addr=0x64010101, {[@noop, @generic={0x82, 0x2}]}}, {{0x0, 0x0, 0x41424344, 0x41424344, 0x0, 0x0, 0x5}}}}}}, 0x0) 12:42:30 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x8000000, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:30 executing program 5: add_key$keyring(0x0, 0x0, 0x0, 0x0, 0x0) r0 = add_key$keyring(&(0x7f0000000000)='keyring\x00', &(0x7f00000000c0)={'syz', 0x1}, 0x0, 0x0, 0xfffffffffffffffc) request_key(&(0x7f00000001c0)='keyring\x00', &(0x7f0000000280)={'syz', 0x1}, 0x0, r0) 12:42:30 executing program 3: perf_event_open(&(0x7f0000000140)={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={0x0}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2}, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) 12:42:31 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x9000000, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:31 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8}]}, 0x40}}, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:31 executing program 4: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r0, 0x8933, &(0x7f0000000380)={'batadv_slave_1\x00', 0x0}) bpf$MAP_CREATE(0x0, &(0x7f0000000040)={0x17, 0x0, 0x408b, 0x1, 0x0, 0xffffffffffffffff, 0x0, [], r1}, 0x40) 12:42:31 executing program 1: r0 = syz_open_dev$loop(&(0x7f0000000180)='/dev/loop#\x00', 0x0, 0x0) ioctl$LOOP_SET_FD(r0, 0x5460, 0xffffffffffffffff) 12:42:31 executing program 3: bpf$MAP_CREATE(0x5, 0x0, 0x0) 12:42:31 executing program 5: r0 = syz_open_dev$vcsu(&(0x7f0000000200)='/dev/vcsu#\x00', 0x0, 0x0) mmap$IORING_OFF_CQ_RING(&(0x7f0000ffe000/0x2000)=nil, 0x2000, 0x2, 0x11, r0, 0x8000000) 12:42:32 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0xa000000, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:32 executing program 5: mlock2(&(0x7f0000fef000/0x11000)=nil, 0x11000, 0x0) mprotect(&(0x7f0000ffe000/0x2000)=nil, 0x2000, 0x0) 12:42:32 executing program 4: prctl$PR_SET_MM(0x23, 0x2, &(0x7f0000ffd000/0x1000)=nil) 12:42:32 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8}]}, 0x40}}, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:32 executing program 1: bpf$MAP_CREATE(0x0, &(0x7f0000000040)={0xc}, 0x40) 12:42:32 executing program 3: syz_usb_connect(0x0, 0x36, &(0x7f0000000000)={{0x12, 0x1, 0x0, 0x2a, 0x4f, 0xf4, 0x20, 0x2001, 0x4a00, 0x7c06, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x24, 0x1, 0x0, 0x0, 0x0, 0x0, [{{0x9, 0x4, 0x0, 0x0, 0x2, 0x5b, 0xb9, 0x11, 0x0, [], [{{0x9, 0x5, 0x0, 0x2, 0x200}}, {}]}}]}}]}}, 0x0) 12:42:32 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0xf000000, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:32 executing program 5: syz_emit_ethernet(0x46, &(0x7f0000000080)={@broadcast, @broadcast, @void, {@ipv6={0x86dd, @dccp_packet={0x0, 0x6, "fb9061", 0x10, 0x21, 0x0, @initdev={0xfe, 0x88, [], 0x0, 0x0}, @mcast2, {[], {{0x0, 0x0, 0x4, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, "5805a5", 0x0, "493887"}}}}}}}, 0x0) 12:42:32 executing program 4: r0 = socket$inet6_udplite(0xa, 0x2, 0x88) ioctl$ifreq_SIOCGIFINDEX_wireguard(r0, 0x8980, 0x0) 12:42:32 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8}]}, 0x40}}, 0x0) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r2, 0x0) preadv(r2, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:32 executing program 1: syz_emit_ethernet(0x66, &(0x7f0000000040)={@multicast, @empty, @void, {@ipv4={0x800, @gre={{0x5, 0x4, 0x0, 0x0, 0x58, 0x0, 0x0, 0x0, 0x2f, 0x0, @broadcast, @loopback}, {{0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x8848}}}}}}, 0x0) [ 430.860967][ T8841] usb 4-1: new high-speed USB device number 10 using dummy_hcd 12:42:33 executing program 4: syz_open_dev$vcsu(&(0x7f0000000080)='/dev/vcsu#\x00', 0xffffffffffffffff, 0x200281) [ 431.112961][ T8841] usb 4-1: Using ep0 maxpacket: 32 12:42:33 executing program 5: r0 = socket(0x2, 0x3, 0x8) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r0, 0x8915, &(0x7f0000000000)={'batadv_slave_0\x00'}) 12:42:33 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x28, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_MASTER={0x8, 0xa, r2}]}, 0x28}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) [ 431.241244][ T8841] usb 4-1: config 0 interface 0 altsetting 0 has an invalid endpoint with address 0x0, skipping [ 431.254599][ T8841] usb 4-1: config 0 interface 0 altsetting 0 has an invalid endpoint with address 0x0, skipping 12:42:33 executing program 1: bpf$MAP_CREATE(0x0, &(0x7f0000000100)={0x1, 0x0, 0x0, 0x1, 0x0, 0x1}, 0x40) 12:42:33 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x60000000, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) [ 431.531837][ T8841] usb 4-1: New USB device found, idVendor=2001, idProduct=4a00, bcdDevice=7c.06 [ 431.541233][ T8841] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 431.549394][ T8841] usb 4-1: Product: syz [ 431.554883][ T8841] usb 4-1: Manufacturer: syz [ 431.559956][ T8841] usb 4-1: SerialNumber: syz [ 431.634406][ T8841] usb 4-1: config 0 descriptor?? 12:42:33 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x28, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_MASTER={0x8, 0xa, r2}]}, 0x28}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) [ 431.892245][ T8841] ax88179_178a 4-1:0.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0002: -71 [ 431.932170][ T8841] ax88179_178a 4-1:0.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0002: -71 [ 432.196099][ T8841] ax88179_178a 4-1:0.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0001: -71 [ 432.351128][ T8841] ax88179_178a 4-1:0.0 (unnamed net_device) (uninitialized): Failed to read reg index 0x0006: -71 [ 432.362144][ T8841] ===================================================== [ 432.369090][ T8841] BUG: KMSAN: uninit-value in ax88179_get_mac_addr+0x487/0x860 [ 432.376737][ T8841] CPU: 0 PID: 8841 Comm: kworker/0:6 Not tainted 5.11.0-rc7-syzkaller #0 [ 432.385163][ T8841] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 432.395225][ T8841] Workqueue: usb_hub_wq hub_event [ 432.400395][ T8841] Call Trace: [ 432.403676][ T8841] dump_stack+0x21c/0x280 [ 432.408033][ T8841] kmsan_report+0xfb/0x1e0 [ 432.412460][ T8841] __msan_warning+0x5f/0xa0 [ 432.416977][ T8841] ax88179_get_mac_addr+0x487/0x860 [ 432.422206][ T8841] ax88179_bind+0x3f5/0x19e0 [ 432.426804][ T8841] ? kmsan_memcpy_memmove_metadata+0x110/0x2d0 [ 432.432994][ T8841] ? kmsan_get_metadata+0x116/0x180 [ 432.438207][ T8841] ? ax88179_resume+0x1270/0x1270 [ 432.443549][ T8841] usbnet_probe+0x115e/0x3e80 [ 432.448348][ T8841] ? kmsan_get_metadata+0x116/0x180 [ 432.453592][ T8841] ? usbnet_disconnect+0x6b0/0x6b0 [ 432.458718][ T8841] usb_probe_interface+0xfcc/0x1520 [ 432.463931][ T8841] ? usb_register_driver+0x900/0x900 [ 432.469249][ T8841] really_probe+0xe15/0x24d0 [ 432.473999][ T8841] driver_probe_device+0x29d/0x3a0 [ 432.479160][ T8841] __device_attach_driver+0x63f/0x830 [ 432.484553][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 432.489434][ T8841] ? deferred_probe_work_func+0x400/0x400 [ 432.495172][ T8841] __device_attach+0x56a/0x890 [ 432.499954][ T8841] device_initial_probe+0x4a/0x60 [ 432.504993][ T8841] bus_probe_device+0x17e/0x3d0 [ 432.509857][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 432.515679][ T8841] device_add+0x2c15/0x31d0 [ 432.520193][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 432.525658][ T8841] ? usb_set_configuration+0xa61/0x3eb0 [ 432.531212][ T8841] ? __msan_metadata_ptr_for_load_1+0x10/0x20 [ 432.537296][ T8841] usb_generic_driver_probe+0x138/0x300 [ 432.542929][ T8841] ? usb_choose_configuration+0xee0/0xee0 [ 432.548671][ T8841] usb_probe_device+0x317/0x570 [ 432.553526][ T8841] ? usb_register_device_driver+0x590/0x590 [ 432.559426][ T8841] really_probe+0xe15/0x24d0 [ 432.564030][ T8841] driver_probe_device+0x29d/0x3a0 [ 432.569157][ T8841] __device_attach_driver+0x63f/0x830 [ 432.574545][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 432.579492][ T8841] ? deferred_probe_work_func+0x400/0x400 [ 432.585234][ T8841] __device_attach+0x56a/0x890 [ 432.590015][ T8841] device_initial_probe+0x4a/0x60 [ 432.595056][ T8841] bus_probe_device+0x17e/0x3d0 [ 432.599916][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 432.605739][ T8841] device_add+0x2c15/0x31d0 [ 432.610259][ T8841] usb_new_device+0x1bd4/0x2a30 [ 432.615141][ T8841] hub_event+0x5b99/0x8870 [ 432.619581][ T8841] ? kmsan_get_metadata+0x116/0x180 [ 432.624808][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 432.630629][ T8841] ? led_work+0x780/0x780 [ 432.634969][ T8841] process_one_work+0x1219/0x1fe0 [ 432.640090][ T8841] worker_thread+0x10ec/0x2340 [ 432.644877][ T8841] kthread+0x521/0x560 [ 432.648994][ T8841] ? process_one_work+0x1fe0/0x1fe0 [ 432.654232][ T8841] ? kthread_blkcg+0x110/0x110 [ 432.659012][ T8841] ret_from_fork+0x1f/0x30 [ 432.663446][ T8841] [ 432.665762][ T8841] Local variable ----mac@ax88179_get_mac_addr created at: [ 432.672866][ T8841] ax88179_get_mac_addr+0x4d/0x860 [ 432.677994][ T8841] ax88179_get_mac_addr+0x4d/0x860 [ 432.683139][ T8841] ===================================================== [ 432.690061][ T8841] Disabling lock debugging due to kernel taint [ 432.708941][ T8841] ===================================================== [ 432.716142][ T8841] BUG: KMSAN: uninit-value in ax88179_get_mac_addr+0x5ca/0x860 [ 432.723727][ T8841] CPU: 0 PID: 8841 Comm: kworker/0:6 Tainted: G B 5.11.0-rc7-syzkaller #0 [ 432.733573][ T8841] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 432.744099][ T8841] Workqueue: usb_hub_wq hub_event [ 432.749470][ T8841] Call Trace: [ 432.752768][ T8841] dump_stack+0x21c/0x280 [ 432.757467][ T8841] kmsan_report+0xfb/0x1e0 [ 432.762871][ T8841] __msan_warning+0x5f/0xa0 [ 432.767916][ T8841] ax88179_get_mac_addr+0x5ca/0x860 [ 432.773391][ T8841] ax88179_bind+0x3f5/0x19e0 [ 432.778171][ T8841] ? kmsan_memcpy_memmove_metadata+0x110/0x2d0 [ 432.785345][ T8841] ? kmsan_get_metadata+0x116/0x180 [ 432.791536][ T8841] ? ax88179_resume+0x1270/0x1270 [ 432.797063][ T8841] usbnet_probe+0x115e/0x3e80 [ 432.801776][ T8841] ? kmsan_get_metadata+0x116/0x180 [ 432.807155][ T8841] ? usbnet_disconnect+0x6b0/0x6b0 [ 432.812303][ T8841] usb_probe_interface+0xfcc/0x1520 [ 432.817539][ T8841] ? usb_register_driver+0x900/0x900 [ 432.822857][ T8841] really_probe+0xe15/0x24d0 [ 432.827488][ T8841] driver_probe_device+0x29d/0x3a0 [ 432.832647][ T8841] __device_attach_driver+0x63f/0x830 [ 432.838072][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 432.842971][ T8841] ? deferred_probe_work_func+0x400/0x400 [ 432.849117][ T8841] __device_attach+0x56a/0x890 [ 432.854978][ T8841] device_initial_probe+0x4a/0x60 [ 432.860122][ T8841] bus_probe_device+0x17e/0x3d0 [ 432.865019][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 432.870879][ T8841] device_add+0x2c15/0x31d0 [ 432.875523][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 432.881115][ T8841] ? usb_set_configuration+0xa61/0x3eb0 [ 432.886691][ T8841] ? __msan_metadata_ptr_for_load_1+0x10/0x20 [ 432.892955][ T8841] usb_generic_driver_probe+0x138/0x300 [ 432.898544][ T8841] ? usb_choose_configuration+0xee0/0xee0 [ 432.904795][ T8841] usb_probe_device+0x317/0x570 [ 432.909688][ T8841] ? usb_register_device_driver+0x590/0x590 [ 432.915618][ T8841] really_probe+0xe15/0x24d0 [ 432.920262][ T8841] driver_probe_device+0x29d/0x3a0 [ 432.925399][ T8841] __device_attach_driver+0x63f/0x830 [ 432.930821][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 432.935715][ T8841] ? deferred_probe_work_func+0x400/0x400 [ 432.941470][ T8841] __device_attach+0x56a/0x890 [ 432.946272][ T8841] device_initial_probe+0x4a/0x60 [ 432.951318][ T8841] bus_probe_device+0x17e/0x3d0 [ 432.956190][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 432.962035][ T8841] device_add+0x2c15/0x31d0 [ 432.966759][ T8841] usb_new_device+0x1bd4/0x2a30 [ 432.971663][ T8841] hub_event+0x5b99/0x8870 [ 432.976619][ T8841] ? kmsan_get_metadata+0x116/0x180 [ 432.982434][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 432.988356][ T8841] ? led_work+0x780/0x780 [ 432.992733][ T8841] process_one_work+0x1219/0x1fe0 [ 432.998473][ T8841] worker_thread+0x10ec/0x2340 [ 433.003309][ T8841] kthread+0x521/0x560 [ 433.007470][ T8841] ? process_one_work+0x1fe0/0x1fe0 [ 433.012708][ T8841] ? kthread_blkcg+0x110/0x110 [ 433.017575][ T8841] ret_from_fork+0x1f/0x30 [ 433.023329][ T8841] [ 433.025791][ T8841] Local variable ----mac@ax88179_get_mac_addr created at: [ 433.032915][ T8841] ax88179_get_mac_addr+0x4d/0x860 [ 433.038504][ T8841] ax88179_get_mac_addr+0x4d/0x860 [ 433.043919][ T8841] ===================================================== [ 433.065925][ T8841] ===================================================== [ 433.072918][ T8841] BUG: KMSAN: kernel-usb-infoleak in kmsan_handle_urb+0x28/0x40 [ 433.081153][ T8841] CPU: 0 PID: 8841 Comm: kworker/0:6 Tainted: G B 5.11.0-rc7-syzkaller #0 [ 433.090988][ T8841] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 433.101071][ T8841] Workqueue: usb_hub_wq hub_event [ 433.106366][ T8841] Call Trace: [ 433.109667][ T8841] dump_stack+0x21c/0x280 [ 433.114038][ T8841] kmsan_report+0xfb/0x1e0 [ 433.119053][ T8841] kmsan_internal_check_memory+0x2b0/0x520 [ 433.125244][ T8841] ? device_initial_probe+0x4a/0x60 [ 433.130586][ T8841] ? bus_probe_device+0x17e/0x3d0 [ 433.135661][ T8841] ? device_add+0x2c15/0x31d0 [ 433.140396][ T8841] ? usb_new_device+0x1bd4/0x2a30 [ 433.145986][ T8841] kmsan_handle_urb+0x28/0x40 [ 433.151329][ T8841] usb_submit_urb+0x89f/0x2590 [ 433.156125][ T8841] ? kmsan_get_metadata+0x116/0x180 [ 433.161379][ T8841] usb_start_wait_urb+0x155/0x4c0 [ 433.166450][ T8841] usb_control_msg+0x498/0x7d0 [ 433.171249][ T8841] usbnet_write_cmd+0x3d3/0x480 [ 433.176137][ T8841] ax88179_get_mac_addr+0x402/0x860 [ 433.181404][ T8841] ax88179_bind+0x3f5/0x19e0 [ 433.186035][ T8841] ? kmsan_memcpy_memmove_metadata+0x110/0x2d0 [ 433.192244][ T8841] ? kmsan_get_metadata+0x116/0x180 [ 433.197490][ T8841] ? ax88179_resume+0x1270/0x1270 [ 433.202561][ T8841] usbnet_probe+0x115e/0x3e80 [ 433.207282][ T8841] ? kmsan_get_metadata+0x116/0x180 [ 433.212535][ T8841] ? usbnet_disconnect+0x6b0/0x6b0 [ 433.217833][ T8841] usb_probe_interface+0xfcc/0x1520 [ 433.223078][ T8841] ? usb_register_driver+0x900/0x900 [ 433.228413][ T8841] really_probe+0xe15/0x24d0 [ 433.233568][ T8841] driver_probe_device+0x29d/0x3a0 [ 433.238724][ T8841] __device_attach_driver+0x63f/0x830 [ 433.244143][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 433.249043][ T8841] ? deferred_probe_work_func+0x400/0x400 [ 433.254816][ T8841] __device_attach+0x56a/0x890 [ 433.259644][ T8841] device_initial_probe+0x4a/0x60 [ 433.264720][ T8841] bus_probe_device+0x17e/0x3d0 [ 433.269615][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 433.275472][ T8841] device_add+0x2c15/0x31d0 [ 433.280499][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 433.286009][ T8841] ? usb_set_configuration+0xa61/0x3eb0 [ 433.291603][ T8841] ? __msan_metadata_ptr_for_load_1+0x10/0x20 [ 433.297726][ T8841] usb_generic_driver_probe+0x138/0x300 [ 433.303322][ T8841] ? usb_choose_configuration+0xee0/0xee0 [ 433.309091][ T8841] usb_probe_device+0x317/0x570 [ 433.313988][ T8841] ? usb_register_device_driver+0x590/0x590 [ 433.319923][ T8841] really_probe+0xe15/0x24d0 [ 433.324573][ T8841] driver_probe_device+0x29d/0x3a0 [ 433.329753][ T8841] __device_attach_driver+0x63f/0x830 [ 433.335182][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 433.340076][ T8841] ? deferred_probe_work_func+0x400/0x400 [ 433.346408][ T8841] __device_attach+0x56a/0x890 [ 433.351234][ T8841] device_initial_probe+0x4a/0x60 [ 433.356311][ T8841] bus_probe_device+0x17e/0x3d0 [ 433.361198][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 433.367068][ T8841] device_add+0x2c15/0x31d0 [ 433.371610][ T8841] usb_new_device+0x1bd4/0x2a30 [ 433.376511][ T8841] hub_event+0x5b99/0x8870 [ 433.380990][ T8841] ? kmsan_get_metadata+0x116/0x180 [ 433.386238][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 433.392099][ T8841] ? led_work+0x780/0x780 [ 433.396475][ T8841] process_one_work+0x1219/0x1fe0 [ 433.401569][ T8841] worker_thread+0x10ec/0x2340 [ 433.406389][ T8841] kthread+0x521/0x560 [ 433.410502][ T8841] ? process_one_work+0x1fe0/0x1fe0 [ 433.415746][ T8841] ? kthread_blkcg+0x110/0x110 [ 433.420540][ T8841] ret_from_fork+0x1f/0x30 [ 433.424976][ T8841] [ 433.427293][ T8841] Uninit was stored to memory at: [ 433.432304][ T8841] kmsan_internal_chain_origin+0xad/0x130 [ 433.438051][ T8841] kmsan_memcpy_memmove_metadata+0x25e/0x2d0 [ 433.444046][ T8841] kmsan_memcpy_metadata+0xb/0x10 [ 433.449103][ T8841] __msan_memcpy+0x46/0x60 [ 433.453597][ T8841] kmemdup+0x107/0x140 [ 433.457800][ T8841] usbnet_write_cmd+0x1a0/0x480 [ 433.462674][ T8841] ax88179_get_mac_addr+0x402/0x860 [ 433.467904][ T8841] ax88179_bind+0x3f5/0x19e0 [ 433.472501][ T8841] usbnet_probe+0x115e/0x3e80 [ 433.477187][ T8841] usb_probe_interface+0xfcc/0x1520 [ 433.482410][ T8841] really_probe+0xe15/0x24d0 [ 433.487025][ T8841] driver_probe_device+0x29d/0x3a0 [ 433.492173][ T8841] __device_attach_driver+0x63f/0x830 [ 433.497556][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 433.502430][ T8841] __device_attach+0x56a/0x890 [ 433.507220][ T8841] device_initial_probe+0x4a/0x60 [ 433.512281][ T8841] bus_probe_device+0x17e/0x3d0 [ 433.517170][ T8841] device_add+0x2c15/0x31d0 [ 433.521682][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 433.527151][ T8841] usb_generic_driver_probe+0x138/0x300 [ 433.532697][ T8841] usb_probe_device+0x317/0x570 [ 433.537553][ T8841] really_probe+0xe15/0x24d0 [ 433.542156][ T8841] driver_probe_device+0x29d/0x3a0 [ 433.547276][ T8841] __device_attach_driver+0x63f/0x830 [ 433.552661][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 433.557526][ T8841] __device_attach+0x56a/0x890 [ 433.562297][ T8841] device_initial_probe+0x4a/0x60 [ 433.567333][ T8841] bus_probe_device+0x17e/0x3d0 [ 433.572194][ T8841] device_add+0x2c15/0x31d0 [ 433.576706][ T8841] usb_new_device+0x1bd4/0x2a30 [ 433.581570][ T8841] hub_event+0x5b99/0x8870 [ 433.585993][ T8841] process_one_work+0x1219/0x1fe0 [ 433.591029][ T8841] worker_thread+0x10ec/0x2340 [ 433.595801][ T8841] kthread+0x521/0x560 [ 433.599879][ T8841] ret_from_fork+0x1f/0x30 [ 433.604301][ T8841] [ 433.606616][ T8841] Uninit was stored to memory at: [ 433.611629][ T8841] kmsan_internal_chain_origin+0xad/0x130 [ 433.617368][ T8841] kmsan_memcpy_memmove_metadata+0x25e/0x2d0 [ 433.623361][ T8841] kmsan_memcpy_metadata+0xb/0x10 [ 433.628393][ T8841] __msan_memcpy+0x46/0x60 [ 433.632817][ T8841] ax88179_get_mac_addr+0x33b/0x860 [ 433.638025][ T8841] ax88179_bind+0x3f5/0x19e0 [ 433.642626][ T8841] usbnet_probe+0x115e/0x3e80 [ 433.647312][ T8841] usb_probe_interface+0xfcc/0x1520 [ 433.652521][ T8841] really_probe+0xe15/0x24d0 [ 433.657128][ T8841] driver_probe_device+0x29d/0x3a0 [ 433.662274][ T8841] __device_attach_driver+0x63f/0x830 [ 433.667676][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 433.672538][ T8841] __device_attach+0x56a/0x890 [ 433.677327][ T8841] device_initial_probe+0x4a/0x60 [ 433.682397][ T8841] bus_probe_device+0x17e/0x3d0 [ 433.687291][ T8841] device_add+0x2c15/0x31d0 [ 433.691809][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 433.697285][ T8841] usb_generic_driver_probe+0x138/0x300 [ 433.702836][ T8841] usb_probe_device+0x317/0x570 [ 433.707695][ T8841] really_probe+0xe15/0x24d0 [ 433.712309][ T8841] driver_probe_device+0x29d/0x3a0 [ 433.717438][ T8841] __device_attach_driver+0x63f/0x830 [ 433.722827][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 433.727704][ T8841] __device_attach+0x56a/0x890 [ 433.732478][ T8841] device_initial_probe+0x4a/0x60 [ 433.737518][ T8841] bus_probe_device+0x17e/0x3d0 [ 433.742377][ T8841] device_add+0x2c15/0x31d0 [ 433.746910][ T8841] usb_new_device+0x1bd4/0x2a30 [ 433.751776][ T8841] hub_event+0x5b99/0x8870 [ 433.756207][ T8841] process_one_work+0x1219/0x1fe0 [ 433.761270][ T8841] worker_thread+0x10ec/0x2340 [ 433.766053][ T8841] kthread+0x521/0x560 [ 433.770130][ T8841] ret_from_fork+0x1f/0x30 [ 433.774557][ T8841] [ 433.777022][ T8841] Local variable ----mac@ax88179_get_mac_addr created at: [ 433.784147][ T8841] ax88179_get_mac_addr+0x4d/0x860 [ 433.789309][ T8841] ax88179_get_mac_addr+0x4d/0x860 [ 433.794453][ T8841] [ 433.796771][ T8841] Bytes 0-3 of 6 are uninitialized [ 433.801879][ T8841] Memory access of size 6 starts at ffff888122256188 [ 433.808580][ T8841] ===================================================== 12:42:36 executing program 3: bpf$MAP_CREATE(0xd, &(0x7f0000000040), 0x40) 12:42:36 executing program 4: perf_event_open(&(0x7f0000000140)={0x8, 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={0x0}, 0x0, 0x100000000000}, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0) 12:42:36 executing program 5: request_key(&(0x7f00000001c0)='asymmetric\x00', &(0x7f0000000200)={'syz', 0x3}, 0x0, 0x0) 12:42:36 executing program 1: r0 = socket$inet_tcp(0x2, 0x1, 0x0) mmap(&(0x7f0000ffe000/0x2000)=nil, 0x2000, 0x4, 0x13, r0, 0x0) 12:42:36 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0x9effffff, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:36 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x28, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_MASTER={0x8, 0xa, r2}]}, 0x28}}, 0x0) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:36 executing program 1: r0 = syz_open_dev$vcsu(&(0x7f0000000200)='/dev/vcsu#\x00', 0x0, 0x1001) mmap$IORING_OFF_CQ_RING(&(0x7f0000ffe000/0x2000)=nil, 0x2000, 0xa, 0x11, r0, 0x8000000) 12:42:36 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0xf0ffffff, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) 12:42:36 executing program 5: r0 = socket$inet6_udplite(0xa, 0x2, 0x88) ioctl$ifreq_SIOCGIFINDEX_wireguard(r0, 0x8995, &(0x7f0000001000)={'wg2\x00'}) 12:42:36 executing program 4: r0 = add_key$fscrypt_v1(&(0x7f0000000000)='logon\x00', &(0x7f0000000040)={'fscrypt:', @desc1='0000111122223333'}, &(0x7f0000000080)={0x0, "0f0412315b396231a8163436c50603959a073b26f7cf5e953acf6f7be694bdba3c274ad766cc8852b407d4bbeb06bd45f261dc266b934c8de9136acb342ff834"}, 0x48, 0xfffffffffffffffb) keyctl$restrict_keyring(0x1d, r0, 0x0, &(0x7f0000000000)='\x00') [ 434.600155][ T8841] ax88179_178a 4-1:0.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0006: -71 [ 434.649774][ T8841] ax88179_178a 4-1:0.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0005: -71 [ 434.720978][ T8841] ax88179_178a 4-1:0.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0001: -71 [ 434.797964][ T8841] ax88179_178a 4-1:0.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0001: -71 [ 434.882179][ T8841] ax88179_178a 4-1:0.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0001: -71 [ 434.966549][ T8841] ax88179_178a 4-1:0.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0001: -71 [ 435.087281][ T8841] ax88179_178a 4-1:0.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0002: -71 [ 435.180463][ T8841] ax88179_178a 4-1:0.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0001: -71 12:42:37 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, 0x0, 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) [ 435.269916][ T8841] ax88179_178a 4-1:0.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0002: -71 12:42:37 executing program 3: r0 = syz_open_dev$loop(&(0x7f0000000180)='/dev/loop#\x00', 0x0, 0x0) ioctl$LOOP_SET_STATUS64(r0, 0x1278, &(0x7f0000000200)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, "8bd6b4511bb43aa276a0678e9a8a61823caf674e3e17ec1b6718c35c8159010100000000000001a90f41c470e6744cc9546dc9b99dd921f8e478c225d9b54a33", "801833d87333bb2c3d6bf99f477d4fea6354437de8e3ba86c8d2a56fcaff6687609a763764edb2650263ee94f5ee383551d3d3888f550d11d64d45c1407ec1c1", "0d2be6f71b1f304eacccc3a3a6b3204ff4a5738b977d6f2a732bfc3cf1750ffa"}) 12:42:37 executing program 1: r0 = socket$packet(0x11, 0x3, 0x300) recvfrom$packet(r0, 0x0, 0x0, 0x42, 0x0, 0x0) 12:42:37 executing program 5: socketpair$unix(0x1, 0x2, 0x0, &(0x7f00000009c0)={0xffffffffffffffff}) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r0, 0x8923, &(0x7f0000000a00)={'batadv_slave_0\x00'}) [ 435.384398][ T8841] ax88179_178a 4-1:0.0 (unnamed net_device) (uninitialized): Failed to read reg index 0x0001: -71 12:42:37 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0xffffff7f, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) [ 435.469422][ T8841] ax88179_178a 4-1:0.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0001: -71 12:42:37 executing program 4: r0 = socket(0x2, 0x3, 0x8) syz_genetlink_get_family_id$devlink(&(0x7f0000000080)='devlink\x00', r0) [ 435.581116][ T8841] ax88179_178a 4-1:0.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x001f: -71 [ 435.631246][ T8841] ax88179_178a 4-1:0.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0019: -71 [ 435.689231][ T8841] ax88179_178a 4-1:0.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x001f: -71 [ 435.728406][ T8841] ax88179_178a 4-1:0.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x000d: -71 [ 435.777177][ T8841] ax88179_178a 4-1:0.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x000e: -71 [ 435.802470][ T8841] ax88179_178a 4-1:0.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x000d: -71 [ 435.843294][ T8841] ax88179_178a 4-1:0.0 (unnamed net_device) (uninitialized): Failed to read reg index 0x000e: -71 [ 435.894141][ T8841] ax88179_178a 4-1:0.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x000d: -71 [ 435.933118][ T8841] ax88179_178a 4-1:0.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x000e: -71 [ 435.976791][ T8841] ax88179_178a 4-1:0.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x000d: -71 [ 436.041412][ T8841] ax88179_178a 4-1:0.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x000e: -71 [ 436.129837][ T8841] ax88179_178a 4-1:0.0 (unnamed net_device) (uninitialized): Failed to read reg index 0x0000: -71 [ 436.141019][ T8841] ===================================================== [ 436.147988][ T8841] BUG: KMSAN: uninit-value in mii_nway_restart+0x236/0x270 [ 436.155354][ T8841] CPU: 0 PID: 8841 Comm: kworker/0:6 Tainted: G B 5.11.0-rc7-syzkaller #0 [ 436.165196][ T8841] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 436.175291][ T8841] Workqueue: usb_hub_wq hub_event [ 436.180361][ T8841] Call Trace: [ 436.183675][ T8841] dump_stack+0x21c/0x280 [ 436.188054][ T8841] kmsan_report+0xfb/0x1e0 [ 436.192519][ T8841] __msan_warning+0x5f/0xa0 [ 436.197069][ T8841] mii_nway_restart+0x236/0x270 [ 436.201968][ T8841] ax88179_bind+0xf99/0x19e0 [ 436.206612][ T8841] ? kmsan_get_metadata+0x116/0x180 [ 436.211859][ T8841] ? ax88179_resume+0x1270/0x1270 [ 436.216940][ T8841] usbnet_probe+0x115e/0x3e80 [ 436.221661][ T8841] ? kmsan_get_metadata+0x116/0x180 [ 436.226912][ T8841] ? usbnet_disconnect+0x6b0/0x6b0 [ 436.232087][ T8841] usb_probe_interface+0xfcc/0x1520 [ 436.237323][ T8841] ? usb_register_driver+0x900/0x900 [ 436.242651][ T8841] really_probe+0xe15/0x24d0 [ 436.247295][ T8841] driver_probe_device+0x29d/0x3a0 [ 436.252454][ T8841] __device_attach_driver+0x63f/0x830 [ 436.257875][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 436.262775][ T8841] ? deferred_probe_work_func+0x400/0x400 [ 436.268543][ T8841] __device_attach+0x56a/0x890 [ 436.273357][ T8841] device_initial_probe+0x4a/0x60 [ 436.278417][ T8841] bus_probe_device+0x17e/0x3d0 [ 436.283302][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 436.289156][ T8841] device_add+0x2c15/0x31d0 [ 436.293700][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 436.299325][ T8841] ? usb_set_configuration+0xa61/0x3eb0 [ 436.305012][ T8841] ? __msan_metadata_ptr_for_load_1+0x10/0x20 [ 436.311152][ T8841] usb_generic_driver_probe+0x138/0x300 [ 436.316744][ T8841] ? usb_choose_configuration+0xee0/0xee0 [ 436.322514][ T8841] usb_probe_device+0x317/0x570 12:42:38 executing program 5: r0 = add_key$keyring(&(0x7f0000000040)='keyring\x00', &(0x7f0000000080)={'syz', 0x1}, 0x0, 0x0, 0xfffffffffffffffb) r1 = add_key$keyring(&(0x7f0000000180)='keyring\x00', &(0x7f0000000200)={'syz', 0x2}, 0x0, 0x0, r0) keyctl$unlink(0x9, r1, r0) [ 436.327409][ T8841] ? usb_register_device_driver+0x590/0x590 [ 436.333342][ T8841] really_probe+0xe15/0x24d0 [ 436.337989][ T8841] driver_probe_device+0x29d/0x3a0 [ 436.343153][ T8841] __device_attach_driver+0x63f/0x830 [ 436.348579][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 436.353473][ T8841] ? deferred_probe_work_func+0x400/0x400 [ 436.359249][ T8841] __device_attach+0x56a/0x890 [ 436.364074][ T8841] device_initial_probe+0x4a/0x60 [ 436.369162][ T8841] bus_probe_device+0x17e/0x3d0 [ 436.374060][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 436.379927][ T8841] device_add+0x2c15/0x31d0 [ 436.384507][ T8841] usb_new_device+0x1bd4/0x2a30 [ 436.389416][ T8841] hub_event+0x5b99/0x8870 [ 436.393897][ T8841] ? kmsan_get_metadata+0x116/0x180 [ 436.399146][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 436.405005][ T8841] ? led_work+0x780/0x780 [ 436.409379][ T8841] process_one_work+0x1219/0x1fe0 [ 436.414465][ T8841] worker_thread+0x10ec/0x2340 [ 436.419287][ T8841] kthread+0x521/0x560 [ 436.423396][ T8841] ? process_one_work+0x1fe0/0x1fe0 [ 436.428637][ T8841] ? kthread_blkcg+0x110/0x110 [ 436.433438][ T8841] ret_from_fork+0x1f/0x30 [ 436.437893][ T8841] [ 436.440233][ T8841] Local variable ----buf.i@ax88179_mdio_read created at: [ 436.447408][ T8841] ax88179_mdio_read+0x7b/0x260 [ 436.452323][ T8841] ax88179_mdio_read+0x7b/0x260 [ 436.457229][ T8841] ===================================================== 12:42:38 executing program 3: r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_fanout(r0, 0x107, 0x12, &(0x7f0000000080)={0x2, 0x3007}, 0x4) 12:42:38 executing program 2: pipe(&(0x7f0000000100)) r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x1, 0x803, 0x0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000380)=0x14) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=@newlink={0x40, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x18, 0x12, 0x0, 0x1, @wireguard={{0xe, 0x1, 'wireguard\x00'}, {0x4}}}, @IFLA_MASTER={0x8, 0xa, r2}]}, 0x40}}, 0x0) r3 = openat(0xffffffffffffff9c, 0x0, 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x2800004, 0x12, r3, 0x0) preadv(r3, &(0x7f00000001c0)=[{0x0}], 0x1, 0x9, 0x0) 12:42:38 executing program 1: prctl$PR_SET_MM(0x1d, 0x0, &(0x7f0000ffd000/0x1000)=nil) 12:42:38 executing program 4: syz_open_dev$vcsa(&(0x7f0000000000)='/dev/vcsa#\x00', 0x0, 0x201) 12:42:39 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$IPSET_CMD_CREATE(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000180)={0x4c, 0x2, 0x6, 0x301, 0xffffff9e, 0x0, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz0\x00'}, @IPSET_ATTR_PROTOCOL={0x5}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_TYPENAME={0x14, 0x3, 'hash:ip,port,ip\x00'}]}, 0x4c}}, 0x0) [ 437.040284][ T8841] ax88179_178a 4-1:0.0 (unnamed net_device) (uninitialized): Failed to write reg index 0x0000: -71 [ 437.069552][ T8841] ===================================================== [ 437.076553][ T8841] BUG: KMSAN: uninit-value in _mix_pool_bytes+0x7d2/0x950 [ 437.083803][ T8841] CPU: 0 PID: 8841 Comm: kworker/0:6 Tainted: G B 5.11.0-rc7-syzkaller #0 [ 437.093641][ T8841] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 437.103842][ T8841] Workqueue: usb_hub_wq hub_event [ 437.108905][ T8841] Call Trace: [ 437.112210][ T8841] dump_stack+0x21c/0x280 [ 437.116561][ T8841] kmsan_report+0xfb/0x1e0 [ 437.120992][ T8841] __msan_warning+0x5f/0xa0 [ 437.125504][ T8841] _mix_pool_bytes+0x7d2/0x950 [ 437.130282][ T8841] add_device_randomness+0x6b3/0xfd0 [ 437.135580][ T8841] ? __msan_instrument_asm_store+0x25/0x130 [ 437.141489][ T8841] ? __local_bh_enable_ip+0x97/0x1d0 [ 437.146871][ T8841] ? __msan_metadata_ptr_for_store_4+0x13/0x20 [ 437.153036][ T8841] ? list_netdevice+0x8e4/0xa40 [ 437.157941][ T8841] register_netdevice+0x2d67/0x3a20 [ 437.163155][ T8841] register_netdev+0xbe/0x100 [ 437.167841][ T8841] usbnet_probe+0x3192/0x3e80 [ 437.172527][ T8841] ? kmsan_get_metadata+0x116/0x180 [ 437.177745][ T8841] ? usbnet_disconnect+0x6b0/0x6b0 [ 437.182903][ T8841] usb_probe_interface+0xfcc/0x1520 [ 437.188118][ T8841] ? usb_register_driver+0x900/0x900 [ 437.193419][ T8841] really_probe+0xe15/0x24d0 [ 437.198022][ T8841] driver_probe_device+0x29d/0x3a0 [ 437.203154][ T8841] __device_attach_driver+0x63f/0x830 [ 437.208572][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 437.213433][ T8841] ? deferred_probe_work_func+0x400/0x400 [ 437.219165][ T8841] __device_attach+0x56a/0x890 [ 437.223942][ T8841] device_initial_probe+0x4a/0x60 [ 437.229037][ T8841] bus_probe_device+0x17e/0x3d0 [ 437.233900][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 437.239730][ T8841] device_add+0x2c15/0x31d0 [ 437.244243][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 437.249714][ T8841] ? usb_set_configuration+0xa61/0x3eb0 [ 437.255268][ T8841] ? __msan_metadata_ptr_for_load_1+0x10/0x20 [ 437.261353][ T8841] usb_generic_driver_probe+0x138/0x300 [ 437.266912][ T8841] ? usb_choose_configuration+0xee0/0xee0 [ 437.272635][ T8841] usb_probe_device+0x317/0x570 [ 437.277515][ T8841] ? usb_register_device_driver+0x590/0x590 [ 437.283421][ T8841] really_probe+0xe15/0x24d0 [ 437.288027][ T8841] driver_probe_device+0x29d/0x3a0 [ 437.293151][ T8841] __device_attach_driver+0x63f/0x830 [ 437.298540][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 437.303398][ T8841] ? deferred_probe_work_func+0x400/0x400 [ 437.309136][ T8841] __device_attach+0x56a/0x890 [ 437.313914][ T8841] device_initial_probe+0x4a/0x60 [ 437.318956][ T8841] bus_probe_device+0x17e/0x3d0 [ 437.323819][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 437.329650][ T8841] device_add+0x2c15/0x31d0 [ 437.334171][ T8841] usb_new_device+0x1bd4/0x2a30 [ 437.339037][ T8841] hub_event+0x5b99/0x8870 [ 437.343476][ T8841] ? kmsan_get_metadata+0x116/0x180 [ 437.348690][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 437.354511][ T8841] ? led_work+0x780/0x780 [ 437.358848][ T8841] process_one_work+0x1219/0x1fe0 [ 437.363890][ T8841] worker_thread+0x10ec/0x2340 [ 437.368674][ T8841] kthread+0x521/0x560 [ 437.372754][ T8841] ? process_one_work+0x1fe0/0x1fe0 [ 437.377971][ T8841] ? kthread_blkcg+0x110/0x110 [ 437.382749][ T8841] ret_from_fork+0x1f/0x30 [ 437.387207][ T8841] [ 437.389522][ T8841] Uninit was stored to memory at: [ 437.394532][ T8841] kmsan_internal_chain_origin+0xad/0x130 [ 437.400302][ T8841] kmsan_memcpy_memmove_metadata+0x25e/0x2d0 [ 437.406295][ T8841] kmsan_memcpy_metadata+0xb/0x10 [ 437.411331][ T8841] __msan_memcpy+0x46/0x60 [ 437.415753][ T8841] ax88179_get_mac_addr+0x33b/0x860 [ 437.420960][ T8841] ax88179_bind+0x3f5/0x19e0 [ 437.425567][ T8841] usbnet_probe+0x115e/0x3e80 [ 437.430284][ T8841] usb_probe_interface+0xfcc/0x1520 [ 437.435514][ T8841] really_probe+0xe15/0x24d0 [ 437.440120][ T8841] driver_probe_device+0x29d/0x3a0 [ 437.445237][ T8841] __device_attach_driver+0x63f/0x830 [ 437.450618][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 437.455479][ T8841] __device_attach+0x56a/0x890 [ 437.460277][ T8841] device_initial_probe+0x4a/0x60 [ 437.465316][ T8841] bus_probe_device+0x17e/0x3d0 [ 437.470177][ T8841] device_add+0x2c15/0x31d0 [ 437.474681][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 437.480160][ T8841] usb_generic_driver_probe+0x138/0x300 [ 437.485708][ T8841] usb_probe_device+0x317/0x570 [ 437.490581][ T8841] really_probe+0xe15/0x24d0 [ 437.495182][ T8841] driver_probe_device+0x29d/0x3a0 [ 437.500307][ T8841] __device_attach_driver+0x63f/0x830 [ 437.505690][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 437.510553][ T8841] __device_attach+0x56a/0x890 [ 437.515328][ T8841] device_initial_probe+0x4a/0x60 [ 437.520363][ T8841] bus_probe_device+0x17e/0x3d0 [ 437.525250][ T8841] device_add+0x2c15/0x31d0 [ 437.529784][ T8841] usb_new_device+0x1bd4/0x2a30 [ 437.534652][ T8841] hub_event+0x5b99/0x8870 [ 437.539080][ T8841] process_one_work+0x1219/0x1fe0 [ 437.544117][ T8841] worker_thread+0x10ec/0x2340 [ 437.548889][ T8841] kthread+0x521/0x560 [ 437.552967][ T8841] ret_from_fork+0x1f/0x30 [ 437.557386][ T8841] [ 437.559701][ T8841] Local variable ----mac@ax88179_get_mac_addr created at: [ 437.566827][ T8841] ax88179_get_mac_addr+0x4d/0x860 [ 437.571948][ T8841] ax88179_get_mac_addr+0x4d/0x860 [ 437.577064][ T8841] ===================================================== [ 437.584038][ T8841] ===================================================== [ 437.590991][ T8841] BUG: KMSAN: uninit-value in _mix_pool_bytes+0x7d2/0x950 [ 437.598113][ T8841] CPU: 0 PID: 8841 Comm: kworker/0:6 Tainted: G B 5.11.0-rc7-syzkaller #0 [ 437.607923][ T8841] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 437.618068][ T8841] Workqueue: usb_hub_wq hub_event [ 437.623116][ T8841] Call Trace: [ 437.626415][ T8841] dump_stack+0x21c/0x280 [ 437.630773][ T8841] kmsan_report+0xfb/0x1e0 [ 437.635209][ T8841] __msan_warning+0x5f/0xa0 [ 437.639728][ T8841] _mix_pool_bytes+0x7d2/0x950 [ 437.644509][ T8841] add_device_randomness+0x6b3/0xfd0 [ 437.649811][ T8841] ? __msan_instrument_asm_store+0x25/0x130 [ 437.655726][ T8841] ? __local_bh_enable_ip+0x97/0x1d0 [ 437.661034][ T8841] ? __msan_metadata_ptr_for_store_4+0x13/0x20 [ 437.667207][ T8841] ? list_netdevice+0x8e4/0xa40 [ 437.672066][ T8841] register_netdevice+0x2d67/0x3a20 [ 437.677281][ T8841] register_netdev+0xbe/0x100 [ 437.681970][ T8841] usbnet_probe+0x3192/0x3e80 [ 437.686656][ T8841] ? kmsan_get_metadata+0x116/0x180 [ 437.691872][ T8841] ? usbnet_disconnect+0x6b0/0x6b0 [ 437.697013][ T8841] usb_probe_interface+0xfcc/0x1520 [ 437.702220][ T8841] ? usb_register_driver+0x900/0x900 [ 437.707514][ T8841] really_probe+0xe15/0x24d0 [ 437.712118][ T8841] driver_probe_device+0x29d/0x3a0 [ 437.717243][ T8841] __device_attach_driver+0x63f/0x830 [ 437.722632][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 437.727490][ T8841] ? deferred_probe_work_func+0x400/0x400 [ 437.733257][ T8841] __device_attach+0x56a/0x890 [ 437.738037][ T8841] device_initial_probe+0x4a/0x60 [ 437.743073][ T8841] bus_probe_device+0x17e/0x3d0 [ 437.747933][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 437.753755][ T8841] device_add+0x2c15/0x31d0 [ 437.758282][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 437.763764][ T8841] ? usb_set_configuration+0xa61/0x3eb0 [ 437.769328][ T8841] ? __msan_metadata_ptr_for_load_1+0x10/0x20 [ 437.775415][ T8841] usb_generic_driver_probe+0x138/0x300 [ 437.780968][ T8841] ? usb_choose_configuration+0xee0/0xee0 [ 437.786693][ T8841] usb_probe_device+0x317/0x570 [ 437.791556][ T8841] ? usb_register_device_driver+0x590/0x590 [ 437.797454][ T8841] really_probe+0xe15/0x24d0 [ 437.802083][ T8841] driver_probe_device+0x29d/0x3a0 [ 437.807225][ T8841] __device_attach_driver+0x63f/0x830 [ 437.812623][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 437.817489][ T8841] ? deferred_probe_work_func+0x400/0x400 [ 437.823224][ T8841] __device_attach+0x56a/0x890 [ 437.828005][ T8841] device_initial_probe+0x4a/0x60 [ 437.833043][ T8841] bus_probe_device+0x17e/0x3d0 [ 437.837902][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 437.843742][ T8841] device_add+0x2c15/0x31d0 [ 437.848283][ T8841] usb_new_device+0x1bd4/0x2a30 [ 437.853150][ T8841] hub_event+0x5b99/0x8870 [ 437.857590][ T8841] ? kmsan_get_metadata+0x116/0x180 [ 437.862808][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 437.868628][ T8841] ? led_work+0x780/0x780 [ 437.872968][ T8841] process_one_work+0x1219/0x1fe0 [ 437.878011][ T8841] worker_thread+0x10ec/0x2340 [ 437.882799][ T8841] kthread+0x521/0x560 [ 437.886874][ T8841] ? process_one_work+0x1fe0/0x1fe0 [ 437.892083][ T8841] ? kthread_blkcg+0x110/0x110 [ 437.896854][ T8841] ret_from_fork+0x1f/0x30 [ 437.901281][ T8841] [ 437.903617][ T8841] Uninit was stored to memory at: [ 437.908626][ T8841] kmsan_internal_chain_origin+0xad/0x130 [ 437.914357][ T8841] __msan_chain_origin+0x57/0xa0 [ 437.919300][ T8841] _mix_pool_bytes+0x7f2/0x950 [ 437.924075][ T8841] add_device_randomness+0x6b3/0xfd0 [ 437.929375][ T8841] register_netdevice+0x2d67/0x3a20 [ 437.934601][ T8841] register_netdev+0xbe/0x100 [ 437.939306][ T8841] usbnet_probe+0x3192/0x3e80 [ 437.943996][ T8841] usb_probe_interface+0xfcc/0x1520 [ 437.949206][ T8841] really_probe+0xe15/0x24d0 [ 437.953809][ T8841] driver_probe_device+0x29d/0x3a0 [ 437.958929][ T8841] __device_attach_driver+0x63f/0x830 [ 437.964315][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 437.969173][ T8841] __device_attach+0x56a/0x890 [ 437.973946][ T8841] device_initial_probe+0x4a/0x60 [ 437.978981][ T8841] bus_probe_device+0x17e/0x3d0 [ 437.983841][ T8841] device_add+0x2c15/0x31d0 [ 437.988348][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 437.993829][ T8841] usb_generic_driver_probe+0x138/0x300 [ 437.999379][ T8841] usb_probe_device+0x317/0x570 [ 438.004235][ T8841] really_probe+0xe15/0x24d0 [ 438.008837][ T8841] driver_probe_device+0x29d/0x3a0 [ 438.014000][ T8841] __device_attach_driver+0x63f/0x830 [ 438.019382][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 438.024238][ T8841] __device_attach+0x56a/0x890 [ 438.029012][ T8841] device_initial_probe+0x4a/0x60 [ 438.034047][ T8841] bus_probe_device+0x17e/0x3d0 [ 438.038908][ T8841] device_add+0x2c15/0x31d0 [ 438.043415][ T8841] usb_new_device+0x1bd4/0x2a30 [ 438.048273][ T8841] hub_event+0x5b99/0x8870 [ 438.052706][ T8841] process_one_work+0x1219/0x1fe0 [ 438.057744][ T8841] worker_thread+0x10ec/0x2340 [ 438.062517][ T8841] kthread+0x521/0x560 [ 438.066591][ T8841] ret_from_fork+0x1f/0x30 [ 438.071012][ T8841] [ 438.073337][ T8841] Uninit was stored to memory at: [ 438.078366][ T8841] kmsan_internal_chain_origin+0xad/0x130 [ 438.084120][ T8841] kmsan_memcpy_memmove_metadata+0x25e/0x2d0 [ 438.090121][ T8841] kmsan_memcpy_metadata+0xb/0x10 [ 438.095152][ T8841] __msan_memcpy+0x46/0x60 [ 438.099599][ T8841] ax88179_get_mac_addr+0x33b/0x860 [ 438.104811][ T8841] ax88179_bind+0x3f5/0x19e0 [ 438.109406][ T8841] usbnet_probe+0x115e/0x3e80 [ 438.114091][ T8841] usb_probe_interface+0xfcc/0x1520 [ 438.119292][ T8841] really_probe+0xe15/0x24d0 [ 438.123922][ T8841] driver_probe_device+0x29d/0x3a0 [ 438.129042][ T8841] __device_attach_driver+0x63f/0x830 [ 438.134448][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 438.139319][ T8841] __device_attach+0x56a/0x890 [ 438.144126][ T8841] device_initial_probe+0x4a/0x60 [ 438.149178][ T8841] bus_probe_device+0x17e/0x3d0 [ 438.154039][ T8841] device_add+0x2c15/0x31d0 [ 438.158570][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 438.164035][ T8841] usb_generic_driver_probe+0x138/0x300 [ 438.169588][ T8841] usb_probe_device+0x317/0x570 [ 438.174448][ T8841] really_probe+0xe15/0x24d0 [ 438.179059][ T8841] driver_probe_device+0x29d/0x3a0 [ 438.184179][ T8841] __device_attach_driver+0x63f/0x830 [ 438.189564][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 438.194434][ T8841] __device_attach+0x56a/0x890 [ 438.199456][ T8841] device_initial_probe+0x4a/0x60 [ 438.204520][ T8841] bus_probe_device+0x17e/0x3d0 [ 438.209384][ T8841] device_add+0x2c15/0x31d0 [ 438.213892][ T8841] usb_new_device+0x1bd4/0x2a30 [ 438.218750][ T8841] hub_event+0x5b99/0x8870 [ 438.223173][ T8841] process_one_work+0x1219/0x1fe0 [ 438.228211][ T8841] worker_thread+0x10ec/0x2340 [ 438.232982][ T8841] kthread+0x521/0x560 [ 438.237075][ T8841] ret_from_fork+0x1f/0x30 [ 438.241498][ T8841] [ 438.243828][ T8841] Local variable ----mac@ax88179_get_mac_addr created at: [ 438.250935][ T8841] ax88179_get_mac_addr+0x4d/0x860 [ 438.256080][ T8841] ax88179_get_mac_addr+0x4d/0x860 [ 438.261199][ T8841] ===================================================== [ 438.268149][ T8841] ===================================================== [ 438.275075][ T8841] BUG: KMSAN: uninit-value in _mix_pool_bytes+0x7d2/0x950 [ 438.282199][ T8841] CPU: 0 PID: 8841 Comm: kworker/0:6 Tainted: G B 5.11.0-rc7-syzkaller #0 [ 438.292014][ T8841] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 438.302074][ T8841] Workqueue: usb_hub_wq hub_event [ 438.307117][ T8841] Call Trace: [ 438.310405][ T8841] dump_stack+0x21c/0x280 [ 438.314749][ T8841] kmsan_report+0xfb/0x1e0 [ 438.319184][ T8841] __msan_warning+0x5f/0xa0 [ 438.323703][ T8841] _mix_pool_bytes+0x7d2/0x950 [ 438.328489][ T8841] add_device_randomness+0x6b3/0xfd0 [ 438.333787][ T8841] ? __msan_instrument_asm_store+0x25/0x130 [ 438.339698][ T8841] ? __local_bh_enable_ip+0x97/0x1d0 [ 438.345173][ T8841] ? __msan_metadata_ptr_for_store_4+0x13/0x20 [ 438.351342][ T8841] ? list_netdevice+0x8e4/0xa40 [ 438.356202][ T8841] register_netdevice+0x2d67/0x3a20 [ 438.361422][ T8841] register_netdev+0xbe/0x100 [ 438.366107][ T8841] usbnet_probe+0x3192/0x3e80 [ 438.370797][ T8841] ? kmsan_get_metadata+0x116/0x180 [ 438.376018][ T8841] ? usbnet_disconnect+0x6b0/0x6b0 [ 438.381224][ T8841] usb_probe_interface+0xfcc/0x1520 [ 438.386474][ T8841] ? usb_register_driver+0x900/0x900 [ 438.391768][ T8841] really_probe+0xe15/0x24d0 [ 438.396383][ T8841] driver_probe_device+0x29d/0x3a0 [ 438.401508][ T8841] __device_attach_driver+0x63f/0x830 [ 438.406914][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 438.411779][ T8841] ? deferred_probe_work_func+0x400/0x400 [ 438.417512][ T8841] __device_attach+0x56a/0x890 [ 438.422290][ T8841] device_initial_probe+0x4a/0x60 [ 438.427326][ T8841] bus_probe_device+0x17e/0x3d0 [ 438.432193][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 438.438016][ T8841] device_add+0x2c15/0x31d0 [ 438.442531][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 438.447998][ T8841] ? usb_set_configuration+0xa61/0x3eb0 [ 438.453560][ T8841] ? __msan_metadata_ptr_for_load_1+0x10/0x20 [ 438.459654][ T8841] usb_generic_driver_probe+0x138/0x300 [ 438.465232][ T8841] ? usb_choose_configuration+0xee0/0xee0 [ 438.470960][ T8841] usb_probe_device+0x317/0x570 [ 438.475849][ T8841] ? usb_register_device_driver+0x590/0x590 [ 438.481758][ T8841] really_probe+0xe15/0x24d0 [ 438.486364][ T8841] driver_probe_device+0x29d/0x3a0 [ 438.491488][ T8841] __device_attach_driver+0x63f/0x830 [ 438.496878][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 438.501744][ T8841] ? deferred_probe_work_func+0x400/0x400 [ 438.507504][ T8841] __device_attach+0x56a/0x890 [ 438.512284][ T8841] device_initial_probe+0x4a/0x60 [ 438.517342][ T8841] bus_probe_device+0x17e/0x3d0 [ 438.522226][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 438.528053][ T8841] device_add+0x2c15/0x31d0 [ 438.532576][ T8841] usb_new_device+0x1bd4/0x2a30 [ 438.537448][ T8841] hub_event+0x5b99/0x8870 [ 438.541892][ T8841] ? kmsan_get_metadata+0x116/0x180 [ 438.547101][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 438.552924][ T8841] ? led_work+0x780/0x780 [ 438.557285][ T8841] process_one_work+0x1219/0x1fe0 [ 438.562338][ T8841] worker_thread+0x10ec/0x2340 [ 438.567141][ T8841] kthread+0x521/0x560 [ 438.571220][ T8841] ? process_one_work+0x1fe0/0x1fe0 [ 438.576434][ T8841] ? kthread_blkcg+0x110/0x110 [ 438.581206][ T8841] ret_from_fork+0x1f/0x30 [ 438.585653][ T8841] [ 438.587968][ T8841] Uninit was stored to memory at: [ 438.592976][ T8841] kmsan_internal_chain_origin+0xad/0x130 [ 438.598707][ T8841] __msan_chain_origin+0x57/0xa0 [ 438.603655][ T8841] _mix_pool_bytes+0x7f2/0x950 [ 438.608427][ T8841] add_device_randomness+0x6b3/0xfd0 [ 438.613720][ T8841] register_netdevice+0x2d67/0x3a20 [ 438.618932][ T8841] register_netdev+0xbe/0x100 [ 438.623639][ T8841] usbnet_probe+0x3192/0x3e80 [ 438.628323][ T8841] usb_probe_interface+0xfcc/0x1520 [ 438.633530][ T8841] really_probe+0xe15/0x24d0 [ 438.638131][ T8841] driver_probe_device+0x29d/0x3a0 [ 438.643253][ T8841] __device_attach_driver+0x63f/0x830 [ 438.648637][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 438.653494][ T8841] __device_attach+0x56a/0x890 [ 438.658272][ T8841] device_initial_probe+0x4a/0x60 [ 438.663304][ T8841] bus_probe_device+0x17e/0x3d0 [ 438.668164][ T8841] device_add+0x2c15/0x31d0 [ 438.672674][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 438.678143][ T8841] usb_generic_driver_probe+0x138/0x300 [ 438.683692][ T8841] usb_probe_device+0x317/0x570 [ 438.688553][ T8841] really_probe+0xe15/0x24d0 [ 438.693158][ T8841] driver_probe_device+0x29d/0x3a0 [ 438.698284][ T8841] __device_attach_driver+0x63f/0x830 [ 438.703690][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 438.708547][ T8841] __device_attach+0x56a/0x890 [ 438.713318][ T8841] device_initial_probe+0x4a/0x60 [ 438.718353][ T8841] bus_probe_device+0x17e/0x3d0 [ 438.723296][ T8841] device_add+0x2c15/0x31d0 [ 438.727799][ T8841] usb_new_device+0x1bd4/0x2a30 [ 438.732661][ T8841] hub_event+0x5b99/0x8870 [ 438.737088][ T8841] process_one_work+0x1219/0x1fe0 [ 438.742121][ T8841] worker_thread+0x10ec/0x2340 [ 438.746894][ T8841] kthread+0x521/0x560 [ 438.750968][ T8841] ret_from_fork+0x1f/0x30 [ 438.755390][ T8841] [ 438.757707][ T8841] Uninit was stored to memory at: [ 438.762717][ T8841] kmsan_internal_chain_origin+0xad/0x130 [ 438.768448][ T8841] __msan_chain_origin+0x57/0xa0 [ 438.773393][ T8841] _mix_pool_bytes+0x7f2/0x950 [ 438.778166][ T8841] add_device_randomness+0x6b3/0xfd0 [ 438.783457][ T8841] register_netdevice+0x2d67/0x3a20 [ 438.788658][ T8841] register_netdev+0xbe/0x100 [ 438.793338][ T8841] usbnet_probe+0x3192/0x3e80 [ 438.798017][ T8841] usb_probe_interface+0xfcc/0x1520 [ 438.803220][ T8841] really_probe+0xe15/0x24d0 [ 438.807817][ T8841] driver_probe_device+0x29d/0x3a0 [ 438.812946][ T8841] __device_attach_driver+0x63f/0x830 [ 438.818327][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 438.823207][ T8841] __device_attach+0x56a/0x890 [ 438.827982][ T8841] device_initial_probe+0x4a/0x60 [ 438.833015][ T8841] bus_probe_device+0x17e/0x3d0 [ 438.837879][ T8841] device_add+0x2c15/0x31d0 [ 438.842388][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 438.847851][ T8841] usb_generic_driver_probe+0x138/0x300 [ 438.853410][ T8841] usb_probe_device+0x317/0x570 [ 438.858264][ T8841] really_probe+0xe15/0x24d0 [ 438.862867][ T8841] driver_probe_device+0x29d/0x3a0 [ 438.867988][ T8841] __device_attach_driver+0x63f/0x830 [ 438.873367][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 438.878240][ T8841] __device_attach+0x56a/0x890 [ 438.883009][ T8841] device_initial_probe+0x4a/0x60 [ 438.888041][ T8841] bus_probe_device+0x17e/0x3d0 [ 438.892902][ T8841] device_add+0x2c15/0x31d0 [ 438.897411][ T8841] usb_new_device+0x1bd4/0x2a30 [ 438.902267][ T8841] hub_event+0x5b99/0x8870 [ 438.906695][ T8841] process_one_work+0x1219/0x1fe0 [ 438.911749][ T8841] worker_thread+0x10ec/0x2340 [ 438.916545][ T8841] kthread+0x521/0x560 [ 438.920625][ T8841] ret_from_fork+0x1f/0x30 [ 438.925046][ T8841] [ 438.927361][ T8841] Uninit was stored to memory at: [ 438.932372][ T8841] kmsan_internal_chain_origin+0xad/0x130 [ 438.938105][ T8841] kmsan_memcpy_memmove_metadata+0x25e/0x2d0 [ 438.944100][ T8841] kmsan_memcpy_metadata+0xb/0x10 [ 438.949300][ T8841] __msan_memcpy+0x46/0x60 [ 438.953750][ T8841] ax88179_get_mac_addr+0x33b/0x860 [ 438.958962][ T8841] ax88179_bind+0x3f5/0x19e0 [ 438.963569][ T8841] usbnet_probe+0x115e/0x3e80 [ 438.968250][ T8841] usb_probe_interface+0xfcc/0x1520 [ 438.973453][ T8841] really_probe+0xe15/0x24d0 [ 438.978051][ T8841] driver_probe_device+0x29d/0x3a0 [ 438.983170][ T8841] __device_attach_driver+0x63f/0x830 [ 438.988552][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 438.993408][ T8841] __device_attach+0x56a/0x890 [ 438.998212][ T8841] device_initial_probe+0x4a/0x60 [ 439.003243][ T8841] bus_probe_device+0x17e/0x3d0 [ 439.008101][ T8841] device_add+0x2c15/0x31d0 [ 439.012607][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 439.018068][ T8841] usb_generic_driver_probe+0x138/0x300 [ 439.023626][ T8841] usb_probe_device+0x317/0x570 [ 439.028487][ T8841] really_probe+0xe15/0x24d0 [ 439.033086][ T8841] driver_probe_device+0x29d/0x3a0 [ 439.038201][ T8841] __device_attach_driver+0x63f/0x830 [ 439.043600][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 439.048458][ T8841] __device_attach+0x56a/0x890 [ 439.053249][ T8841] device_initial_probe+0x4a/0x60 [ 439.058284][ T8841] bus_probe_device+0x17e/0x3d0 [ 439.063149][ T8841] device_add+0x2c15/0x31d0 [ 439.067660][ T8841] usb_new_device+0x1bd4/0x2a30 [ 439.072532][ T8841] hub_event+0x5b99/0x8870 [ 439.076968][ T8841] process_one_work+0x1219/0x1fe0 [ 439.082033][ T8841] worker_thread+0x10ec/0x2340 [ 439.086843][ T8841] kthread+0x521/0x560 [ 439.090920][ T8841] ret_from_fork+0x1f/0x30 [ 439.095337][ T8841] [ 439.097657][ T8841] Local variable ----mac@ax88179_get_mac_addr created at: [ 439.104754][ T8841] ax88179_get_mac_addr+0x4d/0x860 [ 439.109869][ T8841] ax88179_get_mac_addr+0x4d/0x860 [ 439.114983][ T8841] ===================================================== [ 439.121936][ T8841] ===================================================== [ 439.128859][ T8841] BUG: KMSAN: uninit-value in _mix_pool_bytes+0x7d2/0x950 [ 439.135982][ T8841] CPU: 0 PID: 8841 Comm: kworker/0:6 Tainted: G B 5.11.0-rc7-syzkaller #0 [ 439.145795][ T8841] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 439.155862][ T8841] Workqueue: usb_hub_wq hub_event [ 439.160916][ T8841] Call Trace: [ 439.164191][ T8841] dump_stack+0x21c/0x280 [ 439.168531][ T8841] kmsan_report+0xfb/0x1e0 [ 439.172956][ T8841] __msan_warning+0x5f/0xa0 [ 439.177471][ T8841] _mix_pool_bytes+0x7d2/0x950 [ 439.182247][ T8841] add_device_randomness+0x6b3/0xfd0 [ 439.187540][ T8841] ? __msan_instrument_asm_store+0x25/0x130 [ 439.193442][ T8841] ? __local_bh_enable_ip+0x97/0x1d0 [ 439.198734][ T8841] ? __msan_metadata_ptr_for_store_4+0x13/0x20 [ 439.204894][ T8841] ? list_netdevice+0x8e4/0xa40 [ 439.209753][ T8841] register_netdevice+0x2d67/0x3a20 [ 439.214960][ T8841] register_netdev+0xbe/0x100 [ 439.219647][ T8841] usbnet_probe+0x3192/0x3e80 [ 439.224327][ T8841] ? kmsan_get_metadata+0x116/0x180 [ 439.229540][ T8841] ? usbnet_disconnect+0x6b0/0x6b0 [ 439.234657][ T8841] usb_probe_interface+0xfcc/0x1520 [ 439.239861][ T8841] ? usb_register_driver+0x900/0x900 [ 439.245150][ T8841] really_probe+0xe15/0x24d0 [ 439.249760][ T8841] driver_probe_device+0x29d/0x3a0 [ 439.254884][ T8841] __device_attach_driver+0x63f/0x830 [ 439.260265][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 439.265122][ T8841] ? deferred_probe_work_func+0x400/0x400 [ 439.270854][ T8841] __device_attach+0x56a/0x890 [ 439.275642][ T8841] device_initial_probe+0x4a/0x60 [ 439.280701][ T8841] bus_probe_device+0x17e/0x3d0 [ 439.285699][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 439.291553][ T8841] device_add+0x2c15/0x31d0 [ 439.296072][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 439.301551][ T8841] ? usb_set_configuration+0xa61/0x3eb0 [ 439.307104][ T8841] ? __msan_metadata_ptr_for_load_1+0x10/0x20 [ 439.313189][ T8841] usb_generic_driver_probe+0x138/0x300 [ 439.318742][ T8841] ? usb_choose_configuration+0xee0/0xee0 [ 439.324471][ T8841] usb_probe_device+0x317/0x570 [ 439.329339][ T8841] ? usb_register_device_driver+0x590/0x590 [ 439.335244][ T8841] really_probe+0xe15/0x24d0 [ 439.339851][ T8841] driver_probe_device+0x29d/0x3a0 [ 439.345010][ T8841] __device_attach_driver+0x63f/0x830 [ 439.350395][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 439.355254][ T8841] ? deferred_probe_work_func+0x400/0x400 [ 439.360986][ T8841] __device_attach+0x56a/0x890 [ 439.365761][ T8841] device_initial_probe+0x4a/0x60 [ 439.370792][ T8841] bus_probe_device+0x17e/0x3d0 [ 439.375649][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 439.381465][ T8841] device_add+0x2c15/0x31d0 [ 439.385978][ T8841] usb_new_device+0x1bd4/0x2a30 [ 439.390840][ T8841] hub_event+0x5b99/0x8870 [ 439.395270][ T8841] ? kmsan_get_metadata+0x116/0x180 [ 439.400478][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 439.406302][ T8841] ? led_work+0x780/0x780 [ 439.410638][ T8841] process_one_work+0x1219/0x1fe0 [ 439.415676][ T8841] worker_thread+0x10ec/0x2340 [ 439.420451][ T8841] kthread+0x521/0x560 [ 439.424529][ T8841] ? process_one_work+0x1fe0/0x1fe0 [ 439.429739][ T8841] ? kthread_blkcg+0x110/0x110 [ 439.434504][ T8841] ret_from_fork+0x1f/0x30 [ 439.438926][ T8841] [ 439.441260][ T8841] Uninit was stored to memory at: [ 439.446267][ T8841] kmsan_internal_chain_origin+0xad/0x130 [ 439.451992][ T8841] __msan_chain_origin+0x57/0xa0 [ 439.456954][ T8841] _mix_pool_bytes+0x7f2/0x950 [ 439.461726][ T8841] add_device_randomness+0x6b3/0xfd0 [ 439.467015][ T8841] register_netdevice+0x2d67/0x3a20 [ 439.472215][ T8841] register_netdev+0xbe/0x100 [ 439.476894][ T8841] usbnet_probe+0x3192/0x3e80 [ 439.481574][ T8841] usb_probe_interface+0xfcc/0x1520 [ 439.486777][ T8841] really_probe+0xe15/0x24d0 [ 439.491372][ T8841] driver_probe_device+0x29d/0x3a0 [ 439.496489][ T8841] __device_attach_driver+0x63f/0x830 [ 439.501865][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 439.506720][ T8841] __device_attach+0x56a/0x890 [ 439.511493][ T8841] device_initial_probe+0x4a/0x60 [ 439.516525][ T8841] bus_probe_device+0x17e/0x3d0 [ 439.521383][ T8841] device_add+0x2c15/0x31d0 [ 439.525889][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 439.531347][ T8841] usb_generic_driver_probe+0x138/0x300 [ 439.536889][ T8841] usb_probe_device+0x317/0x570 [ 439.541739][ T8841] really_probe+0xe15/0x24d0 [ 439.546332][ T8841] driver_probe_device+0x29d/0x3a0 [ 439.551445][ T8841] __device_attach_driver+0x63f/0x830 [ 439.556822][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 439.561675][ T8841] __device_attach+0x56a/0x890 [ 439.566445][ T8841] device_initial_probe+0x4a/0x60 [ 439.571479][ T8841] bus_probe_device+0x17e/0x3d0 [ 439.576337][ T8841] device_add+0x2c15/0x31d0 [ 439.580852][ T8841] usb_new_device+0x1bd4/0x2a30 [ 439.585719][ T8841] hub_event+0x5b99/0x8870 [ 439.590161][ T8841] process_one_work+0x1219/0x1fe0 [ 439.595198][ T8841] worker_thread+0x10ec/0x2340 [ 439.599991][ T8841] kthread+0x521/0x560 [ 439.604066][ T8841] ret_from_fork+0x1f/0x30 [ 439.608484][ T8841] [ 439.610798][ T8841] Uninit was stored to memory at: [ 439.615807][ T8841] kmsan_internal_chain_origin+0xad/0x130 [ 439.621546][ T8841] __msan_chain_origin+0x57/0xa0 [ 439.626487][ T8841] _mix_pool_bytes+0x7f2/0x950 [ 439.631255][ T8841] add_device_randomness+0x6b3/0xfd0 [ 439.636543][ T8841] register_netdevice+0x2d67/0x3a20 [ 439.641742][ T8841] register_netdev+0xbe/0x100 [ 439.646417][ T8841] usbnet_probe+0x3192/0x3e80 [ 439.651094][ T8841] usb_probe_interface+0xfcc/0x1520 [ 439.656291][ T8841] really_probe+0xe15/0x24d0 [ 439.660884][ T8841] driver_probe_device+0x29d/0x3a0 [ 439.666000][ T8841] __device_attach_driver+0x63f/0x830 [ 439.671381][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 439.676234][ T8841] __device_attach+0x56a/0x890 [ 439.681007][ T8841] device_initial_probe+0x4a/0x60 [ 439.686054][ T8841] bus_probe_device+0x17e/0x3d0 [ 439.690905][ T8841] device_add+0x2c15/0x31d0 [ 439.695409][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 439.700868][ T8841] usb_generic_driver_probe+0x138/0x300 [ 439.706414][ T8841] usb_probe_device+0x317/0x570 [ 439.711268][ T8841] really_probe+0xe15/0x24d0 [ 439.715862][ T8841] driver_probe_device+0x29d/0x3a0 [ 439.720982][ T8841] __device_attach_driver+0x63f/0x830 [ 439.726380][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 439.731234][ T8841] __device_attach+0x56a/0x890 [ 439.736012][ T8841] device_initial_probe+0x4a/0x60 [ 439.741043][ T8841] bus_probe_device+0x17e/0x3d0 [ 439.745895][ T8841] device_add+0x2c15/0x31d0 [ 439.750400][ T8841] usb_new_device+0x1bd4/0x2a30 [ 439.755257][ T8841] hub_event+0x5b99/0x8870 [ 439.759681][ T8841] process_one_work+0x1219/0x1fe0 [ 439.764733][ T8841] worker_thread+0x10ec/0x2340 [ 439.769542][ T8841] kthread+0x521/0x560 [ 439.773615][ T8841] ret_from_fork+0x1f/0x30 [ 439.778035][ T8841] [ 439.780347][ T8841] Uninit was stored to memory at: [ 439.785354][ T8841] kmsan_internal_chain_origin+0xad/0x130 [ 439.791086][ T8841] __msan_chain_origin+0x57/0xa0 [ 439.796027][ T8841] _mix_pool_bytes+0x7f2/0x950 [ 439.800834][ T8841] add_device_randomness+0x6b3/0xfd0 [ 439.806158][ T8841] register_netdevice+0x2d67/0x3a20 [ 439.811368][ T8841] register_netdev+0xbe/0x100 [ 439.816081][ T8841] usbnet_probe+0x3192/0x3e80 [ 439.820777][ T8841] usb_probe_interface+0xfcc/0x1520 [ 439.825984][ T8841] really_probe+0xe15/0x24d0 [ 439.830586][ T8841] driver_probe_device+0x29d/0x3a0 [ 439.835701][ T8841] __device_attach_driver+0x63f/0x830 [ 439.841078][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 439.845931][ T8841] __device_attach+0x56a/0x890 [ 439.850697][ T8841] device_initial_probe+0x4a/0x60 [ 439.855725][ T8841] bus_probe_device+0x17e/0x3d0 [ 439.860600][ T8841] device_add+0x2c15/0x31d0 [ 439.865106][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 439.870567][ T8841] usb_generic_driver_probe+0x138/0x300 [ 439.876117][ T8841] usb_probe_device+0x317/0x570 [ 439.880970][ T8841] really_probe+0xe15/0x24d0 [ 439.885564][ T8841] driver_probe_device+0x29d/0x3a0 [ 439.890679][ T8841] __device_attach_driver+0x63f/0x830 [ 439.896058][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 439.900911][ T8841] __device_attach+0x56a/0x890 [ 439.905679][ T8841] device_initial_probe+0x4a/0x60 [ 439.910707][ T8841] bus_probe_device+0x17e/0x3d0 [ 439.915560][ T8841] device_add+0x2c15/0x31d0 [ 439.920179][ T8841] usb_new_device+0x1bd4/0x2a30 [ 439.925031][ T8841] hub_event+0x5b99/0x8870 [ 439.929470][ T8841] process_one_work+0x1219/0x1fe0 [ 439.934500][ T8841] worker_thread+0x10ec/0x2340 [ 439.939287][ T8841] kthread+0x521/0x560 [ 439.943383][ T8841] ret_from_fork+0x1f/0x30 [ 439.947800][ T8841] [ 439.950114][ T8841] Uninit was stored to memory at: [ 439.955118][ T8841] kmsan_internal_chain_origin+0xad/0x130 [ 439.960995][ T8841] kmsan_memcpy_memmove_metadata+0x25e/0x2d0 [ 439.967002][ T8841] kmsan_memcpy_metadata+0xb/0x10 [ 439.972060][ T8841] __msan_memcpy+0x46/0x60 [ 439.976514][ T8841] ax88179_get_mac_addr+0x33b/0x860 [ 439.981842][ T8841] ax88179_bind+0x3f5/0x19e0 [ 439.986441][ T8841] usbnet_probe+0x115e/0x3e80 [ 439.991123][ T8841] usb_probe_interface+0xfcc/0x1520 [ 439.996325][ T8841] really_probe+0xe15/0x24d0 [ 440.000949][ T8841] driver_probe_device+0x29d/0x3a0 [ 440.006066][ T8841] __device_attach_driver+0x63f/0x830 [ 440.011463][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 440.016316][ T8841] __device_attach+0x56a/0x890 [ 440.021088][ T8841] device_initial_probe+0x4a/0x60 [ 440.026134][ T8841] bus_probe_device+0x17e/0x3d0 [ 440.031005][ T8841] device_add+0x2c15/0x31d0 [ 440.035508][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 440.040966][ T8841] usb_generic_driver_probe+0x138/0x300 [ 440.046512][ T8841] usb_probe_device+0x317/0x570 [ 440.051363][ T8841] really_probe+0xe15/0x24d0 [ 440.055962][ T8841] driver_probe_device+0x29d/0x3a0 [ 440.061078][ T8841] __device_attach_driver+0x63f/0x830 [ 440.066454][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 440.071306][ T8841] __device_attach+0x56a/0x890 [ 440.076109][ T8841] device_initial_probe+0x4a/0x60 [ 440.081136][ T8841] bus_probe_device+0x17e/0x3d0 [ 440.085990][ T8841] device_add+0x2c15/0x31d0 [ 440.090495][ T8841] usb_new_device+0x1bd4/0x2a30 [ 440.095356][ T8841] hub_event+0x5b99/0x8870 [ 440.099773][ T8841] process_one_work+0x1219/0x1fe0 [ 440.104803][ T8841] worker_thread+0x10ec/0x2340 [ 440.109577][ T8841] kthread+0x521/0x560 [ 440.113648][ T8841] ret_from_fork+0x1f/0x30 [ 440.118066][ T8841] [ 440.120381][ T8841] Local variable ----mac@ax88179_get_mac_addr created at: [ 440.127488][ T8841] ax88179_get_mac_addr+0x4d/0x860 [ 440.132624][ T8841] ax88179_get_mac_addr+0x4d/0x860 [ 440.137763][ T8841] ===================================================== [ 440.144711][ T8841] ===================================================== [ 440.151635][ T8841] BUG: KMSAN: uninit-value in _mix_pool_bytes+0x7d2/0x950 [ 440.158754][ T8841] CPU: 0 PID: 8841 Comm: kworker/0:6 Tainted: G B 5.11.0-rc7-syzkaller #0 [ 440.168558][ T8841] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 440.178611][ T8841] Workqueue: usb_hub_wq hub_event [ 440.183645][ T8841] Call Trace: [ 440.186918][ T8841] dump_stack+0x21c/0x280 [ 440.191256][ T8841] kmsan_report+0xfb/0x1e0 [ 440.195692][ T8841] __msan_warning+0x5f/0xa0 [ 440.200221][ T8841] _mix_pool_bytes+0x7d2/0x950 [ 440.205014][ T8841] add_device_randomness+0x6b3/0xfd0 [ 440.210325][ T8841] ? __msan_instrument_asm_store+0x25/0x130 [ 440.216237][ T8841] ? __local_bh_enable_ip+0x97/0x1d0 [ 440.221544][ T8841] ? __msan_metadata_ptr_for_store_4+0x13/0x20 [ 440.227708][ T8841] ? list_netdevice+0x8e4/0xa40 [ 440.232563][ T8841] register_netdevice+0x2d67/0x3a20 [ 440.237772][ T8841] register_netdev+0xbe/0x100 [ 440.242453][ T8841] usbnet_probe+0x3192/0x3e80 [ 440.247138][ T8841] ? kmsan_get_metadata+0x116/0x180 [ 440.252352][ T8841] ? usbnet_disconnect+0x6b0/0x6b0 [ 440.257483][ T8841] usb_probe_interface+0xfcc/0x1520 [ 440.262718][ T8841] ? usb_register_driver+0x900/0x900 [ 440.268019][ T8841] really_probe+0xe15/0x24d0 [ 440.272627][ T8841] driver_probe_device+0x29d/0x3a0 [ 440.277754][ T8841] __device_attach_driver+0x63f/0x830 [ 440.283138][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 440.287996][ T8841] ? deferred_probe_work_func+0x400/0x400 [ 440.293727][ T8841] __device_attach+0x56a/0x890 [ 440.298502][ T8841] device_initial_probe+0x4a/0x60 [ 440.303531][ T8841] bus_probe_device+0x17e/0x3d0 [ 440.308394][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 440.314209][ T8841] device_add+0x2c15/0x31d0 [ 440.318736][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 440.324202][ T8841] ? usb_set_configuration+0xa61/0x3eb0 [ 440.329756][ T8841] ? __msan_metadata_ptr_for_load_1+0x10/0x20 [ 440.335841][ T8841] usb_generic_driver_probe+0x138/0x300 [ 440.341396][ T8841] ? usb_choose_configuration+0xee0/0xee0 [ 440.347117][ T8841] usb_probe_device+0x317/0x570 [ 440.351972][ T8841] ? usb_register_device_driver+0x590/0x590 [ 440.357867][ T8841] really_probe+0xe15/0x24d0 [ 440.362474][ T8841] driver_probe_device+0x29d/0x3a0 [ 440.367596][ T8841] __device_attach_driver+0x63f/0x830 [ 440.372977][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 440.377848][ T8841] ? deferred_probe_work_func+0x400/0x400 [ 440.383577][ T8841] __device_attach+0x56a/0x890 [ 440.388367][ T8841] device_initial_probe+0x4a/0x60 [ 440.393404][ T8841] bus_probe_device+0x17e/0x3d0 [ 440.398263][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 440.404083][ T8841] device_add+0x2c15/0x31d0 [ 440.408594][ T8841] usb_new_device+0x1bd4/0x2a30 [ 440.413456][ T8841] hub_event+0x5b99/0x8870 [ 440.417887][ T8841] ? kmsan_get_metadata+0x116/0x180 [ 440.423090][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 440.428901][ T8841] ? led_work+0x780/0x780 [ 440.433235][ T8841] process_one_work+0x1219/0x1fe0 [ 440.438272][ T8841] worker_thread+0x10ec/0x2340 [ 440.443050][ T8841] kthread+0x521/0x560 [ 440.448076][ T8841] ? process_one_work+0x1fe0/0x1fe0 [ 440.453288][ T8841] ? kthread_blkcg+0x110/0x110 [ 440.458056][ T8841] ret_from_fork+0x1f/0x30 [ 440.462485][ T8841] [ 440.464799][ T8841] Uninit was stored to memory at: [ 440.469808][ T8841] kmsan_internal_chain_origin+0xad/0x130 [ 440.475534][ T8841] __msan_chain_origin+0x57/0xa0 [ 440.480477][ T8841] _mix_pool_bytes+0x7f2/0x950 [ 440.485250][ T8841] add_device_randomness+0x6b3/0xfd0 [ 440.490538][ T8841] register_netdevice+0x2d67/0x3a20 [ 440.495736][ T8841] register_netdev+0xbe/0x100 [ 440.500411][ T8841] usbnet_probe+0x3192/0x3e80 [ 440.505090][ T8841] usb_probe_interface+0xfcc/0x1520 [ 440.510287][ T8841] really_probe+0xe15/0x24d0 [ 440.514881][ T8841] driver_probe_device+0x29d/0x3a0 [ 440.519998][ T8841] __device_attach_driver+0x63f/0x830 [ 440.525380][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 440.530253][ T8841] __device_attach+0x56a/0x890 [ 440.535025][ T8841] device_initial_probe+0x4a/0x60 [ 440.540058][ T8841] bus_probe_device+0x17e/0x3d0 [ 440.544914][ T8841] device_add+0x2c15/0x31d0 [ 440.549419][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 440.554878][ T8841] usb_generic_driver_probe+0x138/0x300 [ 440.560445][ T8841] usb_probe_device+0x317/0x570 [ 440.565304][ T8841] really_probe+0xe15/0x24d0 [ 440.569901][ T8841] driver_probe_device+0x29d/0x3a0 [ 440.575019][ T8841] __device_attach_driver+0x63f/0x830 [ 440.580396][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 440.585254][ T8841] __device_attach+0x56a/0x890 [ 440.590046][ T8841] device_initial_probe+0x4a/0x60 [ 440.595075][ T8841] bus_probe_device+0x17e/0x3d0 [ 440.599949][ T8841] device_add+0x2c15/0x31d0 [ 440.604449][ T8841] usb_new_device+0x1bd4/0x2a30 [ 440.609301][ T8841] hub_event+0x5b99/0x8870 [ 440.613720][ T8841] process_one_work+0x1219/0x1fe0 [ 440.618751][ T8841] worker_thread+0x10ec/0x2340 [ 440.623518][ T8841] kthread+0x521/0x560 [ 440.627588][ T8841] ret_from_fork+0x1f/0x30 [ 440.632005][ T8841] [ 440.634323][ T8841] Uninit was stored to memory at: [ 440.639420][ T8841] kmsan_internal_chain_origin+0xad/0x130 [ 440.645157][ T8841] __msan_chain_origin+0x57/0xa0 [ 440.650100][ T8841] _mix_pool_bytes+0x7f2/0x950 [ 440.654867][ T8841] add_device_randomness+0x6b3/0xfd0 [ 440.660161][ T8841] register_netdevice+0x2d67/0x3a20 [ 440.665360][ T8841] register_netdev+0xbe/0x100 [ 440.670037][ T8841] usbnet_probe+0x3192/0x3e80 [ 440.674725][ T8841] usb_probe_interface+0xfcc/0x1520 [ 440.679926][ T8841] really_probe+0xe15/0x24d0 [ 440.684520][ T8841] driver_probe_device+0x29d/0x3a0 [ 440.689637][ T8841] __device_attach_driver+0x63f/0x830 [ 440.695013][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 440.699868][ T8841] __device_attach+0x56a/0x890 [ 440.704660][ T8841] device_initial_probe+0x4a/0x60 [ 440.709693][ T8841] bus_probe_device+0x17e/0x3d0 [ 440.714547][ T8841] device_add+0x2c15/0x31d0 [ 440.719050][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 440.724511][ T8841] usb_generic_driver_probe+0x138/0x300 [ 440.730060][ T8841] usb_probe_device+0x317/0x570 [ 440.734931][ T8841] really_probe+0xe15/0x24d0 [ 440.739551][ T8841] driver_probe_device+0x29d/0x3a0 [ 440.744670][ T8841] __device_attach_driver+0x63f/0x830 [ 440.750048][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 440.754900][ T8841] __device_attach+0x56a/0x890 [ 440.759680][ T8841] device_initial_probe+0x4a/0x60 [ 440.764747][ T8841] bus_probe_device+0x17e/0x3d0 [ 440.769614][ T8841] device_add+0x2c15/0x31d0 [ 440.774145][ T8841] usb_new_device+0x1bd4/0x2a30 [ 440.779009][ T8841] hub_event+0x5b99/0x8870 [ 440.783428][ T8841] process_one_work+0x1219/0x1fe0 [ 440.788460][ T8841] worker_thread+0x10ec/0x2340 [ 440.793226][ T8841] kthread+0x521/0x560 [ 440.797292][ T8841] ret_from_fork+0x1f/0x30 [ 440.801707][ T8841] [ 440.804018][ T8841] Uninit was stored to memory at: [ 440.809025][ T8841] kmsan_internal_chain_origin+0xad/0x130 [ 440.814748][ T8841] __msan_chain_origin+0x57/0xa0 [ 440.819708][ T8841] _mix_pool_bytes+0x7f2/0x950 [ 440.824472][ T8841] add_device_randomness+0x6b3/0xfd0 [ 440.829760][ T8841] register_netdevice+0x2d67/0x3a20 [ 440.834960][ T8841] register_netdev+0xbe/0x100 [ 440.839640][ T8841] usbnet_probe+0x3192/0x3e80 [ 440.844317][ T8841] usb_probe_interface+0xfcc/0x1520 [ 440.849514][ T8841] really_probe+0xe15/0x24d0 [ 440.854121][ T8841] driver_probe_device+0x29d/0x3a0 [ 440.859235][ T8841] __device_attach_driver+0x63f/0x830 [ 440.864611][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 440.869487][ T8841] __device_attach+0x56a/0x890 [ 440.874253][ T8841] device_initial_probe+0x4a/0x60 [ 440.879283][ T8841] bus_probe_device+0x17e/0x3d0 [ 440.884135][ T8841] device_add+0x2c15/0x31d0 [ 440.888646][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 440.894130][ T8841] usb_generic_driver_probe+0x138/0x300 [ 440.899677][ T8841] usb_probe_device+0x317/0x570 [ 440.904527][ T8841] really_probe+0xe15/0x24d0 [ 440.909122][ T8841] driver_probe_device+0x29d/0x3a0 [ 440.914242][ T8841] __device_attach_driver+0x63f/0x830 [ 440.919633][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 440.924492][ T8841] __device_attach+0x56a/0x890 [ 440.929262][ T8841] device_initial_probe+0x4a/0x60 [ 440.934299][ T8841] bus_probe_device+0x17e/0x3d0 [ 440.939166][ T8841] device_add+0x2c15/0x31d0 [ 440.943688][ T8841] usb_new_device+0x1bd4/0x2a30 [ 440.948567][ T8841] hub_event+0x5b99/0x8870 [ 440.952988][ T8841] process_one_work+0x1219/0x1fe0 [ 440.958023][ T8841] worker_thread+0x10ec/0x2340 [ 440.962824][ T8841] kthread+0x521/0x560 [ 440.966917][ T8841] ret_from_fork+0x1f/0x30 [ 440.971335][ T8841] [ 440.973655][ T8841] Uninit was stored to memory at: [ 440.978680][ T8841] kmsan_internal_chain_origin+0xad/0x130 [ 440.984422][ T8841] __msan_chain_origin+0x57/0xa0 [ 440.989368][ T8841] _mix_pool_bytes+0x7f2/0x950 [ 440.994138][ T8841] add_device_randomness+0x6b3/0xfd0 [ 440.999428][ T8841] register_netdevice+0x2d67/0x3a20 [ 441.004628][ T8841] register_netdev+0xbe/0x100 [ 441.009302][ T8841] usbnet_probe+0x3192/0x3e80 [ 441.013982][ T8841] usb_probe_interface+0xfcc/0x1520 [ 441.019181][ T8841] really_probe+0xe15/0x24d0 [ 441.023776][ T8841] driver_probe_device+0x29d/0x3a0 [ 441.028899][ T8841] __device_attach_driver+0x63f/0x830 [ 441.034281][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 441.039140][ T8841] __device_attach+0x56a/0x890 [ 441.043916][ T8841] device_initial_probe+0x4a/0x60 [ 441.048953][ T8841] bus_probe_device+0x17e/0x3d0 [ 441.053808][ T8841] device_add+0x2c15/0x31d0 [ 441.058315][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 441.063774][ T8841] usb_generic_driver_probe+0x138/0x300 [ 441.069318][ T8841] usb_probe_device+0x317/0x570 [ 441.074171][ T8841] really_probe+0xe15/0x24d0 [ 441.078762][ T8841] driver_probe_device+0x29d/0x3a0 [ 441.083880][ T8841] __device_attach_driver+0x63f/0x830 [ 441.089260][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 441.094115][ T8841] __device_attach+0x56a/0x890 [ 441.098881][ T8841] device_initial_probe+0x4a/0x60 [ 441.103918][ T8841] bus_probe_device+0x17e/0x3d0 [ 441.108775][ T8841] device_add+0x2c15/0x31d0 [ 441.113281][ T8841] usb_new_device+0x1bd4/0x2a30 [ 441.118138][ T8841] hub_event+0x5b99/0x8870 [ 441.122555][ T8841] process_one_work+0x1219/0x1fe0 [ 441.127601][ T8841] worker_thread+0x10ec/0x2340 [ 441.132393][ T8841] kthread+0x521/0x560 [ 441.136470][ T8841] ret_from_fork+0x1f/0x30 [ 441.140892][ T8841] [ 441.143216][ T8841] Uninit was stored to memory at: [ 441.148242][ T8841] kmsan_internal_chain_origin+0xad/0x130 [ 441.153981][ T8841] kmsan_memcpy_memmove_metadata+0x25e/0x2d0 [ 441.159979][ T8841] kmsan_memcpy_metadata+0xb/0x10 [ 441.165022][ T8841] __msan_memcpy+0x46/0x60 [ 441.169448][ T8841] ax88179_get_mac_addr+0x33b/0x860 [ 441.174653][ T8841] ax88179_bind+0x3f5/0x19e0 [ 441.179245][ T8841] usbnet_probe+0x115e/0x3e80 [ 441.183921][ T8841] usb_probe_interface+0xfcc/0x1520 [ 441.189147][ T8841] really_probe+0xe15/0x24d0 [ 441.193742][ T8841] driver_probe_device+0x29d/0x3a0 [ 441.198858][ T8841] __device_attach_driver+0x63f/0x830 [ 441.204235][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 441.209089][ T8841] __device_attach+0x56a/0x890 [ 441.213857][ T8841] device_initial_probe+0x4a/0x60 [ 441.218889][ T8841] bus_probe_device+0x17e/0x3d0 [ 441.223743][ T8841] device_add+0x2c15/0x31d0 [ 441.228245][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 441.233705][ T8841] usb_generic_driver_probe+0x138/0x300 [ 441.239248][ T8841] usb_probe_device+0x317/0x570 [ 441.244098][ T8841] really_probe+0xe15/0x24d0 [ 441.248691][ T8841] driver_probe_device+0x29d/0x3a0 [ 441.253807][ T8841] __device_attach_driver+0x63f/0x830 [ 441.259183][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 441.264037][ T8841] __device_attach+0x56a/0x890 [ 441.268813][ T8841] device_initial_probe+0x4a/0x60 [ 441.273842][ T8841] bus_probe_device+0x17e/0x3d0 [ 441.278698][ T8841] device_add+0x2c15/0x31d0 [ 441.283202][ T8841] usb_new_device+0x1bd4/0x2a30 [ 441.288057][ T8841] hub_event+0x5b99/0x8870 [ 441.292480][ T8841] process_one_work+0x1219/0x1fe0 [ 441.297509][ T8841] worker_thread+0x10ec/0x2340 [ 441.302275][ T8841] kthread+0x521/0x560 [ 441.306344][ T8841] ret_from_fork+0x1f/0x30 [ 441.310764][ T8841] [ 441.313080][ T8841] Local variable ----mac@ax88179_get_mac_addr created at: [ 441.320171][ T8841] ax88179_get_mac_addr+0x4d/0x860 [ 441.325283][ T8841] ax88179_get_mac_addr+0x4d/0x860 [ 441.330402][ T8841] ===================================================== [ 441.337345][ T8841] ===================================================== [ 441.344267][ T8841] BUG: KMSAN: uninit-value in _mix_pool_bytes+0x7d2/0x950 [ 441.351384][ T8841] CPU: 0 PID: 8841 Comm: kworker/0:6 Tainted: G B 5.11.0-rc7-syzkaller #0 [ 441.361209][ T8841] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 [ 441.371265][ T8841] Workqueue: usb_hub_wq hub_event [ 441.376323][ T8841] Call Trace: [ 441.379604][ T8841] dump_stack+0x21c/0x280 [ 441.383943][ T8841] kmsan_report+0xfb/0x1e0 [ 441.388392][ T8841] __msan_warning+0x5f/0xa0 [ 441.392909][ T8841] _mix_pool_bytes+0x7d2/0x950 [ 441.397689][ T8841] add_device_randomness+0x6b3/0xfd0 [ 441.402978][ T8841] ? __msan_instrument_asm_store+0x25/0x130 [ 441.408878][ T8841] ? __local_bh_enable_ip+0x97/0x1d0 [ 441.414171][ T8841] ? __msan_metadata_ptr_for_store_4+0x13/0x20 [ 441.420332][ T8841] ? list_netdevice+0x8e4/0xa40 [ 441.425186][ T8841] register_netdevice+0x2d67/0x3a20 [ 441.430400][ T8841] register_netdev+0xbe/0x100 [ 441.435082][ T8841] usbnet_probe+0x3192/0x3e80 [ 441.439762][ T8841] ? kmsan_get_metadata+0x116/0x180 [ 441.444973][ T8841] ? usbnet_disconnect+0x6b0/0x6b0 [ 441.450086][ T8841] usb_probe_interface+0xfcc/0x1520 [ 441.455292][ T8841] ? usb_register_driver+0x900/0x900 [ 441.460580][ T8841] really_probe+0xe15/0x24d0 [ 441.465181][ T8841] driver_probe_device+0x29d/0x3a0 [ 441.470302][ T8841] __device_attach_driver+0x63f/0x830 [ 441.475683][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 441.480537][ T8841] ? deferred_probe_work_func+0x400/0x400 [ 441.486266][ T8841] __device_attach+0x56a/0x890 [ 441.491038][ T8841] device_initial_probe+0x4a/0x60 [ 441.496069][ T8841] bus_probe_device+0x17e/0x3d0 [ 441.500923][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 441.506739][ T8841] device_add+0x2c15/0x31d0 [ 441.511247][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 441.516708][ T8841] ? usb_set_configuration+0xa61/0x3eb0 [ 441.522257][ T8841] ? __msan_metadata_ptr_for_load_1+0x10/0x20 [ 441.528337][ T8841] usb_generic_driver_probe+0x138/0x300 [ 441.533884][ T8841] ? usb_choose_configuration+0xee0/0xee0 [ 441.539606][ T8841] usb_probe_device+0x317/0x570 [ 441.544461][ T8841] ? usb_register_device_driver+0x590/0x590 [ 441.550357][ T8841] really_probe+0xe15/0x24d0 [ 441.554962][ T8841] driver_probe_device+0x29d/0x3a0 [ 441.560100][ T8841] __device_attach_driver+0x63f/0x830 [ 441.565484][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 441.570342][ T8841] ? deferred_probe_work_func+0x400/0x400 [ 441.576075][ T8841] __device_attach+0x56a/0x890 [ 441.580849][ T8841] device_initial_probe+0x4a/0x60 [ 441.585900][ T8841] bus_probe_device+0x17e/0x3d0 [ 441.590759][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 441.596576][ T8841] device_add+0x2c15/0x31d0 [ 441.601087][ T8841] usb_new_device+0x1bd4/0x2a30 [ 441.605953][ T8841] hub_event+0x5b99/0x8870 [ 441.610384][ T8841] ? kmsan_get_metadata+0x116/0x180 [ 441.615596][ T8841] ? kmsan_get_shadow_origin_ptr+0x84/0xb0 [ 441.621413][ T8841] ? led_work+0x780/0x780 [ 441.625748][ T8841] process_one_work+0x1219/0x1fe0 [ 441.630785][ T8841] worker_thread+0x10ec/0x2340 [ 441.635576][ T8841] kthread+0x521/0x560 [ 441.639650][ T8841] ? process_one_work+0x1fe0/0x1fe0 [ 441.644855][ T8841] ? kthread_blkcg+0x110/0x110 [ 441.649623][ T8841] ret_from_fork+0x1f/0x30 [ 441.654047][ T8841] [ 441.656361][ T8841] Uninit was stored to memory at: [ 441.661372][ T8841] kmsan_internal_chain_origin+0xad/0x130 [ 441.667105][ T8841] __msan_chain_origin+0x57/0xa0 [ 441.672048][ T8841] _mix_pool_bytes+0x7f2/0x950 [ 441.676814][ T8841] add_device_randomness+0x6b3/0xfd0 [ 441.682103][ T8841] register_netdevice+0x2d67/0x3a20 [ 441.687302][ T8841] register_netdev+0xbe/0x100 [ 441.691979][ T8841] usbnet_probe+0x3192/0x3e80 [ 441.696657][ T8841] usb_probe_interface+0xfcc/0x1520 [ 441.701855][ T8841] really_probe+0xe15/0x24d0 [ 441.706450][ T8841] driver_probe_device+0x29d/0x3a0 [ 441.711567][ T8841] __device_attach_driver+0x63f/0x830 [ 441.716942][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 441.721821][ T8841] __device_attach+0x56a/0x890 [ 441.726588][ T8841] device_initial_probe+0x4a/0x60 [ 441.731618][ T8841] bus_probe_device+0x17e/0x3d0 [ 441.736472][ T8841] device_add+0x2c15/0x31d0 [ 441.740972][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 441.746432][ T8841] usb_generic_driver_probe+0x138/0x300 [ 441.751977][ T8841] usb_probe_device+0x317/0x570 [ 441.756830][ T8841] really_probe+0xe15/0x24d0 [ 441.761424][ T8841] driver_probe_device+0x29d/0x3a0 [ 441.766536][ T8841] __device_attach_driver+0x63f/0x830 [ 441.771916][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 441.776767][ T8841] __device_attach+0x56a/0x890 [ 441.781550][ T8841] device_initial_probe+0x4a/0x60 [ 441.786598][ T8841] bus_probe_device+0x17e/0x3d0 [ 441.791458][ T8841] device_add+0x2c15/0x31d0 [ 441.795980][ T8841] usb_new_device+0x1bd4/0x2a30 [ 441.800833][ T8841] hub_event+0x5b99/0x8870 [ 441.805254][ T8841] process_one_work+0x1219/0x1fe0 [ 441.810285][ T8841] worker_thread+0x10ec/0x2340 [ 441.815052][ T8841] kthread+0x521/0x560 [ 441.819124][ T8841] ret_from_fork+0x1f/0x30 [ 441.823539][ T8841] [ 441.825850][ T8841] Uninit was stored to memory at: [ 441.830855][ T8841] kmsan_internal_chain_origin+0xad/0x130 [ 441.836583][ T8841] __msan_chain_origin+0x57/0xa0 [ 441.841528][ T8841] _mix_pool_bytes+0x7f2/0x950 [ 441.846303][ T8841] add_device_randomness+0x6b3/0xfd0 [ 441.851589][ T8841] register_netdevice+0x2d67/0x3a20 [ 441.856788][ T8841] register_netdev+0xbe/0x100 [ 441.861462][ T8841] usbnet_probe+0x3192/0x3e80 [ 441.866140][ T8841] usb_probe_interface+0xfcc/0x1520 [ 441.871341][ T8841] really_probe+0xe15/0x24d0 [ 441.875940][ T8841] driver_probe_device+0x29d/0x3a0 [ 441.881056][ T8841] __device_attach_driver+0x63f/0x830 [ 441.886434][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 441.891285][ T8841] __device_attach+0x56a/0x890 [ 441.896050][ T8841] device_initial_probe+0x4a/0x60 [ 441.901077][ T8841] bus_probe_device+0x17e/0x3d0 [ 441.905928][ T8841] device_add+0x2c15/0x31d0 [ 441.910429][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 441.915913][ T8841] usb_generic_driver_probe+0x138/0x300 [ 441.921457][ T8841] usb_probe_device+0x317/0x570 [ 441.926325][ T8841] really_probe+0xe15/0x24d0 [ 441.930921][ T8841] driver_probe_device+0x29d/0x3a0 [ 441.936044][ T8841] __device_attach_driver+0x63f/0x830 [ 441.941436][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 441.946297][ T8841] __device_attach+0x56a/0x890 [ 441.951074][ T8841] device_initial_probe+0x4a/0x60 [ 441.956108][ T8841] bus_probe_device+0x17e/0x3d0 [ 441.960971][ T8841] device_add+0x2c15/0x31d0 [ 441.965487][ T8841] usb_new_device+0x1bd4/0x2a30 [ 441.970367][ T8841] hub_event+0x5b99/0x8870 [ 441.974815][ T8841] process_one_work+0x1219/0x1fe0 [ 441.979856][ T8841] worker_thread+0x10ec/0x2340 [ 441.984629][ T8841] kthread+0x521/0x560 [ 441.988722][ T8841] ret_from_fork+0x1f/0x30 [ 441.993143][ T8841] [ 441.995458][ T8841] Uninit was stored to memory at: [ 442.000479][ T8841] kmsan_internal_chain_origin+0xad/0x130 [ 442.006219][ T8841] __msan_chain_origin+0x57/0xa0 [ 442.011165][ T8841] _mix_pool_bytes+0x7f2/0x950 [ 442.015931][ T8841] add_device_randomness+0x6b3/0xfd0 [ 442.021216][ T8841] register_netdevice+0x2d67/0x3a20 [ 442.026414][ T8841] register_netdev+0xbe/0x100 [ 442.031089][ T8841] usbnet_probe+0x3192/0x3e80 [ 442.035767][ T8841] usb_probe_interface+0xfcc/0x1520 [ 442.040968][ T8841] really_probe+0xe15/0x24d0 [ 442.045565][ T8841] driver_probe_device+0x29d/0x3a0 [ 442.050681][ T8841] __device_attach_driver+0x63f/0x830 [ 442.056078][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 442.060931][ T8841] __device_attach+0x56a/0x890 [ 442.065700][ T8841] device_initial_probe+0x4a/0x60 [ 442.070729][ T8841] bus_probe_device+0x17e/0x3d0 [ 442.075583][ T8841] device_add+0x2c15/0x31d0 [ 442.080103][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 442.085584][ T8841] usb_generic_driver_probe+0x138/0x300 [ 442.091130][ T8841] usb_probe_device+0x317/0x570 [ 442.095982][ T8841] really_probe+0xe15/0x24d0 [ 442.100577][ T8841] driver_probe_device+0x29d/0x3a0 [ 442.105693][ T8841] __device_attach_driver+0x63f/0x830 [ 442.111069][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 442.115922][ T8841] __device_attach+0x56a/0x890 [ 442.120687][ T8841] device_initial_probe+0x4a/0x60 [ 442.125718][ T8841] bus_probe_device+0x17e/0x3d0 [ 442.130580][ T8841] device_add+0x2c15/0x31d0 [ 442.135200][ T8841] usb_new_device+0x1bd4/0x2a30 [ 442.140077][ T8841] hub_event+0x5b99/0x8870 [ 442.144500][ T8841] process_one_work+0x1219/0x1fe0 [ 442.149543][ T8841] worker_thread+0x10ec/0x2340 [ 442.154328][ T8841] kthread+0x521/0x560 [ 442.158408][ T8841] ret_from_fork+0x1f/0x30 [ 442.162830][ T8841] [ 442.165147][ T8841] Uninit was stored to memory at: [ 442.170156][ T8841] kmsan_internal_chain_origin+0xad/0x130 [ 442.175884][ T8841] __msan_chain_origin+0x57/0xa0 [ 442.180828][ T8841] _mix_pool_bytes+0x7f2/0x950 [ 442.185594][ T8841] add_device_randomness+0x6b3/0xfd0 [ 442.190885][ T8841] register_netdevice+0x2d67/0x3a20 [ 442.196083][ T8841] register_netdev+0xbe/0x100 [ 442.200757][ T8841] usbnet_probe+0x3192/0x3e80 [ 442.205435][ T8841] usb_probe_interface+0xfcc/0x1520 [ 442.210634][ T8841] really_probe+0xe15/0x24d0 [ 442.215247][ T8841] driver_probe_device+0x29d/0x3a0 [ 442.220364][ T8841] __device_attach_driver+0x63f/0x830 [ 442.225745][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 442.230608][ T8841] __device_attach+0x56a/0x890 [ 442.235377][ T8841] device_initial_probe+0x4a/0x60 [ 442.240424][ T8841] bus_probe_device+0x17e/0x3d0 [ 442.245285][ T8841] device_add+0x2c15/0x31d0 [ 442.249794][ T8841] usb_set_configuration+0x3872/0x3eb0 [ 442.255254][ T8841] usb_generic_driver_probe+0x138/0x300 [ 442.260800][ T8841] usb_probe_device+0x317/0x570 [ 442.265652][ T8841] really_probe+0xe15/0x24d0 [ 442.270246][ T8841] driver_probe_device+0x29d/0x3a0 [ 442.275388][ T8841] __device_attach_driver+0x63f/0x830 [ 442.280766][ T8841] bus_for_each_drv+0x2c8/0x3f0 [ 442.285620][ T8841] __device_attach+0x56a/0x890 [ 442.290389][ T8841] device_initial_probe+0x4a/0x60 [ 442.295420][ T8841] bus_probe_device+0x17e/0x3d0 [ 442.300271][ T8841] device_add+0x2c15/0x31d0 [ 442.304788][ T8841] usb_new_device+0x1bd4/0x2a30 [ 442.309659][ T8841] hub_event+0x5b99/0x8870 [ 442.314082][ T8841] process_one_work+0x1219/0x1fe0 [ 442.319125][ T8841] worker_thread+0x10ec/0x2340 [ 442.323904][ T8841] kthread+0x521/0x560 [ 442.327978][ T8841] ret_from_fork+0x1f/0x30 [ 442.332413][ T8841] [ 442.334740][ T8841] Uninit was stored to memory at: [ 442.339746][ T8841] kmsan_internal_chain_origin+0xad/0x130 [ 442.345479][ T8841] __msan_chain_origin+0x57/0xa0 [ 442.350445][ T8841] _mix_pool_bytes+0x7f2/0x950 [ 442.355225][ T8841] add_device_randomness+0x6b3/0xfd0