33b833c833d833e833f8340834183428343834483458346834783488349834a834b834c834d834e834f8350835183528353835483558356835783588359835a835b835c835d835e835f8360836183628363836483658366836783688369836a836b836c836d836e836f8370837183728373837483758376837783788379837a837b837c837d837e837f8380838183828383838483858386838783888389838a838b838c838d838e838f8390839183928393839483958396839783988399839a839b839c839d839e839f83a083a183a283a383a483a583a683a783a883a983aa83ab83ac83ad83ae83af83b083b183b283b383b483b583b683b783b883b983ba83bb83bc83bd83be83bf83c083c183c283c383c483c583c683c783c883c983ca83cb83cc83cd83ce83cf83d083d183d283d383d483d583d683d783d883d983da83db83dc83dd83de83df83e083e183e283e383e483e583e683e783e883e983ea83eb83ec83ed83ee83ef83f083f183f283f383f483f583f683f783f883f983fa83fb83fc83fd83fe83ff8300840184028403840484058406840784088409840a840b840c840d840e840f8410841184128413841484158416841784188419841a841b841c841d841e841f8420842184228423842484258426842784288429842a842b842c842d842e842f8430843184328433843484358436843784388439843a843b843c843d843e843f8440844184428443844484458446844784488449844a844b844c844d844e844f8450845184528453845484558456845784588459845a845b845c845d845e845f8460846184628463846484658466846784688469846a846b846c846d846e846f8470847184728473847484758476847784788479847a847b847c847d847e847f8480848184828483848484858486848784888489848a848b848c848d848e848f8490849184928493849484958496849784988499849a849b849c849d849e849f84a084a184a284a384a484a584a684a784a884a984aa84ab84ac84ad84ae84af84b084b184b284b384b484b584b684b784b884b984ba84bb84bc84bd84be84bf84c084c184c284c384c484c584c684c784c884c984ca84cb84cc84cd84ce84cf84d084d184d284d384d484d584d684d784d884d984da84db84dc84dd84de84df84e084e184e284e384e484e584e684e784e884e984ea84eb84ec84ed84ee84ef84f084f184f284f384f484f584f684f784f884f984fa84fb84fc84fd84fe84ff8400850185028503850485058506850785088509850a850b850c850d850e850f8510851185128513851485158516851785188519851a851b851c851d851e851f8520852185228523852485258526852785288529852a852b852c852d852e852f8530853185328533853485358536853785388539853a853b853c853d853e853f8540854185428543854485458546854785488549854a854b854c854d854e854f8550855185528553855485558556855785588559855a855b855c855d855e855f8560856185628563856485658566856785688569856a856b856c856d856e856f8570857185728573857485758576857785788579857a857b857c857d857e857f8580858185828583858485858586858785888589858a858b858c858d858e858f8590859185928593859485958596859785988599859a859b859c859d859e859f85a085a185a285a385a485a585a685a785a885a985aa85ab85ac85ad85ae85af85b085b185b285b385b485b585b685b785b885b985ba85bb85bc85bd85be85bf85c085c185c285c385c485c585c685c785c885c985ca85cb85cc85cd85ce85cf85d085d185d285d385d485d585d685d785d885d985da85db85dc85dd85de85df85e085e185e285e385e485e585e685e785e885e985ea85eb85ec85ed85ee85ef85f085f185f285f385f485f585f685f785f885f985fa85fb85fc85fd85fe85ff8500860186028603860486058606860786088609860a860b860c860d860e860f8610861186128613861486158616861786188619861a861b861c861d861e861f8620862186228623862486258626862786288629862a862b862c862d862e862f8630863186328633863486358636863786388639863a863b863c863d863e863f8640864186428643864486458646864786488649864a864b864c864d864e864f8650865186528653865486558656865786588659865a865b865c865d865e865f8660866186628663866486658666866786688669866a866b866c866d866e866f8670867186728673867486758676867786788679867a867b867c867d867e867f8680868186828683868486858686868786888689868a868b868c868d868e868f8690869186928693869486958696869786988699869a869b869c869d869e869f86a086a186a286a386a486a586a686a786a886a986aa86ab86ac86ad86ae86af86b086b186b286b386b486b586b686b786b886b986ba86bb86bc86bd86be86bf86c086c186c286c386c486c586c686c786c886c986ca86cb86cc86cd86ce86cf86d086d186d286d386d486d586d686d786d886d986da86db86dc86dd86de86df86e086e186e286e386e486e586e686e786e886e986ea86eb86ec86ed86ee86ef86f086f186f286f386f486f586f686f786f886f986fa86fb86fc86fd86fe86ff8600870187028703870487058706870787088709870a870b870c870d870e870f8710871187128713871487158716871787188719871a871b871c871d871e871f8720872187228723872487258726872787288729872a872b872c872d872e872f8730873187328733873487358736873787388739873a873b873c873d873e873f8740874187428743874487458746874787488749874a874b874c874d874e874f8750875187528753875487558756875787588759875a875b875c875d875e875f8760876187628763876487658766876787688769876a876b876c876d876e876f8770877187728773877487758776877787788779877a877b877c877d877e877f8780878187828783878487858786878787888789878a878b878c878d878e878f8790879187928793879487958796879787988799879a879b879c879d879e879f87a087a187a287a387a487a587a687a787a887a987aa87ab87ac87ad87ae87af87b087b187b287b387b487b587b687b787b887b987ba87bb87bc87bd87be87bf87c087c187c287c387c487c587c687c787c887c987ca87cb87cc87cd87ce87cf87d087d187d287d387d487d587d687d787d887d987da87db87dc87dd87de87df87e087e187e287e387e487e587e687e787e887e987ea87eb87ec87ed87ee87ef87f087f187f287f387f487f587f687f787f887f987fa87fb87fc87fd87fe87ff8700880188028803880488058806880788088809880a880b880c880d880e880f8810881188128813881488158816881788188819881a881b881c881d881e881f8820882188228823882488258826882788288829882a882b882c882d882e882f8830883188328833883488358836883788388839883a883b883c883d883e883f8840884188428843884488458846884788488849884a884b884c884d884e884f8850885188528853885488558856885788588859885a885b885c885d885e885f8860886188628863886488658866886788688869886a886b886c886d886e886f8870887188728873887488758876887788788879887a887b887c887d887e887f8880888188828883888488858886888788888889888a888b888c888d888e888f8890889188928893889488958896889788988899889a889b889c889d889e889f88a088a188a288a388a488a588a688a788a888a988aa88ab88ac88ad88ae88af88b088b188b288b388b488b588b688b788b888b988ba88bb88bc88bd88be88bf88c088c188c288c388c488c588c688c788c888c988ca88cb88cc88cd88ce88cf88d088d188d288d388d488d588d688d788d888d988da88db88dc88dd88de88df88e088e188e288e388e488e588e688e788e888e988ea88eb88ec88ed88ee88ef88f088f188f288f388f488f588f688f788f888f988fa88fb88fc88fd88fe88ff8800890189028903890489058906890789088909890a890b890c890d890e890f8910891189128913891489158916891789188919891a891b891c891d891e891f8920892189228923892489258926892789288929892a892b892c892d892e892f8930893189328933893489358936893789388939893a893b893c893d893e893f8940894189428943894489458946894789488949894a894b894c894d894e894f8950895189528953895489558956895789588959895a895b895c895d895e895f8960896189628963896489658966896789688969896a896b896c896d896e896f8970897189728973897489758976897789788979897a897b897c897d897e897f8980898189828983898489858986898789888989898a898b898c898d898e898f8990899189928993899489958996899789988999899a899b899c899d899e899f89a089a189a289a389a489a589a689a789a889a989aa89ab89ac89ad89ae89af89b089b189b289b389b489b589b689b789b889b989ba89bb89bc89bd89be89bf89c089c189c289c389c489c589c689c789c889c989ca89cb89cc89cd89ce89cf89d089d189d289d389d489d589d689d789d889d989da89db89dc89dd89de89df89e089e189e289e389e489e589e689e789e889e989ea89eb89ec89ed89ee89ef89f089f189f289f389f489f589f689f789f889f989fa89fb89fc89fd89fe89ff89008a018a028a038a048a058a068a078a088a098a0a8a0b8a0c8a0d8a0e8a0f8a108a118a128a138a148a158a168a178a188a198a1a8a1b8a1c8a1d8a1e8a1f8a208a218a228a238a248a258a268a278a288a298a2a8a2b8a2c8a2d8a2e8a2f8a308a318a328a338a348a358a368a378a388a398a3a8a3b8a3c8a3d8a3e8a3f8a408a418a428a438a448a458a468a478a488a498a4a8a4b8a4c8a4d8a4e8a4f8a508a518a528a538a548a558a568a578a588a598a5a8a5b8a5c8a5d8a5e8a5f8a608a618a628a638a648a658a668a678a688a698a6a8a6b8a6c8a6d8a6e8a6f8a708a718a728a738a748a758a768a778a788a798a7a8a7b8a7c8a7d8a7e8a7f8a808a818a828a838a848a858a868a878a888a898a8a8a8b8a8c8a8d8a8e8a8f8a908a918a928a938a948a958a968a978a988a998a9a8a9b8a9c8a9d8a9e8a9f8aa08aa18aa28aa38aa48aa58aa68aa78aa88aa98aaa8aab8aac8aad8aae8aaf8ab08ab18ab28ab38ab48ab58ab68ab78ab88ab98aba8abb8abc8abd8abe8abf8ac08ac18ac28ac38ac48ac58ac68ac78ac88ac98aca8acb8acc8acd8ace8acf8ad08ad18ad28ad38ad48ad58ad68ad78ad88ad98ada8adb8adc8add8ade8adf8ae08ae18ae28ae38ae48ae58ae68ae78ae88ae98aea8aeb8aec8aed8aee8aef8af08af18af28af38af48af58af68af78af88af98afa8afb8afc8afd8afe8aff8a008b018b028b038b048b058b068b078b088b098b0a8b0b8b0c8b0d8b0e8b0f8b108b118b128b138b148b158b168b178b188b198b1a8b1b8b1c8b1d8b1e8b1f8b208b218b228b238b248b258b268b278b288b298b2a8b2b8b2c8b2d8b2e8b2f8b308b318b328b338b348b358b368b378b388b398b3a8b3b8b3c8b3d8b3e8b3f8b408b418b428b438b448b458b468b478b488b498b4a8b4b8b4c8b4d8b4e8b4f8b508b518b528b538b548b558b568b578b588b598b5a8b5b8b5c8b5d8b5e8b5f8b608b618b628b638b648b658b668b678b688b698b6a8b6b8b6c8b6d8b6e8b6f8b708b718b728b738b748b758b768b778b788b798b7a8b7b8b7c8b7d8b7e8b7f8b808b818b828b838b848b858b868b878b888b898b8a8b8b8b8c8b8d8b8e8b8f8b908b918b928b938b948b958b968b978b988b998b9a8b9b8b9c8b9d8b9e8b9f8ba08ba18ba28ba38ba48ba58ba68ba78ba88ba98baa8bab8bac8bad8bae8baf8bb08bb18bb28bb38bb48bb58bb68bb78bb88bb98bba8bbb8bbc8bbd8bbe8bbf8bc08bc18bc28bc38bc48bc58bc68bc78bc88bc98bca8bcb8bcc8bcd8bce8bcf8bd08bd18bd28bd38bd48bd58bd68bd78bd88bd98bda8bdb8bdc8bdd8bde8bdf8be08be18be28be38be48be58be68be78be88be98bea8beb8bec8bed8bee8bef8bf08bf18bf28bf38bf48bf58bf68bf78bf88bf98bfa8bfb8bfc8bfd8bfe8bff8b008c018c028c038c048c058c068c078c088c098c0a8c0b8c0c8c0d8c0e8c0f8c108c118c128c138c148c158c168c178c188c198c1a8c1b8c1c8c1d8c1e8c1f8c208c218c228c238c248c258c268c278c288c298c2a8c2b8c2c8c2d8c2e8c2f8c308c318c328c338c348c358c368c378c388c398c3a8c3b8c3c8c3d8c3e8c3f8c408c418c428c438c448c458c468c478c488c498c4a8c4b8c4c8c4d8c4e8c4f8c508c518c528c538c548c558c568c578c588c598c5a8c5b8c5c8c5d8c5e8c5f8c608c618c628c638c648c658c668c678c688c698c6a8c6b8c6c8c6d8c6e8c6f8c708c718c728c738c748c758c768c778c788c798c7a8c7b8c7c8c7d8c7e8c7f8c808c818c828c838c848c858c868c878c888c898c8a8c8b8c8c8c8d8c8e8c8f8c908c918c928c938c948c958c968c978c988c998c9a8c9b8c9c8c9d8c9e8c9f8ca08ca18ca28ca38ca48ca58ca68ca78ca88ca98caa8cab8cac8cad8cae8caf8cb08cb18cb28cb38cb48cb58cb68cb78cb88cb98cba8cbb8cbc8cbd8cbe8cbf8cc08cc18cc28cc38cc48cc58cc68cc78cc88cc98cca8ccb8ccc8ccd8cce8ccf8cd08cd18cd28cd38cd48cd58cd68cd78cd88cd98cda8cdb8cdc8cdd8cde8cdf8ce08ce18ce28ce38ce48ce58ce68ce78ce88ce98cea8ceb8cec8ced8cee8cef8cf08cf18cf28cf38cf48cf58cf68cf78cf88cf98cfa8cfb8cfc8cfd8cfe8cff8c008d018d028d038d048d058d068d078d088d098d0a8d0b8d0c8d0d8d0e8d0f8d108d118d128d138d148d158d168d178d188d198d1a8d1b8d1c8d1d8d1e8d1f8d208d218d228d238d248d258d268d278d288d298d2a8d2b8d2c8d2d8d2e8d2f8d308d318d328d338d348d358d368d378d388d398d3a8d3b8d3c8d3d8d3e8d3f8d408d418d428d438d448d458d468d478d488d498d4a8d4b8d4c8d4d8d4e8d4f8d508d518d528d538d548d558d568d578d588d598d5a8d5b8d5c8d5d8d5e8d5f8d608d618d628d638d648d658d668d678d688d698d6a8d6b8d6c8d6d8d6e8d6f8d708d718d728d738d748d758d768d778d788d798d7a8d7b8d7c8d7d8d7e8d7f8d808d818d828d838d848d858d868d878d888d898d8a8d8b8d8c8d8d8d8e8d8f8d908d918d928d938d948d958d968d978d988d998d9a8d9b8d9c8d9d8d9e8d9f8da08da18da28da38da48da58da68da78da88da98daa8dab8dac8dad8dae8daf8db08db18db28db38db48db58db68db78db88db98dba8dbb8dbc8dbd8dbe8dbf8dc08dc18dc28dc38dc48dc58dc68dc78dc88dc98dca8dcb8dcc8dcd8dce8dcf8dd08dd18dd28dd38dd48dd58dd68dd78dd88dd98dda8ddb8ddc8ddd8dde8ddf8de08de18de28de38de48de58de68de78de88de98dea8deb8dec8ded8dee8def8df08df18df28df38df48df58df68df78df88df98dfa8dfb8dfc8dfd8dfe8dff8d008e018e028e038e048e058e068e078e088e098e0a8e0b8e0c8e0d8e0e8e0f8e108e118e128e138e148e158e168e178e188e198e1a8e1b8e1c8e1d8e1e8e1f8e208e218e228e238e248e258e268e278e288e298e2a8e2b8e2c8e2d8e2e8e2f8e308e318e328e338e348e358e368e378e388e398e3a8e3b8e3c8e3d8e3e8e3f8e408e418e428e438e448e458e468e478e488e498e4a8e4b8e4c8e4d8e4e8e4f8e508e518e528e538e548e558e568e578e588e598e5a8e5b8e5c8e5d8e5e8e5f8e608e618e628e638e648e658e668e678e688e698e6a8e6b8e6c8e6d8e6e8e6f8e708e718e728e738e748e758e768e778e788e798e7a8e7b8e7c8e7d8e7e8e7f8e808e818e828e838e848e858e868e878e888e898e8a8e8b8e8c8e8d8e8e8e8f8e908e918e928e938e948e958e968e978e988e998e9a8e9b8e9c8e9d8e9e8e9f8ea08ea18ea28ea38ea48ea58ea68ea78ea88ea98eaa8eab8eac8ead8eae8eaf8eb08eb18eb28eb38eb48eb58eb68eb78eb88eb98eba8ebb8ebc8ebd8ebe8ebf8ec08ec18ec28ec38ec48ec58ec68ec78ec88ec98eca8ecb8ecc8ecd8ece8ecf8ed08ed18ed28ed38ed48ed58ed68ed78ed88ed98eda8edb8edc8edd8ede8edf8ee08ee18ee28ee38ee48ee58ee68ee78ee88ee98eea8eeb8eec8eed8eee8eef8ef08ef18ef28ef38ef48ef58ef68ef78ef88ef98efa8efb8efc8efd8efe8eff8e008f018f028f038f048f058f068f078f088f098f0a8f0b8f0c8f0d8f0e8f0f8f108f118f128f138f148f158f168f178f188f198f1a8f1b8f1c8f1d8f1e8f1f8f208f218f228f238f248f258f268f278f288f298f2a8f2b8f2c8f2d8f2e8f2f8f308f318f328f338f348f358f368f378f388f398f3a8f3b8f3c8f3d8f3e8f3f8f408f418f428f438f448f458f468f478f488f498f4a8f4b8f4c8f4d8f4e8f4f8f508f518f528f538f548f558f568f578f588f598f5a8f5b8f5c8f5d8f5e8f5f8f608f618f628f638f648f658f668f678f688f698f6a8f6b8f6c8f6d8f6e8f6f8f708f718f728f738f748f758f768f778f788f798f7a8f7b8f7c8f7d8f7e8f7f8f808f818f828f838f848f858f868f878f888f898f8a8f8b8f8c8f8d8f8e8f8f8f908f918f928f938f948f958f968f978f988f998f9a8f9b8f9c8f9d8f9e8f9f8fa08fa18fa28fa38fa48fa58fa68fa78fa88fa98faa8fab8fac8fad8fae8faf8fb08fb18fb28fb38fb48fb58fb68fb78fb88fb98fba8fbb8fbc8fbd8fbe8fbf8fc08fc18fc28fc38fc48fc58fc68fc78fc88fc98fca8fcb8fcc8fcd8fce8fcf8fd08fd18fd28fd38fd48fd58fd68fd78fd88fd98fda8fdb8fdc8fdd8fde8fdf8fe08fe18fe28fe38fe48fe58fe68fe78fe88fe98fea8feb8fec8fed8fee8fef8ff08ff18ff28ff38ff48ff58ff68ff78ff88ff98ffa8ffb8ffc8ffd8ffe8fff8f00900190029003900490059006900790089009900a900b900c900d900e900f9010901190129013901490159016901790189019901a901b901c901d901e901f9020902190229023902490259026902790289029902a902b902c902d902e902f9030903190329033903490359036903790389039903a903b903c903d903e903f9040904190429043904490459046904790489049904a904b904c904d904e904f9050905190529053905490559056905790589059905a905b905c905d905e905f9060906190629063906490659066906790689069906a906b906c906d906e906f9070907190729073907490759076907790789079907a907b907c907d907e907f9080908190829083908490859086908790889089908a908b908c908d908e908f9090909190929093909490959096909790989099909a909b909c909d909e909f90a090a190a290a390a490a590a690a790a890a990aa90ab90ac90ad90ae90af90b090b190b290b390b490b590b690b790b890b990ba90bb90bc90bd90be90bf90c090c190c290c390c490c590c690c790c890c990ca90cb90cc90cd90ce90cf90d090d190d290d390d490d590d690d790d890d990da90db90dc90dd90de90df90e090e190e290e390e490e590e690e790e890e990ea90eb90ec90ed90ee90ef90f090f190f290f390f490f590f690f790f890f990fa90fb90fc90fd90fe90ff9000910191029103910491059106910791089109910a910b910c910d910e910f9110911191129113911491159116911791189119911a911b911c911d911e911f9120912191229123912491259126912791289129912a912b912c912d912e912f9130913191329133913491359136913791389139913a913b913c913d913e913f9140914191429143914491459146914791489149914a914b914c914d914e914f9150915191529153915491559156915791589159915a915b915c915d915e915f9160916191629163916491659166916791689169916a916b916c916d916e916f9170917191729173917491759176917791789179917a917b917c917d917e917f9180918191829183918491859186918791889189918a918b918c918d918e918f9190919191929193919491959196919791989199919a919b919c919d919e919f91a091a191a291a391a491a591a691a791a891a991aa91ab91ac91ad91ae91af91b091b191b291b391b491b591b691b791b891b991ba91bb91bc91bd91be91bf91c091c191c291c391c491c591c691c791c891c991ca91cb91cc91cd91ce91cf91d091d191d291d391d491d591d691d791d891d991da91db91dc91dd91de91df91e091e191e291e391e491e591e691e791e891e991ea91eb91ec91ed91ee91ef91f091f191f291f391f491f591f691f791f891f991fa91fb91fc91fd91fe91ff9100920192029203920492059206920792089209920a920b920c920d920e920f9210921192129213921492159216921792189219921a921b921c921d921e921f9220922192229223922492259226922792289229922a922b922c922d922e922f9230923192329233923492359236923792389239923a923b923c923d923e923f9240924192429243924492459246924792489249924a924b924c924d924e924f9250925192529253925492559256925792589259925a925b925c925d925e925f9260926192629263926492659266926792689269926a926b926c926d926e926f9270927192729273927492759276927792789279927a927b927c927d927e927f9280928192829283928492859286928792889289928a928b928c928d928e928f9290929192929293929492959296929792989299929a929b929c929d929e929f92a092a192a292a392a492a592a692a792a892a992aa92ab92ac92ad92ae92af92b092b192b292b392b492b592b692b792b892b992ba92bb92bc92bd92be92bf92c092c192c292c392c492c592c692c792c892c992ca92cb92cc92cd92ce92cf92d092d192d292d392d492d592d692d792d892d992da92db92dc92dd92de92df92e092e192e292e392e492e592e692e792e892e992ea92eb92ec92ed92ee92ef92f092f192f292f392f492f592f692f792f892f992fa92fb92fc92fd92fe92ff9200930193029303930493059306930793089309930a930b930c930d930e930f9310931193129313931493159316931793189319931a931b931c931d931e931f9320932193229323932493259326932793289329932a932b932c932d932e932f9330933193329333933493359336933793389339933a933b933c933d933e933f9340934193429343934493459346934793489349934a934b934c934d934e934f9350935193529353935493559356935793589359935a935b935c935d935e935f9360936193629363936493659366936793689369936a936b936c936d936e936f9370937193729373937493759376937793789379937a937b937c937d937e937f9380938193829383938493859386938793889389938a938b938c938d938e938f9390939193929393939493959396939793989399939a939b939c939d939e939f93a093a193a293a393a493a593a693a793a893a993aa93ab93ac93ad93ae93af93b093b193b293b393b493b593b693b793b893b993ba93bb93bc93bd93be93bf93c093c193c293c393c493c593c693c793c893c993ca93cb93cc93cd93ce93cf93d093d193d293d393d493d593d693d793d893d993da93db93dc93dd93de93df93e093e193e293e393e493e593e693e793e893e993ea93eb93ec93ed93ee93ef93f093f193f293f393f493f593f693f793f893f993fa93fb93fc93fd93fe93ff9300940194029403940494059406940794089409940a940b940c940d940e940f9410941194129413941494159416941794189419941a941b941c941d941e941f9420942194229423942494259426942794289429942a942b942c942d942e942f9430943194329433943494359436943794389439943a943b943c943d943e943f9440944194429443944494459446944794489449944a944b944c944d944e944f9450945194529453945494559456945794589459945a945b945c945d945e945f9460946194629463946494659466946794689469946a946b946c946d946e946f9470947194729473947494759476947794789479947a947b947c947d947e947f9480948194829483948494859486948794889489948a948b948c948d948e948f9490949194929493949494959496949794989499949a949b949c949d949e949f94a094a194a294a394a494a594a694a794a894a994aa94ab94ac94ad94ae94af94b094b194b294b394b494b594b694b794b894b994ba94bb94bc94bd94be94bf94c094c194c294c394c494c594c694c794c894c994ca94cb94cc94cd94ce94cf94d094d194d294d394d494d594d694d794d894d994da94db94dc94dd94de94df94e094e194e294e394e494e594e694e794e894e994ea94eb94ec94ed94ee94ef94f094f194f294f394f494f594f694f794f894f994fa94fb94fc94fd94fe94ff9400950195029503950495059506950795089509950a950b950c950d950e950f9510951195129513951495159516951795189519951a951b951c951d951e951f9520952195229523952495259526952795289529952a952b952c952d952e952f9530953195329533953495359536953795389539953a953b953c953d953e953f9540954195429543954495459546954795489549954a954b954c954d954e954f9550955195529553955495559556955795589559955a955b955c955d955e955f9560956195629563956495659566956795689569956a956b956c956d956e956f9570957195729573957495759576957795789579957a957b957c957d957e957f9580958195829583958495859586958795889589958a958b958c958d958e958f9590959195929593959495959596959795989599959a959b959c959d959e959f95a095a195a295a395a495a595a695a795a895a995aa95ab95ac95ad95ae95af95b095b195b295b395b495b595b695b795b895b995ba95bb95bc95bd95be95bf95c095c195c295c395c495c595c695c795c895c995ca95cb95cc95cd95ce95cf95d095d195d295d395d495d595d695d795d895d995da95db95dc95dd95de95df95e095e195e295e395e495e595e695e795e895e995ea95eb95ec95ed95ee95ef95f095f195f295f395f495f595f695f795f895f995fa95fb95fc95fd95fe95ff9500960196029603960496059606960796089609960a960b960c960d960e960f9610961196129613961496159616961796189619961a961b961c961d961e961f9620962196229623962496259626962796289629962a962b962c962d962e962f9630963196329633963496359636963796389639963a963b963c963d963e963f9640964196429643964496459646964796489649964a964b964c964d964e964f9650965196529653965496559656965796589659965a965b965c965d965e965f9660966196629663966496659666966796689669966a966b966c966d966e966f9670967196729673967496759676967796789679967a967b967c967d967e967f9680968196829683968496859686968796889689968a968b968c968d968e968f9690969196929693969496959696969796989699969a969b969c969d969e969f96a096a196a296a396a496a596a696a796a896a996aa96ab96ac96ad96ae96af96b096b196b296b396b496b596b696b796b896b996ba96bb96bc96bd96be96bf96c096c196c296c396c496c596c696c796c896c996ca96cb96cc96cd96ce96cf96d096d196d296d396d496d596d696d796d896d996da96db96dc96dd96de96df96e096e196e296e396e496e596e696e796e896e996ea96eb96ec96ed96ee96ef96f096f196f296f396f496f596f696f796f896f996fa96fb96fc96fd96fe96ff9600970197029703970497059706970797089709970a970b970c970d970e970f9710971197129713971497159716971797189719971a971b971c971d971e971f9720972197229723972497259726972797289729972a972b972c972d972e972f9730973197329733973497359736973797389739973a973b973c973d973e973f9740974197429743974497459746974797489749974a974b974c974d974e974f9750975197529753975497559756975797589759975a975b975c975d975e975f9760976197629763976497659766976797689769976a976b976c976d976e976f9770977197729773977497759776977797789779977a977b977c977d977e977f9780978197829783978497859786978797889789978a978b978c978d978e978f9790979197929793979497959796979797989799979a979b979c979d979e979f97a097a197a297a397a497a597a697a797a897a997aa97ab97ac97ad97ae97af97b097b197b297b397b497b597b697b797b897b997ba97bb97bc97bd97be97bf97c097c197c297c397c497c597c697c797c897c997ca97cb97cc97cd97ce97cf97d097d197d297d397d497d597d697d797d897d997da97db97dc97dd97de97df97e097e197e297e397e497e597e697e797e897e997ea97eb97ec97ed97ee97ef97f097f197f297f397f497f597f697f797f897f997fa97fb97fc97fd97fe97ff9700980198029803980498059806980798089809980a980b980c980d980e980f9810981198129813981498159816981798189819981a981b981c981d981e981f9820982198229823982498259826982798289829982a982b982c982d982e982f9830983198329833983498359836983798389839983a983b983c983d983e983f9840984198429843984498459846984798489849984a984b984c984d984e984f9850985198529853985498559856985798589859985a985b985c985d985e985f9860986198629863986498659866986798689869986a986b986c986d986e986f9870987198729873987498759876987798789879987a987b987c987d987e987f9880988198829883988498859886988798889889988a988b988c988d988e988f9890989198929893989498959896989798989899989a989b989c989d989e989f98a098a198a298a398a498a598a698a798a898a998aa98ab98ac98ad98ae98af98b098b198b298b398b498b598b698b798b898b998ba98bb98bc98bd98be98bf98c098c198c298c398c498c598c698c798c898c998ca98cb98cc98cd98ce98cf98d098d198d298d398d498d598d698d798d898d998da98db98dc98dd98de98df98e098e198e298e398e498e598e698e798e898e998ea98eb98ec98ed98ee98ef98f098f198f298f398f498f598f698f798f898f998fa98fb98fc98fd98fe98ff9800990199029903990499059906990799089909990a990b990c990d990e990f9910991199129913991499159916991799189919991a991b991c991d991e991f9920992199229923992499259926992799289929992a992b992c992d992e992f9930993199329933993499359936993799389939993a993b993c993d993e993f9940994199429943994499459946994799489949994a994b994c994d994e994f9950995199529953995499559956995799589959995a995b995c995d995e995f9960996199629963996499659966996799689969996a996b996c996d996e996f9970997199729973997499759976997799789979997a997b997c997d997e997f9980998199829983998499859986998799889989998a998b998c998d998e998f9990999199929993999499959996999799989999999a999b999c999d999e999f99a099a199a299a399a499a599a699a799a899a999aa99ab99ac99ad99ae99af99b099b199b299b399b499b599b699b799b899b999ba99bb99bc99bd99be99bf99c099c199c299c399c499c599c699c799c899c999ca99cb99cc99cd99ce99cf99d099d199d299d399d499d599d699d799d899d999da99db99dc99dd99de99df99e099e199e299e399e499e599e699e799e899e999ea99eb99ec99ed99ee99ef99f099f199f299f399f499f599f699f799f899f999fa99fb99fc99fd99fe99ff99009a019a029a039a049a059a069a079a089a099a0a9a0b9a0c9a0d9a0e9a0f9a109a119a129a139a149a159a169a179a189a199a1a9a1b9a1c9a1d9a1e9a1f9a209a219a229a239a249a259a269a279a289a299a2a9a2b9a2c9a2d9a2e9a2f9a309a319a329a339a349a359a369a379a389a399a3a9a3b9a3c9a3d9a3e9a3f9a409a419a429a439a449a459a469a479a489a499a4a9a4b9a4c9a4d9a4e9a4f9a509a519a529a539a549a559a569a579a589a599a5a9a5b9a5c9a5d9a5e9a5f9a609a619a629a639a649a659a669a679a689a699a6a9a6b9a6c9a6d9a6e9a6f9a709a719a729a739a749a759a769a779a789a799a7a9a7b9a7c9a7d9a7e9a7f9a809a819a829a839a849a859a869a879a889a899a8a9a8b9a8c9a8d9a8e9a8f9a909a919a929a939a949a959a969a979a989a999a9a9a9b9a9c9a9d9a9e9a9f9aa09aa19aa29aa39aa49aa59aa69aa79aa89aa99aaa9aab9aac9aad9aae9aaf9ab09ab19ab29ab39ab49ab59ab69ab79ab89ab99aba9abb9abc9abd9abe9abf9ac09ac19ac29ac39ac49ac59ac69ac79ac89ac99aca9acb9acc9acd9ace9acf9ad09ad19ad29ad39ad49ad59ad69ad79ad89ad99ada9adb9adc9add9ade9adf9ae09ae19ae29ae39ae49ae59ae69ae79ae89ae99aea9aeb9aec9aed9aee9aef9af09af19af29af39af49af59af69af79af89af99afa9afb9afc9afd9afe9aff9a009b019b029b039b049b059b069b079b089b099b0a9b0b9b0c9b0d9b0e9b0f9b109b119b129b139b149b159b169b179b189b199b1a9b1b9b1c9b1d9b1e9b1f9b209b219b229b239b249b259b269b279b289b299b2a9b2b9b2c9b2d9b2e9b2f9b309b319b329b339b349b359b369b379b389b399b3a9b3b9b3c9b3d9b3e9b3f9b409b419b429b439b449b459b469b479b489b499b4a9b4b9b4c9b4d9b4e9b4f9b509b519b529b539b549b559b569b579b589b599b5a9b5b9b5c9b5d9b5e9b5f9b609b619b629b639b649b659b669b679b689b699b6a9b6b9b6c9b6d9b6e9b6f9b709b719b729b739b749b759b769b779b789b799b7a9b7b9b7c9b7d9b7e9b7f9b809b819b829b839b849b859b869b879b889b899b8a9b8b9b8c9b8d9b8e9b8f9b909b919b929b939b949b959b969b979b989b999b9a9b9b9b9c9b9d9b9e9b9f9ba09ba19ba29ba39ba49ba59ba69ba79ba89ba99baa9bab9bac9bad9bae9baf9bb09bb19bb29bb39bb49bb59bb69bb79bb89bb99bba9bbb9bbc9bbd9bbe9bbf9bc09bc19bc29bc39bc49bc59bc69bc79bc89bc99bca9bcb9bcc9bcd9bce9bcf9bd09bd19bd29bd39bd49bd59bd69bd79bd89bd99bda9bdb9bdc9bdd9bde9bdf9be09be19be29be39be49be59be69be79be89be99bea9beb9bec9bed9bee9bef9bf09bf19bf29bf39bf49bf59bf69bf79bf89bf99bfa9bfb9bfc9bfd9bfe9bff9b009c019c029c039c049c059c069c079c089c099c0a9c0b9c0c9c0d9c0e9c0f9c109c119c129c139c149c159c169c179c189c199c1a9c1b9c1c9c1d9c1e9c1f9c209c219c229c239c249c259c269c279c289c299c2a9c2b9c2c9c2d9c2e9c2f9c309c319c329c339c349c359c369c379c389c399c3a9c3b9c3c9c3d9c3e9c3f9c409c419c429c439c449c459c469c479c489c499c4a9c4b9c4c9c4d9c4e9c4f9c509c519c529c539c549c559c569c579c589c599c5a9c5b9c5c9c5d9c5e9c5f9c609c619c629c639c649c659c669c679c689c699c6a9c6b9c6c9c6d9c6e9c6f9c709c719c729c739c749c759c769c779c789c799c7a9c7b9c7c9c7d9c7e9c7f9c809c819c829c839c849c859c869c879c889c899c8a9c8b9c8c9c8d9c8e9c8f9c909c919c929c939c949c959c969c979c989c999c9a9c9b9c9c9c9d9c9e9c9f9ca09ca19ca29ca39ca49ca59ca69ca79ca89ca99caa9cab9cac9cad9cae9caf9cb09cb19cb29cb39cb49cb59cb69cb79cb89cb99cba9cbb9cbc9cbd9cbe9cbf9cc09cc19cc29cc39cc49cc59cc69cc79cc89cc99cca9ccb9ccc9ccd9cce9ccf9cd09cd19cd29cd39cd49cd59cd69cd79cd89cd99cda9cdb9cdc9cdd9cde9cdf9ce09ce19ce29ce39ce49ce59ce69ce79ce89ce99cea9ceb9cec9ced9cee9cef9cf09cf19cf29cf39cf49cf59cf69cf79cf89cf99cfa9cfb9cfc9cfd9cfe9cff9c009d019d029d039d049d059d069d079d089d099d0a9d0b9d0c9d0d9d0e9d0f9d109d119d129d139d149d159d169d179d189d199d1a9d1b9d1c9d1d9d1e9d1f9d209d219d229d239d249d259d269d279d289d299d2a9d2b9d2c9d2d9d2e9d2f9d309d319d329d339d349d359d369d379d389d399d3a9d3b9d3c9d3d9d3e9d3f9d409d419d429d439d449d459d469d479d489d499d4a9d4b9d4c9d4d9d4e9d4f9d509d519d529d539d549d559d569d579d589d599d5a9d5b9d5c9d5d9d5e9d5f9d609d619d629d639d649d659d669d679d689d699d6a9d6b9d6c9d6d9d6e9d6f9d709d719d729d739d749d759d769d779d789d799d7a9d7b9d7c9d7d9d7e9d7f9d809d819d829d839d849d859d869d879d889d899d8a9d8b9d8c9d8d9d8e9d8f9d909d919d929d939d949d959d969d979d989d999d9a9d9b9d9c9d9d9d9e9d9f9da09da19da29da39da49da59da69da79da89da99daa9dab9dac9dad9dae9daf9db09db19db29db39db49db59db69db79db89db99dba9dbb9dbc9dbd9dbe9dbf9dc09dc19dc29dc39dc49dc59dc69dc79dc89dc99dca9dcb9dcc9dcd9dce9dcf9dd09dd19dd29dd39dd49dd59dd69dd79dd89dd99dda9ddb9ddc9ddd9dde9ddf9de09de19de29de39de49de59de69de79de89de99dea9deb9dec9ded9dee9def9df09df19df29df39df49df59df69df79df89df99dfa9dfb9dfc9dfd9dfe9dff9d009e019e029e039e049e059e069e079e089e099e0a9e0b9e0c9e0d9e0e9e0f9e109e119e129e139e149e159e169e179e189e199e1a9e1b9e1c9e1d9e1e9e1f9e209e219e229e239e249e259e269e279e289e299e2a9e2b9e2c9e2d9e2e9e2f9e309e319e329e339e349e359e369e379e389e399e3a9e3b9e3c9e3d9e3e9e3f9e409e419e429e439e449e459e469e479e489e499e4a9e4b9e4c9e4d9e4e9e4f9e509e519e529e539e549e559e569e579e589e599e5a9e5b9e5c9e5d9e5e9e5f9e609e619e629e639e649e659e669e679e689e699e6a9e6b9e6c9e6d9e6e9e6f9e709e719e729e739e749e759e769e779e789e799e7a9e7b9e7c9e7d9e7e9e7f9e809e819e829e839e849e859e869e879e889e899e8a9e8b9e8c9e8d9e8e9e8f9e909e919e929e939e949e959e969e979e989e999e9a9e9b9e9c9e9d9e9e9e9f9ea09ea19ea29ea39ea49ea59ea69ea79ea89ea99eaa9eab9eac9ead9eae9eaf9eb09eb19eb29eb39eb49eb59eb69eb79eb89eb99eba9ebb9ebc9ebd9ebe9ebf9ec09ec19ec29ec39ec49ec59ec69ec79ec89ec99eca9ecb9ecc9ecd9ece9ecf9ed09ed19ed29ed39ed49ed59ed69ed79ed89ed99eda9edb9edc9edd9ede9edf9ee09ee19ee29ee39ee49ee59ee69ee79ee89ee99eea9eeb9eec9eed9eee9eef9ef09ef19ef29ef39ef49ef59ef69ef79ef89ef99efa9efb9efc9efd9efe9eff9e009f019f029f039f049f059f069f079f089f099f0a9f0b9f0c9f0d9f0e9f0f9f109f119f129f139f149f159f169f179f189f199f1a9f1b9f1c9f1d9f1e9f1f9f209f219f229f239f249f259f269f279f289f299f2a9f2b9f2c9f2d9f2e9f2f9f309f319f329f339f349f359f369f379f389f399f3a9f3b9f3c9f3d9f3e9f3f9f409f419f429f439f449f459f469f479f489f499f4a9f4b9f4c9f4d9f4e9f4f9f509f519f529f539f549f559f569f579f589f599f5a9f5b9f5c9f5d9f5e9f5f9f609f619f629f639f649f659f669f679f689f699f6a9f6b9f6c9f6d9f6e9f6f9f709f719f729f739f749f759f769f779f789f799f7a9f7b9f7c9f7d9f7e9f7f9f809f819f829f839f849f859f869f879f889f899f8a9f8b9f8c9f8d9f8e9f8f9f909f919f929f939f949f959f969f979f989f999f9a9f9b9f9c9f9d9f9e9f9f9fa09fa19fa29fa39fa49fa59fa69fa79fa89fa99faa9fab9fac9fad9fae9faf9fb09fb19fb29fb39fb49fb59fb69fb79fb89fb99fba9fbb9fbc9fbd9fbe9fbf9fc09fc19fc29fc39fc49fc59fc69fc79fc89fc99fca9fcb9fcc9fcd9fce9fcf9fd09fd19fd29fd39fd49fd59fd69fd79fd89fd99fda9fdb9fdc9fdd9fde9fdf9fe09fe19fe29fe39fe49fe59fe69fe79fe89fe99fea9feb9fec9fed9fee9fef9ff09ff19ff29ff39ff49ff59ff69ff79ff89ff99ffa9ffb9ffc9ffd9ffe9fff9f00a001a002a003a004a005a006a007a008a009a00aa00ba00ca00da00ea00fa010a011a012a013a014a015a016a017a018a019a01aa01ba01ca01da01ea01fa020a021a022a023a024a025a026a027a028a029a02aa02ba02ca02da02ea02fa030a031a032a033a034a035a036a037a038a039a03aa03ba03ca03da03ea03fa040a041a042a043a044a045a046a047a048a049a04aa04ba04ca04da04ea04fa050a051a052a053a054a055a056a057a058a059a05aa05ba05ca05da05ea05fa060a061a062a063a064a065a066a067a068a069a06aa06ba06ca06da06ea06fa070a071a072a073a074a075a076a077a078a079a07aa07ba07ca07da07ea07fa080a081a082a083a084a085a086a087a088a089a08aa08ba08ca08da08ea08fa090a091a092a093a094a095a096a097a098a099a09aa09ba09ca09da09ea09fa0a0a0a1a0a2a0a3a0a4a0a5a0a6a0a7a0a8a0a9a0aaa0aba0aca0ada0aea0afa0b0a0b1a0b2a0b3a0b4a0b5a0b6a0b7a0b8a0b9a0baa0bba0bca0bda0bea0bfa0c0a0c1a0c2a0c3a0c4a0c5a0c6a0c7a0c8a0c9a0caa0cba0cca0cda0cea0cfa0d0a0d1a0d2a0d3a0d4a0d5a0d6a0d7a0d8a0d9a0daa0dba0dca0dda0dea0dfa0e0a0e1a0e2a0e3a0e4a0e5a0e6a0e7a0e8a0e9a0eaa0eba0eca0eda0eea0efa0f0a0f1a0f2a0f3a0f4a0f5a0f6a0f7a0f8a0f9a0faa0fba0fca0fda0fea0ffa000a101a102a103a104a105a106a107a108a109a10aa10ba10ca10da10ea10fa110a111a112a113a114a115a116a117a118a119a11aa11ba11ca11da11ea11fa120a121a122a123a124a125a126a127a128a129a12aa12ba12ca12da12ea12fa130a131a132a133a134a135a136a137a138a139a13aa13ba13ca13da13ea13fa140a141a142a143a144a145a146a147a148a149a14aa14ba14ca14da14ea14fa150a151a152a153a154a155a156a157a158a159a15aa15ba15ca15da15ea15fa160a161a162a163a164a165a166a167a168a169a16aa16ba16ca16da16ea16fa170a171a172a173a174a175a176a177a178a179a17aa17ba17ca17da17ea17fa180a181a182a183a184a185a186a187a188a189a18aa18ba18ca18da18ea18fa190a191a192a193a194a195a196a197a198a199a19aa19ba19ca19da19ea19fa1a0a1a1a1a2a1a3a1a4a1a5a1a6a1a7a1a8a1a9a1aaa1aba1aca1ada1aea1afa1b0a1b1a1b2a1b3a1b4a1b5a1b6a1b7a1b8a1b9a1baa1bba1bca1bda1bea1bfa1c0a1c1a1c2a1c3a1c4a1c5a1c6a1c7a1c8a1c9a1caa1cba1cca1cda1cea1cfa1d0a1d1a1d2a1d3a1d4a1d5a1d6a1d7a1d8a1d9a1daa1dba1dca1dda1dea1dfa1e0a1e1a1e2a1e3a1e4a1e5a1e6a1e7a1e8a1e9a1eaa1eba1eca1eda1eea1efa1f0a1f1a1f2a1f3a1f4a1f5a1f6a1f7a1f8a1f9a1faa1fba1fca1fda1fea1ffa100a201a202a203a204a205a206a207a208a209a20aa20ba20ca20da20ea20fa210a211a212a213a214a215a216a217a218a219a21aa21ba21ca21da21ea21fa220a221a222a223a224a225a226a227a228a229a22aa22ba22ca22da22ea22fa230a231a232a233a234a235a236a237a238a239a23aa23ba23ca23da23ea23fa240a241a242a243a244a245a246a247a248a249a24aa24ba24ca24da24ea24fa250a251a252a253a254a255a256a257a258a259a25aa25ba25ca25da25ea25fa260a261a262a263a264a265a266a267a268a269a26aa26ba26ca26da26ea26fa270a271a272a273a274a275a276a277a278a279a27aa27ba27ca27da27ea27fa280a281a282a283a284a285a286a287a288a289a28aa28ba28ca28da28ea28fa290a291a292a293a294a295a296a297a298a299a29aa29ba29ca29da29ea29fa2a0a2a1a2a2a2a3a2a4a2a5a2a6a2a7a2a8a2a9a2aaa2aba2aca2ada2aea2afa2b0a2b1a2b2a2b3a2b4a2b5a2b6a2b7a2b8a2b9a2baa2bba2bca2bda2bea2bfa2c0a2c1a2c2a2c3a2c4a2c5a2c6a2c7a2c8a2c9a2caa2cba2cca2cda2cea2cfa2d0a2d1a2d2a2d3a2d4a2d5a2d6a2d7a2d8a2d9a2daa2dba2dca2dda2dea2dfa2e0a2e1a2e2a2e3a2e4a2e5a2e6a2e7a2e8a2e9a2eaa2eba2eca2eda2eea2efa2f0a2f1a2f2a2f3a2f4a2f5a2f6a2f7a2f8a2f9a2faa2fba2fca2fda2fea2ffa200a301a302a303a304a305a306a307a308a309a30aa30ba30ca30da30ea30fa310a311a312a313a314a315a316a317a318a319a31aa31ba31ca31da31ea31fa320a321a322a323a324a325a326a327a328a329a32aa32ba32ca32da32ea32fa330a331a332a333a334a335a336a337a338a339a33aa33ba33ca33da33ea33fa340a341a342a343a344a345a346a347a348a349a34aa34ba34ca34da34ea34fa350a351a352a353a354a355a356a357a358a359a35aa35ba35ca35da35ea35fa360a361a362a363a364a365a366a367a368a369a36aa36ba36ca36da36ea36fa370a371a372a373a374a375a376a377a378a379a37aa37ba37ca37da37ea37fa380a381a382a383a384a385a386a387a388a389a38aa38ba38ca38da38ea38fa390a391a392a393a394a395a396a397a398a399a39aa39ba39ca39da39ea39fa3a0a3a1a3a2a3a3a3a4a3a5a3a6a3a7a3a8a3a9a3aaa3aba3aca3ada3aea3afa3b0a3b1a3b2a3b3a3b4a3b5a3b6a3b7a3b8a3b9a3baa3bba3bca3bda3bea3bfa3c0a3c1a3c2a3c3a3c4a3c5a3c6a3c7a3c8a3c9a3caa3cba3cca3cda3cea3cfa3d0a3d1a3d2a3d3a3d4a3d5a3d6a3d7a3d8a3d9a3daa3dba3dca3dda3dea3dfa3e0a3e1a3e2a3e3a3e4a3e5a3e6a3e7a3e8a3e9a3eaa3eba3eca3eda3eea3efa3f0a3f1a3f2a3f3a3f4a3f5a3f6a3f7a3f8a3f9a3faa3fba3fca3fda3fea3ffa300a401a402a403a404a405a406a407a408a409a40aa40ba40ca40da40ea40fa410a411a412a413a414a415a416a417a418a419a41aa41ba41ca41da41ea41fa420a421a422a423a424a425a426a427a428a429a42aa42ba42ca42da42ea42fa430a431a432a433a434a435a436a437a438a439a43aa43ba43ca43da43ea43fa440a441a442a443a444a445a446a447a448a449a44aa44ba44ca44da44ea44fa450a451a452a453a454a455a456a457a458a459a45aa45ba45ca45da45ea45fa460a461a462a463a464a465a466a467a468a469a46aa46ba46ca46da46ea46fa470a471a472a473a474a475a476a477a478a479a47aa47ba47ca47da47ea47fa480a481a482a483a484a485a486a487a488a489a48aa48ba48ca48da48ea48fa490a491a492a493a494a495a496a497a498a499a49aa49ba49ca49da49ea49fa4a0a4a1a4a2a4a3a4a4a4a5a4a6a4a7a4a8a4a9a4aaa4aba4aca4ada4aea4afa4b0a4b1a4b2a4b3a4b4a4b5a4b6a4b7a4b8a4b9a4baa4bba4bca4bda4bea4bfa4c0a4c1a4c2a4c3a4c4a4c5a4c6a4c7a4c8a4c9a4caa4cba4cca4cda4cea4cfa4d0a4d1a4d2a4d3a4d4a4d5a4d6a4d7a4d8a4d9a4daa4dba4dca4dda4dea4dfa4e0a4e1a4e2a4e3a4e4a4e5a4e6a4e7a4e8a4e9a4eaa4eba4eca4eda4eea4efa4f0a4f1a4f2a4f3a4f4a4f5a4f6a4f7a4f8a4f9a4faa4fba4fca4fda4fea4ffa400a501a502a503a504a505a506a507a508a509a50aa50ba50ca50da50ea50fa510a511a512a513a514a515a516a517a518a519a51aa51ba51ca51da51ea51fa520a521a522a523a524a525a526a527a528a529a52aa52ba52ca52da52ea52fa530a531a532a533a534a535a536a537a538a539a53aa53ba53ca53da53ea53fa540a541a542a543a544a545a546a547a548a549a54aa54ba54ca54da54ea54fa550a551a552a553a554a555a556a557a558a559a55aa55ba55ca55da55ea55fa560a561a562a563a564a565a566a567a568a569a56aa56ba56ca56da56ea56fa570a571a572a573a574a575a576a577a578a579a57aa57ba57ca57da57ea57fa580a581a582a583a584a585a586a587a588a589a58aa58ba58ca58da58ea58fa590a591a592a593a594a595a596a597a598a599a59aa59ba59ca59da59ea59fa5a0a5a1a5a2a5a3a5a4a5a5a5a6a5a7a5a8a5a9a5aaa5aba5aca5ada5aea5afa5b0a5b1a5b2a5b3a5b4a5b5a5b6a5b7a5b8a5b9a5baa5bba5bca5bda5bea5bfa5c0a5c1a5c2a5c3a5c4a5c5a5c6a5c7a5c8a5c9a5caa5cba5cca5cda5cea5cfa5d0a5d1a5d2a5d3a5d4a5d5a5d6a5d7a5d8a5d9a5daa5dba5dca5dda5dea5dfa5e0a5e1a5e2a5e3a5e4a5e5a5e6a5e7a5e8a5e9a5eaa5eba5eca5eda5eea5efa5f0a5f1a5f2a5f3a5f4a5f5a5f6a5f7a5f8a5f9a5faa5fba5fca5fda5fea5ffa500a601a602a603a604a605a606a607a608a609a60aa60ba60ca60da60ea60fa610a611a612a613a614a615a616a617a618a619a61aa61ba61ca61da61ea61fa620a621a622a623a624a625a626a627a628a629a62aa62ba62ca62da62ea62fa630a631a632a633a634a635a636a637a638a639a63aa63ba63ca63da63ea63fa640a640a642a642a644a644a646a646a648a648a64aa64aa64ca64ca64ea64ea650a650a652a652a654a654a656a656a658a658a65aa65aa65ca65ca65ea65ea660a661a662a662a664a664a666a666a668a668a66aa66aa66ca66ca66ea66fa670a671a672a673a674a675a676a677a678a679a67aa67ba67ca67da67ea67fa680a680a682a682a684a684a686a686a688a688a68aa68aa68ca68ca68ea68ea690a690a692a692a694a694a696a696a698a699a69aa69ba69ca69da69ea69fa6a0a6a1a6a2a6a3a6a4a6a5a6a6a6a7a6a8a6a9a6aaa6aba6aca6ada6aea6afa6b0a6b1a6b2a6b3a6b4a6b5a6b6a6b7a6b8a6b9a6baa6bba6bca6bda6bea6bfa6c0a6c1a6c2a6c3a6c4a6c5a6c6a6c7a6c8a6c9a6caa6cba6cca6cda6cea6cfa6d0a6d1a6d2a6d3a6d4a6d5a6d6a6d7a6d8a6d9a6daa6dba6dca6dda6dea6dfa6e0a6e1a6e2a6e3a6e4a6e5a6e6a6e7a6e8a6e9a6eaa6eba6eca6eda6eea6efa6f0a6f1a6f2a6f3a6f4a6f5a6f6a6f7a6f8a6f9a6faa6fba6fca6fda6fea6ffa600a701a702a703a704a705a706a707a708a709a70aa70ba70ca70da70ea70fa710a711a712a713a714a715a716a717a718a719a71aa71ba71ca71da71ea71fa720a721a722a722a724a724a726a726a728a728a72aa72aa72ca72ca72ea72ea730a731a732a732a734a734a736a736a738a738a73aa73aa73ca73ca73ea73ea740a740a742a742a744a744a746a746a748a748a74aa74aa74ca74ca74ea74ea750a750a752a752a754a754a756a756a758a758a75aa75aa75ca75ca75ea75ea760a760a762a762a764a764a766a766a768a768a76aa76aa76ca76ca76ea76ea770a771a772a773a774a775a776a777a778a779a779a77ba77ba77da77ea77ea780a780a782a782a784a784a786a786a788a789a78aa78ba78ba78da78ea78fa790a791a792a793a794a795a796a797a798a799a79aa79ba79ca79da79ea79fa7a0a7a1a7a2a7a3a7a4a7a5a7a6a7a7a7a8a7a9a7aaa7aba7aca7ada7aea7afa7b0a7b1a7b2a7b3a7b4a7b5a7b6a7b7a7b8a7b9a7baa7bba7bca7bda7bea7bfa7c0a7c1a7c2a7c3a7c4a7c5a7c6a7c7a7c8a7c9a7caa7cba7cca7cda7cea7cfa7d0a7d1a7d2a7d3a7d4a7d5a7d6a7d7a7d8a7d9a7daa7dba7dca7dda7dea7dfa7e0a7e1a7e2a7e3a7e4a7e5a7e6a7e7a7e8a7e9a7eaa7eba7eca7eda7eea7efa7f0a7f1a7f2a7f3a7f4a7f5a7f6a7f7a7f8a7f9a7faa7fba7fca7fda7fea7ffa700a801a802a803a804a805a806a807a808a809a80aa80ba80ca80da80ea80fa810a811a812a813a814a815a816a817a818a819a81aa81ba81ca81da81ea81fa820a821a822a823a824a825a826a827a828a829a82aa82ba82ca82da82ea82fa830a831a832a833a834a835a836a837a838a839a83aa83ba83ca83da83ea83fa840a841a842a843a844a845a846a847a848a849a84aa84ba84ca84da84ea84fa850a851a852a853a854a855a856a857a858a859a85aa85ba85ca85da85ea85fa860a861a862a863a864a865a866a867a868a869a86aa86ba86ca86da86ea86fa870a871a872a873a874a875a876a877a878a879a87aa87ba87ca87da87ea87fa880a881a882a883a884a885a886a887a888a889a88aa88ba88ca88da88ea88fa890a891a892a893a894a895a896a897a898a899a89aa89ba89ca89da89ea89fa8a0a8a1a8a2a8a3a8a4a8a5a8a6a8a7a8a8a8a9a8aaa8aba8aca8ada8aea8afa8b0a8b1a8b2a8b3a8b4a8b5a8b6a8b7a8b8a8b9a8baa8bba8bca8bda8bea8bfa8c0a8c1a8c2a8c3a8c4a8c5a8c6a8c7a8c8a8c9a8caa8cba8cca8cda8cea8cfa8d0a8d1a8d2a8d3a8d4a8d5a8d6a8d7a8d8a8d9a8daa8dba8dca8dda8dea8dfa8e0a8e1a8e2a8e3a8e4a8e5a8e6a8e7a8e8a8e9a8eaa8eba8eca8eda8eea8efa8f0a8f1a8f2a8f3a8f4a8f5a8f6a8f7a8f8a8f9a8faa8fba8fca8fda8fea8ffa800a901a902a903a904a905a906a907a908a909a90aa90ba90ca90da90ea90fa910a911a912a913a914a915a916a917a918a919a91aa91ba91ca91da91ea91fa920a921a922a923a924a925a926a927a928a929a92aa92ba92ca92da92ea92fa930a931a932a933a934a935a936a937a938a939a93aa93ba93ca93da93ea93fa940a941a942a943a944a945a946a947a948a949a94aa94ba94ca94da94ea94fa950a951a952a953a954a955a956a957a958a959a95aa95ba95ca95da95ea95fa960a961a962a963a964a965a966a967a968a969a96aa96ba96ca96da96ea96fa970a971a972a973a974a975a976a977a978a979a97aa97ba97ca97da97ea97fa980a981a982a983a984a985a986a987a988a989a98aa98ba98ca98da98ea98fa990a991a992a993a994a995a996a997a998a999a99aa99ba99ca99da99ea99fa9a0a9a1a9a2a9a3a9a4a9a5a9a6a9a7a9a8a9a9a9aaa9aba9aca9ada9aea9afa9b0a9b1a9b2a9b3a9b4a9b5a9b6a9b7a9b8a9b9a9baa9bba9bca9bda9bea9bfa9c0a9c1a9c2a9c3a9c4a9c5a9c6a9c7a9c8a9c9a9caa9cba9cca9cda9cea9cfa9d0a9d1a9d2a9d3a9d4a9d5a9d6a9d7a9d8a9d9a9daa9dba9dca9dda9dea9dfa9e0a9e1a9e2a9e3a9e4a9e5a9e6a9e7a9e8a9e9a9eaa9eba9eca9eda9eea9efa9f0a9f1a9f2a9f3a9f4a9f5a9f6a9f7a9f8a9f9a9faa9fba9fca9fda9fea9ffa900aa01aa02aa03aa04aa05aa06aa07aa08aa09aa0aaa0baa0caa0daa0eaa0faa10aa11aa12aa13aa14aa15aa16aa17aa18aa19aa1aaa1baa1caa1daa1eaa1faa20aa21aa22aa23aa24aa25aa26aa27aa28aa29aa2aaa2baa2caa2daa2eaa2faa30aa31aa32aa33aa34aa35aa36aa37aa38aa39aa3aaa3baa3caa3daa3eaa3faa40aa41aa42aa43aa44aa45aa46aa47aa48aa49aa4aaa4baa4caa4daa4eaa4faa50aa51aa52aa53aa54aa55aa56aa57aa58aa59aa5aaa5baa5caa5daa5eaa5faa60aa61aa62aa63aa64aa65aa66aa67aa68aa69aa6aaa6baa6caa6daa6eaa6faa70aa71aa72aa73aa74aa75aa76aa77aa78aa79aa7aaa7baa7caa7daa7eaa7faa80aa81aa82aa83aa84aa85aa86aa87aa88aa89aa8aaa8baa8caa8daa8eaa8faa90aa91aa92aa93aa94aa95aa96aa97aa98aa99aa9aaa9baa9caa9daa9eaa9faaa0aaa1aaa2aaa3aaa4aaa5aaa6aaa7aaa8aaa9aaaaaaabaaacaaadaaaeaaafaab0aab1aab2aab3aab4aab5aab6aab7aab8aab9aabaaabbaabcaabdaabeaabfaac0aac1aac2aac3aac4aac5aac6aac7aac8aac9aacaaacbaaccaacdaaceaacfaad0aad1aad2aad3aad4aad5aad6aad7aad8aad9aadaaadbaadcaaddaadeaadfaae0aae1aae2aae3aae4aae5aae6aae7aae8aae9aaeaaaebaaecaaedaaeeaaefaaf0aaf1aaf2aaf3aaf4aaf5aaf6aaf7aaf8aaf9aafaaafbaafcaafdaafeaaffaa00ab01ab02ab03ab04ab05ab06ab07ab08ab09ab0aab0bab0cab0dab0eab0fab10ab11ab12ab13ab14ab15ab16ab17ab18ab19ab1aab1bab1cab1dab1eab1fab20ab21ab22ab23ab24ab25ab26ab27ab28ab29ab2aab2bab2cab2dab2eab2fab30ab31ab32ab33ab34ab35ab36ab37ab38ab39ab3aab3bab3cab3dab3eab3fab40ab41ab42ab43ab44ab45ab46ab47ab48ab49ab4aab4bab4cab4dab4eab4fab50ab51ab52ab53ab54ab55ab56ab57ab58ab59ab5aab5bab5cab5dab5eab5fab60ab61ab62ab63ab64ab65ab66ab67ab68ab69ab6aab6bab6cab6dab6eab6fab70ab71ab72ab73ab74ab75ab76ab77ab78ab79ab7aab7bab7cab7dab7eab7fab80ab81ab82ab83ab84ab85ab86ab87ab88ab89ab8aab8bab8cab8dab8eab8fab90ab91ab92ab93ab94ab95ab96ab97ab98ab99ab9aab9bab9cab9dab9eab9faba0aba1aba2aba3aba4aba5aba6aba7aba8aba9abaaabababacabadabaeabafabb0abb1abb2abb3abb4abb5abb6abb7abb8abb9abbaabbbabbcabbdabbeabbfabc0abc1abc2abc3abc4abc5abc6abc7abc8abc9abcaabcbabccabcdabceabcfabd0abd1abd2abd3abd4abd5abd6abd7abd8abd9abdaabdbabdcabddabdeabdfabe0abe1abe2abe3abe4abe5abe6abe7abe8abe9abeaabebabecabedabeeabefabf0abf1abf2abf3abf4abf5abf6abf7abf8abf9abfaabfbabfcabfdabfeabffab00ac01ac02ac03ac04ac05ac06ac07ac08ac09ac0aac0bac0cac0dac0eac0fac10ac11ac12ac13ac14ac15ac16ac17ac18ac19ac1aac1bac1cac1dac1eac1fac20ac21ac22ac23ac24ac25ac26ac27ac28ac29ac2aac2bac2cac2dac2eac2fac30ac31ac32ac33ac34ac35ac36ac37ac38ac39ac3aac3bac3cac3dac3eac3fac40ac41ac42ac43ac44ac45ac46ac47ac48ac49ac4aac4bac4cac4dac4eac4fac50ac51ac52ac53ac54ac55ac56ac57ac58ac59ac5aac5bac5cac5dac5eac5fac60ac61ac62ac63ac64ac65ac66ac67ac68ac69ac6aac6bac6cac6dac6eac6fac70ac71ac72ac73ac74ac75ac76ac77ac78ac79ac7aac7bac7cac7dac7eac7fac80ac81ac82ac83ac84ac85ac86ac87ac88ac89ac8aac8bac8cac8dac8eac8fac90ac91ac92ac93ac94ac95ac96ac97ac98ac99ac9aac9bac9cac9dac9eac9faca0aca1aca2aca3aca4aca5aca6aca7aca8aca9acaaacabacacacadacaeacafacb0acb1acb2acb3acb4acb5acb6acb7acb8acb9acbaacbbacbcacbdacbeacbfacc0acc1acc2acc3acc4acc5acc6acc7acc8acc9accaaccbacccaccdacceaccfacd0acd1acd2acd3acd4acd5acd6acd7acd8acd9acdaacdbacdcacddacdeacdface0ace1ace2ace3ace4ace5ace6ace7ace8ace9aceaacebacecacedaceeacefacf0acf1acf2acf3acf4acf5acf6acf7acf8acf9acfaacfbacfcacfdacfeacffac00ad01ad02ad03ad04ad05ad06ad07ad08ad09ad0aad0bad0cad0dad0ead0fad10ad11ad12ad13ad14ad15ad16ad17ad18ad19ad1aad1bad1cad1dad1ead1fad20ad21ad22ad23ad24ad25ad26ad27ad28ad29ad2aad2bad2cad2dad2ead2fad30ad31ad32ad33ad34ad35ad36ad37ad38ad39ad3aad3bad3cad3dad3ead3fad40ad41ad42ad43ad44ad45ad46ad47ad48ad49ad4aad4bad4cad4dad4ead4fad50ad51ad52ad53ad54ad55ad56ad57ad58ad59ad5aad5bad5cad5dad5ead5fad60ad61ad62ad63ad64ad65ad66ad67ad68ad69ad6aad6bad6cad6dad6ead6fad70ad71ad72ad73ad74ad75ad76ad77ad78ad79ad7aad7bad7cad7dad7ead7fad80ad81ad82ad83ad84ad85ad86ad87ad88ad89ad8aad8bad8cad8dad8ead8fad90ad91ad92ad93ad94ad95ad96ad97ad98ad99ad9aad9bad9cad9dad9ead9fada0ada1ada2ada3ada4ada5ada6ada7ada8ada9adaaadabadacadadadaeadafadb0adb1adb2adb3adb4adb5adb6adb7adb8adb9adbaadbbadbcadbdadbeadbfadc0adc1adc2adc3adc4adc5adc6adc7adc8adc9adcaadcbadccadcdadceadcfadd0add1add2add3add4add5add6add7add8add9addaaddbaddcadddaddeaddfade0ade1ade2ade3ade4ade5ade6ade7ade8ade9adeaadebadecadedadeeadefadf0adf1adf2adf3adf4adf5adf6adf7adf8adf9adfaadfbadfcadfdadfeadffad00ae01ae02ae03ae04ae05ae06ae07ae08ae09ae0aae0bae0cae0dae0eae0fae10ae11ae12ae13ae14ae15ae16ae17ae18ae19ae1aae1bae1cae1dae1eae1fae20ae21ae22ae23ae24ae25ae26ae27ae28ae29ae2aae2bae2cae2dae2eae2fae30ae31ae32ae33ae34ae35ae36ae37ae38ae39ae3aae3bae3cae3dae3eae3fae40ae41ae42ae43ae44ae45ae46ae47ae48ae49ae4aae4bae4cae4dae4eae4fae50ae51ae52ae53ae54ae55ae56ae57ae58ae59ae5aae5bae5cae5dae5eae5fae60ae61ae62ae63ae64ae65ae66ae67ae68ae69ae6aae6bae6cae6dae6eae6fae70ae71ae72ae73ae74ae75ae76ae77ae78ae79ae7aae7bae7cae7dae7eae7fae80ae81ae82ae83ae84ae85ae86ae87ae88ae89ae8aae8bae8cae8dae8eae8fae90ae91ae92ae93ae94ae95ae96ae97ae98ae99ae9aae9bae9cae9dae9eae9faea0aea1aea2aea3aea4aea5aea6aea7aea8aea9aeaaaeabaeacaeadaeaeaeafaeb0aeb1aeb2aeb3aeb4aeb5aeb6aeb7aeb8aeb9aebaaebbaebcaebdaebeaebfaec0aec1aec2aec3aec4aec5aec6aec7aec8aec9aecaaecbaeccaecdaeceaecfaed0aed1aed2aed3aed4aed5aed6aed7aed8aed9aedaaedbaedcaeddaedeaedfaee0aee1aee2aee3aee4aee5aee6aee7aee8aee9aeeaaeebaeecaeedaeeeaeefaef0aef1aef2aef3aef4aef5aef6aef7aef8aef9aefaaefbaefcaefdaefeaeffae00af01af02af03af04af05af06af07af08af09af0aaf0baf0caf0daf0eaf0faf10af11af12af13af14af15af16af17af18af19af1aaf1baf1caf1daf1eaf1faf20af21af22af23af24af25af26af27af28af29af2aaf2baf2caf2daf2eaf2faf30af31af32af33af34af35af36af37af38af39af3aaf3baf3caf3daf3eaf3faf40af41af42af43af44af45af46af47af48af49af4aaf4baf4caf4daf4eaf4faf50af51af52af53af54af55af56af57af58af59af5aaf5baf5caf5daf5eaf5faf60af61af62af63af64af65af66af67af68af69af6aaf6baf6caf6daf6eaf6faf70af71af72af73af74af75af76af77af78af79af7aaf7baf7caf7daf7eaf7faf80af81af82af83af84af85af86af87af88af89af8aaf8baf8caf8daf8eaf8faf90af91af92af93af94af95af96af97af98af99af9aaf9baf9caf9daf9eaf9fafa0afa1afa2afa3afa4afa5afa6afa7afa8afa9afaaafabafacafadafaeafafafb0afb1afb2afb3afb4afb5afb6afb7afb8afb9afbaafbbafbcafbdafbeafbfafc0afc1afc2afc3afc4afc5afc6afc7afc8afc9afcaafcbafccafcdafceafcfafd0afd1afd2afd3afd4afd5afd6afd7afd8afd9afdaafdbafdcafddafdeafdfafe0afe1afe2afe3afe4afe5afe6afe7afe8afe9afeaafebafecafedafeeafefaff0aff1aff2aff3aff4aff5aff6aff7aff8aff9affaaffbaffcaffdaffeafffaf00b001b002b003b004b005b006b007b008b009b00ab00bb00cb00db00eb00fb010b011b012b013b014b015b016b017b018b019b01ab01bb01cb01db01eb01fb020b021b022b023b024b025b026b027b028b029b02ab02bb02cb02db02eb02fb030b031b032b033b034b035b036b037b038b039b03ab03bb03cb03db03eb03fb040b041b042b043b044b045b046b047b048b049b04ab04bb04cb04db04eb04fb050b051b052b053b054b055b056b057b058b059b05ab05bb05cb05db05eb05fb060b061b062b063b064b065b066b067b068b069b06ab06bb06cb06db06eb06fb070b071b072b073b074b075b076b077b078b079b07ab07bb07cb07db07eb07fb080b081b082b083b084b085b086b087b088b089b08ab08bb08cb08db08eb08fb090b091b092b093b094b095b096b097b098b099b09ab09bb09cb09db09eb09fb0a0b0a1b0a2b0a3b0a4b0a5b0a6b0a7b0a8b0a9b0aab0abb0acb0adb0aeb0afb0b0b0b1b0b2b0b3b0b4b0b5b0b6b0b7b0b8b0b9b0bab0bbb0bcb0bdb0beb0bfb0c0b0c1b0c2b0c3b0c4b0c5b0c6b0c7b0c8b0c9b0cab0cbb0ccb0cdb0ceb0cfb0d0b0d1b0d2b0d3b0d4b0d5b0d6b0d7b0d8b0d9b0dab0dbb0dcb0ddb0deb0dfb0e0b0e1b0e2b0e3b0e4b0e5b0e6b0e7b0e8b0e9b0eab0ebb0ecb0edb0eeb0efb0f0b0f1b0f2b0f3b0f4b0f5b0f6b0f7b0f8b0f9b0fab0fbb0fcb0fdb0feb0ffb000b101b102b103b104b105b106b107b108b109b10ab10bb10cb10db10eb10fb110b111b112b113b114b115b116b117b118b119b11ab11bb11cb11db11eb11fb120b121b122b123b124b125b126b127b128b129b12ab12bb12cb12db12eb12fb130b131b132b133b134b135b136b137b138b139b13ab13bb13cb13db13eb13fb140b141b142b143b144b145b146b147b148b149b14ab14bb14cb14db14eb14fb150b151b152b153b154b155b156b157b158b159b15ab15bb15cb15db15eb15fb160b161b162b163b164b165b166b167b168b169b16ab16bb16cb16db16eb16fb170b171b172b173b174b175b176b177b178b179b17ab17bb17cb17db17eb17fb180b181b182b183b184b185b186b187b188b189b18ab18bb18cb18db18eb18fb190b191b192b193b194b195b196b197b198b199b19ab19bb19cb19db19eb19fb1a0b1a1b1a2b1a3b1a4b1a5b1a6b1a7b1a8b1a9b1aab1abb1acb1adb1aeb1afb1b0b1b1b1b2b1b3b1b4b1b5b1b6b1b7b1b8b1b9b1bab1bbb1bcb1bdb1beb1bfb1c0b1c1b1c2b1c3b1c4b1c5b1c6b1c7b1c8b1c9b1cab1cbb1ccb1cdb1ceb1cfb1d0b1d1b1d2b1d3b1d4b1d5b1d6b1d7b1d8b1d9b1dab1dbb1dcb1ddb1deb1dfb1e0b1e1b1e2b1e3b1e4b1e5b1e6b1e7b1e8b1e9b1eab1ebb1ecb1edb1eeb1efb1f0b1f1b1f2b1f3b1f4b1f5b1f6b1f7b1f8b1f9b1fab1fbb1fcb1fdb1feb1ffb100b201b202b203b204b205b206b207b208b209b20ab20bb20cb20db20eb20fb210b211b212b213b214b215b216b217b218b219b21ab21bb21cb21db21eb21fb220b221b222b223b224b225b226b227b228b229b22ab22bb22cb22db22eb22fb230b231b232b233b234b235b236b237b238b239b23ab23bb23cb23db23eb23fb240b241b242b243b244b245b246b247b248b249b24ab24bb24cb24db24eb24fb250b251b252b253b254b255b256b257b258b259b25ab25bb25cb25db25eb25fb260b261b262b263b264b265b266b267b268b269b26ab26bb26cb26db26eb26fb270b271b272b273b274b275b276b277b278b279b27ab27bb27cb27db27eb27fb280b281b282b283b284b285b286b287b288b289b28ab28bb28cb28db28eb28fb290b291b292b293b294b295b296b297b298b299b29ab29bb29cb29db29eb29fb2a0b2a1b2a2b2a3b2a4b2a5b2a6b2a7b2a8b2a9b2aab2abb2acb2adb2aeb2afb2b0b2b1b2b2b2b3b2b4b2b5b2b6b2b7b2b8b2b9b2bab2bbb2bcb2bdb2beb2bfb2c0b2c1b2c2b2c3b2c4b2c5b2c6b2c7b2c8b2c9b2cab2cbb2ccb2cdb2ceb2cfb2d0b2d1b2d2b2d3b2d4b2d5b2d6b2d7b2d8b2d9b2dab2dbb2dcb2ddb2deb2dfb2e0b2e1b2e2b2e3b2e4b2e5b2e6b2e7b2e8b2e9b2eab2ebb2ecb2edb2eeb2efb2f0b2f1b2f2b2f3b2f4b2f5b2f6b2f7b2f8b2f9b2fab2fbb2fcb2fdb2feb2ffb200b301b302b303b304b305b306b307b308b309b30ab30bb30cb30db30eb30fb310b311b312b313b314b315b316b317b318b319b31ab31bb31cb31db31eb31fb320b321b322b323b324b325b326b327b328b329b32ab32bb32cb32db32eb32fb330b331b332b333b334b335b336b337b338b339b33ab33bb33cb33db33eb33fb340b341b342b343b344b345b346b347b348b349b34ab34bb34cb34db34eb34fb350b351b352b353b354b355b356b357b358b359b35ab35bb35cb35db35eb35fb360b361b362b363b364b365b366b367b368b369b36ab36bb36cb36db36eb36fb370b371b372b373b374b375b376b377b378b379b37ab37bb37cb37db37eb37fb380b381b382b383b384b385b386b387b388b389b38ab38bb38cb38db38eb38fb390b391b392b393b394b395b396b397b398b399b39ab39bb39cb39db39eb39fb3a0b3a1b3a2b3a3b3a4b3a5b3a6b3a7b3a8b3a9b3aab3abb3acb3adb3aeb3afb3b0b3b1b3b2b3b3b3b4b3b5b3b6b3b7b3b8b3b9b3bab3bbb3bcb3bdb3beb3bfb3c0b3c1b3c2b3c3b3c4b3c5b3c6b3c7b3c8b3c9b3cab3cbb3ccb3cdb3ceb3cfb3d0b3d1b3d2b3d3b3d4b3d5b3d6b3d7b3d8b3d9b3dab3dbb3dcb3ddb3deb3dfb3e0b3e1b3e2b3e3b3e4b3e5b3e6b3e7b3e8b3e9b3eab3ebb3ecb3edb3eeb3efb3f0b3f1b3f2b3f3b3f4b3f5b3f6b3f7b3f8b3f9b3fab3fbb3fcb3fdb3feb3ffb300b401b402b403b404b405b406b407b408b409b40ab40bb40cb40db40eb40fb410b411b412b413b414b415b416b417b418b419b41ab41bb41cb41db41eb41fb420b421b422b423b424b425b426b427b428b429b42ab42bb42cb42db42eb42fb430b431b432b433b434b435b436b437b438b439b43ab43bb43cb43db43eb43fb440b441b442b443b444b445b446b447b448b449b44ab44bb44cb44db44eb44fb450b451b452b453b454b455b456b457b458b459b45ab45bb45cb45db45eb45fb460b461b462b463b464b465b466b467b468b469b46ab46bb46cb46db46eb46fb470b471b472b473b474b475b476b477b478b479b47ab47bb47cb47db47eb47fb480b481b482b483b484b485b486b487b488b489b48ab48bb48cb48db48eb48fb490b491b492b493b494b495b496b497b498b499b49ab49bb49cb49db49eb49fb4a0b4a1b4a2b4a3b4a4b4a5b4a6b4a7b4a8b4a9b4aab4abb4acb4adb4aeb4afb4b0b4b1b4b2b4b3b4b4b4b5b4b6b4b7b4b8b4b9b4bab4bbb4bcb4bdb4beb4bfb4c0b4c1b4c2b4c3b4c4b4c5b4c6b4c7b4c8b4c9b4cab4cbb4ccb4cdb4ceb4cfb4d0b4d1b4d2b4d3b4d4b4d5b4d6b4d7b4d8b4d9b4dab4dbb4dcb4ddb4deb4dfb4e0b4e1b4e2b4e3b4e4b4e5b4e6b4e7b4e8b4e9b4eab4ebb4ecb4edb4eeb4efb4f0b4f1b4f2b4f3b4f4b4f5b4f6b4f7b4f8b4f9b4fab4fbb4fcb4fdb4feb4ffb400b501b502b503b504b505b506b507b508b509b50ab50bb50cb50db50eb50fb510b511b512b513b514b515b516b517b518b519b51ab51bb51cb51db51eb51fb520b521b522b523b524b525b526b527b528b529b52ab52bb52cb52db52eb52fb530b531b532b533b534b535b536b537b538b539b53ab53bb53cb53db53eb53fb540b541b542b543b544b545b546b547b548b549b54ab54bb54cb54db54eb54fb550b551b552b553b554b555b556b557b558b559b55ab55bb55cb55db55eb55fb560b561b562b563b564b565b566b567b568b569b56ab56bb56cb56db56eb56fb570b571b572b573b574b575b576b577b578b579b57ab57bb57cb57db57eb57fb580b581b582b583b584b585b586b587b588b589b58ab58bb58cb58db58eb58fb590b591b592b593b594b595b596b597b598b599b59ab59bb59cb59db59eb59fb5a0b5a1b5a2b5a3b5a4b5a5b5a6b5a7b5a8b5a9b5aab5abb5acb5adb5aeb5afb5b0b5b1b5b2b5b3b5b4b5b5b5b6b5b7b5b8b5b9b5bab5bbb5bcb5bdb5beb5bfb5c0b5c1b5c2b5c3b5c4b5c5b5c6b5c7b5c8b5c9b5cab5cbb5ccb5cdb5ceb5cfb5d0b5d1b5d2b5d3b5d4b5d5b5d6b5d7b5d8b5d9b5dab5dbb5dcb5ddb5deb5dfb5e0b5e1b5e2b5e3b5e4b5e5b5e6b5e7b5e8b5e9b5eab5ebb5ecb5edb5eeb5efb5f0b5f1b5f2b5f3b5f4b5f5b5f6b5f7b5f8b5f9b5fab5fbb5fcb5fdb5feb5ffb500b601b602b603b604b605b606b607b608b609b60ab60bb60cb60db60eb60fb610b611b612b613b614b615b616b617b618b619b61ab61bb61cb61db61eb61fb620b621b622b623b624b625b626b627b628b629b62ab62bb62cb62db62eb62fb630b631b632b633b634b635b636b637b638b639b63ab63bb63cb63db63eb63fb640b641b642b643b644b645b646b647b648b649b64ab64bb64cb64db64eb64fb650b651b652b653b654b655b656b657b658b659b65ab65bb65cb65db65eb65fb660b661b662b663b664b665b666b667b668b669b66ab66bb66cb66db66eb66fb670b671b672b673b674b675b676b677b678b679b67ab67bb67cb67db67eb67fb680b681b682b683b684b685b686b687b688b689b68ab68bb68cb68db68eb68fb690b691b692b693b694b695b696b697b698b699b69ab69bb69cb69db69eb69fb6a0b6a1b6a2b6a3b6a4b6a5b6a6b6a7b6a8b6a9b6aab6abb6acb6adb6aeb6afb6b0b6b1b6b2b6b3b6b4b6b5b6b6b6b7b6b8b6b9b6bab6bbb6bcb6bdb6beb6bfb6c0b6c1b6c2b6c3b6c4b6c5b6c6b6c7b6c8b6c9b6cab6cbb6ccb6cdb6ceb6cfb6d0b6d1b6d2b6d3b6d4b6d5b6d6b6d7b6d8b6d9b6dab6dbb6dcb6ddb6deb6dfb6e0b6e1b6e2b6e3b6e4b6e5b6e6b6e7b6e8b6e9b6eab6ebb6ecb6edb6eeb6efb6f0b6f1b6f2b6f3b6f4b6f5b6f6b6f7b6f8b6f9b6fab6fbb6fcb6fdb6feb6ffb600b701b702b703b704b705b706b707b708b709b70ab70bb70cb70db70eb70fb710b711b712b713b714b715b716b717b718b719b71ab71bb71cb71db71eb71fb720b721b722b723b724b725b726b727b728b729b72ab72bb72cb72db72eb72fb730b731b732b733b734b735b736b737b738b739b73ab73bb73cb73db73eb73fb740b741b742b743b744b745b746b747b748b749b74ab74bb74cb74db74eb74fb750b751b752b753b754b755b756b757b758b759b75ab75bb75cb75db75eb75fb760b761b762b763b764b765b766b767b768b769b76ab76bb76cb76db76eb76fb770b771b772b773b774b775b776b777b778b779b77ab77bb77cb77db77eb77fb780b781b782b783b784b785b786b787b788b789b78ab78bb78cb78db78eb78fb790b791b792b793b794b795b796b797b798b799b79ab79bb79cb79db79eb79fb7a0b7a1b7a2b7a3b7a4b7a5b7a6b7a7b7a8b7a9b7aab7abb7acb7adb7aeb7afb7b0b7b1b7b2b7b3b7b4b7b5b7b6b7b7b7b8b7b9b7bab7bbb7bcb7bdb7beb7bfb7c0b7c1b7c2b7c3b7c4b7c5b7c6b7c7b7c8b7c9b7cab7cbb7ccb7cdb7ceb7cfb7d0b7d1b7d2b7d3b7d4b7d5b7d6b7d7b7d8b7d9b7dab7dbb7dcb7ddb7deb7dfb7e0b7e1b7e2b7e3b7e4b7e5b7e6b7e7b7e8b7e9b7eab7ebb7ecb7edb7eeb7efb7f0b7f1b7f2b7f3b7f4b7f5b7f6b7f7b7f8b7f9b7fab7fbb7fcb7fdb7feb7ffb700b801b802b803b804b805b806b807b808b809b80ab80bb80cb80db80eb80fb810b811b812b813b814b815b816b817b818b819b81ab81bb81cb81db81eb81fb820b821b822b823b824b825b826b827b828b829b82ab82bb82cb82db82eb82fb830b831b832b833b834b835b836b837b838b839b83ab83bb83cb83db83eb83fb840b841b842b843b844b845b846b847b848b849b84ab84bb84cb84db84eb84fb850b851b852b853b854b855b856b857b858b859b85ab85bb85cb85db85eb85fb860b861b862b863b864b865b866b867b868b869b86ab86bb86cb86db86eb86fb870b871b872b873b874b875b876b877b878b879b87ab87bb87cb87db87eb87fb880b881b882b883b884b885b886b887b888b889b88ab88bb88cb88db88eb88fb890b891b892b893b894b895b896b897b898b899b89ab89bb89cb89db89eb89fb8a0b8a1b8a2b8a3b8a4b8a5b8a6b8a7b8a8b8a9b8aab8abb8acb8adb8aeb8afb8b0b8b1b8b2b8b3b8b4b8b5b8b6b8b7b8b8b8b9b8bab8bbb8bcb8bdb8beb8bfb8c0b8c1b8c2b8c3b8c4b8c5b8c6b8c7b8c8b8c9b8cab8cbb8ccb8cdb8ceb8cfb8d0b8d1b8d2b8d3b8d4b8d5b8d6b8d7b8d8b8d9b8dab8dbb8dcb8ddb8deb8dfb8e0b8e1b8e2b8e3b8e4b8e5b8e6b8e7b8e8b8e9b8eab8ebb8ecb8edb8eeb8efb8f0b8f1b8f2b8f3b8f4b8f5b8f6b8f7b8f8b8f9b8fab8fbb8fcb8fdb8feb8ffb800b901b902b903b904b905b906b907b908b909b90ab90bb90cb90db90eb90fb910b911b912b913b914b915b916b917b918b919b91ab91bb91cb91db91eb91fb920b921b922b923b924b925b926b927b928b929b92ab92bb92cb92db92eb92fb930b931b932b933b934b935b936b937b938b939b93ab93bb93cb93db93eb93fb940b941b942b943b944b945b946b947b948b949b94ab94bb94cb94db94eb94fb950b951b952b953b954b955b956b957b958b959b95ab95bb95cb95db95eb95fb960b961b962b963b964b965b966b967b968b969b96ab96bb96cb96db96eb96fb970b971b972b973b974b975b976b977b978b979b97ab97bb97cb97db97eb97fb980b981b982b983b984b985b986b987b988b989b98ab98bb98cb98db98eb98fb990b991b992b993b994b995b996b997b998b999b99ab99bb99cb99db99eb99fb9a0b9a1b9a2b9a3b9a4b9a5b9a6b9a7b9a8b9a9b9aab9abb9acb9adb9aeb9afb9b0b9b1b9b2b9b3b9b4b9b5b9b6b9b7b9b8b9b9b9bab9bbb9bcb9bdb9beb9bfb9c0b9c1b9c2b9c3b9c4b9c5b9c6b9c7b9c8b9c9b9cab9cbb9ccb9cdb9ceb9cfb9d0b9d1b9d2b9d3b9d4b9d5b9d6b9d7b9d8b9d9b9dab9dbb9dcb9ddb9deb9dfb9e0b9e1b9e2b9e3b9e4b9e5b9e6b9e7b9e8b9e9b9eab9ebb9ecb9edb9eeb9efb9f0b9f1b9f2b9f3b9f4b9f5b9f6b9f7b9f8b9f9b9fab9fbb9fcb9fdb9feb9ffb900ba01ba02ba03ba04ba05ba06ba07ba08ba09ba0aba0bba0cba0dba0eba0fba10ba11ba12ba13ba14ba15ba16ba17ba18ba19ba1aba1bba1cba1dba1eba1fba20ba21ba22ba23ba24ba25ba26ba27ba28ba29ba2aba2bba2cba2dba2eba2fba30ba31ba32ba33ba34ba35ba36ba37ba38ba39ba3aba3bba3cba3dba3eba3fba40ba41ba42ba43ba44ba45ba46ba47ba48ba49ba4aba4bba4cba4dba4eba4fba50ba51ba52ba53ba54ba55ba56ba57ba58ba59ba5aba5bba5cba5dba5eba5fba60ba61ba62ba63ba64ba65ba66ba67ba68ba69ba6aba6bba6cba6dba6eba6fba70ba71ba72ba73ba74ba75ba76ba77ba78ba79ba7aba7bba7cba7dba7eba7fba80ba81ba82ba83ba84ba85ba86ba87ba88ba89ba8aba8bba8cba8dba8eba8fba90ba91ba92ba93ba94ba95ba96ba97ba98ba99ba9aba9bba9cba9dba9eba9fbaa0baa1baa2baa3baa4baa5baa6baa7baa8baa9baaabaabbaacbaadbaaebaafbab0bab1bab2bab3bab4bab5bab6bab7bab8bab9babababbbabcbabdbabebabfbac0bac1bac2bac3bac4bac5bac6bac7bac8bac9bacabacbbaccbacdbacebacfbad0bad1bad2bad3bad4bad5bad6bad7bad8bad9badabadbbadcbaddbadebadfbae0bae1bae2bae3bae4bae5bae6bae7bae8bae9baeabaebbaecbaedbaeebaefbaf0baf1baf2baf3baf4baf5baf6baf7baf8baf9bafabafbbafcbafdbafebaffba00bb01bb02bb03bb04bb05bb06bb07bb08bb09bb0abb0bbb0cbb0dbb0ebb0fbb10bb11bb12bb13bb14bb15bb16bb17bb18bb19bb1abb1bbb1cbb1dbb1ebb1fbb20bb21bb22bb23bb24bb25bb26bb27bb28bb29bb2abb2bbb2cbb2dbb2ebb2fbb30bb31bb32bb33bb34bb35bb36bb37bb38bb39bb3abb3bbb3cbb3dbb3ebb3fbb40bb41bb42bb43bb44bb45bb46bb47bb48bb49bb4abb4bbb4cbb4dbb4ebb4fbb50bb51bb52bb53bb54bb55bb56bb57bb58bb59bb5abb5bbb5cbb5dbb5ebb5fbb60bb61bb62bb63bb64bb65bb66bb67bb68bb69bb6abb6bbb6cbb6dbb6ebb6fbb70bb71bb72bb73bb74bb75bb76bb77bb78bb79bb7abb7bbb7cbb7dbb7ebb7fbb80bb81bb82bb83bb84bb85bb86bb87bb88bb89bb8abb8bbb8cbb8dbb8ebb8fbb90bb91bb92bb93bb94bb95bb96bb97bb98bb99bb9abb9bbb9cbb9dbb9ebb9fbba0bba1bba2bba3bba4bba5bba6bba7bba8bba9bbaabbabbbacbbadbbaebbafbbb0bbb1bbb2bbb3bbb4bbb5bbb6bbb7bbb8bbb9bbbabbbbbbbcbbbdbbbebbbfbbc0bbc1bbc2bbc3bbc4bbc5bbc6bbc7bbc8bbc9bbcabbcbbbccbbcdbbcebbcfbbd0bbd1bbd2bbd3bbd4bbd5bbd6bbd7bbd8bbd9bbdabbdbbbdcbbddbbdebbdfbbe0bbe1bbe2bbe3bbe4bbe5bbe6bbe7bbe8bbe9bbeabbebbbecbbedbbeebbefbbf0bbf1bbf2bbf3bbf4bbf5bbf6bbf7bbf8bbf9bbfabbfbbbfcbbfdbbfebbffbb00bc01bc02bc03bc04bc05bc06bc07bc08bc09bc0abc0bbc0cbc0dbc0ebc0fbc10bc11bc12bc13bc14bc15bc16bc17bc18bc19bc1abc1bbc1cbc1dbc1ebc1fbc20bc21bc22bc23bc24bc25bc26bc27bc28bc29bc2abc2bbc2cbc2dbc2ebc2fbc30bc31bc32bc33bc34bc35bc36bc37bc38bc39bc3abc3bbc3cbc3dbc3ebc3fbc40bc41bc42bc43bc44bc45bc46bc47bc48bc49bc4abc4bbc4cbc4dbc4ebc4fbc50bc51bc52bc53bc54bc55bc56bc57bc58bc59bc5abc5bbc5cbc5dbc5ebc5fbc60bc61bc62bc63bc64bc65bc66bc67bc68bc69bc6abc6bbc6cbc6dbc6ebc6fbc70bc71bc72bc73bc74bc75bc76bc77bc78bc79bc7abc7bbc7cbc7dbc7ebc7fbc80bc81bc82bc83bc84bc85bc86bc87bc88bc89bc8abc8bbc8cbc8dbc8ebc8fbc90bc91bc92bc93bc94bc95bc96bc97bc98bc99bc9abc9bbc9cbc9dbc9ebc9fbca0bca1bca2bca3bca4bca5bca6bca7bca8bca9bcaabcabbcacbcadbcaebcafbcb0bcb1bcb2bcb3bcb4bcb5bcb6bcb7bcb8bcb9bcbabcbbbcbcbcbdbcbebcbfbcc0bcc1bcc2bcc3bcc4bcc5bcc6bcc7bcc8bcc9bccabccbbcccbccdbccebccfbcd0bcd1bcd2bcd3bcd4bcd5bcd6bcd7bcd8bcd9bcdabcdbbcdcbcddbcdebcdfbce0bce1bce2bce3bce4bce5bce6bce7bce8bce9bceabcebbcecbcedbceebcefbcf0bcf1bcf2bcf3bcf4bcf5bcf6bcf7bcf8bcf9bcfabcfbbcfcbcfdbcfebcffbc00bd01bd02bd03bd04bd05bd06bd07bd08bd09bd0abd0bbd0cbd0dbd0ebd0fbd10bd11bd12bd13bd14bd15bd16bd17bd18bd19bd1abd1bbd1cbd1dbd1ebd1fbd20bd21bd22bd23bd24bd25bd26bd27bd28bd29bd2abd2bbd2cbd2dbd2ebd2fbd30bd31bd32bd33bd34bd35bd36bd37bd38bd39bd3abd3bbd3cbd3dbd3ebd3fbd40bd41bd42bd43bd44bd45bd46bd47bd48bd49bd4abd4bbd4cbd4dbd4ebd4fbd50bd51bd52bd53bd54bd55bd56bd57bd58bd59bd5abd5bbd5cbd5dbd5ebd5fbd60bd61bd62bd63bd64bd65bd66bd67bd68bd69bd6abd6bbd6cbd6dbd6ebd6fbd70bd71bd72bd73bd74bd75bd76bd77bd78bd79bd7abd7bbd7cbd7dbd7ebd7fbd80bd81bd82bd83bd84bd85bd86bd87bd88bd89bd8abd8bbd8cbd8dbd8ebd8fbd90bd91bd92bd93bd94bd95bd96bd97bd98bd99bd9abd9bbd9cbd9dbd9ebd9fbda0bda1bda2bda3bda4bda5bda6bda7bda8bda9bdaabdabbdacbdadbdaebdafbdb0bdb1bdb2bdb3bdb4bdb5bdb6bdb7bdb8bdb9bdbabdbbbdbcbdbdbdbebdbfbdc0bdc1bdc2bdc3bdc4bdc5bdc6bdc7bdc8bdc9bdcabdcbbdccbdcdbdcebdcfbdd0bdd1bdd2bdd3bdd4bdd5bdd6bdd7bdd8bdd9bddabddbbddcbdddbddebddfbde0bde1bde2bde3bde4bde5bde6bde7bde8bde9bdeabdebbdecbdedbdeebdefbdf0bdf1bdf2bdf3bdf4bdf5bdf6bdf7bdf8bdf9bdfabdfbbdfcbdfdbdfebdffbd00be01be02be03be04be05be06be07be08be09be0abe0bbe0cbe0dbe0ebe0fbe10be11be12be13be14be15be16be17be18be19be1abe1bbe1cbe1dbe1ebe1fbe20be21be22be23be24be25be26be27be28be29be2abe2bbe2cbe2dbe2ebe2fbe30be31be32be33be34be35be36be37be38be39be3abe3bbe3cbe3dbe3ebe3fbe40be41be42be43be44be45be46be47be48be49be4abe4bbe4cbe4dbe4ebe4fbe50be51be52be53be54be55be56be57be58be59be5abe5bbe5cbe5dbe5ebe5fbe60be61be62be63be64be65be66be67be68be69be6abe6bbe6cbe6dbe6ebe6fbe70be71be72be73be74be75be76be77be78be79be7abe7bbe7cbe7dbe7ebe7fbe80be81be82be83be84be85be86be87be88be89be8abe8bbe8cbe8dbe8ebe8fbe90be91be92be93be94be95be96be97be98be99be9abe9bbe9cbe9dbe9ebe9fbea0bea1bea2bea3bea4bea5bea6bea7bea8bea9beaabeabbeacbeadbeaebeafbeb0beb1beb2beb3beb4beb5beb6beb7beb8beb9bebabebbbebcbebdbebebebfbec0bec1bec2bec3bec4bec5bec6bec7bec8bec9becabecbbeccbecdbecebecfbed0bed1bed2bed3bed4bed5bed6bed7bed8bed9bedabedbbedcbeddbedebedfbee0bee1bee2bee3bee4bee5bee6bee7bee8bee9beeabeebbeecbeedbeeebeefbef0bef1bef2bef3bef4bef5bef6bef7bef8bef9befabefbbefcbefdbefebeffbe00bf01bf02bf03bf04bf05bf06bf07bf08bf09bf0abf0bbf0cbf0dbf0ebf0fbf10bf11bf12bf13bf14bf15bf16bf17bf18bf19bf1abf1bbf1cbf1dbf1ebf1fbf20bf21bf22bf23bf24bf25bf26bf27bf28bf29bf2abf2bbf2cbf2dbf2ebf2fbf30bf31bf32bf33bf34bf35bf36bf37bf38bf39bf3abf3bbf3cbf3dbf3ebf3fbf40bf41bf42bf43bf44bf45bf46bf47bf48bf49bf4abf4bbf4cbf4dbf4ebf4fbf50bf51bf52bf53bf54bf55bf56bf57bf58bf59bf5abf5bbf5cbf5dbf5ebf5fbf60bf61bf62bf63bf64bf65bf66bf67bf68bf69bf6abf6bbf6cbf6dbf6ebf6fbf70bf71bf72bf73bf74bf75bf76bf77bf78bf79bf7abf7bbf7cbf7dbf7ebf7fbf80bf81bf82bf83bf84bf85bf86bf87bf88bf89bf8abf8bbf8cbf8dbf8ebf8fbf90bf91bf92bf93bf94bf95bf96bf97bf98bf99bf9abf9bbf9cbf9dbf9ebf9fbfa0bfa1bfa2bfa3bfa4bfa5bfa6bfa7bfa8bfa9bfaabfabbfacbfadbfaebfafbfb0bfb1bfb2bfb3bfb4bfb5bfb6bfb7bfb8bfb9bfbabfbbbfbcbfbdbfbebfbfbfc0bfc1bfc2bfc3bfc4bfc5bfc6bfc7bfc8bfc9bfcabfcbbfccbfcdbfcebfcfbfd0bfd1bfd2bfd3bfd4bfd5bfd6bfd7bfd8bfd9bfdabfdbbfdcbfddbfdebfdfbfe0bfe1bfe2bfe3bfe4bfe5bfe6bfe7bfe8bfe9bfeabfebbfecbfedbfeebfefbff0bff1bff2bff3bff4bff5bff6bff7bff8bff9bffabffbbffcbffdbffebfffbf00c001c002c003c004c005c006c007c008c009c00ac00bc00cc00dc00ec00fc010c011c012c013c014c015c016c017c018c019c01ac01bc01cc01dc01ec01fc020c021c022c023c024c025c026c027c028c029c02ac02bc02cc02dc02ec02fc030c031c032c033c034c035c036c037c038c039c03ac03bc03cc03dc03ec03fc040c041c042c043c044c045c046c047c048c049c04ac04bc04cc04dc04ec04fc050c051c052c053c054c055c056c057c058c059c05ac05bc05cc05dc05ec05fc060c061c062c063c064c065c066c067c068c069c06ac06bc06cc06dc06ec06fc070c071c072c073c074c075c076c077c078c079c07ac07bc07cc07dc07ec07fc080c081c082c083c084c085c086c087c088c089c08ac08bc08cc08dc08ec08fc090c091c092c093c094c095c096c097c098c099c09ac09bc09cc09dc09ec09fc0a0c0a1c0a2c0a3c0a4c0a5c0a6c0a7c0a8c0a9c0aac0abc0acc0adc0aec0afc0b0c0b1c0b2c0b3c0b4c0b5c0b6c0b7c0b8c0b9c0bac0bbc0bcc0bdc0bec0bfc0c0c0c1c0c2c0c3c0c4c0c5c0c6c0c7c0c8c0c9c0cac0cbc0ccc0cdc0cec0cfc0d0c0d1c0d2c0d3c0d4c0d5c0d6c0d7c0d8c0d9c0dac0dbc0dcc0ddc0dec0dfc0e0c0e1c0e2c0e3c0e4c0e5c0e6c0e7c0e8c0e9c0eac0ebc0ecc0edc0eec0efc0f0c0f1c0f2c0f3c0f4c0f5c0f6c0f7c0f8c0f9c0fac0fbc0fcc0fdc0fec0ffc000c101c102c103c104c105c106c107c108c109c10ac10bc10cc10dc10ec10fc110c111c112c113c114c115c116c117c118c119c11ac11bc11cc11dc11ec11fc120c121c122c123c124c125c126c127c128c129c12ac12bc12cc12dc12ec12fc130c131c132c133c134c135c136c137c138c139c13ac13bc13cc13dc13ec13fc140c141c142c143c144c145c146c147c148c149c14ac14bc14cc14dc14ec14fc150c151c152c153c154c155c156c157c158c159c15ac15bc15cc15dc15ec15fc160c161c162c163c164c165c166c167c168c169c16ac16bc16cc16dc16ec16fc170c171c172c173c174c175c176c177c178c179c17ac17bc17cc17dc17ec17fc180c181c182c183c184c185c186c187c188c189c18ac18bc18cc18dc18ec18fc190c191c192c193c194c195c196c197c198c199c19ac19bc19cc19dc19ec19fc1a0c1a1c1a2c1a3c1a4c1a5c1a6c1a7c1a8c1a9c1aac1abc1acc1adc1aec1afc1b0c1b1c1b2c1b3c1b4c1b5c1b6c1b7c1b8c1b9c1bac1bbc1bcc1bdc1bec1bfc1c0c1c1c1c2c1c3c1c4c1c5c1c6c1c7c1c8c1c9c1cac1cbc1ccc1cdc1cec1cfc1d0c1d1c1d2c1d3c1d4c1d5c1d6c1d7c1d8c1d9c1dac1dbc1dcc1ddc1dec1dfc1e0c1e1c1e2c1e3c1e4c1e5c1e6c1e7c1e8c1e9c1eac1ebc1ecc1edc1eec1efc1f0c1f1c1f2c1f3c1f4c1f5c1f6c1f7c1f8c1f9c1fac1fbc1fcc1fdc1fec1ffc100c201c202c203c204c205c206c207c208c209c20ac20bc20cc20dc20ec20fc210c211c212c213c214c215c216c217c218c219c21ac21bc21cc21dc21ec21fc220c221c222c223c224c225c226c227c228c229c22ac22bc22cc22dc22ec22fc230c231c232c233c234c235c236c237c238c239c23ac23bc23cc23dc23ec23fc240c241c242c243c244c245c246c247c248c249c24ac24bc24cc24dc24ec24fc250c251c252c253c254c255c256c257c258c259c25ac25bc25cc25dc25ec25fc260c261c262c263c264c265c266c267c268c269c26ac26bc26cc26dc26ec26fc270c271c272c273c274c275c276c277c278c279c27ac27bc27cc27dc27ec27fc280c281c282c283c284c285c286c287c288c289c28ac28bc28cc28dc28ec28fc290c291c292c293c294c295c296c297c298c299c29ac29bc29cc29dc29ec29fc2a0c2a1c2a2c2a3c2a4c2a5c2a6c2a7c2a8c2a9c2aac2abc2acc2adc2aec2afc2b0c2b1c2b2c2b3c2b4c2b5c2b6c2b7c2b8c2b9c2bac2bbc2bcc2bdc2bec2bfc2c0c2c1c2c2c2c3c2c4c2c5c2c6c2c7c2c8c2c9c2cac2cbc2ccc2cdc2cec2cfc2d0c2d1c2d2c2d3c2d4c2d5c2d6c2d7c2d8c2d9c2dac2dbc2dcc2ddc2dec2dfc2e0c2e1c2e2c2e3c2e4c2e5c2e6c2e7c2e8c2e9c2eac2ebc2ecc2edc2eec2efc2f0c2f1c2f2c2f3c2f4c2f5c2f6c2f7c2f8c2f9c2fac2fbc2fcc2fdc2fec2ffc200c301c302c303c304c305c306c307c308c309c30ac30bc30cc30dc30ec30fc310c311c312c313c314c315c316c317c318c319c31ac31bc31cc31dc31ec31fc320c321c322c323c324c325c326c327c328c329c32ac32bc32cc32dc32ec32fc330c331c332c333c334c335c336c337c338c339c33ac33bc33cc33dc33ec33fc340c341c342c343c344c345c346c347c348c349c34ac34bc34cc34dc34ec34fc350c351c352c353c354c355c356c357c358c359c35ac35bc35cc35dc35ec35fc360c361c362c363c364c365c366c367c368c369c36ac36bc36cc36dc36ec36fc370c371c372c373c374c375c376c377c378c379c37ac37bc37cc37dc37ec37fc380c381c382c383c384c385c386c387c388c389c38ac38bc38cc38dc38ec38fc390c391c392c393c394c395c396c397c398c399c39ac39bc39cc39dc39ec39fc3a0c3a1c3a2c3a3c3a4c3a5c3a6c3a7c3a8c3a9c3aac3abc3acc3adc3aec3afc3b0c3b1c3b2c3b3c3b4c3b5c3b6c3b7c3b8c3b9c3bac3bbc3bcc3bdc3bec3bfc3c0c3c1c3c2c3c3c3c4c3c5c3c6c3c7c3c8c3c9c3cac3cbc3ccc3cdc3cec3cfc3d0c3d1c3d2c3d3c3d4c3d5c3d6c3d7c3d8c3d9c3dac3dbc3dcc3ddc3dec3dfc3e0c3e1c3e2c3e3c3e4c3e5c3e6c3e7c3e8c3e9c3eac3ebc3ecc3edc3eec3efc3f0c3f1c3f2c3f3c3f4c3f5c3f6c3f7c3f8c3f9c3fac3fbc3fcc3fdc3fec3ffc300c401c402c403c404c405c406c407c408c409c40ac40bc40cc40dc40ec40fc410c411c412c413c414c415c416c417c418c419c41ac41bc41cc41dc41ec41fc420c421c422c423c424c425c426c427c428c429c42ac42bc42cc42dc42ec42fc430c431c432c433c434c435c436c437c438c439c43ac43bc43cc43dc43ec43fc440c441c442c443c444c445c446c447c448c449c44ac44bc44cc44dc44ec44fc450c451c452c453c454c455c456c457c458c459c45ac45bc45cc45dc45ec45fc460c461c462c463c464c465c466c467c468c469c46ac46bc46cc46dc46ec46fc470c471c472c473c474c475c476c477c478c479c47ac47bc47cc47dc47ec47fc480c481c482c483c484c485c486c487c488c489c48ac48bc48cc48dc48ec48fc490c491c492c493c494c495c496c497c498c499c49ac49bc49cc49dc49ec49fc4a0c4a1c4a2c4a3c4a4c4a5c4a6c4a7c4a8c4a9c4aac4abc4acc4adc4aec4afc4b0c4b1c4b2c4b3c4b4c4b5c4b6c4b7c4b8c4b9c4bac4bbc4bcc4bdc4bec4bfc4c0c4c1c4c2c4c3c4c4c4c5c4c6c4c7c4c8c4c9c4cac4cbc4ccc4cdc4cec4cfc4d0c4d1c4d2c4d3c4d4c4d5c4d6c4d7c4d8c4d9c4dac4dbc4dcc4ddc4dec4dfc4e0c4e1c4e2c4e3c4e4c4e5c4e6c4e7c4e8c4e9c4eac4ebc4ecc4edc4eec4efc4f0c4f1c4f2c4f3c4f4c4f5c4f6c4f7c4f8c4f9c4fac4fbc4fcc4fdc4fec4ffc400c501c502c503c504c505c506c507c508c509c50ac50bc50cc50dc50ec50fc510c511c512c513c514c515c516c517c518c519c51ac51bc51cc51dc51ec51fc520c521c522c523c524c525c526c527c528c529c52ac52bc52cc52dc52ec52fc530c531c532c533c534c535c536c537c538c539c53ac53bc53cc53dc53ec53fc540c541c542c543c544c545c546c547c548c549c54ac54bc54cc54dc54ec54fc550c551c552c553c554c555c556c557c558c559c55ac55bc55cc55dc55ec55fc560c561c562c563c564c565c566c567c568c569c56ac56bc56cc56dc56ec56fc570c571c572c573c574c575c576c577c578c579c57ac57bc57cc57dc57ec57fc580c581c582c583c584c585c586c587c588c589c58ac58bc58cc58dc58ec58fc590c591c592c593c594c595c596c597c598c599c59ac59bc59cc59dc59ec59fc5a0c5a1c5a2c5a3c5a4c5a5c5a6c5a7c5a8c5a9c5aac5abc5acc5adc5aec5afc5b0c5b1c5b2c5b3c5b4c5b5c5b6c5b7c5b8c5b9c5bac5bbc5bcc5bdc5bec5bfc5c0c5c1c5c2c5c3c5c4c5c5c5c6c5c7c5c8c5c9c5cac5cbc5ccc5cdc5cec5cfc5d0c5d1c5d2c5d3c5d4c5d5c5d6c5d7c5d8c5d9c5dac5dbc5dcc5ddc5dec5dfc5e0c5e1c5e2c5e3c5e4c5e5c5e6c5e7c5e8c5e9c5eac5ebc5ecc5edc5eec5efc5f0c5f1c5f2c5f3c5f4c5f5c5f6c5f7c5f8c5f9c5fac5fbc5fcc5fdc5fec5ffc500c601c602c603c604c605c606c607c608c609c60ac60bc60cc60dc60ec60fc610c611c612c613c614c615c616c617c618c619c61ac61bc61cc61dc61ec61fc620c621c622c623c624c625c626c627c628c629c62ac62bc62cc62dc62ec62fc630c631c632c633c634c635c636c637c638c639c63ac63bc63cc63dc63ec63fc640c641c642c643c644c645c646c647c648c649c64ac64bc64cc64dc64ec64fc650c651c652c653c654c655c656c657c658c659c65ac65bc65cc65dc65ec65fc660c661c662c663c664c665c666c667c668c669c66ac66bc66cc66dc66ec66fc670c671c672c673c674c675c676c677c678c679c67ac67bc67cc67dc67ec67fc680c681c682c683c684c685c686c687c688c689c68ac68bc68cc68dc68ec68fc690c691c692c693c694c695c696c697c698c699c69ac69bc69cc69dc69ec69fc6a0c6a1c6a2c6a3c6a4c6a5c6a6c6a7c6a8c6a9c6aac6abc6acc6adc6aec6afc6b0c6b1c6b2c6b3c6b4c6b5c6b6c6b7c6b8c6b9c6bac6bbc6bcc6bdc6bec6bfc6c0c6c1c6c2c6c3c6c4c6c5c6c6c6c7c6c8c6c9c6cac6cbc6ccc6cdc6cec6cfc6d0c6d1c6d2c6d3c6d4c6d5c6d6c6d7c6d8c6d9c6dac6dbc6dcc6ddc6dec6dfc6e0c6e1c6e2c6e3c6e4c6e5c6e6c6e7c6e8c6e9c6eac6ebc6ecc6edc6eec6efc6f0c6f1c6f2c6f3c6f4c6f5c6f6c6f7c6f8c6f9c6fac6fbc6fcc6fdc6fec6ffc600c701c702c703c704c705c706c707c708c709c70ac70bc70cc70dc70ec70fc710c711c712c713c714c715c716c717c718c719c71ac71bc71cc71dc71ec71fc720c721c722c723c724c725c726c727c728c729c72ac72bc72cc72dc72ec72fc730c731c732c733c734c735c736c737c738c739c73ac73bc73cc73dc73ec73fc740c741c742c743c744c745c746c747c748c749c74ac74bc74cc74dc74ec74fc750c751c752c753c754c755c756c757c758c759c75ac75bc75cc75dc75ec75fc760c761c762c763c764c765c766c767c768c769c76ac76bc76cc76dc76ec76fc770c771c772c773c774c775c776c777c778c779c77ac77bc77cc77dc77ec77fc780c781c782c783c784c785c786c787c788c789c78ac78bc78cc78dc78ec78fc790c791c792c793c794c795c796c797c798c799c79ac79bc79cc79dc79ec79fc7a0c7a1c7a2c7a3c7a4c7a5c7a6c7a7c7a8c7a9c7aac7abc7acc7adc7aec7afc7b0c7b1c7b2c7b3c7b4c7b5c7b6c7b7c7b8c7b9c7bac7bbc7bcc7bdc7bec7bfc7c0c7c1c7c2c7c3c7c4c7c5c7c6c7c7c7c8c7c9c7cac7cbc7ccc7cdc7cec7cfc7d0c7d1c7d2c7d3c7d4c7d5c7d6c7d7c7d8c7d9c7dac7dbc7dcc7ddc7dec7dfc7e0c7e1c7e2c7e3c7e4c7e5c7e6c7e7c7e8c7e9c7eac7ebc7ecc7edc7eec7efc7f0c7f1c7f2c7f3c7f4c7f5c7f6c7f7c7f8c7f9c7fac7fbc7fcc7fdc7fec7ffc700c801c802c803c804c805c806c807c808c809c80ac80bc80cc80dc80ec80fc810c811c812c813c814c815c816c817c818c819c81ac81bc81cc81dc81ec81fc820c821c822c823c824c825c826c827c828c829c82ac82bc82cc82dc82ec82fc830c831c832c833c834c835c836c837c838c839c83ac83bc83cc83dc83ec83fc840c841c842c843c844c845c846c847c848c849c84ac84bc84cc84dc84ec84fc850c851c852c853c854c855c856c857c858c859c85ac85bc85cc85dc85ec85fc860c861c862c863c864c865c866c867c868c869c86ac86bc86cc86dc86ec86fc870c871c872c873c874c875c876c877c878c879c87ac87bc87cc87dc87ec87fc880c881c882c883c884c885c886c887c888c889c88ac88bc88cc88dc88ec88fc890c891c892c893c894c895c896c897c898c899c89ac89bc89cc89dc89ec89fc8a0c8a1c8a2c8a3c8a4c8a5c8a6c8a7c8a8c8a9c8aac8abc8acc8adc8aec8afc8b0c8b1c8b2c8b3c8b4c8b5c8b6c8b7c8b8c8b9c8bac8bbc8bcc8bdc8bec8bfc8c0c8c1c8c2c8c3c8c4c8c5c8c6c8c7c8c8c8c9c8cac8cbc8ccc8cdc8cec8cfc8d0c8d1c8d2c8d3c8d4c8d5c8d6c8d7c8d8c8d9c8dac8dbc8dcc8ddc8dec8dfc8e0c8e1c8e2c8e3c8e4c8e5c8e6c8e7c8e8c8e9c8eac8ebc8ecc8edc8eec8efc8f0c8f1c8f2c8f3c8f4c8f5c8f6c8f7c8f8c8f9c8fac8fbc8fcc8fdc8fec8ffc800c901c902c903c904c905c906c907c908c909c90ac90bc90cc90dc90ec90fc910c911c912c913c914c915c916c917c918c919c91ac91bc91cc91dc91ec91fc920c921c922c923c924c925c926c927c928c929c92ac92bc92cc92dc92ec92fc930c931c932c933c934c935c936c937c938c939c93ac93bc93cc93dc93ec93fc940c941c942c943c944c945c946c947c948c949c94ac94bc94cc94dc94ec94fc950c951c952c953c954c955c956c957c958c959c95ac95bc95cc95dc95ec95fc960c961c962c963c964c965c966c967c968c969c96ac96bc96cc96dc96ec96fc970c971c972c973c974c975c976c977c978c979c97ac97bc97cc97dc97ec97fc980c981c982c983c984c985c986c987c988c989c98ac98bc98cc98dc98ec98fc990c991c992c993c994c995c996c997c998c999c99ac99bc99cc99dc99ec99fc9a0c9a1c9a2c9a3c9a4c9a5c9a6c9a7c9a8c9a9c9aac9abc9acc9adc9aec9afc9b0c9b1c9b2c9b3c9b4c9b5c9b6c9b7c9b8c9b9c9bac9bbc9bcc9bdc9bec9bfc9c0c9c1c9c2c9c3c9c4c9c5c9c6c9c7c9c8c9c9c9cac9cbc9ccc9cdc9cec9cfc9d0c9d1c9d2c9d3c9d4c9d5c9d6c9d7c9d8c9d9c9dac9dbc9dcc9ddc9dec9dfc9e0c9e1c9e2c9e3c9e4c9e5c9e6c9e7c9e8c9e9c9eac9ebc9ecc9edc9eec9efc9f0c9f1c9f2c9f3c9f4c9f5c9f6c9f7c9f8c9f9c9fac9fbc9fcc9fdc9fec9ffc900ca01ca02ca03ca04ca05ca06ca07ca08ca09ca0aca0bca0cca0dca0eca0fca10ca11ca12ca13ca14ca15ca16ca17ca18ca19ca1aca1bca1cca1dca1eca1fca20ca21ca22ca23ca24ca25ca26ca27ca28ca29ca2aca2bca2cca2dca2eca2fca30ca31ca32ca33ca34ca35ca36ca37ca38ca39ca3aca3bca3cca3dca3eca3fca40ca41ca42ca43ca44ca45ca46ca47ca48ca49ca4aca4bca4cca4dca4eca4fca50ca51ca52ca53ca54ca55ca56ca57ca58ca59ca5aca5bca5cca5dca5eca5fca60ca61ca62ca63ca64ca65ca66ca67ca68ca69ca6aca6bca6cca6dca6eca6fca70ca71ca72ca73ca74ca75ca76ca77ca78ca79ca7aca7bca7cca7dca7eca7fca80ca81ca82ca83ca84ca85ca86ca87ca88ca89ca8aca8bca8cca8dca8eca8fca90ca91ca92ca93ca94ca95ca96ca97ca98ca99ca9aca9bca9cca9dca9eca9fcaa0caa1caa2caa3caa4caa5caa6caa7caa8caa9caaacaabcaaccaadcaaecaafcab0cab1cab2cab3cab4cab5cab6cab7cab8cab9cabacabbcabccabdcabecabfcac0cac1cac2cac3cac4cac5cac6cac7cac8cac9cacacacbcacccacdcacecacfcad0cad1cad2cad3cad4cad5cad6cad7cad8cad9cadacadbcadccaddcadecadfcae0cae1cae2cae3cae4cae5cae6cae7cae8cae9caeacaebcaeccaedcaeecaefcaf0caf1caf2caf3caf4caf5caf6caf7caf8caf9cafacafbcafccafdcafecaffca00cb01cb02cb03cb04cb05cb06cb07cb08cb09cb0acb0bcb0ccb0dcb0ecb0fcb10cb11cb12cb13cb14cb15cb16cb17cb18cb19cb1acb1bcb1ccb1dcb1ecb1fcb20cb21cb22cb23cb24cb25cb26cb27cb28cb29cb2acb2bcb2ccb2dcb2ecb2fcb30cb31cb32cb33cb34cb35cb36cb37cb38cb39cb3acb3bcb3ccb3dcb3ecb3fcb40cb41cb42cb43cb44cb45cb46cb47cb48cb49cb4acb4bcb4ccb4dcb4ecb4fcb50cb51cb52cb53cb54cb55cb56cb57cb58cb59cb5acb5bcb5ccb5dcb5ecb5fcb60cb61cb62cb63cb64cb65cb66cb67cb68cb69cb6acb6bcb6ccb6dcb6ecb6fcb70cb71cb72cb73cb74cb75cb76cb77cb78cb79cb7acb7bcb7ccb7dcb7ecb7fcb80cb81cb82cb83cb84cb85cb86cb87cb88cb89cb8acb8bcb8ccb8dcb8ecb8fcb90cb91cb92cb93cb94cb95cb96cb97cb98cb99cb9acb9bcb9ccb9dcb9ecb9fcba0cba1cba2cba3cba4cba5cba6cba7cba8cba9cbaacbabcbaccbadcbaecbafcbb0cbb1cbb2cbb3cbb4cbb5cbb6cbb7cbb8cbb9cbbacbbbcbbccbbdcbbecbbfcbc0cbc1cbc2cbc3cbc4cbc5cbc6cbc7cbc8cbc9cbcacbcbcbcccbcdcbcecbcfcbd0cbd1cbd2cbd3cbd4cbd5cbd6cbd7cbd8cbd9cbdacbdbcbdccbddcbdecbdfcbe0cbe1cbe2cbe3cbe4cbe5cbe6cbe7cbe8cbe9cbeacbebcbeccbedcbeecbefcbf0cbf1cbf2cbf3cbf4cbf5cbf6cbf7cbf8cbf9cbfacbfbcbfccbfdcbfecbffcb00cc01cc02cc03cc04cc05cc06cc07cc08cc09cc0acc0bcc0ccc0dcc0ecc0fcc10cc11cc12cc13cc14cc15cc16cc17cc18cc19cc1acc1bcc1ccc1dcc1ecc1fcc20cc21cc22cc23cc24cc25cc26cc27cc28cc29cc2acc2bcc2ccc2dcc2ecc2fcc30cc31cc32cc33cc34cc35cc36cc37cc38cc39cc3acc3bcc3ccc3dcc3ecc3fcc40cc41cc42cc43cc44cc45cc46cc47cc48cc49cc4acc4bcc4ccc4dcc4ecc4fcc50cc51cc52cc53cc54cc55cc56cc57cc58cc59cc5acc5bcc5ccc5dcc5ecc5fcc60cc61cc62cc63cc64cc65cc66cc67cc68cc69cc6acc6bcc6ccc6dcc6ecc6fcc70cc71cc72cc73cc74cc75cc76cc77cc78cc79cc7acc7bcc7ccc7dcc7ecc7fcc80cc81cc82cc83cc84cc85cc86cc87cc88cc89cc8acc8bcc8ccc8dcc8ecc8fcc90cc91cc92cc93cc94cc95cc96cc97cc98cc99cc9acc9bcc9ccc9dcc9ecc9fcca0cca1cca2cca3cca4cca5cca6cca7cca8cca9ccaaccabccacccadccaeccafccb0ccb1ccb2ccb3ccb4ccb5ccb6ccb7ccb8ccb9ccbaccbbccbcccbdccbeccbfccc0ccc1ccc2ccc3ccc4ccc5ccc6ccc7ccc8ccc9cccacccbcccccccdcccecccfccd0ccd1ccd2ccd3ccd4ccd5ccd6ccd7ccd8ccd9ccdaccdbccdcccddccdeccdfcce0cce1cce2cce3cce4cce5cce6cce7cce8cce9cceaccebccecccedcceeccefccf0ccf1ccf2ccf3ccf4ccf5ccf6ccf7ccf8ccf9ccfaccfbccfcccfdccfeccffcc00cd01cd02cd03cd04cd05cd06cd07cd08cd09cd0acd0bcd0ccd0dcd0ecd0fcd10cd11cd12cd13cd14cd15cd16cd17cd18cd19cd1acd1bcd1ccd1dcd1ecd1fcd20cd21cd22cd23cd24cd25cd26cd27cd28cd29cd2acd2bcd2ccd2dcd2ecd2fcd30cd31cd32cd33cd34cd35cd36cd37cd38cd39cd3acd3bcd3ccd3dcd3ecd3fcd40cd41cd42cd43cd44cd45cd46cd47cd48cd49cd4acd4bcd4ccd4dcd4ecd4fcd50cd51cd52cd53cd54cd55cd56cd57cd58cd59cd5acd5bcd5ccd5dcd5ecd5fcd60cd61cd62cd63cd64cd65cd66cd67cd68cd69cd6acd6bcd6ccd6dcd6ecd6fcd70cd71cd72cd73cd74cd75cd76cd77cd78cd79cd7acd7bcd7ccd7dcd7ecd7fcd80cd81cd82cd83cd84cd85cd86cd87cd88cd89cd8acd8bcd8ccd8dcd8ecd8fcd90cd91cd92cd93cd94cd95cd96cd97cd98cd99cd9acd9bcd9ccd9dcd9ecd9fcda0cda1cda2cda3cda4cda5cda6cda7cda8cda9cdaacdabcdaccdadcdaecdafcdb0cdb1cdb2cdb3cdb4cdb5cdb6cdb7cdb8cdb9cdbacdbbcdbccdbdcdbecdbfcdc0cdc1cdc2cdc3cdc4cdc5cdc6cdc7cdc8cdc9cdcacdcbcdcccdcdcdcecdcfcdd0cdd1cdd2cdd3cdd4cdd5cdd6cdd7cdd8cdd9cddacddbcddccdddcddecddfcde0cde1cde2cde3cde4cde5cde6cde7cde8cde9cdeacdebcdeccdedcdeecdefcdf0cdf1cdf2cdf3cdf4cdf5cdf6cdf7cdf8cdf9cdfacdfbcdfccdfdcdfecdffcd00ce01ce02ce03ce04ce05ce06ce07ce08ce09ce0ace0bce0cce0dce0ece0fce10ce11ce12ce13ce14ce15ce16ce17ce18ce19ce1ace1bce1cce1dce1ece1fce20ce21ce22ce23ce24ce25ce26ce27ce28ce29ce2ace2bce2cce2dce2ece2fce30ce31ce32ce33ce34ce35ce36ce37ce38ce39ce3ace3bce3cce3dce3ece3fce40ce41ce42ce43ce44ce45ce46ce47ce48ce49ce4ace4bce4cce4dce4ece4fce50ce51ce52ce53ce54ce55ce56ce57ce58ce59ce5ace5bce5cce5dce5ece5fce60ce61ce62ce63ce64ce65ce66ce67ce68ce69ce6ace6bce6cce6dce6ece6fce70ce71ce72ce73ce74ce75ce76ce77ce78ce79ce7ace7bce7cce7dce7ece7fce80ce81ce82ce83ce84ce85ce86ce87ce88ce89ce8ace8bce8cce8dce8ece8fce90ce91ce92ce93ce94ce95ce96ce97ce98ce99ce9ace9bce9cce9dce9ece9fcea0cea1cea2cea3cea4cea5cea6cea7cea8cea9ceaaceabceacceadceaeceafceb0ceb1ceb2ceb3ceb4ceb5ceb6ceb7ceb8ceb9cebacebbcebccebdcebecebfcec0cec1cec2cec3cec4cec5cec6cec7cec8cec9cecacecbcecccecdcecececfced0ced1ced2ced3ced4ced5ced6ced7ced8ced9cedacedbcedcceddcedecedfcee0cee1cee2cee3cee4cee5cee6cee7cee8cee9ceeaceebceecceedceeeceefcef0cef1cef2cef3cef4cef5cef6cef7cef8cef9cefacefbcefccefdcefeceffce00cf01cf02cf03cf04cf05cf06cf07cf08cf09cf0acf0bcf0ccf0dcf0ecf0fcf10cf11cf12cf13cf14cf15cf16cf17cf18cf19cf1acf1bcf1ccf1dcf1ecf1fcf20cf21cf22cf23cf24cf25cf26cf27cf28cf29cf2acf2bcf2ccf2dcf2ecf2fcf30cf31cf32cf33cf34cf35cf36cf37cf38cf39cf3acf3bcf3ccf3dcf3ecf3fcf40cf41cf42cf43cf44cf45cf46cf47cf48cf49cf4acf4bcf4ccf4dcf4ecf4fcf50cf51cf52cf53cf54cf55cf56cf57cf58cf59cf5acf5bcf5ccf5dcf5ecf5fcf60cf61cf62cf63cf64cf65cf66cf67cf68cf69cf6acf6bcf6ccf6dcf6ecf6fcf70cf71cf72cf73cf74cf75cf76cf77cf78cf79cf7acf7bcf7ccf7dcf7ecf7fcf80cf81cf82cf83cf84cf85cf86cf87cf88cf89cf8acf8bcf8ccf8dcf8ecf8fcf90cf91cf92cf93cf94cf95cf96cf97cf98cf99cf9acf9bcf9ccf9dcf9ecf9fcfa0cfa1cfa2cfa3cfa4cfa5cfa6cfa7cfa8cfa9cfaacfabcfaccfadcfaecfafcfb0cfb1cfb2cfb3cfb4cfb5cfb6cfb7cfb8cfb9cfbacfbbcfbccfbdcfbecfbfcfc0cfc1cfc2cfc3cfc4cfc5cfc6cfc7cfc8cfc9cfcacfcbcfcccfcdcfcecfcfcfd0cfd1cfd2cfd3cfd4cfd5cfd6cfd7cfd8cfd9cfdacfdbcfdccfddcfdecfdfcfe0cfe1cfe2cfe3cfe4cfe5cfe6cfe7cfe8cfe9cfeacfebcfeccfedcfeecfefcff0cff1cff2cff3cff4cff5cff6cff7cff8cff9cffacffbcffccffdcffecfffcf00d001d002d003d004d005d006d007d008d009d00ad00bd00cd00dd00ed00fd010d011d012d013d014d015d016d017d018d019d01ad01bd01cd01dd01ed01fd020d021d022d023d024d025d026d027d028d029d02ad02bd02cd02dd02ed02fd030d031d032d033d034d035d036d037d038d039d03ad03bd03cd03dd03ed03fd040d041d042d043d044d045d046d047d048d049d04ad04bd04cd04dd04ed04fd050d051d052d053d054d055d056d057d058d059d05ad05bd05cd05dd05ed05fd060d061d062d063d064d065d066d067d068d069d06ad06bd06cd06dd06ed06fd070d071d072d073d074d075d076d077d078d079d07ad07bd07cd07dd07ed07fd080d081d082d083d084d085d086d087d088d089d08ad08bd08cd08dd08ed08fd090d091d092d093d094d095d096d097d098d099d09ad09bd09cd09dd09ed09fd0a0d0a1d0a2d0a3d0a4d0a5d0a6d0a7d0a8d0a9d0aad0abd0acd0add0aed0afd0b0d0b1d0b2d0b3d0b4d0b5d0b6d0b7d0b8d0b9d0bad0bbd0bcd0bdd0bed0bfd0c0d0c1d0c2d0c3d0c4d0c5d0c6d0c7d0c8d0c9d0cad0cbd0ccd0cdd0ced0cfd0d0d0d1d0d2d0d3d0d4d0d5d0d6d0d7d0d8d0d9d0dad0dbd0dcd0ddd0ded0dfd0e0d0e1d0e2d0e3d0e4d0e5d0e6d0e7d0e8d0e9d0ead0ebd0ecd0edd0eed0efd0f0d0f1d0f2d0f3d0f4d0f5d0f6d0f7d0f8d0f9d0fad0fbd0fcd0fdd0fed0ffd000d101d102d103d104d105d106d107d108d109d10ad10bd10cd10dd10ed10fd110d111d112d113d114d115d116d117d118d119d11ad11bd11cd11dd11ed11fd120d121d122d123d124d125d126d127d128d129d12ad12bd12cd12dd12ed12fd130d131d132d133d134d135d136d137d138d139d13ad13bd13cd13dd13ed13fd140d141d142d143d144d145d146d147d148d149d14ad14bd14cd14dd14ed14fd150d151d152d153d154d155d156d157d158d159d15ad15bd15cd15dd15ed15fd160d161d162d163d164d165d166d167d168d169d16ad16bd16cd16dd16ed16fd170d171d172d173d174d175d176d177d178d179d17ad17bd17cd17dd17ed17fd180d181d182d183d184d185d186d187d188d189d18ad18bd18cd18dd18ed18fd190d191d192d193d194d195d196d197d198d199d19ad19bd19cd19dd19ed19fd1a0d1a1d1a2d1a3d1a4d1a5d1a6d1a7d1a8d1a9d1aad1abd1acd1add1aed1afd1b0d1b1d1b2d1b3d1b4d1b5d1b6d1b7d1b8d1b9d1bad1bbd1bcd1bdd1bed1bfd1c0d1c1d1c2d1c3d1c4d1c5d1c6d1c7d1c8d1c9d1cad1cbd1ccd1cdd1ced1cfd1d0d1d1d1d2d1d3d1d4d1d5d1d6d1d7d1d8d1d9d1dad1dbd1dcd1ddd1ded1dfd1e0d1e1d1e2d1e3d1e4d1e5d1e6d1e7d1e8d1e9d1ead1ebd1ecd1edd1eed1efd1f0d1f1d1f2d1f3d1f4d1f5d1f6d1f7d1f8d1f9d1fad1fbd1fcd1fdd1fed1ffd100d201d202d203d204d205d206d207d208d209d20ad20bd20cd20dd20ed20fd210d211d212d213d214d215d216d217d218d219d21ad21bd21cd21dd21ed21fd220d221d222d223d224d225d226d227d228d229d22ad22bd22cd22dd22ed22fd230d231d232d233d234d235d236d237d238d239d23ad23bd23cd23dd23ed23fd240d241d242d243d244d245d246d247d248d249d24ad24bd24cd24dd24ed24fd250d251d252d253d254d255d256d257d258d259d25ad25bd25cd25dd25ed25fd260d261d262d263d264d265d266d267d268d269d26ad26bd26cd26dd26ed26fd270d271d272d273d274d275d276d277d278d279d27ad27bd27cd27dd27ed27fd280d281d282d283d284d285d286d287d288d289d28ad28bd28cd28dd28ed28fd290d291d292d293d294d295d296d297d298d299d29ad29bd29cd29dd29ed29fd2a0d2a1d2a2d2a3d2a4d2a5d2a6d2a7d2a8d2a9d2aad2abd2acd2add2aed2afd2b0d2b1d2b2d2b3d2b4d2b5d2b6d2b7d2b8d2b9d2bad2bbd2bcd2bdd2bed2bfd2c0d2c1d2c2d2c3d2c4d2c5d2c6d2c7d2c8d2c9d2cad2cbd2ccd2cdd2ced2cfd2d0d2d1d2d2d2d3d2d4d2d5d2d6d2d7d2d8d2d9d2dad2dbd2dcd2ddd2ded2dfd2e0d2e1d2e2d2e3d2e4d2e5d2e6d2e7d2e8d2e9d2ead2ebd2ecd2edd2eed2efd2f0d2f1d2f2d2f3d2f4d2f5d2f6d2f7d2f8d2f9d2fad2fbd2fcd2fdd2fed2ffd200d301d302d303d304d305d306d307d308d309d30ad30bd30cd30dd30ed30fd310d311d312d313d314d315d316d317d318d319d31ad31bd31cd31dd31ed31fd320d321d322d323d324d325d326d327d328d329d32ad32bd32cd32dd32ed32fd330d331d332d333d334d335d336d337d338d339d33ad33bd33cd33dd33ed33fd340d341d342d343d344d345d346d347d348d349d34ad34bd34cd34dd34ed34fd350d351d352d353d354d355d356d357d358d359d35ad35bd35cd35dd35ed35fd360d361d362d363d364d365d366d367d368d369d36ad36bd36cd36dd36ed36fd370d371d372d373d374d375d376d377d378d379d37ad37bd37cd37dd37ed37fd380d381d382d383d384d385d386d387d388d389d38ad38bd38cd38dd38ed38fd390d391d392d393d394d395d396d397d398d399d39ad39bd39cd39dd39ed39fd3a0d3a1d3a2d3a3d3a4d3a5d3a6d3a7d3a8d3a9d3aad3abd3acd3add3aed3afd3b0d3b1d3b2d3b3d3b4d3b5d3b6d3b7d3b8d3b9d3bad3bbd3bcd3bdd3bed3bfd3c0d3c1d3c2d3c3d3c4d3c5d3c6d3c7d3c8d3c9d3cad3cbd3ccd3cdd3ced3cfd3d0d3d1d3d2d3d3d3d4d3d5d3d6d3d7d3d8d3d9d3dad3dbd3dcd3ddd3ded3dfd3e0d3e1d3e2d3e3d3e4d3e5d3e6d3e7d3e8d3e9d3ead3ebd3ecd3edd3eed3efd3f0d3f1d3f2d3f3d3f4d3f5d3f6d3f7d3f8d3f9d3fad3fbd3fcd3fdd3fed3ffd300d401d402d403d404d405d406d407d408d409d40ad40bd40cd40dd40ed40fd410d411d412d413d414d415d416d417d418d419d41ad41bd41cd41dd41ed41fd420d421d422d423d424d425d426d427d428d429d42ad42bd42cd42dd42ed42fd430d431d432d433d434d435d436d437d438d439d43ad43bd43cd43dd43ed43fd440d441d442d443d444d445d446d447d448d449d44ad44bd44cd44dd44ed44fd450d451d452d453d454d455d456d457d458d459d45ad45bd45cd45dd45ed45fd460d461d462d463d464d465d466d467d468d469d46ad46bd46cd46dd46ed46fd470d471d472d473d474d475d476d477d478d479d47ad47bd47cd47dd47ed47fd480d481d482d483d484d485d486d487d488d489d48ad48bd48cd48dd48ed48fd490d491d492d493d494d495d496d497d498d499d49ad49bd49cd49dd49ed49fd4a0d4a1d4a2d4a3d4a4d4a5d4a6d4a7d4a8d4a9d4aad4abd4acd4add4aed4afd4b0d4b1d4b2d4b3d4b4d4b5d4b6d4b7d4b8d4b9d4bad4bbd4bcd4bdd4bed4bfd4c0d4c1d4c2d4c3d4c4d4c5d4c6d4c7d4c8d4c9d4cad4cbd4ccd4cdd4ced4cfd4d0d4d1d4d2d4d3d4d4d4d5d4d6d4d7d4d8d4d9d4dad4dbd4dcd4ddd4ded4dfd4e0d4e1d4e2d4e3d4e4d4e5d4e6d4e7d4e8d4e9d4ead4ebd4ecd4edd4eed4efd4f0d4f1d4f2d4f3d4f4d4f5d4f6d4f7d4f8d4f9d4fad4fbd4fcd4fdd4fed4ffd400d501d502d503d504d505d506d507d508d509d50ad50bd50cd50dd50ed50fd510d511d512d513d514d515d516d517d518d519d51ad51bd51cd51dd51ed51fd520d521d522d523d524d525d526d527d528d529d52ad52bd52cd52dd52ed52fd530d531d532d533d534d535d536d537d538d539d53ad53bd53cd53dd53ed53fd540d541d542d543d544d545d546d547d548d549d54ad54bd54cd54dd54ed54fd550d551d552d553d554d555d556d557d558d559d55ad55bd55cd55dd55ed55fd560d561d562d563d564d565d566d567d568d569d56ad56bd56cd56dd56ed56fd570d571d572d573d574d575d576d577d578d579d57ad57bd57cd57dd57ed57fd580d581d582d583d584d585d586d587d588d589d58ad58bd58cd58dd58ed58fd590d591d592d593d594d595d596d597d598d599d59ad59bd59cd59dd59ed59fd5a0d5a1d5a2d5a3d5a4d5a5d5a6d5a7d5a8d5a9d5aad5abd5acd5add5aed5afd5b0d5b1d5b2d5b3d5b4d5b5d5b6d5b7d5b8d5b9d5bad5bbd5bcd5bdd5bed5bfd5c0d5c1d5c2d5c3d5c4d5c5d5c6d5c7d5c8d5c9d5cad5cbd5ccd5cdd5ced5cfd5d0d5d1d5d2d5d3d5d4d5d5d5d6d5d7d5d8d5d9d5dad5dbd5dcd5ddd5ded5dfd5e0d5e1d5e2d5e3d5e4d5e5d5e6d5e7d5e8d5e9d5ead5ebd5ecd5edd5eed5efd5f0d5f1d5f2d5f3d5f4d5f5d5f6d5f7d5f8d5f9d5fad5fbd5fcd5fdd5fed5ffd500d601d602d603d604d605d606d607d608d609d60ad60bd60cd60dd60ed60fd610d611d612d613d614d615d616d617d618d619d61ad61bd61cd61dd61ed61fd620d621d622d623d624d625d626d627d628d629d62ad62bd62cd62dd62ed62fd630d631d632d633d634d635d636d637d638d639d63ad63bd63cd63dd63ed63fd640d641d642d643d644d645d646d647d648d649d64ad64bd64cd64dd64ed64fd650d651d652d653d654d655d656d657d658d659d65ad65bd65cd65dd65ed65fd660d661d662d663d664d665d666d667d668d669d66ad66bd66cd66dd66ed66fd670d671d672d673d674d675d676d677d678d679d67ad67bd67cd67dd67ed67fd680d681d682d683d684d685d686d687d688d689d68ad68bd68cd68dd68ed68fd690d691d692d693d694d695d696d697d698d699d69ad69bd69cd69dd69ed69fd6a0d6a1d6a2d6a3d6a4d6a5d6a6d6a7d6a8d6a9d6aad6abd6acd6add6aed6afd6b0d6b1d6b2d6b3d6b4d6b5d6b6d6b7d6b8d6b9d6bad6bbd6bcd6bdd6bed6bfd6c0d6c1d6c2d6c3d6c4d6c5d6c6d6c7d6c8d6c9d6cad6cbd6ccd6cdd6ced6cfd6d0d6d1d6d2d6d3d6d4d6d5d6d6d6d7d6d8d6d9d6dad6dbd6dcd6ddd6ded6dfd6e0d6e1d6e2d6e3d6e4d6e5d6e6d6e7d6e8d6e9d6ead6ebd6ecd6edd6eed6efd6f0d6f1d6f2d6f3d6f4d6f5d6f6d6f7d6f8d6f9d6fad6fbd6fcd6fdd6fed6ffd600d701d702d703d704d705d706d707d708d709d70ad70bd70cd70dd70ed70fd710d711d712d713d714d715d716d717d718d719d71ad71bd71cd71dd71ed71fd720d721d722d723d724d725d726d727d728d729d72ad72bd72cd72dd72ed72fd730d731d732d733d734d735d736d737d738d739d73ad73bd73cd73dd73ed73fd740d741d742d743d744d745d746d747d748d749d74ad74bd74cd74dd74ed74fd750d751d752d753d754d755d756d757d758d759d75ad75bd75cd75dd75ed75fd760d761d762d763d764d765d766d767d768d769d76ad76bd76cd76dd76ed76fd770d771d772d773d774d775d776d777d778d779d77ad77bd77cd77dd77ed77fd780d781d782d783d784d785d786d787d788d789d78ad78bd78cd78dd78ed78fd790d791d792d793d794d795d796d797d798d799d79ad79bd79cd79dd79ed79fd7a0d7a1d7a2d7a3d7a4d7a5d7a6d7a7d7a8d7a9d7aad7abd7acd7add7aed7afd7b0d7b1d7b2d7b3d7b4d7b5d7b6d7b7d7b8d7b9d7bad7bbd7bcd7bdd7bed7bfd7c0d7c1d7c2d7c3d7c4d7c5d7c6d7c7d7c8d7c9d7cad7cbd7ccd7cdd7ced7cfd7d0d7d1d7d2d7d3d7d4d7d5d7d6d7d7d7d8d7d9d7dad7dbd7dcd7ddd7ded7dfd7e0d7e1d7e2d7e3d7e4d7e5d7e6d7e7d7e8d7e9d7ead7ebd7ecd7edd7eed7efd7f0d7f1d7f2d7f3d7f4d7f5d7f6d7f7d7f8d7f9d7fad7fbd7fcd7fdd7fed7ffd700d801d802d803d804d805d806d807d808d809d80ad80bd80cd80dd80ed80fd810d811d812d813d814d815d816d817d818d819d81ad81bd81cd81dd81ed81fd820d821d822d823d824d825d826d827d828d829d82ad82bd82cd82dd82ed82fd830d831d832d833d834d835d836d837d838d839d83ad83bd83cd83dd83ed83fd840d841d842d843d844d845d846d847d848d849d84ad84bd84cd84dd84ed84fd850d851d852d853d854d855d856d857d858d859d85ad85bd85cd85dd85ed85fd860d861d862d863d864d865d866d867d868d869d86ad86bd86cd86dd86ed86fd870d871d872d873d874d875d876d877d878d879d87ad87bd87cd87dd87ed87fd880d881d882d883d884d885d886d887d888d889d88ad88bd88cd88dd88ed88fd890d891d892d893d894d895d896d897d898d899d89ad89bd89cd89dd89ed89fd8a0d8a1d8a2d8a3d8a4d8a5d8a6d8a7d8a8d8a9d8aad8abd8acd8add8aed8afd8b0d8b1d8b2d8b3d8b4d8b5d8b6d8b7d8b8d8b9d8bad8bbd8bcd8bdd8bed8bfd8c0d8c1d8c2d8c3d8c4d8c5d8c6d8c7d8c8d8c9d8cad8cbd8ccd8cdd8ced8cfd8d0d8d1d8d2d8d3d8d4d8d5d8d6d8d7d8d8d8d9d8dad8dbd8dcd8ddd8ded8dfd8e0d8e1d8e2d8e3d8e4d8e5d8e6d8e7d8e8d8e9d8ead8ebd8ecd8edd8eed8efd8f0d8f1d8f2d8f3d8f4d8f5d8f6d8f7d8f8d8f9d8fad8fbd8fcd8fdd8fed8ffd800d901d902d903d904d905d906d907d908d909d90ad90bd90cd90dd90ed90fd910d911d912d913d914d915d916d917d918d919d91ad91bd91cd91dd91ed91fd920d921d922d923d924d925d926d927d928d929d92ad92bd92cd92dd92ed92fd930d931d932d933d934d935d936d937d938d939d93ad93bd93cd93dd93ed93fd940d941d942d943d944d945d946d947d948d949d94ad94bd94cd94dd94ed94fd950d951d952d953d954d955d956d957d958d959d95ad95bd95cd95dd95ed95fd960d961d962d963d964d965d966d967d968d969d96ad96bd96cd96dd96ed96fd970d971d972d973d974d975d976d977d978d979d97ad97bd97cd97dd97ed97fd980d981d982d983d984d985d986d987d988d989d98ad98bd98cd98dd98ed98fd990d991d992d993d994d995d996d997d998d999d99ad99bd99cd99dd99ed99fd9a0d9a1d9a2d9a3d9a4d9a5d9a6d9a7d9a8d9a9d9aad9abd9acd9add9aed9afd9b0d9b1d9b2d9b3d9b4d9b5d9b6d9b7d9b8d9b9d9bad9bbd9bcd9bdd9bed9bfd9c0d9c1d9c2d9c3d9c4d9c5d9c6d9c7d9c8d9c9d9cad9cbd9ccd9cdd9ced9cfd9d0d9d1d9d2d9d3d9d4d9d5d9d6d9d7d9d8d9d9d9dad9dbd9dcd9ddd9ded9dfd9e0d9e1d9e2d9e3d9e4d9e5d9e6d9e7d9e8d9e9d9ead9ebd9ecd9edd9eed9efd9f0d9f1d9f2d9f3d9f4d9f5d9f6d9f7d9f8d9f9d9fad9fbd9fcd9fdd9fed9ffd900da01da02da03da04da05da06da07da08da09da0ada0bda0cda0dda0eda0fda10da11da12da13da14da15da16da17da18da19da1ada1bda1cda1dda1eda1fda20da21da22da23da24da25da26da27da28da29da2ada2bda2cda2dda2eda2fda30da31da32da33da34da35da36da37da38da39da3ada3bda3cda3dda3eda3fda40da41da42da43da44da45da46da47da48da49da4ada4bda4cda4dda4eda4fda50da51da52da53da54da55da56da57da58da59da5ada5bda5cda5dda5eda5fda60da61da62da63da64da65da66da67da68da69da6ada6bda6cda6dda6eda6fda70da71da72da73da74da75da76da77da78da79da7ada7bda7cda7dda7eda7fda80da81da82da83da84da85da86da87da88da89da8ada8bda8cda8dda8eda8fda90da91da92da93da94da95da96da97da98da99da9ada9bda9cda9dda9eda9fdaa0daa1daa2daa3daa4daa5daa6daa7daa8daa9daaadaabdaacdaaddaaedaafdab0dab1dab2dab3dab4dab5dab6dab7dab8dab9dabadabbdabcdabddabedabfdac0dac1dac2dac3dac4dac5dac6dac7dac8dac9dacadacbdaccdacddacedacfdad0dad1dad2dad3dad4dad5dad6dad7dad8dad9dadadadbdadcdadddadedadfdae0dae1dae2dae3dae4dae5dae6dae7dae8dae9daeadaebdaecdaeddaeedaefdaf0daf1daf2daf3daf4daf5daf6daf7daf8daf9dafadafbdafcdafddafedaffda00db01db02db03db04db05db06db07db08db09db0adb0bdb0cdb0ddb0edb0fdb10db11db12db13db14db15db16db17db18db19db1adb1bdb1cdb1ddb1edb1fdb20db21db22db23db24db25db26db27db28db29db2adb2bdb2cdb2ddb2edb2fdb30db31db32db33db34db35db36db37db38db39db3adb3bdb3cdb3ddb3edb3fdb40db41db42db43db44db45db46db47db48db49db4adb4bdb4cdb4ddb4edb4fdb50db51db52db53db54db55db56db57db58db59db5adb5bdb5cdb5ddb5edb5fdb60db61db62db63db64db65db66db67db68db69db6adb6bdb6cdb6ddb6edb6fdb70db71db72db73db74db75db76db77db78db79db7adb7bdb7cdb7ddb7edb7fdb80db81db82db83db84db85db86db87db88db89db8adb8bdb8cdb8ddb8edb8fdb90db91db92db93db94db95db96db97db98db99db9adb9bdb9cdb9ddb9edb9fdba0dba1dba2dba3dba4dba5dba6dba7dba8dba9dbaadbabdbacdbaddbaedbafdbb0dbb1dbb2dbb3dbb4dbb5dbb6dbb7dbb8dbb9dbbadbbbdbbcdbbddbbedbbfdbc0dbc1dbc2dbc3dbc4dbc5dbc6dbc7dbc8dbc9dbcadbcbdbccdbcddbcedbcfdbd0dbd1dbd2dbd3dbd4dbd5dbd6dbd7dbd8dbd9dbdadbdbdbdcdbdddbdedbdfdbe0dbe1dbe2dbe3dbe4dbe5dbe6dbe7dbe8dbe9dbeadbebdbecdbeddbeedbefdbf0dbf1dbf2dbf3dbf4dbf5dbf6dbf7dbf8dbf9dbfadbfbdbfcdbfddbfedbffdb00dc01dc02dc03dc04dc05dc06dc07dc08dc09dc0adc0bdc0cdc0ddc0edc0fdc10dc11dc12dc13dc14dc15dc16dc17dc18dc19dc1adc1bdc1cdc1ddc1edc1fdc20dc21dc22dc23dc24dc25dc26dc27dc28dc29dc2adc2bdc2cdc2ddc2edc2fdc30dc31dc32dc33dc34dc35dc36dc37dc38dc39dc3adc3bdc3cdc3ddc3edc3fdc40dc41dc42dc43dc44dc45dc46dc47dc48dc49dc4adc4bdc4cdc4ddc4edc4fdc50dc51dc52dc53dc54dc55dc56dc57dc58dc59dc5adc5bdc5cdc5ddc5edc5fdc60dc61dc62dc63dc64dc65dc66dc67dc68dc69dc6adc6bdc6cdc6ddc6edc6fdc70dc71dc72dc73dc74dc75dc76dc77dc78dc79dc7adc7bdc7cdc7ddc7edc7fdc80dc81dc82dc83dc84dc85dc86dc87dc88dc89dc8adc8bdc8cdc8ddc8edc8fdc90dc91dc92dc93dc94dc95dc96dc97dc98dc99dc9adc9bdc9cdc9ddc9edc9fdca0dca1dca2dca3dca4dca5dca6dca7dca8dca9dcaadcabdcacdcaddcaedcafdcb0dcb1dcb2dcb3dcb4dcb5dcb6dcb7dcb8dcb9dcbadcbbdcbcdcbddcbedcbfdcc0dcc1dcc2dcc3dcc4dcc5dcc6dcc7dcc8dcc9dccadccbdcccdccddccedccfdcd0dcd1dcd2dcd3dcd4dcd5dcd6dcd7dcd8dcd9dcdadcdbdcdcdcdddcdedcdfdce0dce1dce2dce3dce4dce5dce6dce7dce8dce9dceadcebdcecdceddceedcefdcf0dcf1dcf2dcf3dcf4dcf5dcf6dcf7dcf8dcf9dcfadcfbdcfcdcfddcfedcffdc00dd01dd02dd03dd04dd05dd06dd07dd08dd09dd0add0bdd0cdd0ddd0edd0fdd10dd11dd12dd13dd14dd15dd16dd17dd18dd19dd1add1bdd1cdd1ddd1edd1fdd20dd21dd22dd23dd24dd25dd26dd27dd28dd29dd2add2bdd2cdd2ddd2edd2fdd30dd31dd32dd33dd34dd35dd36dd37dd38dd39dd3add3bdd3cdd3ddd3edd3fdd40dd41dd42dd43dd44dd45dd46dd47dd48dd49dd4add4bdd4cdd4ddd4edd4fdd50dd51dd52dd53dd54dd55dd56dd57dd58dd59dd5add5bdd5cdd5ddd5edd5fdd60dd61dd62dd63dd64dd65dd66dd67dd68dd69dd6add6bdd6cdd6ddd6edd6fdd70dd71dd72dd73dd74dd75dd76dd77dd78dd79dd7add7bdd7cdd7ddd7edd7fdd80dd81dd82dd83dd84dd85dd86dd87dd88dd89dd8add8bdd8cdd8ddd8edd8fdd90dd91dd92dd93dd94dd95dd96dd97dd98dd99dd9add9bdd9cdd9ddd9edd9fdda0dda1dda2dda3dda4dda5dda6dda7dda8dda9ddaaddabddacddadddaeddafddb0ddb1ddb2ddb3ddb4ddb5ddb6ddb7ddb8ddb9ddbaddbbddbcddbdddbeddbfddc0ddc1ddc2ddc3ddc4ddc5ddc6ddc7ddc8ddc9ddcaddcbddccddcdddceddcfddd0ddd1ddd2ddd3ddd4ddd5ddd6ddd7ddd8ddd9dddadddbdddcdddddddedddfdde0dde1dde2dde3dde4dde5dde6dde7dde8dde9ddeaddebddecddedddeeddefddf0ddf1ddf2ddf3ddf4ddf5ddf6ddf7ddf8ddf9ddfaddfbddfcddfdddfeddffdd00de01de02de03de04de05de06de07de08de09de0ade0bde0cde0dde0ede0fde10de11de12de13de14de15de16de17de18de19de1ade1bde1cde1dde1ede1fde20de21de22de23de24de25de26de27de28de29de2ade2bde2cde2dde2ede2fde30de31de32de33de34de35de36de37de38de39de3ade3bde3cde3dde3ede3fde40de41de42de43de44de45de46de47de48de49de4ade4bde4cde4dde4ede4fde50de51de52de53de54de55de56de57de58de59de5ade5bde5cde5dde5ede5fde60de61de62de63de64de65de66de67de68de69de6ade6bde6cde6dde6ede6fde70de71de72de73de74de75de76de77de78de79de7ade7bde7cde7dde7ede7fde80de81de82de83de84de85de86de87de88de89de8ade8bde8cde8dde8ede8fde90de91de92de93de94de95de96de97de98de99de9ade9bde9cde9dde9ede9fdea0dea1dea2dea3dea4dea5dea6dea7dea8dea9deaadeabdeacdeaddeaedeafdeb0deb1deb2deb3deb4deb5deb6deb7deb8deb9debadebbdebcdebddebedebfdec0dec1dec2dec3dec4dec5dec6dec7dec8dec9decadecbdeccdecddecedecfded0ded1ded2ded3ded4ded5ded6ded7ded8ded9dedadedbdedcdedddedededfdee0dee1dee2dee3dee4dee5dee6dee7dee8dee9deeadeebdeecdeeddeeedeefdef0def1def2def3def4def5def6def7def8def9defadefbdefcdefddefedeffde00df01df02df03df04df05df06df07df08df09df0adf0bdf0cdf0ddf0edf0fdf10df11df12df13df14df15df16df17df18df19df1adf1bdf1cdf1ddf1edf1fdf20df21df22df23df24df25df26df27df28df29df2adf2bdf2cdf2ddf2edf2fdf30df31df32df33df34df35df36df37df38df39df3adf3bdf3cdf3ddf3edf3fdf40df41df42df43df44df45df46df47df48df49df4adf4bdf4cdf4ddf4edf4fdf50df51df52df53df54df55df56df57df58df59df5adf5bdf5cdf5ddf5edf5fdf60df61df62df63df64df65df66df67df68df69df6adf6bdf6cdf6ddf6edf6fdf70df71df72df73df74df75df76df77df78df79df7adf7bdf7cdf7ddf7edf7fdf80df81df82df83df84df85df86df87df88df89df8adf8bdf8cdf8ddf8edf8fdf90df91df92df93df94df95df96df97df98df99df9adf9bdf9cdf9ddf9edf9fdfa0dfa1dfa2dfa3dfa4dfa5dfa6dfa7dfa8dfa9dfaadfabdfacdfaddfaedfafdfb0dfb1dfb2dfb3dfb4dfb5dfb6dfb7dfb8dfb9dfbadfbbdfbcdfbddfbedfbfdfc0dfc1dfc2dfc3dfc4dfc5dfc6dfc7dfc8dfc9dfcadfcbdfccdfcddfcedfcfdfd0dfd1dfd2dfd3dfd4dfd5dfd6dfd7dfd8dfd9dfdadfdbdfdcdfdddfdedfdfdfe0dfe1dfe2dfe3dfe4dfe5dfe6dfe7dfe8dfe9dfeadfebdfecdfeddfeedfefdff0dff1dff2dff3dff4dff5dff6dff7dff8dff9dffadffbdffcdffddffedfffdf00e001e002e003e004e005e006e007e008e009e00ae00be00ce00de00ee00fe010e011e012e013e014e015e016e017e018e019e01ae01be01ce01de01ee01fe020e021e022e023e024e025e026e027e028e029e02ae02be02ce02de02ee02fe030e031e032e033e034e035e036e037e038e039e03ae03be03ce03de03ee03fe040e041e042e043e044e045e046e047e048e049e04ae04be04ce04de04ee04fe050e051e052e053e054e055e056e057e058e059e05ae05be05ce05de05ee05fe060e061e062e063e064e065e066e067e068e069e06ae06be06ce06de06ee06fe070e071e072e073e074e075e076e077e078e079e07ae07be07ce07de07ee07fe080e081e082e083e084e085e086e087e088e089e08ae08be08ce08de08ee08fe090e091e092e093e094e095e096e097e098e099e09ae09be09ce09de09ee09fe0a0e0a1e0a2e0a3e0a4e0a5e0a6e0a7e0a8e0a9e0aae0abe0ace0ade0aee0afe0b0e0b1e0b2e0b3e0b4e0b5e0b6e0b7e0b8e0b9e0bae0bbe0bce0bde0bee0bfe0c0e0c1e0c2e0c3e0c4e0c5e0c6e0c7e0c8e0c9e0cae0cbe0cce0cde0cee0cfe0d0e0d1e0d2e0d3e0d4e0d5e0d6e0d7e0d8e0d9e0dae0dbe0dce0dde0dee0dfe0e0e0e1e0e2e0e3e0e4e0e5e0e6e0e7e0e8e0e9e0eae0ebe0ece0ede0eee0efe0f0e0f1e0f2e0f3e0f4e0f5e0f6e0f7e0f8e0f9e0fae0fbe0fce0fde0fee0ffe000e101e102e103e104e105e106e107e108e109e10ae10be10ce10de10ee10fe110e111e112e113e114e115e116e117e118e119e11ae11be11ce11de11ee11fe120e121e122e123e124e125e126e127e128e129e12ae12be12ce12de12ee12fe130e131e132e133e134e135e136e137e138e139e13ae13be13ce13de13ee13fe140e141e142e143e144e145e146e147e148e149e14ae14be14ce14de14ee14fe150e151e152e153e154e155e156e157e158e159e15ae15be15ce15de15ee15fe160e161e162e163e164e165e166e167e168e169e16ae16be16ce16de16ee16fe170e171e172e173e174e175e176e177e178e179e17ae17be17ce17de17ee17fe180e181e182e183e184e185e186e187e188e189e18ae18be18ce18de18ee18fe190e191e192e193e194e195e196e197e198e199e19ae19be19ce19de19ee19fe1a0e1a1e1a2e1a3e1a4e1a5e1a6e1a7e1a8e1a9e1aae1abe1ace1ade1aee1afe1b0e1b1e1b2e1b3e1b4e1b5e1b6e1b7e1b8e1b9e1bae1bbe1bce1bde1bee1bfe1c0e1c1e1c2e1c3e1c4e1c5e1c6e1c7e1c8e1c9e1cae1cbe1cce1cde1cee1cfe1d0e1d1e1d2e1d3e1d4e1d5e1d6e1d7e1d8e1d9e1dae1dbe1dce1dde1dee1dfe1e0e1e1e1e2e1e3e1e4e1e5e1e6e1e7e1e8e1e9e1eae1ebe1ece1ede1eee1efe1f0e1f1e1f2e1f3e1f4e1f5e1f6e1f7e1f8e1f9e1fae1fbe1fce1fde1fee1ffe100e201e202e203e204e205e206e207e208e209e20ae20be20ce20de20ee20fe210e211e212e213e214e215e216e217e218e219e21ae21be21ce21de21ee21fe220e221e222e223e224e225e226e227e228e229e22ae22be22ce22de22ee22fe230e231e232e233e234e235e236e237e238e239e23ae23be23ce23de23ee23fe240e241e242e243e244e245e246e247e248e249e24ae24be24ce24de24ee24fe250e251e252e253e254e255e256e257e258e259e25ae25be25ce25de25ee25fe260e261e262e263e264e265e266e267e268e269e26ae26be26ce26de26ee26fe270e271e272e273e274e275e276e277e278e279e27ae27be27ce27de27ee27fe280e281e282e283e284e285e286e287e288e289e28ae28be28ce28de28ee28fe290e291e292e293e294e295e296e297e298e299e29ae29be29ce29de29ee29fe2a0e2a1e2a2e2a3e2a4e2a5e2a6e2a7e2a8e2a9e2aae2abe2ace2ade2aee2afe2b0e2b1e2b2e2b3e2b4e2b5e2b6e2b7e2b8e2b9e2bae2bbe2bce2bde2bee2bfe2c0e2c1e2c2e2c3e2c4e2c5e2c6e2c7e2c8e2c9e2cae2cbe2cce2cde2cee2cfe2d0e2d1e2d2e2d3e2d4e2d5e2d6e2d7e2d8e2d9e2dae2dbe2dce2dde2dee2dfe2e0e2e1e2e2e2e3e2e4e2e5e2e6e2e7e2e8e2e9e2eae2ebe2ece2ede2eee2efe2f0e2f1e2f2e2f3e2f4e2f5e2f6e2f7e2f8e2f9e2fae2fbe2fce2fde2fee2ffe200e301e302e303e304e305e306e307e308e309e30ae30be30ce30de30ee30fe310e311e312e313e314e315e316e317e318e319e31ae31be31ce31de31ee31fe320e321e322e323e324e325e326e327e328e329e32ae32be32ce32de32ee32fe330e331e332e333e334e335e336e337e338e339e33ae33be33ce33de33ee33fe340e341e342e343e344e345e346e347e348e349e34ae34be34ce34de34ee34fe350e351e352e353e354e355e356e357e358e359e35ae35be35ce35de35ee35fe360e361e362e363e364e365e366e367e368e369e36ae36be36ce36de36ee36fe370e371e372e373e374e375e376e377e378e379e37ae37be37ce37de37ee37fe380e381e382e383e384e385e386e387e388e389e38ae38be38ce38de38ee38fe390e391e392e393e394e395e396e397e398e399e39ae39be39ce39de39ee39fe3a0e3a1e3a2e3a3e3a4e3a5e3a6e3a7e3a8e3a9e3aae3abe3ace3ade3aee3afe3b0e3b1e3b2e3b3e3b4e3b5e3b6e3b7e3b8e3b9e3bae3bbe3bce3bde3bee3bfe3c0e3c1e3c2e3c3e3c4e3c5e3c6e3c7e3c8e3c9e3cae3cbe3cce3cde3cee3cfe3d0e3d1e3d2e3d3e3d4e3d5e3d6e3d7e3d8e3d9e3dae3dbe3dce3dde3dee3dfe3e0e3e1e3e2e3e3e3e4e3e5e3e6e3e7e3e8e3e9e3eae3ebe3ece3ede3eee3efe3f0e3f1e3f2e3f3e3f4e3f5e3f6e3f7e3f8e3f9e3fae3fbe3fce3fde3fee3ffe300e401e402e403e404e405e406e407e408e409e40ae40be40ce40de40ee40fe410e411e412e413e414e415e416e417e418e419e41ae41be41ce41de41ee41fe420e421e422e423e424e425e426e427e428e429e42ae42be42ce42de42ee42fe430e431e432e433e434e435e436e437e438e439e43ae43be43ce43de43ee43fe440e441e442e443e444e445e446e447e448e449e44ae44be44ce44de44ee44fe450e451e452e453e454e455e456e457e458e459e45ae45be45ce45de45ee45fe460e461e462e463e464e465e466e467e468e469e46ae46be46ce46de46ee46fe470e471e472e473e474e475e476e477e478e479e47ae47be47ce47de47ee47fe480e481e482e483e484e485e486e487e488e489e48ae48be48ce48de48ee48fe490e491e492e493e494e495e496e497e498e499e49ae49be49ce49de49ee49fe4a0e4a1e4a2e4a3e4a4e4a5e4a6e4a7e4a8e4a9e4aae4abe4ace4ade4aee4afe4b0e4b1e4b2e4b3e4b4e4b5e4b6e4b7e4b8e4b9e4bae4bbe4bce4bde4bee4bfe4c0e4c1e4c2e4c3e4c4e4c5e4c6e4c7e4c8e4c9e4cae4cbe4cce4cde4cee4cfe4d0e4d1e4d2e4d3e4d4e4d5e4d6e4d7e4d8e4d9e4dae4dbe4dce4dde4dee4dfe4e0e4e1e4e2e4e3e4e4e4e5e4e6e4e7e4e8e4e9e4eae4ebe4ece4ede4eee4efe4f0e4f1e4f2e4f3e4f4e4f5e4f6e4f7e4f8e4f9e4fae4fbe4fce4fde4fee4ffe400e501e502e503e504e505e506e507e508e509e50ae50be50ce50de50ee50fe510e511e512e513e514e515e516e517e518e519e51ae51be51ce51de51ee51fe520e521e522e523e524e525e526e527e528e529e52ae52be52ce52de52ee52fe530e531e532e533e534e535e536e537e538e539e53ae53be53ce53de53ee53fe540e541e542e543e544e545e546e547e548e549e54ae54be54ce54de54ee54fe550e551e552e553e554e555e556e557e558e559e55ae55be55ce55de55ee55fe560e561e562e563e564e565e566e567e568e569e56ae56be56ce56de56ee56fe570e571e572e573e574e575e576e577e578e579e57ae57be57ce57de57ee57fe580e581e582e583e584e585e586e587e588e589e58ae58be58ce58de58ee58fe590e591e592e593e594e595e596e597e598e599e59ae59be59ce59de59ee59fe5a0e5a1e5a2e5a3e5a4e5a5e5a6e5a7e5a8e5a9e5aae5abe5ace5ade5aee5afe5b0e5b1e5b2e5b3e5b4e5b5e5b6e5b7e5b8e5b9e5bae5bbe5bce5bde5bee5bfe5c0e5c1e5c2e5c3e5c4e5c5e5c6e5c7e5c8e5c9e5cae5cbe5cce5cde5cee5cfe5d0e5d1e5d2e5d3e5d4e5d5e5d6e5d7e5d8e5d9e5dae5dbe5dce5dde5dee5dfe5e0e5e1e5e2e5e3e5e4e5e5e5e6e5e7e5e8e5e9e5eae5ebe5ece5ede5eee5efe5f0e5f1e5f2e5f3e5f4e5f5e5f6e5f7e5f8e5f9e5fae5fbe5fce5fde5fee5ffe500e601e602e603e604e605e606e607e608e609e60ae60be60ce60de60ee60fe610e611e612e613e614e615e616e617e618e619e61ae61be61ce61de61ee61fe620e621e622e623e624e625e626e627e628e629e62ae62be62ce62de62ee62fe630e631e632e633e634e635e636e637e638e639e63ae63be63ce63de63ee63fe640e641e642e643e644e645e646e647e648e649e64ae64be64ce64de64ee64fe650e651e652e653e654e655e656e657e658e659e65ae65be65ce65de65ee65fe660e661e662e663e664e665e666e667e668e669e66ae66be66ce66de66ee66fe670e671e672e673e674e675e676e677e678e679e67ae67be67ce67de67ee67fe680e681e682e683e684e685e686e687e688e689e68ae68be68ce68de68ee68fe690e691e692e693e694e695e696e697e698e699e69ae69be69ce69de69ee69fe6a0e6a1e6a2e6a3e6a4e6a5e6a6e6a7e6a8e6a9e6aae6abe6ace6ade6aee6afe6b0e6b1e6b2e6b3e6b4e6b5e6b6e6b7e6b8e6b9e6bae6bbe6bce6bde6bee6bfe6c0e6c1e6c2e6c3e6c4e6c5e6c6e6c7e6c8e6c9e6cae6cbe6cce6cde6cee6cfe6d0e6d1e6d2e6d3e6d4e6d5e6d6e6d7e6d8e6d9e6dae6dbe6dce6dde6dee6dfe6e0e6e1e6e2e6e3e6e4e6e5e6e6e6e7e6e8e6e9e6eae6ebe6ece6ede6eee6efe6f0e6f1e6f2e6f3e6f4e6f5e6f6e6f7e6f8e6f9e6fae6fbe6fce6fde6fee6ffe600e701e702e703e704e705e706e707e708e709e70ae70be70ce70de70ee70fe710e711e712e713e714e715e716e717e718e719e71ae71be71ce71de71ee71fe720e721e722e723e724e725e726e727e728e729e72ae72be72ce72de72ee72fe730e731e732e733e734e735e736e737e738e739e73ae73be73ce73de73ee73fe740e741e742e743e744e745e746e747e748e749e74ae74be74ce74de74ee74fe750e751e752e753e754e755e756e757e758e759e75ae75be75ce75de75ee75fe760e761e762e763e764e765e766e767e768e769e76ae76be76ce76de76ee76fe770e771e772e773e774e775e776e777e778e779e77ae77be77ce77de77ee77fe780e781e782e783e784e785e786e787e788e789e78ae78be78ce78de78ee78fe790e791e792e793e794e795e796e797e798e799e79ae79be79ce79de79ee79fe7a0e7a1e7a2e7a3e7a4e7a5e7a6e7a7e7a8e7a9e7aae7abe7ace7ade7aee7afe7b0e7b1e7b2e7b3e7b4e7b5e7b6e7b7e7b8e7b9e7bae7bbe7bce7bde7bee7bfe7c0e7c1e7c2e7c3e7c4e7c5e7c6e7c7e7c8e7c9e7cae7cbe7cce7cde7cee7cfe7d0e7d1e7d2e7d3e7d4e7d5e7d6e7d7e7d8e7d9e7dae7dbe7dce7dde7dee7dfe7e0e7e1e7e2e7e3e7e4e7e5e7e6e7e7e7e8e7e9e7eae7ebe7ece7ede7eee7efe7f0e7f1e7f2e7f3e7f4e7f5e7f6e7f7e7f8e7f9e7fae7fbe7fce7fde7fee7ffe700e801e802e803e804e805e806e807e808e809e80ae80be80ce80de80ee80fe810e811e812e813e814e815e816e817e818e819e81ae81be81ce81de81ee81fe820e821e822e823e824e825e826e827e828e829e82ae82be82ce82de82ee82fe830e831e832e833e834e835e836e837e838e839e83ae83be83ce83de83ee83fe840e841e842e843e844e845e846e847e848e849e84ae84be84ce84de84ee84fe850e851e852e853e854e855e856e857e858e859e85ae85be85ce85de85ee85fe860e861e862e863e864e865e866e867e868e869e86ae86be86ce86de86ee86fe870e871e872e873e874e875e876e877e878e879e87ae87be87ce87de87ee87fe880e881e882e883e884e885e886e887e888e889e88ae88be88ce88de88ee88fe890e891e892e893e894e895e896e897e898e899e89ae89be89ce89de89ee89fe8a0e8a1e8a2e8a3e8a4e8a5e8a6e8a7e8a8e8a9e8aae8abe8ace8ade8aee8afe8b0e8b1e8b2e8b3e8b4e8b5e8b6e8b7e8b8e8b9e8bae8bbe8bce8bde8bee8bfe8c0e8c1e8c2e8c3e8c4e8c5e8c6e8c7e8c8e8c9e8cae8cbe8cce8cde8cee8cfe8d0e8d1e8d2e8d3e8d4e8d5e8d6e8d7e8d8e8d9e8dae8dbe8dce8dde8dee8dfe8e0e8e1e8e2e8e3e8e4e8e5e8e6e8e7e8e8e8e9e8eae8ebe8ece8ede8eee8efe8f0e8f1e8f2e8f3e8f4e8f5e8f6e8f7e8f8e8f9e8fae8fbe8fce8fde8fee8ffe800e901e902e903e904e905e906e907e908e909e90ae90be90ce90de90ee90fe910e911e912e913e914e915e916e917e918e919e91ae91be91ce91de91ee91fe920e921e922e923e924e925e926e927e928e929e92ae92be92ce92de92ee92fe930e931e932e933e934e935e936e937e938e939e93ae93be93ce93de93ee93fe940e941e942e943e944e945e946e947e948e949e94ae94be94ce94de94ee94fe950e951e952e953e954e955e956e957e958e959e95ae95be95ce95de95ee95fe960e961e962e963e964e965e966e967e968e969e96ae96be96ce96de96ee96fe970e971e972e973e974e975e976e977e978e979e97ae97be97ce97de97ee97fe980e981e982e983e984e985e986e987e988e989e98ae98be98ce98de98ee98fe990e991e992e993e994e995e996e997e998e999e99ae99be99ce99de99ee99fe9a0e9a1e9a2e9a3e9a4e9a5e9a6e9a7e9a8e9a9e9aae9abe9ace9ade9aee9afe9b0e9b1e9b2e9b3e9b4e9b5e9b6e9b7e9b8e9b9e9bae9bbe9bce9bde9bee9bfe9c0e9c1e9c2e9c3e9c4e9c5e9c6e9c7e9c8e9c9e9cae9cbe9cce9cde9cee9cfe9d0e9d1e9d2e9d3e9d4e9d5e9d6e9d7e9d8e9d9e9dae9dbe9dce9dde9dee9dfe9e0e9e1e9e2e9e3e9e4e9e5e9e6e9e7e9e8e9e9e9eae9ebe9ece9ede9eee9efe9f0e9f1e9f2e9f3e9f4e9f5e9f6e9f7e9f8e9f9e9fae9fbe9fce9fde9fee9ffe900ea01ea02ea03ea04ea05ea06ea07ea08ea09ea0aea0bea0cea0dea0eea0fea10ea11ea12ea13ea14ea15ea16ea17ea18ea19ea1aea1bea1cea1dea1eea1fea20ea21ea22ea23ea24ea25ea26ea27ea28ea29ea2aea2bea2cea2dea2eea2fea30ea31ea32ea33ea34ea35ea36ea37ea38ea39ea3aea3bea3cea3dea3eea3fea40ea41ea42ea43ea44ea45ea46ea47ea48ea49ea4aea4bea4cea4dea4eea4fea50ea51ea52ea53ea54ea55ea56ea57ea58ea59ea5aea5bea5cea5dea5eea5fea60ea61ea62ea63ea64ea65ea66ea67ea68ea69ea6aea6bea6cea6dea6eea6fea70ea71ea72ea73ea74ea75ea76ea77ea78ea79ea7aea7bea7cea7dea7eea7fea80ea81ea82ea83ea84ea85ea86ea87ea88ea89ea8aea8bea8cea8dea8eea8fea90ea91ea92ea93ea94ea95ea96ea97ea98ea99ea9aea9bea9cea9dea9eea9feaa0eaa1eaa2eaa3eaa4eaa5eaa6eaa7eaa8eaa9eaaaeaabeaaceaadeaaeeaafeab0eab1eab2eab3eab4eab5eab6eab7eab8eab9eabaeabbeabceabdeabeeabfeac0eac1eac2eac3eac4eac5eac6eac7eac8eac9eacaeacbeacceacdeaceeacfead0ead1ead2ead3ead4ead5ead6ead7ead8ead9eadaeadbeadceaddeadeeadfeae0eae1eae2eae3eae4eae5eae6eae7eae8eae9eaeaeaebeaeceaedeaeeeaefeaf0eaf1eaf2eaf3eaf4eaf5eaf6eaf7eaf8eaf9eafaeafbeafceafdeafeeaffea00eb01eb02eb03eb04eb05eb06eb07eb08eb09eb0aeb0beb0ceb0deb0eeb0feb10eb11eb12eb13eb14eb15eb16eb17eb18eb19eb1aeb1beb1ceb1deb1eeb1feb20eb21eb22eb23eb24eb25eb26eb27eb28eb29eb2aeb2beb2ceb2deb2eeb2feb30eb31eb32eb33eb34eb35eb36eb37eb38eb39eb3aeb3beb3ceb3deb3eeb3feb40eb41eb42eb43eb44eb45eb46eb47eb48eb49eb4aeb4beb4ceb4deb4eeb4feb50eb51eb52eb53eb54eb55eb56eb57eb58eb59eb5aeb5beb5ceb5deb5eeb5feb60eb61eb62eb63eb64eb65eb66eb67eb68eb69eb6aeb6beb6ceb6deb6eeb6feb70eb71eb72eb73eb74eb75eb76eb77eb78eb79eb7aeb7beb7ceb7deb7eeb7feb80eb81eb82eb83eb84eb85eb86eb87eb88eb89eb8aeb8beb8ceb8deb8eeb8feb90eb91eb92eb93eb94eb95eb96eb97eb98eb99eb9aeb9beb9ceb9deb9eeb9feba0eba1eba2eba3eba4eba5eba6eba7eba8eba9ebaaebabebacebadebaeebafebb0ebb1ebb2ebb3ebb4ebb5ebb6ebb7ebb8ebb9ebbaebbbebbcebbdebbeebbfebc0ebc1ebc2ebc3ebc4ebc5ebc6ebc7ebc8ebc9ebcaebcbebccebcdebceebcfebd0ebd1ebd2ebd3ebd4ebd5ebd6ebd7ebd8ebd9ebdaebdbebdcebddebdeebdfebe0ebe1ebe2ebe3ebe4ebe5ebe6ebe7ebe8ebe9ebeaebebebecebedebeeebefebf0ebf1ebf2ebf3ebf4ebf5ebf6ebf7ebf8ebf9ebfaebfbebfcebfdebfeebffeb00ec01ec02ec03ec04ec05ec06ec07ec08ec09ec0aec0bec0cec0dec0eec0fec10ec11ec12ec13ec14ec15ec16ec17ec18ec19ec1aec1bec1cec1dec1eec1fec20ec21ec22ec23ec24ec25ec26ec27ec28ec29ec2aec2bec2cec2dec2eec2fec30ec31ec32ec33ec34ec35ec36ec37ec38ec39ec3aec3bec3cec3dec3eec3fec40ec41ec42ec43ec44ec45ec46ec47ec48ec49ec4aec4bec4cec4dec4eec4fec50ec51ec52ec53ec54ec55ec56ec57ec58ec59ec5aec5bec5cec5dec5eec5fec60ec61ec62ec63ec64ec65ec66ec67ec68ec69ec6aec6bec6cec6dec6eec6fec70ec71ec72ec73ec74ec75ec76ec77ec78ec79ec7aec7bec7cec7dec7eec7fec80ec81ec82ec83ec84ec85ec86ec87ec88ec89ec8aec8bec8cec8dec8eec8fec90ec91ec92ec93ec94ec95ec96ec97ec98ec99ec9aec9bec9cec9dec9eec9feca0eca1eca2eca3eca4eca5eca6eca7eca8eca9ecaaecabecacecadecaeecafecb0ecb1ecb2ecb3ecb4ecb5ecb6ecb7ecb8ecb9ecbaecbbecbcecbdecbeecbfecc0ecc1ecc2ecc3ecc4ecc5ecc6ecc7ecc8ecc9eccaeccbeccceccdecceeccfecd0ecd1ecd2ecd3ecd4ecd5ecd6ecd7ecd8ecd9ecdaecdbecdcecddecdeecdfece0ece1ece2ece3ece4ece5ece6ece7ece8ece9eceaecebecececedeceeecefecf0ecf1ecf2ecf3ecf4ecf5ecf6ecf7ecf8ecf9ecfaecfbecfcecfdecfeecffec00ed01ed02ed03ed04ed05ed06ed07ed08ed09ed0aed0bed0ced0ded0eed0fed10ed11ed12ed13ed14ed15ed16ed17ed18ed19ed1aed1bed1ced1ded1eed1fed20ed21ed22ed23ed24ed25ed26ed27ed28ed29ed2aed2bed2ced2ded2eed2fed30ed31ed32ed33ed34ed35ed36ed37ed38ed39ed3aed3bed3ced3ded3eed3fed40ed41ed42ed43ed44ed45ed46ed47ed48ed49ed4aed4bed4ced4ded4eed4fed50ed51ed52ed53ed54ed55ed56ed57ed58ed59ed5aed5bed5ced5ded5eed5fed60ed61ed62ed63ed64ed65ed66ed67ed68ed69ed6aed6bed6ced6ded6eed6fed70ed71ed72ed73ed74ed75ed76ed77ed78ed79ed7aed7bed7ced7ded7eed7fed80ed81ed82ed83ed84ed85ed86ed87ed88ed89ed8aed8bed8ced8ded8eed8fed90ed91ed92ed93ed94ed95ed96ed97ed98ed99ed9aed9bed9ced9ded9eed9feda0eda1eda2eda3eda4eda5eda6eda7eda8eda9edaaedabedacedadedaeedafedb0edb1edb2edb3edb4edb5edb6edb7edb8edb9edbaedbbedbcedbdedbeedbfedc0edc1edc2edc3edc4edc5edc6edc7edc8edc9edcaedcbedccedcdedceedcfedd0edd1edd2edd3edd4edd5edd6edd7edd8edd9eddaeddbeddcedddeddeeddfede0ede1ede2ede3ede4ede5ede6ede7ede8ede9edeaedebedecedededeeedefedf0edf1edf2edf3edf4edf5edf6edf7edf8edf9edfaedfbedfcedfdedfeedffed00ee01ee02ee03ee04ee05ee06ee07ee08ee09ee0aee0bee0cee0dee0eee0fee10ee11ee12ee13ee14ee15ee16ee17ee18ee19ee1aee1bee1cee1dee1eee1fee20ee21ee22ee23ee24ee25ee26ee27ee28ee29ee2aee2bee2cee2dee2eee2fee30ee31ee32ee33ee34ee35ee36ee37ee38ee39ee3aee3bee3cee3dee3eee3fee40ee41ee42ee43ee44ee45ee46ee47ee48ee49ee4aee4bee4cee4dee4eee4fee50ee51ee52ee53ee54ee55ee56ee57ee58ee59ee5aee5bee5cee5dee5eee5fee60ee61ee62ee63ee64ee65ee66ee67ee68ee69ee6aee6bee6cee6dee6eee6fee70ee71ee72ee73ee74ee75ee76ee77ee78ee79ee7aee7bee7cee7dee7eee7fee80ee81ee82ee83ee84ee85ee86ee87ee88ee89ee8aee8bee8cee8dee8eee8fee90ee91ee92ee93ee94ee95ee96ee97ee98ee99ee9aee9bee9cee9dee9eee9feea0eea1eea2eea3eea4eea5eea6eea7eea8eea9eeaaeeabeeaceeadeeaeeeafeeb0eeb1eeb2eeb3eeb4eeb5eeb6eeb7eeb8eeb9eebaeebbeebceebdeebeeebfeec0eec1eec2eec3eec4eec5eec6eec7eec8eec9eecaeecbeecceecdeeceeecfeed0eed1eed2eed3eed4eed5eed6eed7eed8eed9eedaeedbeedceeddeedeeedfeee0eee1eee2eee3eee4eee5eee6eee7eee8eee9eeeaeeebeeeceeedeeeeeeefeef0eef1eef2eef3eef4eef5eef6eef7eef8eef9eefaeefbeefceefdeefeeeffee00ef01ef02ef03ef04ef05ef06ef07ef08ef09ef0aef0bef0cef0def0eef0fef10ef11ef12ef13ef14ef15ef16ef17ef18ef19ef1aef1bef1cef1def1eef1fef20ef21ef22ef23ef24ef25ef26ef27ef28ef29ef2aef2bef2cef2def2eef2fef30ef31ef32ef33ef34ef35ef36ef37ef38ef39ef3aef3bef3cef3def3eef3fef40ef41ef42ef43ef44ef45ef46ef47ef48ef49ef4aef4bef4cef4def4eef4fef50ef51ef52ef53ef54ef55ef56ef57ef58ef59ef5aef5bef5cef5def5eef5fef60ef61ef62ef63ef64ef65ef66ef67ef68ef69ef6aef6bef6cef6def6eef6fef70ef71ef72ef73ef74ef75ef76ef77ef78ef79ef7aef7bef7cef7def7eef7fef80ef81ef82ef83ef84ef85ef86ef87ef88ef89ef8aef8bef8cef8def8eef8fef90ef91ef92ef93ef94ef95ef96ef97ef98ef99ef9aef9bef9cef9def9eef9fefa0efa1efa2efa3efa4efa5efa6efa7efa8efa9efaaefabefacefadefaeefafefb0efb1efb2efb3efb4efb5efb6efb7efb8efb9efbaefbbefbcefbdefbeefbfefc0efc1efc2efc3efc4efc5efc6efc7efc8efc9efcaefcbefccefcdefceefcfefd0efd1efd2efd3efd4efd5efd6efd7efd8efd9efdaefdbefdcefddefdeefdfefe0efe1efe2efe3efe4efe5efe6efe7efe8efe9efeaefebefecefedefeeefefeff0eff1eff2eff3eff4eff5eff6eff7eff8eff9effaeffbeffceffdeffeefffef00f001f002f003f004f005f006f007f008f009f00af00bf00cf00df00ef00ff010f011f012f013f014f015f016f017f018f019f01af01bf01cf01df01ef01ff020f021f022f023f024f025f026f027f028f029f02af02bf02cf02df02ef02ff030f031f032f033f034f035f036f037f038f039f03af03bf03cf03df03ef03ff040f041f042f043f044f045f046f047f048f049f04af04bf04cf04df04ef04ff050f051f052f053f054f055f056f057f058f059f05af05bf05cf05df05ef05ff060f061f062f063f064f065f066f067f068f069f06af06bf06cf06df06ef06ff070f071f072f073f074f075f076f077f078f079f07af07bf07cf07df07ef07ff080f081f082f083f084f085f086f087f088f089f08af08bf08cf08df08ef08ff090f091f092f093f094f095f096f097f098f099f09af09bf09cf09df09ef09ff0a0f0a1f0a2f0a3f0a4f0a5f0a6f0a7f0a8f0a9f0aaf0abf0acf0adf0aef0aff0b0f0b1f0b2f0b3f0b4f0b5f0b6f0b7f0b8f0b9f0baf0bbf0bcf0bdf0bef0bff0c0f0c1f0c2f0c3f0c4f0c5f0c6f0c7f0c8f0c9f0caf0cbf0ccf0cdf0cef0cff0d0f0d1f0d2f0d3f0d4f0d5f0d6f0d7f0d8f0d9f0daf0dbf0dcf0ddf0def0dff0e0f0e1f0e2f0e3f0e4f0e5f0e6f0e7f0e8f0e9f0eaf0ebf0ecf0edf0eef0eff0f0f0f1f0f2f0f3f0f4f0f5f0f6f0f7f0f8f0f9f0faf0fbf0fcf0fdf0fef0fff000f101f102f103f104f105f106f107f108f109f10af10bf10cf10df10ef10ff110f111f112f113f114f115f116f117f118f119f11af11bf11cf11df11ef11ff120f121f122f123f124f125f126f127f128f129f12af12bf12cf12df12ef12ff130f131f132f133f134f135f136f137f138f139f13af13bf13cf13df13ef13ff140f141f142f143f144f145f146f147f148f149f14af14bf14cf14df14ef14ff150f151f152f153f154f155f156f157f158f159f15af15bf15cf15df15ef15ff160f161f162f163f164f165f166f167f168f169f16af16bf16cf16df16ef16ff170f171f172f173f174f175f176f177f178f179f17af17bf17cf17df17ef17ff180f181f182f183f184f185f186f187f188f189f18af18bf18cf18df18ef18ff190f191f192f193f194f195f196f197f198f199f19af19bf19cf19df19ef19ff1a0f1a1f1a2f1a3f1a4f1a5f1a6f1a7f1a8f1a9f1aaf1abf1acf1adf1aef1aff1b0f1b1f1b2f1b3f1b4f1b5f1b6f1b7f1b8f1b9f1baf1bbf1bcf1bdf1bef1bff1c0f1c1f1c2f1c3f1c4f1c5f1c6f1c7f1c8f1c9f1caf1cbf1ccf1cdf1cef1cff1d0f1d1f1d2f1d3f1d4f1d5f1d6f1d7f1d8f1d9f1daf1dbf1dcf1ddf1def1dff1e0f1e1f1e2f1e3f1e4f1e5f1e6f1e7f1e8f1e9f1eaf1ebf1ecf1edf1eef1eff1f0f1f1f1f2f1f3f1f4f1f5f1f6f1f7f1f8f1f9f1faf1fbf1fcf1fdf1fef1fff100f201f202f203f204f205f206f207f208f209f20af20bf20cf20df20ef20ff210f211f212f213f214f215f216f217f218f219f21af21bf21cf21df21ef21ff220f221f222f223f224f225f226f227f228f229f22af22bf22cf22df22ef22ff230f231f232f233f234f235f236f237f238f239f23af23bf23cf23df23ef23ff240f241f242f243f244f245f246f247f248f249f24af24bf24cf24df24ef24ff250f251f252f253f254f255f256f257f258f259f25af25bf25cf25df25ef25ff260f261f262f263f264f265f266f267f268f269f26af26bf26cf26df26ef26ff270f271f272f273f274f275f276f277f278f279f27af27bf27cf27df27ef27ff280f281f282f283f284f285f286f287f288f289f28af28bf28cf28df28ef28ff290f291f292f293f294f295f296f297f298f299f29af29bf29cf29df29ef29ff2a0f2a1f2a2f2a3f2a4f2a5f2a6f2a7f2a8f2a9f2aaf2abf2acf2adf2aef2aff2b0f2b1f2b2f2b3f2b4f2b5f2b6f2b7f2b8f2b9f2baf2bbf2bcf2bdf2bef2bff2c0f2c1f2c2f2c3f2c4f2c5f2c6f2c7f2c8f2c9f2caf2cbf2ccf2cdf2cef2cff2d0f2d1f2d2f2d3f2d4f2d5f2d6f2d7f2d8f2d9f2daf2dbf2dcf2ddf2def2dff2e0f2e1f2e2f2e3f2e4f2e5f2e6f2e7f2e8f2e9f2eaf2ebf2ecf2edf2eef2eff2f0f2f1f2f2f2f3f2f4f2f5f2f6f2f7f2f8f2f9f2faf2fbf2fcf2fdf2fef2fff200f301f302f303f304f305f306f307f308f309f30af30bf30cf30df30ef30ff310f311f312f313f314f315f316f317f318f319f31af31bf31cf31df31ef31ff320f321f322f323f324f325f326f327f328f329f32af32bf32cf32df32ef32ff330f331f332f333f334f335f336f337f338f339f33af33bf33cf33df33ef33ff340f341f342f343f344f345f346f347f348f349f34af34bf34cf34df34ef34ff350f351f352f353f354f355f356f357f358f359f35af35bf35cf35df35ef35ff360f361f362f363f364f365f366f367f368f369f36af36bf36cf36df36ef36ff370f371f372f373f374f375f376f377f378f379f37af37bf37cf37df37ef37ff380f381f382f383f384f385f386f387f388f389f38af38bf38cf38df38ef38ff390f391f392f393f394f395f396f397f398f399f39af39bf39cf39df39ef39ff3a0f3a1f3a2f3a3f3a4f3a5f3a6f3a7f3a8f3a9f3aaf3abf3acf3adf3aef3aff3b0f3b1f3b2f3b3f3b4f3b5f3b6f3b7f3b8f3b9f3baf3bbf3bcf3bdf3bef3bff3c0f3c1f3c2f3c3f3c4f3c5f3c6f3c7f3c8f3c9f3caf3cbf3ccf3cdf3cef3cff3d0f3d1f3d2f3d3f3d4f3d5f3d6f3d7f3d8f3d9f3daf3dbf3dcf3ddf3def3dff3e0f3e1f3e2f3e3f3e4f3e5f3e6f3e7f3e8f3e9f3eaf3ebf3ecf3edf3eef3eff3f0f3f1f3f2f3f3f3f4f3f5f3f6f3f7f3f8f3f9f3faf3fbf3fcf3fdf3fef3fff300f401f402f403f404f405f406f407f408f409f40af40bf40cf40df40ef40ff410f411f412f413f414f415f416f417f418f419f41af41bf41cf41df41ef41ff420f421f422f423f424f425f426f427f428f429f42af42bf42cf42df42ef42ff430f431f432f433f434f435f436f437f438f439f43af43bf43cf43df43ef43ff440f441f442f443f444f445f446f447f448f449f44af44bf44cf44df44ef44ff450f451f452f453f454f455f456f457f458f459f45af45bf45cf45df45ef45ff460f461f462f463f464f465f466f467f468f469f46af46bf46cf46df46ef46ff470f471f472f473f474f475f476f477f478f479f47af47bf47cf47df47ef47ff480f481f482f483f484f485f486f487f488f489f48af48bf48cf48df48ef48ff490f491f492f493f494f495f496f497f498f499f49af49bf49cf49df49ef49ff4a0f4a1f4a2f4a3f4a4f4a5f4a6f4a7f4a8f4a9f4aaf4abf4acf4adf4aef4aff4b0f4b1f4b2f4b3f4b4f4b5f4b6f4b7f4b8f4b9f4baf4bbf4bcf4bdf4bef4bff4c0f4c1f4c2f4c3f4c4f4c5f4c6f4c7f4c8f4c9f4caf4cbf4ccf4cdf4cef4cff4d0f4d1f4d2f4d3f4d4f4d5f4d6f4d7f4d8f4d9f4daf4dbf4dcf4ddf4def4dff4e0f4e1f4e2f4e3f4e4f4e5f4e6f4e7f4e8f4e9f4eaf4ebf4ecf4edf4eef4eff4f0f4f1f4f2f4f3f4f4f4f5f4f6f4f7f4f8f4f9f4faf4fbf4fcf4fdf4fef4fff400f501f502f503f504f505f506f507f508f509f50af50bf50cf50df50ef50ff510f511f512f513f514f515f516f517f518f519f51af51bf51cf51df51ef51ff520f521f522f523f524f525f526f527f528f529f52af52bf52cf52df52ef52ff530f531f532f533f534f535f536f537f538f539f53af53bf53cf53df53ef53ff540f541f542f543f544f545f546f547f548f549f54af54bf54cf54df54ef54ff550f551f552f553f554f555f556f557f558f559f55af55bf55cf55df55ef55ff560f561f562f563f564f565f566f567f568f569f56af56bf56cf56df56ef56ff570f571f572f573f574f575f576f577f578f579f57af57bf57cf57df57ef57ff580f581f582f583f584f585f586f587f588f589f58af58bf58cf58df58ef58ff590f591f592f593f594f595f596f597f598f599f59af59bf59cf59df59ef59ff5a0f5a1f5a2f5a3f5a4f5a5f5a6f5a7f5a8f5a9f5aaf5abf5acf5adf5aef5aff5b0f5b1f5b2f5b3f5b4f5b5f5b6f5b7f5b8f5b9f5baf5bbf5bcf5bdf5bef5bff5c0f5c1f5c2f5c3f5c4f5c5f5c6f5c7f5c8f5c9f5caf5cbf5ccf5cdf5cef5cff5d0f5d1f5d2f5d3f5d4f5d5f5d6f5d7f5d8f5d9f5daf5dbf5dcf5ddf5def5dff5e0f5e1f5e2f5e3f5e4f5e5f5e6f5e7f5e8f5e9f5eaf5ebf5ecf5edf5eef5eff5f0f5f1f5f2f5f3f5f4f5f5f5f6f5f7f5f8f5f9f5faf5fbf5fcf5fdf5fef5fff500f601f602f603f604f605f606f607f608f609f60af60bf60cf60df60ef60ff610f611f612f613f614f615f616f617f618f619f61af61bf61cf61df61ef61ff620f621f622f623f624f625f626f627f628f629f62af62bf62cf62df62ef62ff630f631f632f633f634f635f636f637f638f639f63af63bf63cf63df63ef63ff640f641f642f643f644f645f646f647f648f649f64af64bf64cf64df64ef64ff650f651f652f653f654f655f656f657f658f659f65af65bf65cf65df65ef65ff660f661f662f663f664f665f666f667f668f669f66af66bf66cf66df66ef66ff670f671f672f673f674f675f676f677f678f679f67af67bf67cf67df67ef67ff680f681f682f683f684f685f686f687f688f689f68af68bf68cf68df68ef68ff690f691f692f693f694f695f696f697f698f699f69af69bf69cf69df69ef69ff6a0f6a1f6a2f6a3f6a4f6a5f6a6f6a7f6a8f6a9f6aaf6abf6acf6adf6aef6aff6b0f6b1f6b2f6b3f6b4f6b5f6b6f6b7f6b8f6b9f6baf6bbf6bcf6bdf6bef6bff6c0f6c1f6c2f6c3f6c4f6c5f6c6f6c7f6c8f6c9f6caf6cbf6ccf6cdf6cef6cff6d0f6d1f6d2f6d3f6d4f6d5f6d6f6d7f6d8f6d9f6daf6dbf6dcf6ddf6def6dff6e0f6e1f6e2f6e3f6e4f6e5f6e6f6e7f6e8f6e9f6eaf6ebf6ecf6edf6eef6eff6f0f6f1f6f2f6f3f6f4f6f5f6f6f6f7f6f8f6f9f6faf6fbf6fcf6fdf6fef6fff600f701f702f703f704f705f706f707f708f709f70af70bf70cf70df70ef70ff710f711f712f713f714f715f716f717f718f719f71af71bf71cf71df71ef71ff720f721f722f723f724f725f726f727f728f729f72af72bf72cf72df72ef72ff730f731f732f733f734f735f736f737f738f739f73af73bf73cf73df73ef73ff740f741f742f743f744f745f746f747f748f749f74af74bf74cf74df74ef74ff750f751f752f753f754f755f756f757f758f759f75af75bf75cf75df75ef75ff760f761f762f763f764f765f766f767f768f769f76af76bf76cf76df76ef76ff770f771f772f773f774f775f776f777f778f779f77af77bf77cf77df77ef77ff780f781f782f783f784f785f786f787f788f789f78af78bf78cf78df78ef78ff790f791f792f793f794f795f796f797f798f799f79af79bf79cf79df79ef79ff7a0f7a1f7a2f7a3f7a4f7a5f7a6f7a7f7a8f7a9f7aaf7abf7acf7adf7aef7aff7b0f7b1f7b2f7b3f7b4f7b5f7b6f7b7f7b8f7b9f7baf7bbf7bcf7bdf7bef7bff7c0f7c1f7c2f7c3f7c4f7c5f7c6f7c7f7c8f7c9f7caf7cbf7ccf7cdf7cef7cff7d0f7d1f7d2f7d3f7d4f7d5f7d6f7d7f7d8f7d9f7daf7dbf7dcf7ddf7def7dff7e0f7e1f7e2f7e3f7e4f7e5f7e6f7e7f7e8f7e9f7eaf7ebf7ecf7edf7eef7eff7f0f7f1f7f2f7f3f7f4f7f5f7f6f7f7f7f8f7f9f7faf7fbf7fcf7fdf7fef7fff700f801f802f803f804f805f806f807f808f809f80af80bf80cf80df80ef80ff810f811f812f813f814f815f816f817f818f819f81af81bf81cf81df81ef81ff820f821f822f823f824f825f826f827f828f829f82af82bf82cf82df82ef82ff830f831f832f833f834f835f836f837f838f839f83af83bf83cf83df83ef83ff840f841f842f843f844f845f846f847f848f849f84af84bf84cf84df84ef84ff850f851f852f853f854f855f856f857f858f859f85af85bf85cf85df85ef85ff860f861f862f863f864f865f866f867f868f869f86af86bf86cf86df86ef86ff870f871f872f873f874f875f876f877f878f879f87af87bf87cf87df87ef87ff880f881f882f883f884f885f886f887f888f889f88af88bf88cf88df88ef88ff890f891f892f893f894f895f896f897f898f899f89af89bf89cf89df89ef89ff8a0f8a1f8a2f8a3f8a4f8a5f8a6f8a7f8a8f8a9f8aaf8abf8acf8adf8aef8aff8b0f8b1f8b2f8b3f8b4f8b5f8b6f8b7f8b8f8b9f8baf8bbf8bcf8bdf8bef8bff8c0f8c1f8c2f8c3f8c4f8c5f8c6f8c7f8c8f8c9f8caf8cbf8ccf8cdf8cef8cff8d0f8d1f8d2f8d3f8d4f8d5f8d6f8d7f8d8f8d9f8daf8dbf8dcf8ddf8def8dff8e0f8e1f8e2f8e3f8e4f8e5f8e6f8e7f8e8f8e9f8eaf8ebf8ecf8edf8eef8eff8f0f8f1f8f2f8f3f8f4f8f5f8f6f8f7f8f8f8f9f8faf8fbf8fcf8fdf8fef8fff800f901f902f903f904f905f906f907f908f909f90af90bf90cf90df90ef90ff910f911f912f913f914f915f916f917f918f919f91af91bf91cf91df91ef91ff920f921f922f923f924f925f926f927f928f929f92af92bf92cf92df92ef92ff930f931f932f933f934f935f936f937f938f939f93af93bf93cf93df93ef93ff940f941f942f943f944f945f946f947f948f949f94af94bf94cf94df94ef94ff950f951f952f953f954f955f956f957f958f959f95af95bf95cf95df95ef95ff960f961f962f963f964f965f966f967f968f969f96af96bf96cf96df96ef96ff970f971f972f973f974f975f976f977f978f979f97af97bf97cf97df97ef97ff980f981f982f983f984f985f986f987f988f989f98af98bf98cf98df98ef98ff990f991f992f993f994f995f996f997f998f999f99af99bf99cf99df99ef99ff9a0f9a1f9a2f9a3f9a4f9a5f9a6f9a7f9a8f9a9f9aaf9abf9acf9adf9aef9aff9b0f9b1f9b2f9b3f9b4f9b5f9b6f9b7f9b8f9b9f9baf9bbf9bcf9bdf9bef9bff9c0f9c1f9c2f9c3f9c4f9c5f9c6f9c7f9c8f9c9f9caf9cbf9ccf9cdf9cef9cff9d0f9d1f9d2f9d3f9d4f9d5f9d6f9d7f9d8f9d9f9daf9dbf9dcf9ddf9def9dff9e0f9e1f9e2f9e3f9e4f9e5f9e6f9e7f9e8f9e9f9eaf9ebf9ecf9edf9eef9eff9f0f9f1f9f2f9f3f9f4f9f5f9f6f9f7f9f8f9f9f9faf9fbf9fcf9fdf9fef9fff900fa01fa02fa03fa04fa05fa06fa07fa08fa09fa0afa0bfa0cfa0dfa0efa0ffa10fa11fa12fa13fa14fa15fa16fa17fa18fa19fa1afa1bfa1cfa1dfa1efa1ffa20fa21fa22fa23fa24fa25fa26fa27fa28fa29fa2afa2bfa2cfa2dfa2efa2ffa30fa31fa32fa33fa34fa35fa36fa37fa38fa39fa3afa3bfa3cfa3dfa3efa3ffa40fa41fa42fa43fa44fa45fa46fa47fa48fa49fa4afa4bfa4cfa4dfa4efa4ffa50fa51fa52fa53fa54fa55fa56fa57fa58fa59fa5afa5bfa5cfa5dfa5efa5ffa60fa61fa62fa63fa64fa65fa66fa67fa68fa69fa6afa6bfa6cfa6dfa6efa6ffa70fa71fa72fa73fa74fa75fa76fa77fa78fa79fa7afa7bfa7cfa7dfa7efa7ffa80fa81fa82fa83fa84fa85fa86fa87fa88fa89fa8afa8bfa8cfa8dfa8efa8ffa90fa91fa92fa93fa94fa95fa96fa97fa98fa99fa9afa9bfa9cfa9dfa9efa9ffaa0faa1faa2faa3faa4faa5faa6faa7faa8faa9faaafaabfaacfaadfaaefaaffab0fab1fab2fab3fab4fab5fab6fab7fab8fab9fabafabbfabcfabdfabefabffac0fac1fac2fac3fac4fac5fac6fac7fac8fac9facafacbfaccfacdfacefacffad0fad1fad2fad3fad4fad5fad6fad7fad8fad9fadafadbfadcfaddfadefadffae0fae1fae2fae3fae4fae5fae6fae7fae8fae9faeafaebfaecfaedfaeefaeffaf0faf1faf2faf3faf4faf5faf6faf7faf8faf9fafafafbfafcfafdfafefafffa00fb01fb02fb03fb04fb05fb06fb07fb08fb09fb0afb0bfb0cfb0dfb0efb0ffb10fb11fb12fb13fb14fb15fb16fb17fb18fb19fb1afb1bfb1cfb1dfb1efb1ffb20fb21fb22fb23fb24fb25fb26fb27fb28fb29fb2afb2bfb2cfb2dfb2efb2ffb30fb31fb32fb33fb34fb35fb36fb37fb38fb39fb3afb3bfb3cfb3dfb3efb3ffb40fb41fb42fb43fb44fb45fb46fb47fb48fb49fb4afb4bfb4cfb4dfb4efb4ffb50fb51fb52fb53fb54fb55fb56fb57fb58fb59fb5afb5bfb5cfb5dfb5efb5ffb60fb61fb62fb63fb64fb65fb66fb67fb68fb69fb6afb6bfb6cfb6dfb6efb6ffb70fb71fb72fb73fb74fb75fb76fb77fb78fb79fb7afb7bfb7cfb7dfb7efb7ffb80fb81fb82fb83fb84fb85fb86fb87fb88fb89fb8afb8bfb8cfb8dfb8efb8ffb90fb91fb92fb93fb94fb95fb96fb97fb98fb99fb9afb9bfb9cfb9dfb9efb9ffba0fba1fba2fba3fba4fba5fba6fba7fba8fba9fbaafbabfbacfbadfbaefbaffbb0fbb1fbb2fbb3fbb4fbb5fbb6fbb7fbb8fbb9fbbafbbbfbbcfbbdfbbefbbffbc0fbc1fbc2fbc3fbc4fbc5fbc6fbc7fbc8fbc9fbcafbcbfbccfbcdfbcefbcffbd0fbd1fbd2fbd3fbd4fbd5fbd6fbd7fbd8fbd9fbdafbdbfbdcfbddfbdefbdffbe0fbe1fbe2fbe3fbe4fbe5fbe6fbe7fbe8fbe9fbeafbebfbecfbedfbeefbeffbf0fbf1fbf2fbf3fbf4fbf5fbf6fbf7fbf8fbf9fbfafbfbfbfcfbfdfbfefbfffb00fc01fc02fc03fc04fc05fc06fc07fc08fc09fc0afc0bfc0cfc0dfc0efc0ffc10fc11fc12fc13fc14fc15fc16fc17fc18fc19fc1afc1bfc1cfc1dfc1efc1ffc20fc21fc22fc23fc24fc25fc26fc27fc28fc29fc2afc2bfc2cfc2dfc2efc2ffc30fc31fc32fc33fc34fc35fc36fc37fc38fc39fc3afc3bfc3cfc3dfc3efc3ffc40fc41fc42fc43fc44fc45fc46fc47fc48fc49fc4afc4bfc4cfc4dfc4efc4ffc50fc51fc52fc53fc54fc55fc56fc57fc58fc59fc5afc5bfc5cfc5dfc5efc5ffc60fc61fc62fc63fc64fc65fc66fc67fc68fc69fc6afc6bfc6cfc6dfc6efc6ffc70fc71fc72fc73fc74fc75fc76fc77fc78fc79fc7afc7bfc7cfc7dfc7efc7ffc80fc81fc82fc83fc84fc85fc86fc87fc88fc89fc8afc8bfc8cfc8dfc8efc8ffc90fc91fc92fc93fc94fc95fc96fc97fc98fc99fc9afc9bfc9cfc9dfc9efc9ffca0fca1fca2fca3fca4fca5fca6fca7fca8fca9fcaafcabfcacfcadfcaefcaffcb0fcb1fcb2fcb3fcb4fcb5fcb6fcb7fcb8fcb9fcbafcbbfcbcfcbdfcbefcbffcc0fcc1fcc2fcc3fcc4fcc5fcc6fcc7fcc8fcc9fccafccbfcccfccdfccefccffcd0fcd1fcd2fcd3fcd4fcd5fcd6fcd7fcd8fcd9fcdafcdbfcdcfcddfcdefcdffce0fce1fce2fce3fce4fce5fce6fce7fce8fce9fceafcebfcecfcedfceefceffcf0fcf1fcf2fcf3fcf4fcf5fcf6fcf7fcf8fcf9fcfafcfbfcfcfcfdfcfefcfffc00fd01fd02fd03fd04fd05fd06fd07fd08fd09fd0afd0bfd0cfd0dfd0efd0ffd10fd11fd12fd13fd14fd15fd16fd17fd18fd19fd1afd1bfd1cfd1dfd1efd1ffd20fd21fd22fd23fd24fd25fd26fd27fd28fd29fd2afd2bfd2cfd2dfd2efd2ffd30fd31fd32fd33fd34fd35fd36fd37fd38fd39fd3afd3bfd3cfd3dfd3efd3ffd40fd41fd42fd43fd44fd45fd46fd47fd48fd49fd4afd4bfd4cfd4dfd4efd4ffd50fd51fd52fd53fd54fd55fd56fd57fd58fd59fd5afd5bfd5cfd5dfd5efd5ffd60fd61fd62fd63fd64fd65fd66fd67fd68fd69fd6afd6bfd6cfd6dfd6efd6ffd70fd71fd72fd73fd74fd75fd76fd77fd78fd79fd7afd7bfd7cfd7dfd7efd7ffd80fd81fd82fd83fd84fd85fd86fd87fd88fd89fd8afd8bfd8cfd8dfd8efd8ffd90fd91fd92fd93fd94fd95fd96fd97fd98fd99fd9afd9bfd9cfd9dfd9efd9ffda0fda1fda2fda3fda4fda5fda6fda7fda8fda9fdaafdabfdacfdadfdaefdaffdb0fdb1fdb2fdb3fdb4fdb5fdb6fdb7fdb8fdb9fdbafdbbfdbcfdbdfdbefdbffdc0fdc1fdc2fdc3fdc4fdc5fdc6fdc7fdc8fdc9fdcafdcbfdccfdcdfdcefdcffdd0fdd1fdd2fdd3fdd4fdd5fdd6fdd7fdd8fdd9fddafddbfddcfdddfddefddffde0fde1fde2fde3fde4fde5fde6fde7fde8fde9fdeafdebfdecfdedfdeefdeffdf0fdf1fdf2fdf3fdf4fdf5fdf6fdf7fdf8fdf9fdfafdfbfdfcfdfdfdfefdfffd00fe01fe02fe03fe04fe05fe06fe07fe08fe09fe0afe0bfe0cfe0dfe0efe0ffe10fe11fe12fe13fe14fe15fe16fe17fe18fe19fe1afe1bfe1cfe1dfe1efe1ffe20fe21fe22fe23fe24fe25fe26fe27fe28fe29fe2afe2bfe2cfe2dfe2efe2ffe30fe31fe32fe33fe34fe35fe36fe37fe38fe39fe3afe3bfe3cfe3dfe3efe3ffe40fe41fe42fe43fe44fe45fe46fe47fe48fe49fe4afe4bfe4cfe4dfe4efe4ffe50fe51fe52fe53fe54fe55fe56fe57fe58fe59fe5afe5bfe5cfe5dfe5efe5ffe60fe61fe62fe63fe64fe65fe66fe67fe68fe69fe6afe6bfe6cfe6dfe6efe6ffe70fe71fe72fe73fe74fe75fe76fe77fe78fe79fe7afe7bfe7cfe7dfe7efe7ffe80fe81fe82fe83fe84fe85fe86fe87fe88fe89fe8afe8bfe8cfe8dfe8efe8ffe90fe91fe92fe93fe94fe95fe96fe97fe98fe99fe9afe9bfe9cfe9dfe9efe9ffea0fea1fea2fea3fea4fea5fea6fea7fea8fea9feaafeabfeacfeadfeaefeaffeb0feb1feb2feb3feb4feb5feb6feb7feb8feb9febafebbfebcfebdfebefebffec0fec1fec2fec3fec4fec5fec6fec7fec8fec9fecafecbfeccfecdfecefecffed0fed1fed2fed3fed4fed5fed6fed7fed8fed9fedafedbfedcfeddfedefedffee0fee1fee2fee3fee4fee5fee6fee7fee8fee9feeafeebfeecfeedfeeefeeffef0fef1fef2fef3fef4fef5fef6fef7fef8fef9fefafefbfefcfefdfefefefffe00ff01ff02ff03ff04ff05ff06ff07ff08ff09ff0aff0bff0cff0dff0eff0fff10ff11ff12ff13ff14ff15ff16ff17ff18ff19ff1aff1bff1cff1dff1eff1fff20ff21ff22ff23ff24ff25ff26ff27ff28ff29ff2aff2bff2cff2dff2eff2fff30ff31ff32ff33ff34ff35ff36ff37ff38ff39ff3aff3bff3cff3dff3eff3fff40ff21ff22ff23ff24ff25ff26ff27ff28ff29ff2aff2bff2cff2dff2eff2fff30ff31ff32ff33ff34ff35ff36ff37ff38ff39ff3aff5bff5cff5dff5eff5fff60ff61ff62ff63ff64ff65ff66ff67ff68ff69ff6aff6bff6cff6dff6eff6fff70ff71ff72ff73ff74ff75ff76ff77ff78ff79ff7aff7bff7cff7dff7eff7fff80ff81ff82ff83ff84ff85ff86ff87ff88ff89ff8aff8bff8cff8dff8eff8fff90ff91ff92ff93ff94ff95ff96ff97ff98ff99ff9aff9bff9cff9dff9eff9fffa0ffa1ffa2ffa3ffa4ffa5ffa6ffa7ffa8ffa9ffaaffabffacffadffaeffafffb0ffb1ffb2ffb3ffb4ffb5ffb6ffb7ffb8ffb9ffbaffbbffbcffbdffbeffbfffc0ffc1ffc2ffc3ffc4ffc5ffc6ffc7ffc8ffc9ffcaffcbffccffcdffceffcfffd0ffd1ffd2ffd3ffd4ffd5ffd6ffd7ffd8ffd9ffdaffdbffdcffddffdeffdfffe0ffe1ffe2ffe3ffe4ffe5ffe6ffe7ffe8ffe9ffeaffebffecffedffeeffeffff0fff1fff2fff3fff4fff5fff6fff7fff8fff9fffafffbfffcfffdfffeffffff", 0x20000, 0x88000}, {&(0x7f0000045700)="46494c453000050000000000000000000100010040000100a0010000000800000000000000000000040000000000000008000000000000000000000000000000100000006000000000001800000000004800000018000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000300000006800000000001800000002004a00000018000100050000000000050080052e00c88dd60180052e00c88dd60180052e00c88dd60180052e00c88dd60100d800000000000000d80000000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000004a000000000000004000000000000000005802000000000000300200000000000030020000000000114b080000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000008000000000000100000000000000010000000000000001101040000000000ffffffff00000000", 0x1a0, 0xff800}, {&(0x7f0000045900)='\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, 0xff9e0}, {&(0x7f0000045a00)='\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, 0xffbe0}, {&(0x7f0000045b00)='\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}, {&(0x7f0000045c00)="000000000000000000000000000000000000000000000000000000000000080046494c4530000500000000000000000001000100400001006001000000080000000000000000000003000000010000000200000000000000000000000000000010000000600000000000180000000000480000001800000080052e00c88dd60180052e00c88dd60180052e00c88dd60180052e00c88dd60106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050080052e00c88dd60180052e00c88dd60180052e00c88dd60180052e00c88dd601002000000000000000200000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000030000000000000040000000000000000020000000000000002000000000000000200000000000002104ff0100000000ffffffff00000000", 0x180, 0xfffe0}, {&(0x7f0000045e00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1001e0}, {&(0x7f0000045f00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1003e0}, {&(0x7f0000046000)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1005e0}, {&(0x7f0000046100)="000000000000000000000000000000000000000000000000000000000000020046494c4530000500000000000000000002000100400001006001000000080000000000000000000003000000020000000200000000000000000000000000000010000000600000000000180000000000480000001800000080052e00c88dd60180052e00c88dd60180052e00c88dd60180052e00c88dd60106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050080052e00c88dd60180052e00c88dd60180052e00c88dd60180052e00c88dd601000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000007f0000000000000040000000000000000000040000000000000004000000000000000400000000002280000302000000ffffffff00000000", 0x180, 0x1007e0}, {&(0x7f0000046300)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1009e0}, {&(0x7f0000046400)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x100be0}, {&(0x7f0000046500)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x100de0}, {&(0x7f0000046600)="000000000000000000000000000000000000000000000000000000000000020046494c453000050000000000000000000300010040000100e801000000080000000000000000000006000000030000000200000000000000000000000000000010000000480000000000180000000000300000001800000080052e00c88dd60180052e00c88dd60180052e00c88dd60180052e00c88dd60106000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050080052e00c88dd60180052e00c88dd60180052e00c88dd60180052e00c88dd6010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c0000001800000000000000000000000301000000000000800000001800000000001800000003000000000018000000ffffffff00000000000000000000000000000000000000000000000000000200", 0x220, 0x100fe0}, {&(0x7f0000046900)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1013e0}, {&(0x7f0000046a00)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x1015e0}, {&(0x7f0000046b00)="0000000000000000000000000000000000000000000000000000000000000200ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x40020, 0x1017e0}, {&(0x7f0000086c00)="eb52904e5446532020202000080100000000000000f8000000000000000000000000000080008000ff030000000000000800000000000000ff010000000000000100000002000000a3b8b20fcf7aa836000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b2e20506c6561736520696e73657274206120626f6f7461626c6520666c6f70707920616e640d0a707265737320616e79206b657920746f2074727920616761696e202e2e2e200d0a00"/224, 0xe0, 0x1ff800}, {&(0x7f0000086d00)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1ff9e0}], 0x0, &(0x7f0000000040)=ANY=[@ANYBLOB='\x00\x00\x00\x00\x00']) 07:26:37 executing program 4: r0 = memfd_create(&(0x7f0000000300)='\xfd\x0fm3#/\x00n\xaa\xaa\xe4\x01U\x8b\xc2\f\x03\x19\x9c\x8e\xcb\x90\x00\x00\xaegQ\x0e\x94\\y\x0fU2@\'\x8a\x80\x00$\x12\xfc\xe4.)\x9b\xf2@\xf0\xe0\xdb\x1f\xe6\xb4gc\x13\xda\xf9\xcd7el\xb7\xe6\b\x00\x00\x00\x00\xef\xff\x00vob/~\xc2\x00\b\x00\x00\x00\x00\x00\x00 \xff\xf1\xdem\x9c\xfa\xb4q\xbb\x7fN\xd1\r%;%\xb5\"\xe4\xf1x2\x8a\x19p\x04\\\xaa-\x93\xd1\xc4 )\xbf\x8c\x19\r\x81j\x88d\x9d%\x97\x15\xf0\xab\x86\x90k\x10\xcer\x14\xe0a\xaf\xab\xfe\xd9V\x19\xa5d\x16\x8e]:3\xff\t\xe6\xf7\xb3\xbf\x8e\xc0\xe8\xefd\x88\xddz\xa25)\x17\xef\xfb4\xff\xdb\t\x8e\xeb\x1d\\\xf9\x14\xc7\v\xa8\x89\xdb A\xbaBAj\xfe\x18\xc3-+\xd6\xb0K\xee\x1b+\xc7lA\x84\xa6\xfe\x8bU<&\x1a\xe7m\x86\xb7\xa1A\xf9\x02S;C\x99\a.$K\x833\x82\x7f\x1b\'nj\x06\b\xb7\xe8] \x87A[y\xdc\x14\f\xcet\x00\x1f\x0f\xef\xca\xcfz\x7f\an0\xebB\xb8}&\xdd\xc9\x12?\xc7zL\x01\r-~\xaa\x80\xec\xc7\xf1\xdf\xf8\x80\\\x1c8\xfe\xc4\xe3\xb0\x90\xcb\x8b1r\x94\x85\xda\xa3\xe1\xc3\x84\xa0\xc9+\xad\x81Ks\xba\xbbC6\xd6\x13\xb5\xe086EzD\x18\xd5\x16\x88E\xc6\xf0A9\xf1u\xb3\x85\x02\x12\\Sp\xf4\x9a\xe8\x96^\xe6\xa8K\x12\b}\xff\xcb{\xc6\xf6\xb4\x8b\xb6\xa8p\xf2\x90\x03\xd6\xb2\xd6Y\xf2\x91\xeeR\v#\xb5)\xb0\x99\x9b-p\xe3\x17\x04\xb0\xdc\x0fk\x11\xe1\x9a\a\x16\xb7\x9b\x88\xfa\x1e`\x84$\xfc\xd7\xf5^X\x98[}\x032\xd0\x84\xdby\x94Vp\xa5\xcd(\xab\xb6\x95sR\xab\xfc\x8c\'\x9c\x16Q\xad\xbc\xb04%\xb7\xe5\x14\xb1`\x87#X\\W`;\'_4\xc5\xc9\x921<\xd9\xad\x9f\x12@!\xfaI\x88\xab\xef\x86\xe9\a>\xdd7\xb7\x8e\x9c0-o\xc9\xec_|\x02\xc8Ru\x95\xa8#U\xd6J\x87\xf6X\xb6{\x11$\x00\xc8\x14\xcb\xd1nK\xd8\xb9\x0e\x9bA\xed\xbcs\x1fS\r\x12O\x83\x15\xcb(\xdb\xb1S\x1f%\x04\x9a\xa0l\xa3}\xe7r\x02\x00\x00\x00\x8aeh;FA\xcdN#\xfb\xb0\xf2\x1e\x0e#J\xd0hB<\xc0\x82A0)p\xe7&B\x82\x83\x83\xd14\x01\xcf\x1b\xa9\x1d\x1ef\x0f\x86(1\xd6l\xd2\x8f\xb0\xd4\xb5\x1ae\xc1p0U\xb8\xb2\x9a\xcbA\x80\xbf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd6\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe6\xaf\t\x94\x96\rN\xc9\x90\xbe\xed\x1ad\x14\xe7\x84\t\'\x8b\x00\xdd\xc9\x0f\x14v\xb6\x04\xf2U\xb4\xf6\xbe\xddT\xcb\x00\x00\x00\x00\x00', 0x5) mremap(&(0x7f0000005000/0x4000)=nil, 0x4000, 0x1000, 0x0, &(0x7f0000003000/0x1000)=nil) r1 = creat(&(0x7f0000000300)='./bus\x00', 0x0) r2 = perf_event_open(&(0x7f0000000180)={0x1, 0x80, 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, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0, 0x8}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r3 = accept4$unix(r1, &(0x7f0000000100), &(0x7f0000000000)=0x6e, 0x0) ioctl$sock_SIOCGIFINDEX(r3, 0x8933, &(0x7f0000000080)={'lo\x00'}) r4 = socket$inet6(0xa, 0x1, 0x0) ioctl$sock_SIOCGIFINDEX(r4, 0x8933, &(0x7f0000000040)={'sit0\x00', 0x0}) ioctl$sock_inet6_SIOCSIFDSTADDR(r4, 0x8918, &(0x7f0000000080)={@loopback={0x0, 0x300}, 0x0, r5}) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000011c0)={&(0x7f0000000c40)={0x10, 0x0, 0x0, 0x4608000}, 0xc, &(0x7f0000000e40)={&(0x7f0000001140)=@bridge_getneigh={0x80, 0x1e, 0x203, 0x70bd26, 0x25dfdbfb, {0x7, 0x0, 0x0, r5, 0x8, 0xc18}, [@IFLA_NUM_RX_QUEUES={0x8, 0x20, 0x6}, @IFLA_ALT_IFNAME={0x14, 0x35, 'vlan1\x00'}, @IFLA_GSO_MAX_SIZE={0x8, 0x29, 0x21f8}, @IFLA_NUM_RX_QUEUES={0x8, 0x20, 0x6c}, @IFLA_BROADCAST={0xa, 0x2, @link_local={0x1, 0x80, 0xc2, 0x0, 0x0, 0x3}}, @IFLA_LINK_NETNSID={0x8, 0x25, 0x2}, @IFLA_EXT_MASK={0x8, 0x1d, 0x2834}, @IFLA_AF_SPEC={0x8, 0x1a, 0x0, 0x1, [@AF_BRIDGE={0x4}]}, @IFLA_WEIGHT={0x8, 0xf, 0x6}, @IFLA_NUM_RX_QUEUES={0x8}]}, 0x80}, 0x1, 0x0, 0x0, 0x1010}, 0x8800) perf_event_open(&(0x7f0000000240)={0x3, 0x80, 0x8, 0x0, 0x6, 0x80, 0x0, 0x6, 0x10, 0x2, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0xff, 0x4, @perf_bp={0x0, 0x1}, 0x8000, 0x4, 0x10000, 0x3, 0xffffffff, 0x0, 0x7fff, 0x0, 0x2}, 0xffffffffffffffff, 0x0, r2, 0xb) fcntl$setstatus(r1, 0x4, 0x4002) recvmmsg$unix(r3, &(0x7f0000003e40)=[{{&(0x7f0000000640), 0x6e, &(0x7f0000000bc0)=[{&(0x7f00000006c0)=""/243, 0xf3}, {&(0x7f00000007c0)=""/240, 0xf0}, {&(0x7f00000008c0)=""/101, 0x65}, {&(0x7f0000000940)=""/156, 0x9c}, {&(0x7f0000000a00)=""/134, 0x86}, {&(0x7f00000002c0)=""/18, 0x12}, {&(0x7f0000000ac0)=""/197, 0xc5}], 0x7, &(0x7f0000000c40)}}, {{0x0, 0x0, &(0x7f0000000f80)=[{&(0x7f0000000c80)=""/242, 0xf2}, {&(0x7f0000000d80)=""/179, 0xb3}, {&(0x7f0000000f40)=""/22, 0x16}, {0x0}], 0x4, &(0x7f0000000fc0)=[@cred={{0x1c}}, @rights={{0x38, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}, @cred={{0x1c}}, @rights={{0x30, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x20, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x18, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff]}}], 0xe0}}, {{&(0x7f00000010c0)=@abs, 0x6e, &(0x7f00000012c0)=[{0x0}, {0x0}], 0x2}}, {{0x0, 0x0, &(0x7f0000001380)=[{&(0x7f0000001300)=""/123, 0x7b}], 0x1, &(0x7f0000000e80)=[@rights={{0x30, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}, @rights={{0x14, 0x1, 0x1, [0xffffffffffffffff]}}, @cred={{0x1c}}, @rights={{0x28, 0x1, 0x1, [0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}], 0x90}}, {{0x0, 0x0, 0x0, 0x0, &(0x7f0000003bc0)=ANY=[@ANYBLOB="1c000000000000000100000001000000", @ANYRES32, @ANYRES32, @ANYRES32, @ANYBLOB="000000001c000800000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="0000000030000000000000000100000001000000", @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYBLOB="1c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB='\x00\x00\x00\x00'], 0xb0}}, {{0x0, 0x0, &(0x7f0000003e00)=[{&(0x7f0000003cc0)=""/167, 0xa7}, {&(0x7f0000003d80)=""/117, 0x75}], 0x2}}], 0x6, 0x40008040, &(0x7f0000004000)={0x77359400}) r6 = syz_open_procfs(0x0, &(0x7f00000000c0)='net/netlink\x00') preadv(r6, &(0x7f0000000180)=[{&(0x7f0000002740)=""/134, 0x86}], 0x1, 0x6, 0x0) ioctl$PERF_EVENT_IOC_PERIOD(r6, 0x40082404, &(0x7f0000000540)=0xff) perf_event_open(&(0x7f00000005c0)={0x5, 0x80, 0x6, 0x0, 0xf3, 0x80, 0x0, 0x1f, 0x18, 0xf, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x2, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffe, 0x0, @perf_bp={&(0x7f0000000200), 0xe}, 0x8224, 0x3, 0xd0c, 0x7, 0x5, 0x0, 0x400, 0x0, 0x80000000, 0x0, 0x6}, 0x0, 0xd, r6, 0xa) io_setup(0xb, &(0x7f0000000040)=0x0) io_submit(r7, 0xf10, &(0x7f0000000540)=[&(0x7f00000000c0)={0x0, 0x0, 0x0, 0x1, 0x0, r1, &(0x7f0000000000), 0x200a00}]) mmap(&(0x7f0000000000/0x7000)=nil, 0x7000, 0x3, 0x97052, r0, 0x0) 07:26:37 executing program 5: r0 = syz_open_procfs(0x0, &(0x7f0000000040)='net/fib_trie\x00') r1 = openat$ttyS3(0xffffffffffffff9c, &(0x7f0000000840), 0x0, 0x0) dup2(r0, r1) ioctl$vim2m_VIDIOC_REQBUFS(r0, 0xc0145608, &(0x7f0000000000)={0x7, 0x1, 0x3}) openat$procfs(0xffffffffffffff9c, 0x0, 0x0, 0x0) r2 = syz_open_procfs(0x0, &(0x7f00000001c0)='fdinfo\x00') r3 = creat(&(0x7f0000000100)='./file0\x00', 0x90) r4 = openat$ion(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$ION_IOC_ALLOC(r4, 0xc0184900, &(0x7f0000000040)={0x120005, 0x3, 0x0, 0xffffffffffffffff}) ioctl$DMA_BUF_IOCTL_SYNC(r5, 0x40086200, &(0x7f00000000c0)=0x6) ioctl$DMA_BUF_IOCTL_SYNC(r5, 0x40086200, &(0x7f0000000340)=0x2) ioctl$AUTOFS_DEV_IOCTL_EXPIRE(r3, 0xc018937c, &(0x7f0000000140)={{0x1, 0x1, 0x18, r5, {0x1}}, './file0\x00'}) r6 = openat$ttyS3(0xffffffffffffff9c, &(0x7f0000000840), 0x0, 0x0) dup2(r2, r6) write$P9_RREADLINK(r2, 0x0, 0x0) recvmmsg(0xffffffffffffffff, &(0x7f0000003140)=[{{&(0x7f0000000300), 0x80, 0x0}}], 0x1, 0x0, 0x0) perf_event_open(&(0x7f0000000080)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x317d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r7 = syz_open_procfs(0x0, &(0x7f00000000c0)='fd/3\x00') preadv(r7, &(0x7f00000017c0), 0x332, 0x0, 0x0) 07:26:37 executing program 0: r0 = perf_event_open(&(0x7f0000000200)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x100, 0x0, 0x8, 0x0, 0x0, 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, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f0000000080)}, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x3}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$AUTOFS_DEV_IOCTL_OPENMOUNT(0xffffffffffffffff, 0xc0189374, &(0x7f0000000100)={{0x1, 0x1, 0x18, r0, {0xc26}}, './file0\x00'}) preadv(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0) mmap(&(0x7f0000fff000/0x1000)=nil, 0x1000, 0x6, 0x110, 0xffffffffffffffff, 0x0) r1 = syz_open_dev$usbfs(&(0x7f0000000180), 0x77, 0x1) ioctl$BTRFS_IOC_TREE_SEARCH_V2(0xffffffffffffffff, 0xc0709411, 0x0) ioctl$F2FS_IOC_GARBAGE_COLLECT_RANGE(0xffffffffffffffff, 0x4018f50b, &(0x7f0000000000)={0x1, 0x0, 0x7}) ioctl$USBDEVFS_IOCTL(r1, 0x80045505, &(0x7f0000000040)=@usbdevfs_connect) perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0xcb, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0, 0xa}, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0xfffffffc}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r2 = syz_open_dev$usbfs(&(0x7f0000000180), 0x77, 0x1) ioctl$sock_x25_SIOCADDRT(0xffffffffffffffff, 0x890b, &(0x7f00000003c0)={@null, 0xa, 'ipvlan1\x00'}) ioctl$USBDEVFS_IOCTL(r2, 0x8108551b, &(0x7f0000000380)) writev(r2, &(0x7f0000000340)=[{&(0x7f00000013c0)="6ae1ea5052d76340cb631a4d814d304f54f1b50938672774b4a75805bb68863c0118415a85fd7ea567fd7804acf16c1ee178c2ead3a5d6a58d71d3573608f5b2b5f7b7d9bfbe4a9c79abe7c118176adc3456b65ae4cd327f7c383d1755da8c5956b13994373a5b779a1648fec57c87772b2607199eec5cd1fb8a99094f43cd0dbec2d1446bc8f974c279f6c29a98c8ddd6840dbf8635277afc7bafc72c0f49c9dd3bb3beb4bd0d3d224b458e2672f2b9eaa0ae2a4d", 0xb5}, {&(0x7f0000001480)="db124ad223a7ff67506cafc1a4d4dd84f3993834b28f07705f7b42b4af76f4e05b0a9628b531e709bf25320b2a8a6b3000c1db388553aed73f22f2a69b99592bb1932610cd640dc04365631912a9a36dc0916baa2b1cbf2084d946f2618a11c62c", 0x61}], 0x2) ioctl$USBDEVFS_IOCTL(0xffffffffffffffff, 0x80045505, 0x0) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(r1, 0x81f8943c, &(0x7f0000051d80)={0x0, ""/256, 0x0, 0x0}) syz_open_dev$tty1(0xc, 0x4, 0x1) open(&(0x7f0000000080)='.\x00', 0x0, 0x0) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(r0, 0xd000943d, &(0x7f0000051f80)={0x5, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r4}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {r3}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {r3}], 0x1, "2df52d27cb58b1"}) ioctl$F2FS_IOC_MOVE_RANGE(0xffffffffffffffff, 0xc020f509, &(0x7f0000001500)={0xffffffffffffffff, 0x0, 0x0, 0x16}) ioctl$USBDEVFS_IOCTL(0xffffffffffffffff, 0xc0105512, &(0x7f0000001540)=@usbdevfs_disconnect={0x8}) 07:26:37 executing program 4: r0 = creat(&(0x7f0000000080)='./bus\x00', 0x0) ioctl$AUTOFS_DEV_IOCTL_READY(0xffffffffffffffff, 0xc0189376, 0x0) syz_fuse_handle_req(0xffffffffffffffff, 0x0, 0x0, 0x0) open(&(0x7f0000000140)='./bus\x00', 0x0, 0x0) perf_event_open(&(0x7f0000000380)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c42, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) ftruncate(r0, 0x208200) r1 = open(&(0x7f0000000400)='./bus\x00', 0x14103e, 0x0) r2 = socket$inet6(0xa, 0x401000000001, 0x0) close(r2) r3 = open(&(0x7f0000000400)='./bus\x00', 0x1145042, 0x0) sendfile(r2, r3, 0x0, 0xffffdffa) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x11, r1, 0x0) read(r1, &(0x7f0000000180)=""/19, 0xfffffe47) recvmmsg(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0) r4 = openat$nvme_fabrics(0xffffffffffffff9c, &(0x7f0000000000), 0x103002, 0x0) getsockopt$inet6_IPV6_XFRM_POLICY(r1, 0x29, 0x23, &(0x7f00000001c0)={{{@in6=@private1, @in=@initdev, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, {{@in6=@mcast2}, 0x0, @in=@multicast1}}, &(0x7f0000000040)=0xe8) ioctl$sock_ipv6_tunnel_SIOCCHG6RD(r4, 0x89fb, &(0x7f00000002c0)={'syztnl1\x00', &(0x7f00000000c0)={'ip6tnl0\x00', r5, 0x2f, 0x8, 0x7, 0xffff, 0x41, @remote, @private2={0xfc, 0x2, '\x00', 0x1}, 0x1, 0x8, 0x434, 0x7f}}) 07:26:37 executing program 5: recvmsg$unix(0xffffffffffffffff, &(0x7f00000002c0)={0x0, 0x0, &(0x7f00000001c0), 0x0, &(0x7f0000000200)}, 0x0) r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x3f, 0x0, 0x2, 0x0, 0xfc8, 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, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, @perf_config_ext={0x5, 0xff}, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x3) socket$inet6(0xa, 0x3, 0x4) r1 = syz_init_net_socket$nfc_raw(0x27, 0x5, 0x0) dup3(r0, r1, 0x0) connect$inet6(0xffffffffffffffff, 0x0, 0x0) open(0x0, 0x0, 0x0) getsockopt$inet_sctp6_SCTP_GET_ASSOC_ID_LIST(0xffffffffffffffff, 0x84, 0x1d, 0x0, 0x0) setsockopt$inet_sctp6_SCTP_DEFAULT_PRINFO(0xffffffffffffffff, 0x84, 0x72, 0x0, 0x0) 07:26:37 executing program 1: perf_event_open(&(0x7f0000000080)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0x0, 0xff4b}, 0x0, 0x0, 0xffffffff}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = socket$inet(0x2, 0x4000000000000001, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x80000000000002, &(0x7f00000005c0)=0x169, 0x4) bind$inet(r0, &(0x7f0000deb000)={0x2, 0x4e23, @multicast1}, 0x10) sendto$inet(r0, 0x0, 0x5, 0x200007fd, &(0x7f0000000040)={0x2, 0x4e23, @local}, 0x10) getsockopt$ARPT_SO_GET_REVISION_TARGET(r0, 0x0, 0x63, &(0x7f0000000380)={'ipvs\x00'}, &(0x7f0000000440)=0x1e) setsockopt$sock_int(r0, 0x1, 0x8, &(0x7f0000000100), 0x4) r1 = open(0x0, 0x0, 0x0) getsockopt$inet_IP_XFRM_POLICY(0xffffffffffffffff, 0x0, 0x11, 0x0, &(0x7f0000000180)) setsockopt$inet_IP_XFRM_POLICY(r1, 0x0, 0x11, &(0x7f0000000600)={{{@in6=@dev={0xfe, 0x80, '\x00', 0x16}, @in6=@rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01', 0x7f, 0x0, 0x0, 0x0, 0xa, 0x0, 0xc31fc3b4eebcb907, 0x8}, {0x3ff, 0x0, 0x6f, 0x8, 0x6, 0x5, 0xfffffffffbd8b9e9}, {0x0, 0x0, 0x0, 0xffffffffffffff4d}, 0x5f, 0x0, 0x0, 0x0, 0x3}, {{@in=@initdev={0xac, 0x1e, 0x0, 0x0}, 0x4d3, 0xff}, 0x2, @in=@empty, 0x0, 0x2, 0x2, 0x0, 0x5, 0x6, 0xffffffc0}}, 0xe8) r2 = syz_open_procfs(0x0, &(0x7f00000012c0)='pagemap\x00') ioctl$sock_ipv6_tunnel_SIOCGET6RD(r1, 0x89f8, &(0x7f0000000140)={'ip6gre0\x00', &(0x7f0000000480)={'syztnl1\x00', 0x0, 0x2f, 0x5, 0x9, 0x1, 0x15, @empty, @empty, 0x7, 0x7800, 0xffff0000, 0x401}}) pread64(r2, &(0x7f0000e3e000)=""/8, 0xffd8, 0x103f00) getsockopt$PNPIPE_IFINDEX(r1, 0x113, 0x2, &(0x7f00000002c0)=0x0, &(0x7f0000000300)=0x4) setsockopt$packet_drop_memb(r2, 0x107, 0x2, &(0x7f0000000340)={r3, 0x1, 0x6, @random="a3a63cf947c4"}, 0x10) r4 = socket$inet6(0xa, 0x3, 0x3a) setsockopt$inet6_int(r4, 0x29, 0xd0, &(0x7f0000000280), 0x4) recvmsg(r0, &(0x7f0000000240)={0x0, 0xfffffffffffffd83, &(0x7f0000000180)=[{&(0x7f0000003ac0)=""/4096, 0x5802}], 0x1, 0x0, 0xf080, 0x3}, 0x100) write$binfmt_elf64(r0, &(0x7f0000000600)=ANY=[], 0xfc30) 07:26:37 executing program 5: r0 = socket(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) sendmsg$NL80211_CMD_STOP_SCHED_SCAN(r2, &(0x7f0000000440)={0x0, 0x0, &(0x7f0000000400)={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="480000001000050700"/20, @ANYRES32=r3, @ANYBLOB="0000000000000000280012000900010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f00000007c0)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000240)=ANY=[@ANYBLOB="4800000024000b0f00"/20, @ANYRES32=r3, @ANYBLOB="00000000ffffffff0000000008000100687462001c0002001800020003"], 0x48}}, 0x0) r4 = openat$pfkey(0xffffffffffffff9c, &(0x7f0000000180), 0x400, 0x0) sendmsg$nl_route_sched(r4, &(0x7f0000000380)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x200410}, 0xc, &(0x7f0000000340)={&(0x7f0000000300)=@gettclass={0x24, 0x2a, 0x10, 0x70bd27, 0x25dfdbfb, {0x0, 0x0, 0x0, r3, {0x4, 0xb}, {0x7, 0xc}, {0xa}}, ["", "", "", "", "", "", "", ""]}, 0x24}, 0x1, 0x0, 0x0, 0xc0}, 0x2000) sendmsg$nl_route_sched(r1, &(0x7f0000000140)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000280)=@newtfilter={0x64, 0x28, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {0xf}}, [@filter_kind_options=@f_bpf={{0x8}, {0x38, 0x2, [@TCA_BPF_ACT={0x34, 0x1, [@m_gact={0x30, 0x0, 0x0, 0x0, {{0x9}, {0x4}, {0x4}, {0xc}, {0xc}}}]}]}}]}, 0x64}}, 0x0) 07:26:37 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000100)={0x9, 0x8d}, 0x0) r0 = getpid() sched_setattr(0x0, &(0x7f0000000140)={0x38, 0x2, 0x0, 0x0, 0x9}, 0x0) sched_setattr(r0, &(0x7f00000000c0)={0x38, 0x2, 0x0, 0x0, 0x1}, 0x0) perf_event_open(&(0x7f0000000240)={0x5, 0x80, 0x4b, 0x80, 0xb1, 0x0, 0x0, 0xffff, 0x4000, 0x5, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0xaf0d, 0x4, @perf_bp={&(0x7f0000000040), 0x2}, 0x451a5, 0x4, 0x52d3, 0x0, 0xfff, 0x1, 0x2, 0x0, 0x5dd, 0x0, 0x3}, 0x0, 0x3, 0xffffffffffffffff, 0x1c) getpid() socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000840)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) connect$unix(0xffffffffffffffff, 0x0, 0x0) getrlimit(0x0, &(0x7f00000001c0)) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) write(r2, 0x0, 0x0) r3 = open(&(0x7f0000000080)='./bus\x00', 0x148042, 0x0) r4 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) sendfile(r3, r4, 0x0, 0x80000005) truncate(&(0x7f0000000180)='./bus\x00', 0x4) 07:26:37 executing program 5: perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0x0, 0x3}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$KVM_SET_MP_STATE(0xffffffffffffffff, 0x4004ae99, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000fe8000/0x18000)=nil, 0x0, 0x0, 0x0, 0x0, 0x0) r0 = socket(0x2b, 0x1, 0x1) connect$inet6(r0, &(0x7f0000000180)={0xa, 0x4001, 0x0, @dev={0xfe, 0x80, '\x00', 0x1c}, 0xd}, 0x1c) r1 = socket$inet6(0xa, 0x1, 0x0) bind$inet6(r1, &(0x7f0000000100)={0xa, 0x4e20, 0x0, @empty}, 0x1c) socket(0x21, 0x800, 0x3) sendto$inet6(r1, &(0x7f0000002340)="88122bee8b917d7ff16334a46d8488b1cac8173c0e0eba338d6bc2064546b54f234e160f862eb7bbc20ffb5bcb78cd1bf9d501182c288f3e5b2bf136eb7854a4a5051022caab24b59f5495b3d62b5abbc683fba25ea2a73520309f9a9fd1bf2fdcb042380efcd1924dcd377b16bd1b1c563ac1983c8388cb4fb7b55ca8c81cd9b4d660c40fe5105b72a8a8af3c10f61c3014ed9a9bcb91326a092229327b2ba84ea157b2cb2bb1426fb36799ab2dc520c911ba457f959e191ccce6e53eba7e500b6089bebfb2872a3272f152aec9ea82bc144f7397677284aad5fa60947d0474f7b1c3f56b8d0435cf043e3f85bb65bef841d3cc85fb22975aba37406e6e0ae31c2c1afda312c6668f03428d39fba4083c6d21bd7948dd83176323c75049e23c01b23c4b08351fa0fa476ed924ebaae3510036269293c3aa5e2b07933fd400c548fdc1e8fd8d2cee14c9ceafc594b73020eb44ac969afe5a0a423e5eb002812e040f4cefc7ad8bfe9b216939bc1269bb69aa6689b46eb2299bd9f0b3f2cf0466e801aea429306fe869913d18fb3ffa2165f910fed18f091970a5e388883c56e8b87e16a14d5068ffc2dcae198347cc1ccdea0a887577c4d5e1ac6083988967e2b16bda9476567de831615cc00476cb3aa04b250f04e3c71d6599000e5d993fd1f57206d184c10290ae2bb940b1fba876c531174e8dc37a8bde28c45807cd8c8138d03193e4fdbd0d3ad1a0f3adea4309b15a6952c862544e3a3cdc7060d23ed06e36d2ee49f73283c3796966067b0c28e9cf864264194df3e397e4a1e97005eeb1627291d545312be1359d06c4f99888d862ec4d7a7a0d1d52496d3b334e4582f8372852bb50cd8cc6cc4884a46551a47c1b1fd2234df54d3a9ce61a390edb77fb087e8cb86c297438f739b99735bb2cc0ebfe3ce919dbccb86ecb145ad729914fe39f26761bdaaaf544a86d05d4bab3e3f71c6cb3217543f586892f61764dea4377a9cc0f221884470a12a219277740b3a6bd1d72031618ff22cca0e7bd048920508011010f34f4153f3ac60e493c1e54b670e5e30ca16c99d154ecbbdca3f6181de4e37a3e05e93f45bd6f85cdd35693f315b0298317dada20b7deae2b3b4e693b1829044f8d87c02c8f8a394a55fbe5beaa6955bc7cdd58bed9fdf30aef04d9adc5f2cf684e1df821d76a5d4f2ffd30842ef78cf8dd8be618750b75cfddb5b5f25f905f40e19c2194d6a737d85682ef1af4a19b98d4e4efe99398cd86a25356b866270743eeef94a8760a05e3f22d78322e111f7c1687a0402a758f2c8533fbfdd21768f8a78395e20a9cbd487f038b6a22b274a9504eea03d685bc3411fc2cb8a3e922cff421ab999b336054fee0533299d7873770a6eb93cd1947451a8ebfcb162c4688e78b6ede00b8438441b57921ffe1c3fd2eb0e0a996d278753d6eeffb845af20515b74847ead73487f870e023a5595b3f14e7959fc856f9edb084c16d888c06a66c493b36e1bb557966dc9a8f4a1d0dcc6cf220c03aed24791b4b6dec902f2b584d2a0812fe8bf89b81b535f1fc52b549f42c45bc79de1cead067ce611813f54906175d860b22f6b8d88f0f1f4527f3b48f1bd9fd04377a76a9c5b9c1093e99cd1b8a5e58609a13daaf8c22ddfaca405436d187784a5f7b0ad2a48feac3045751a8f7bc3d47ee6f28b55e95e84a4c917516f9cc021d3deb03ca783ab3bddd024235161b333008eb0ed98e184b8bc637181d2ebd91b3ccfae9d2bf5243b0aca93d214ef9da32435678d9a6e3e5b554fbe6450791082624682b95fbaad608a69cb6b5644ab57092aa221070c850788f4519bf95d51aab30c580033b2aa06551b701bd1609099faacdf6c583a08b28730c30f83a6adba6fa77ddaac43e324c0732016afd5942dae9012e7a8e2c451fc4e6fc5cfeba689c929ad219d47691bb333471032cffabf041645ae31141960c23e0371465b94e320742ca27484a77803b504769883e81cf718e84632b5efb15aa7455375653a403df8839e7cfca338e722ef25ee3a7afaa080328bee24ffd34dc8e0f3249bcbe4ddd6b50f479aa8d7312388ea3a955164185ba932f545876d7272400afccfe8f8d612f477e7393092508b1d7339cb9b83469452c18e3dfcf59384ce96896dd255f653f544af00fdc8c38e9def0e2c5d98829afd34e477053275791481a3a207fc76dbf63c6fa939845993adeb4f2f52a198c84f81adac361110c3d4aced65e4f242d6a980df1ca2973b4e2eb30b17eee1d5b7499dc8b883c61fce8dc973c75cf8049d8fdb3d480315bd70d2ee7343242600d73bd77732fb5a6a3c9d33a5925ec5b7403d1e27018e803555f1718cfbb33b40ea2d114455616e4735c118257acb89d1adf7b149356b74840b28654c34eef26b8157a363a850cdbe7c0f1ae2e7ce1b24c974b1328bab8eb6c3d00918011d76441d1d899034b39151b54407596dcec8a951c6c5e1c8fec3693da24cbbf063e7b9c6dee26916e857c6049dfd93e19840d4248b3e840f68f2a219317c48bd8f82fef1c3a307751f58a30570506dbbdfb289f968185f28604ebfc2ecdc8a4006462902c4ab2883d72c54e8f8aa1948d6363ee8d31acb57357cb92893431f6147656b76c1d730dba495e98c8b190927aa5433ff0d77f7d6e9a27f3c2baa41286870994876190e3feb39d40e2f2e5612a6ce96d7c24f9c0a0f0cc86ea4363c497296bc85483fb405c1086575283aa612e2ceb4c955378a21e1774c70edb9987a29e49590940d8767b2f3c0f840f2beb82c08a2f4eadcb41475c2cbb176be9f0d2e46cbb758368e4bde4834e7bd5a2727dd8a614d3e093ed9a6cd656bfd15cf33d4e8aa2a7fb6903d006c4bdd2b3eee3b8c7536cdc0c7b425a6fe9ee0dc842c1cd8e01b6123f196f0d066027d4ed1552e3460eefa14923f5982b14a79551440f4e5e9393b7e9a221d9ad3e229178b2b390889d037e829656b4664b8a674b42699b3b418e39963b77ab5aa3b1f576ee10f6d2cff0334fcc64b7664d8b0ab89b42cec159d55004da89e77447cdd76162b952208d32e301146992fb7fa5beb8e7696af71ea751bc0326a244a7735d489287f201c278ba1eac6ef43efbb709d071c8bda2c5c8d71d8fda9f06f30c0483aa1ad07a9c02a27e6371e4102f66153c584464d5b54f2b8d6b6b3a1cfc9c1d370857801faabb5929f67760f67e59ad6b89fa0d1dc99f35fd523f9e1fbb24f24685cd0afad5b2b144838c198021a3159ccd428aa66220a3fd125a562b0d5ac3d2a4f24288ead91dbb471c7c7b1462ab2fd0d1a40b0ea740848461a782b91c04158dda3001a50f348f5e2a9e6b7051f1cd1495df4b316ad74d44916c1e7f0fce41936b31ab74c6b3c8a1e5d408fb7cc9cef1fa6e47c4d5beeabc5149b9d78140433223ea01", 0x97a, 0x20000041, 0x0, 0x0) recvfrom$inet6(r1, &(0x7f0000000200)=""/105, 0x69, 0x121, 0x0, 0x0) sendto$inet6(0xffffffffffffffff, &(0x7f0000000280)="b61eb81fbef4c995fdd7044c4201259081e0a786e7ec6824a3746e5d4c9a021d7792382ea7b1856907d7288a5e3b916d09e06fa9e8970ac448a3e106848c4be519d25a6038a39f1aa4f7922d53f7898af1eb5fbb59a29702b13051d5", 0x5c, 0x1, 0x0, 0x0) setsockopt$inet6_MCAST_JOIN_GROUP(r1, 0x29, 0x2a, &(0x7f0000000000)={0x20, {{0xa, 0x0, 0x4, @dev={0xfe, 0x80, '\x00', 0x2b}}}}, 0x88) 07:26:37 executing program 4: perf_event_open(&(0x7f00000004c0)={0x3, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f0000000100), 0x7}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = add_key$user(&(0x7f0000000a40), &(0x7f0000000080)={'syz', 0x1}, &(0x7f0000000680)="58a4b0b6b794e620f1ddedc3f383f1a0f1a0c4ec0995c53fab7db928087a663b3eab2089e14a2b6fcb32d12a6b06dcb45a99902bdb34f8a6ba3327e246984e3f560d19a068ba2dc8139ab51def70f0f14d5d0ab1d50f8f0953d974fa4158e7f684bee88322594b0000000aa857259f5872870881008ed558eff9fcae0cad87cfa44087651261443a32642dbd315f094390da402937b4d20828c56d8b", 0x9c, 0xfffffffffffffffd) r1 = add_key$user(&(0x7f0000000180), &(0x7f0000000340)={'syz', 0x0}, &(0x7f0000000480)='.', 0x1, 0xfffffffffffffffd) r2 = add_key$user(&(0x7f00000003c0), &(0x7f0000000440), &(0x7f00000000c0), 0xf1, 0xfffffffffffffffd) keyctl$dh_compute(0x17, &(0x7f0000000040)={r0, r2, r1}, &(0x7f00000001c0)=""/264, 0x108, &(0x7f0000000000)={&(0x7f0000000140)={'tgr192\x00'}}) r3 = add_key$fscrypt_v1(&(0x7f0000000040), &(0x7f0000000340)={'fscrypt:', @desc4}, &(0x7f00000000c0)={0x0, "10874dd462afd1afb601447691005ff2bc3bedf58281585d950d4c34194ba6c83577ddb9368d24824b8a5f2a465f815b12bdd27c323c6656081aa5792ee79d3f", 0x36}, 0x48, 0x0) keyctl$chown(0x4, r3, 0xffffffffffffffff, 0xee00) add_key$fscrypt_v1(&(0x7f0000000000), &(0x7f0000000140)={'fscrypt:', @desc2}, &(0x7f0000000180)={0x0, "7963495145d88c2b6a1e5029f21db68452d5c8c2b64a802a972256f4e5e9738cb77be1bf163e5ef309443389cd87efe8a98b1e3477faac07a65ff3e0ab045bc5", 0x19}, 0x48, r3) add_key$fscrypt_v1(&(0x7f00000000c0), &(0x7f0000000300)={'fscrypt:', @desc1}, &(0x7f0000000540)={0x0, "417103f1644491fb087f42b8c896f0d2b0076dedb149d68d1c1c76b0c89f6460d928c76ad9657dc0d59938a81767240b0a1cdc6f25b285a00c018658ca574ac8", 0x16}, 0x48, r3) 07:26:37 executing program 5: r0 = creat(&(0x7f0000000140)='./bus\x00', 0x0) fcntl$setstatus(r0, 0x4, 0x46002) io_setup(0x1, &(0x7f0000000180)=0x0) r2 = creat(&(0x7f0000000100)='./bus\x00', 0x0) lseek(0xffffffffffffffff, 0x0, 0x2) r3 = open(&(0x7f0000000000)='./bus\x00', 0x86000, 0x0) sendfile(0xffffffffffffffff, r3, 0x0, 0x8400fffffffa) r4 = openat$vicodec0(0xffffffffffffff9c, &(0x7f0000000c40), 0x2, 0x0) r5 = creat(&(0x7f0000000e40)='./file0\x00', 0x105) r6 = syz_mount_image$ext4(&(0x7f0000000ec0)='ext2\x00', &(0x7f0000000f00)='./bus\x00', 0x8, 0x9, &(0x7f0000001380)=[{&(0x7f0000000f40)="5f644f54ecd8aae72051586358f5bc59a0d5a9361fccb8b1b7ed617bb8357108b4e1c219bacd639385dd7ccacacbb0fd8dad5003e0b344216a4f2b5c6a11ed8820140828e747ed2ff598dc8972829b24800a935900025ba4174b28de950565128ddfb4baa2bc2e1a118b65da938296fe6a2f772f67c783a937eb5867fb", 0x7d, 0x6}, {&(0x7f0000000fc0)="7a27f4068ecb1a2b10d1eecdf6d7f7ce3530265af2a7e5919237cf2cec954ae2d516130d4a5fa110f7a9db63c7030b0442372bfbfe6539a53e56", 0x3a, 0x5}, {&(0x7f0000001000)="b0d38433b9f5ef4e0affc698c94d9f3a9266af076ca992d90f3fe8e0954cb9328273f1fe78aa7cf4e6665f140e7299d8625a16813a42ecc27497581347af0da9e93e62dcbff12da75dc26a85a16ec94813e3d0b8898c4faa93bdae0e68cbc477a9a2179ccfcfdf83647be40fdc1074df42febf2442c3001d5f70566bad3c05f76e6dc45c07a0ef73349e75fe7ecc6d85042c851c50dc2c", 0x97, 0x7}, {&(0x7f00000010c0)="3526a29fee2eb14b4aba47199e805b3546954c208da99d074ee4bbf348daaab5ed8286e1c429789cf0fb11b80cdffa49374dab352288fd154b7db97a2c9b7fcc915bd4c1c57475828495d466d02c74efde", 0x51, 0x2}, {&(0x7f0000001140), 0x0, 0x9}, {&(0x7f0000001180)="817a5c7e47ca6cd7448d5ffe46acfdf2761c066479908d0c61822be3c114353f958781f087b36be1424c0c334ebb45591ebfc4a02c8a58966268dfb9", 0x3c, 0x1}, {&(0x7f00000011c0)="a10aa8a214e540f7503a20010523b600981052d37049e7764c652ea531298dd0ba4d767e1190d502a7df3305795431892d3663e17651e91f1110aee8d074b3e115df12bfb62e852ba32c04fa9f2ab8952a1920ac880f95e60cb1feda4ed3b84530eb4dd674b43422b0aa20f5d3167101df5457dc902d037f2b4fcd804375f014f8dfa56b2668d21a94b881f52bad95a1c7a84c1455d50601e99ad821e822317e3bda2abb648687ce", 0xa8, 0x81}, {&(0x7f0000001280)="78d9109d54188afae7f4afe02f929b2c9fdfd95967c1829bf4c60cdf6be841df287fb6c53f3fd61836d97d992df044fa6a075ba838715319b0b7eb2c0ecbb8a84b795b5172d583dc603a50903cf3d6d7ad76eafaa75912bb1c557d969b66c6d49c080ddcb92396d506e3c53dd7ba66d31c430cc86097f27513fef7f3d16420366a55e328a369e5418fbfc8513287b4fd1e34dc8cf246cf857124bd5b694d163b2c614c02a3f0f9c3fc3f4ca9acd4a1d38df6e09eb5b6", 0xb6, 0x3}, {&(0x7f0000001340)="1ccc2801a4d663c35fc8df5eb889c0988d1ba4f7f026ab", 0x17, 0x9}], 0x2000040, &(0x7f0000001480)=ANY=[@ANYBLOB="6d61785f64697b5f73697a655f6b673d3078303030303230307656d9873030303030303032322c695f7665727369566e2c6673757569643d39646237653934622d393761382d666566"]) r7 = creat(&(0x7f0000000180)='./bus\x00', 0x0) ftruncate(r7, 0x800) lseek(r7, 0x0, 0x2) r8 = open(&(0x7f0000000000)='./bus\x00', 0x86000, 0x0) sendfile(r7, r8, 0x0, 0x8400fffffffa) io_submit(0x0, 0x7, &(0x7f0000001640)=[&(0x7f00000001c0)={0x0, 0x0, 0x0, 0x8, 0x3, r2, &(0x7f0000000000)="a47dc2f4c9cd66df0456b43d78e61d4c2ce5b9e0f5903708f38ab66a6287f6a6dc372aec7caf72c855a6b77db7bc0bade39c242120c55e25ac4f85711433d88d0bcf977a8b85f035931516f8de16df8c4e85d8ced59ca5cb4861e3affd24a318c4c70f12f789c1d47ae8ce0079b4085b564be7d58ad9a62c7449166e7d95bc3c3217e85aafc429080fd12c", 0x8b, 0x44e, 0x0, 0x0, r0}, &(0x7f0000000340)={0x0, 0x0, 0x0, 0x5, 0x2, 0xffffffffffffffff, &(0x7f00000002c0)="7084320ffc2bb8a47cfac1270ed153193977982e2b1af525b4f399e2d61385441041a500ead8f9687a8b27097efafa67aa972f9078aeaadbac19cb01d520a88add54fb63fd87cb452605e56aebfba9a10be8a16ff914f2724a542a9c86092ddd19becad5785082567a606b9815ee660f144563550ca13ae78b8a23", 0x7b, 0x4, 0x0, 0x1, r5}, &(0x7f0000000400)={0x0, 0x0, 0x0, 0x5, 0x35, 0xffffffffffffffff, &(0x7f0000000200)="86249cc6990c055021be67bd9a053b666f3bdb79d2563d9baf4da6fe3f5f24c2b258af4bacb608230cd8d35e655907828a5a84f23303af5db80dc7b3da7c098db510620e4798026e9fe41032c1a79ec23869ab6ec6b9fff596c9a13f24d46528b2a48c19e86c36a45a702445e91db86bb8", 0x71, 0x7ffffffc, 0x0, 0x3, r3}, &(0x7f0000000d00)={0x0, 0x0, 0x0, 0x5, 0x9, r4, &(0x7f0000000c80)="b6e0a172cb26d167dc6fd83fbfede0e5264259d7b16bd245b30bd92d6dae2f310d09019f67cbd208410979f4260b25d1683af7463bc8f1b4c7f61b4189d55feb17e17e07ab467307282eb1c687305b90bde5835294a4a66e1f8eb5f48eba7f3a9c50c316c98d88755eb7645d1ce597ec", 0x70, 0x100, 0x0, 0x1}, &(0x7f0000000d80)={0x0, 0x0, 0x0, 0x5, 0x0, r0, &(0x7f0000000d40)="1a418041b09793166e52a667789b12300d2e826e4a3151a9a93ece89f4998c", 0x1f, 0x8000000000000009, 0x0, 0x1}, &(0x7f0000000e80)={0x0, 0x0, 0x0, 0x8, 0x7f, r2, &(0x7f0000000dc0)="3b109e70d9df53b9c0f0ce4749d0df33cdc8bd09d9a78d3b94b6146ea7cc39e2b5f54dbbd9d6a27a5a3e7c5d7989730a6da9176798e9be63c4a7132b81141d0fc9a74d8c92abfe0a8dc688a8f2db06f2ee2614709489f6", 0x57, 0x54e55167, 0x0, 0x0, r5}, &(0x7f0000001600)={0x0, 0x0, 0x0, 0x3, 0x0, r6, &(0x7f0000001500)="3c5ade1fdf63aa506d4b8b7ab489483d8d7a5354a7ead5372574b09d33fdd519e711f727e08776cb3ef4d2005dfffcbbe0ea12ee20e4ce7531439a4134e3fd45705fad6cb226616729852c0258d71c68c9d7e8d61a9f7fb56738c606a7136432ddf221bb5107d86778958fc178a9f82e1e43986a112477ba16b451295e8fe5c359eac6d01e2f378d634a2b55ec9f39e62ba69ad820f8976b30ccb42a836f2edaf0fb67dfc38b8237b85f673aae7119abc5d43bbdbd61256fe5b3c3e035f8dafb1e586eb51870b8a7cd58b724ec6746fef6f84fb577a4", 0xd6, 0x6, 0x0, 0x1, r8}]) r9 = open(&(0x7f0000000280)='./file0\x00', 0x2548ff, 0x142) mmap(&(0x7f0000000000/0x600000)=nil, 0x600000, 0x7ffffe, 0x4002011, r9, 0x0) fallocate(r2, 0x0, 0x0, 0x1000f4) io_submit(r1, 0x7, &(0x7f0000000940)=[&(0x7f00000000c0)={0x0, 0x0, 0x0, 0x5, 0xc6, 0xffffffffffffffff, &(0x7f0000000380)="b6c9cf613f77a5c180ed6ff1cb1dfb03b1d8a25c8d100a9655e428fe34ceabaa54198c1c03264fa8c368e3d8f35f198f64b8227303796b50b523a0d21ba4518d326fb716c075abc47dba12b7ce28be7c305799440032e84107b6bf2352285b185339a84ef625cb709561ec7cf4dbbad2fac4a0", 0x73, 0xff, 0x0, 0x3, r8}, &(0x7f0000000480)={0x0, 0x0, 0x0, 0x2, 0x9, 0xffffffffffffffff, &(0x7f0000000440)="cd2d3ece3824d617e2f6f4ae135dbdc5ea1157e2cae95ad7f671a3f37c2b24af33c0f9e509dbaa6a951df5950496b9faff8ade69bc402c669648e4", 0x3b, 0x8, 0x0, 0x3, r3}, &(0x7f00000004c0)={0x0, 0x0, 0x0, 0x7, 0x2, 0xffffffffffffffff, &(0x7f0000000500)="c00629664912bcc247a4ee7436f2cacaf1ae4ce4a7e930ca6a9864b7bae1e7998c4bf12270d53f592536af96703dc280c439ba96b5d16e86952c78338eea0edb118aa1272a5e67733e649eb08dfb19ff069a41b7135901a2f70885f7078029069c4d57654862ff8b5e267c2f020b953cfe8d3df04cc3fc07e9f85d14d38e16ca6a7cab27539a", 0x86, 0x4}, &(0x7f0000000680)={0x0, 0x0, 0x0, 0x8, 0x400, 0xffffffffffffffff, &(0x7f0000000600)="68c3938173952c6aaf", 0x9, 0x5, 0x0, 0x2}, &(0x7f00000007c0)={0x0, 0x0, 0x0, 0x6, 0x8b4, 0xffffffffffffffff, &(0x7f00000006c0)="7ed2e1eb897118c3b34afd94b8bc5e878228b314d8bc7281e500c7a686ee4bb121b2cdc2620b7c4f418ccabcc337e4d35a4c1279a44dfc61ef2ffa6fe792d761c65b76a48784b9f9238ddf4275e88fc84500c2525e2a55a53ef14448841e8290277393a93eded90176b230227aea5db2cccfe5a68abf0e3c480cc08d07a622abaeb251e15ff4b6a6c0a8c691c58a6e582fa7fc9884b1a2383d86e16d7b5b379d4ad6f3529c3a0d32d32883a2d582e4769e51a15caa830c8be53d52daca61252cfd3fbb134b", 0xc5, 0x1ff, 0x0, 0x0, r2}, &(0x7f0000000880)={0x0, 0x0, 0x0, 0x8, 0x1, 0xffffffffffffffff, &(0x7f0000000800)="f92c4c1848e81dc3022421bf11ddaa6366a81deec669086708fba51a3882f04cfb23bc494f1e5a", 0x27, 0x100000001, 0x0, 0x2}, &(0x7f0000000900)={0x0, 0x0, 0x0, 0x6, 0x1, r4, &(0x7f00000008c0)="e015cf66", 0x4, 0x3, 0x0, 0x2, r5}]) 07:26:37 executing program 1: prlimit64(0x0, 0x7, &(0x7f0000000440)={0x107ec014, 0x6855}, 0x0) r0 = getpid() sched_setattr(r0, &(0x7f0000000040)={0x38, 0x1, 0x0, 0x0, 0x5}, 0x0) r1 = socket$inet6(0xa, 0x2, 0x0) recvmmsg(r1, &(0x7f0000000840)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0, 0x0) pipe(&(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) fcntl$setpipe(r3, 0x407, 0x0) write(r3, &(0x7f0000000340), 0x41395527) vmsplice(r2, &(0x7f0000000000)=[{&(0x7f0000000500), 0xfffffd93}], 0x1, 0x0) sched_setattr(0x0, &(0x7f0000000080)={0x30, 0x2, 0x0, 0x0, 0x3}, 0x0) r4 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000240), 0xffffffffffffffff) mount$fuse(0x0, &(0x7f00000001c0)='./file0\x00', &(0x7f00000002c0), 0x0, &(0x7f0000000380)=ANY=[@ANYBLOB='fd=', @ANYRESHEX=r3, @ANYBLOB="92726f6f000000002e00000000000000000000000000f39a97afa109a97a4fd26f0a790ef4a70fa3b95bb4adda9620ee1bd4ffaaa6f90843c5a458d2e2d62acd56e1e99330ae92", @ANYBLOB, @ANYBLOB="2c626c6b73697a533d3078303030303f01000030303030303230302c64656661756c745f7065726d697373696f6e732c6d6178ff72636164"]) r5 = socket$inet6_udp(0xa, 0x2, 0x0) recvmsg$unix(r2, &(0x7f0000000100)={&(0x7f0000000300)=@abs, 0x6e, &(0x7f0000000480), 0x0, &(0x7f0000000880)=ANY=[@ANYRES64=r3, @ANYRES32=r3, @ANYRES32, @ANYRES32, @ANYBLOB="16d808e3c1d3bc52c99c88150500001f00000000c91979730c45db8ca1087325a1a85431f835f3000000000000000000000079012ec156b3573a59430e03d3f0d203ab090b7e62651707c2acde76d46bcb13b37c9e27fb4846e4aa20924edf6b60bacbccdc6c32f6810a59ada9afb1f2ca55c5c8c700475ea667407b885934c890e76e22f437b42f94152d32b3999de4b44aa4a5394aea5b93ec2dac8ad5edb6f5807835fbe9016a316ad013c808df4b789b11994b1c4060073c3cffdc7bd430aac55f86cceac1f85bbef07a0de46932d4dd44f6bf3373e2c39f9a2fe164bfff08c393bfef98d27304e9964c833412eb3cdac85f477767108862bcad2231eb81a2ff40f8a3332e8cc081afb5443beabec0", @ANYRES32, @ANYRES32, @ANYRESOCT=r3, @ANYRES32, @ANYRES32, @ANYRES32=r4, @ANYRES16, @ANYRES32=0x0, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32, @ANYBLOB="000000ca081e187e09007d003000000000000000", @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES32, @ANYRES16, @ANYBLOB="48cdde7a3627b8af2de4ca16b430dbac5d111e3934b599dabc16b9aa81f1af1afe482491d6972c2d82490388ff59954adf546b739c3d79483f06167819574fe7348b45e39d1b3963c260057890795f1985fdcc1985a4be96df520467d181a474bbbc2190c7860098aca2ca3dd10cb4eadfbc7619c2a4e0fe7074d0dd2894cf79d69902b63914c01aba836c3ec0603884e6bc24bd6f", @ANYRESHEX=r0], 0xc8}, 0x10060) perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x5, 0xa150}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) perf_event_open(&(0x7f0000000140)={0x2, 0x80, 0x40, 0x3f, 0x0, 0x0, 0x0, 0xffffffffffffeff8, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f0000000280), 0x6}, 0x0, 0x0, 0x0, 0x3, 0x7, 0x47d}, 0x0, 0x200000000200000, 0xffffffffffffffff, 0x9) writev(0xffffffffffffffff, 0x0, 0x0) ioctl$sock_inet6_SIOCSIFADDR(0xffffffffffffffff, 0x89a1, &(0x7f0000000480)={@initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}) ioctl$sock_inet6_SIOCADDRT(r5, 0x89a0, &(0x7f00000005c0)={@local, @private1, @private2, 0x143}) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2000000, 0x8031, 0xffffffffffffffff, 0x0) 07:26:37 executing program 4: clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) r0 = syz_mount_image$f2fs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0x2, &(0x7f0000000200)=[{&(0x7f0000010000)="1020f5f201000b0009000000030000000c0000000900000002000000010000000000000000400000000000000b0000001e0000000200000002000000020000000200000016000000000400000004000000080000000c00000010000000140000030000000100000002", 0x69, 0x400}, {0x0, 0x0, 0xb80}], 0x0, &(0x7f0000000640)={[{@noinline_data}]}) fchown(0xffffffffffffffff, 0x0, 0x0) r1 = openat$rdma_cm(0xffffffffffffff9c, &(0x7f0000006c00), 0x2, 0x0) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000006c40)={0x0}, &(0x7f0000006c80)=0xc) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000006cc0)={0x0, 0x0, 0x0}, &(0x7f0000006d00)=0xc) r4 = perf_event_open(&(0x7f0000000500)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 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, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) stat(&(0x7f0000000000)='./file0\x00', &(0x7f00000000c0)={0x0, 0x0, 0x0, 0x0, 0x0}) r6 = socket$netlink(0x10, 0x3, 0x0) getsockopt$sock_cred(r6, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, &(0x7f0000cab000)=0xc) lsetxattr$system_posix_acl(&(0x7f00000003c0)='./bus\x00', &(0x7f0000000540)='system.posix_acl_access\x00', &(0x7f00000008c0)=ANY=[@ANYBLOB="020303000000f44d9318910708af9924", @ANYRES32=0x0, @ANYBLOB="0400000000000000080003", @ANYRES32=r7, @ANYBLOB="08000400", @ANYRES32=0x0, @ANYBLOB='\b\x00\x00', @ANYRES32=0x0, @ANYBLOB="10000400000000002000000000000000"], 0x44, 0x0) fchown(r4, r5, r7) r8 = gettid() ptrace$setopts(0x4206, r8, 0x0, 0x0) tkill(r8, 0x40) ptrace$setregs(0xd, r8, 0x0, &(0x7f0000000080)) getsockopt$inet6_IPV6_XFRM_POLICY(0xffffffffffffffff, 0x29, 0x23, &(0x7f0000006d40)={{{@in=@multicast2, @in, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, {{@in6=@mcast2}, 0x0, @in=@empty}}, &(0x7f0000006e40)=0xe8) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000006f40)=[{{&(0x7f0000000240)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000000340)=[{&(0x7f00000002c0)="1eabcdf6625e3974e0d675276f3bc8bbda345ffe9c82b7e7af0e2a9847d214a9fa53d940bac1987a8d58ee31a30ff441eabfa1f997ba432adf7b86c3d0ecc9779edfd5ee79b93b9f85823962fecc5d50563f7501", 0x54}], 0x1, &(0x7f0000000c00)=ANY=[@ANYBLOB="1c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0xee00, @ANYBLOB="00000000200197003ecf330ff52700000000000000ccaf3d00e393bc35e324ae3013dea2129a303ebe3214a1f448f2226702e5a759774f29e94513b839dd383a3d042980abedcb3fc2cbb24339351e5f49e76e5483169e58a2942162601c89eaa991d8cd7d3159ced91815821d5f9ca75736114e087c", @ANYRES32, @ANYRES32=r0, @ANYRES32=r0, @ANYRES32=r0, @ANYBLOB="1c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0x0, @ANYRES32=0xee01, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32=0xee00, @ANYRES32, @ANYBLOB='\x00\x00\x00\x00'], 0x80, 0x800}}, {{&(0x7f0000000400)=@abs={0x1, 0x0, 0x4e24}, 0x6e, &(0x7f0000000840)=[{&(0x7f0000000480)="c9528e1694b001a12816e370bf2364b93107f0c29229b5", 0x17}, {&(0x7f00000004c0)="3167fbb115513e38c691c986061890b3b6911eb9ea0eec6d60c7785b1a4edf7dc1aea0820b233084867a7fa58547dd4fc19dd39f11902bcb806234927ea7d8db959c041e3ea683cb79aa02dfb1d50bb7c06b2a5990fc1c9e4b8eefdd441a03290adb17723d1f760a9fd577c7ffa606c989f3b6568907588b9cc9cb93f24be340fc602dbf4b26367ccfd861de2a74", 0x8e}, {&(0x7f0000000680)="6c6a9c692334a2fd986f9d8b992f7878715ccd6f45aadec05bee9749d61e92fc6141d32c8869ab290257a875b83312b6a387af4fb5065fa6404f413dfb2b560ad10595e95bd04931b2311cc881798e2d23e1ee0ba5d412de744623338b8810e109a942b7e0d221d7546ecd8d426cdbaac3c3872fa80a21fcace2eb27451adbdd7f889b71b0bc8664c0d52b45efe443c2c8e0b625707504ba5a973ee291a1697c8f5ce8ec6e31abafa31de212f9170a6e5bf70efb508eafea454307434daf3911fc6972f4e453facf", 0xc8}, {&(0x7f0000000580)="e052f39d9dbe7a1a4cdac48d1f36a300a329ba8adf3812cf8a21a66cb63e7679d3ad8dc5724fd7d36efddf76d3bd4adab792a71ed7dc49059b1ab7348214a31cead6292c495995b821ba623a792eb0eb47e32df60e4b07d2fc4aa597278c1b2c5c2eceaa6c176cc26d20294fd271a111d5a0956f2869435b5b07a75b4c5d063d5c7e425dc8bc53d0c02113add110cd524bbe476f4614399a7c4fe6533b0e3e23", 0xa0}, {&(0x7f0000000780)="89ffdf68e2ae3ed7216fe63ba4796d7d1e7815c369eafe35141da73d531dc7987677193de3a9015373e138c47f01fdd213b74edfa198db1863c931a40e81c7148022e6818200b6c0c0c244531e843a0ffb7a2d7e5cc72c577f717d6ef9c3e6dce1a00cad7ec3321c1a8b991aceb87105a92fbb776529384724549791be4f82a77c387fbb1ef3baa52ce736e4fbc1b0fc4f6245eee8639ac960d8084fc981906d3dbbdcfb88ac1ee630de85f455f2f58de99774b226b43d58ad", 0xb9}], 0x5, &(0x7f0000000980)=[@cred={{0x1c, 0x1, 0x2, {0x0, 0xee01}}}, @rights={{0x2c, 0x1, 0x1, [r0, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, r0, 0xffffffffffffffff, r0]}}, @cred={{0x1c, 0x1, 0x2, {0x0, 0xee00}}}], 0x70, 0x44044}}, {{&(0x7f0000000a00)=@abs={0x1, 0x0, 0x4e23}, 0x6e, &(0x7f0000000bc0)=[{&(0x7f0000000a80)="a2bdec0134617c2a5813048829a6c1e024980ded02a85034d6590f78646c0ddf70cff6681fa52b35ed00d54b14f35401f79b4259210691ac0b56b6e9066915aec4ce8f9ab8aaaf00d2e8772186afe0", 0x4f}, {&(0x7f0000000b00)="b54b338801034bfffaf243f329b8b3e48ca166ec8eb19b26235e0c05acb23bde8de9c506f83d8c01b1ac466ae4c5a2e454ccac7b77b18e95aca8bcf1dd54de7369f9dbbf934b14ef1414cbe7723419a0e84609212107ff5a7d8899395b4fe230db3dcb1442bd4641226473bfd3217952eec784c9f255b4f4d2496e36daf6430d6894abbcb99acf25dff0a1", 0x8b}], 0x2, &(0x7f0000003d00)=[@cred={{0x1c, 0x1, 0x2, {0x0, 0xffffffffffffffff, 0xffffffffffffffff}}}, @cred={{0x1c, 0x1, 0x2, {0x0, 0x0, 0xee01}}}, @cred={{0x1c, 0x1, 0x2, {0x0, 0x0, 0xffffffffffffffff}}}], 0x60, 0x2000040}}, {{&(0x7f0000003d80)=@abs={0x1, 0x0, 0x4e22}, 0x6e, &(0x7f0000003fc0)=[{&(0x7f0000003e00)="a05fdd8625fba59a49a3b122ff48ad1ea29b3d79cff13f274e82db931480393719f6b06d7992a435f89b5ae1c4705bf8cc7e455935", 0x35}, {&(0x7f0000003e40)="79fd82564b02a5408afc0c33a95cfd72dd66dd29f0de92f952bcb6c5bc3f07254669b984a11a6bbfd229a758ab433ba8aec47101cbf81e1a1d999cec599e1822f379c47428f910ba399eb1f7dd0777b85c89c82c11ccce82e3ae84cfdea74af3d347882051115ca261339328010bf0005c87074bb304f86ad62546aef63eac7ffcb09884859db010688d3dc8ae69061ab938f64602ed3fe61ce3932666a45a5f638446beb6644c", 0xa7}, {&(0x7f0000003f00)="5ee1e47792392ee3fc322bed816c6692e19bb2adf0fb57aa7b1f35cabad13efac1177cde67447898b129e69542190fb7a3504cdb63b751b1ba1d246a8234433f594e38dfc79e507b7bbefc19db37a2aa5dfe893ee1956c155ad21ddf07ce1b8f301ac80083d43d265ed80014724d9cc13dcfad028179ce01c5b57cc07f80fbc9a5c47a0b3e564dae05959f0bcf918d3163660e21dcf207abbf92db3ed6059361c352", 0xa2}], 0x3, 0x0, 0x0, 0x880}}, {{0x0, 0x0, &(0x7f00000041c0)=[{&(0x7f0000004000)="ce7b35dde98c4f23d0a33dd8c595cbc81cafa7faaeec36d79b7b622d8dfe83d0614f4a80d8962d264ca8e3f521969af7aa69047338f0a16ed072c3ad8ea54506f02d624ea9376387937c4699f349025ef0fb1a228b7779bd57222318ff0aedb6f9c4eb8bc231600a", 0x68}, {&(0x7f0000004080)='A', 0x1}, {&(0x7f00000040c0)="96982c462c80c84a30110e3d5a8069e3496004096dc3159b18139618c1b4c0121ac0e1389b335748c1da5afac4a1f4a30506854600f40c345f3048ad54630abca0fe819b508be210", 0x48}, {&(0x7f0000004140)="fbd7eecf605d7e28f5b74a13ac7a4862cb539dcb1c8024c4fe29df221c384374b5ba328dd928411915d842e8883d9fddf8b256d48d628c84033637a383d9baf9facb0679da186451c947b4a03d", 0x4d}], 0x4, &(0x7f0000004800)=[@cred={{0x1c}}, @rights={{0x18, 0x1, 0x1, [0xffffffffffffffff, r0]}}, @rights={{0x14, 0x1, 0x1, [0xffffffffffffffff]}}], 0x50, 0x4040000}}, {{&(0x7f0000004880)=@abs={0x1, 0x0, 0x4e20}, 0x6e, &(0x7f0000006b80)=[{&(0x7f0000004900)="10eccb971341d1cc144bc2420393bab856533716b3876cd1fbccb550d001d3c4b70f72738185141d09a96d17fa2e2357ee53e3aaf467fe9b2b73ec1847236923401cb4790fd36feb7cc9f3a6dcb18bc3f1c0f5062580b58669e4d94b391acd60b0feceb641b8a08eb08ba17fe9d3a5bcd82b038fc8e15bb128245d8d06f1278c2a109aacbd11682c9b5949a1cea2d28d27763a5b7680018047c1fe8c5395e7ee6ed8dbd5f1aeb4cae0513bbcec534962df0df78bf82e8e77d3a2fa25ab622f492f09e1b5326deddf75adeddd9cdaf2818d4fb0bd0a9c5649e656bd284b3a668bd03ab0c7ce67cd9a231254cb911116afb110b1c0ae88b50876eebe3d11a8509a1757a9452e3b6c57148d563c1711bfe8e944ea333cd969638436b4b684ae7b6b08f4133be12ce28916b8d4b0a8202263c03fd164e0e8b6e2ffd1428ed5a44819b45a38baaa294e57b7ca7641b317709f3774707df8ba376d7d0a944aa1472b4a171d878c01569088d565f50b3ab1ffc5d77f9a3a0504fd59bb073d505c86cb9cf9589bb26bd7901a4ba2788fe0a92b583ab43923cad68a122ce106562c59631c4bba4ff1d8eb6af64062a77bf8b28324d80e0e20da12c1f529723684d879e426d945bdb8f37a2c8703b3bbcc7d7d2ab355857abf54d2c5fa66156be8ed0a647de81b56002d1e68411cd55cf8f8a83c79f497badf582d96ac1f1c5a7c3bdabaff424128ac95255ae1d183bf756fb04ab4575c9850a405ca3fefc7e09447f011e7832650c62c420ac73ed871871b8bc10211c1ff57f51b77f389401f880a346b8354f585dc1797ab571a382cb5c31d3c4b2e65f93a309b0b2d2bbeada36ca08c818c020c83bfc9874bb93f4d98de5bff819d4f333b146e288c548ab5c60c0e76b7d449f31bc01a220602291f387f80deb9f0dd0390196973bc8d38babfb349cc6b75ef2d48f639c207db1f88e308b71c54dd40c074718d72d4da19aee195c5133322a6c44fd97ba07181cbf220587e35bc52ddd485994f2c55ac6040c1bda40954c3f03237d0bdff6053b0b63a8bc0988bf42377cc812f9eaf031b61af8edf96aa52d06cab8e0df876fd5ad846cf853c990d3acd21db249d2e84cba96ad79ff979bd3912cabe92e540ecdca47c6e39719f3634e35b63828cf01efc00bcc28216923cc188cdbec2b59a06dd0cb19920e41c9306b63464cd9f2146d8763e5e13b854a3d8aa28759cf31fbb82fac4b52c8876c57636485d292d0b826df5d14659c70876b08b1468f6f73e45293b5ee62f7137f6a5aed40376fc21d745b7f4ddc89992132997adb968c12a86047a6ed724e904e0e56d26032da73f11706a292b3302347265cdc2cb02164739d025e892958beab3bde1ca53d6d45c79bf1b4fa7231a2f15ed8f405d2a6978f724f0206ae9fc4409fc13fc0e5bcf2b425a07e293eedce34644144fb8ec25de12aa96596212036eb960f047be500221e934deb1bfb4ac16dfcaf2c19b08aba0e13f9826e702524eff37f8669d838c4c5558c59287d3b759ba8d351179cbc4a8c57af5f864fffc0b29f7a1e1fb546ed4b76059488c5420265ebcb24b5abfaf70a5054ee5eea8c80fb03c284f2d40dce2e69b1742b5c6130b9d163d638b67f06ce3f3f5115c085cd8c97607802fdfea807f65b1459351b3c62d7c82c66baecd175904fa7a111913c7f70c63c749c495ece833a7e60e64a57506ec692def8a79617f5f0949852bb59f83a6a0e130f38f6ad2ef9631f6094c5f34a7d8a1e475dcd68598f79bcf86dc0b0c187da9a9d0e7f7b0b1e4a46a3755723436450936d062aa4bca3d0f9ab043ba2406b885dd2ac100f8c08b2b1f754626157dafcac25fc183eddb55362ff570fef4b3508c10c75d5801220056cbf156163e316fc9239ce3e0fc0c9250531f5fac7c3159b640187bc8c4262983d8fbaa4edb96a22feef3cb6c2e90a629cec9ed2d602cdd8e70f8ed333c4f702584e7228549c306e6e21380c9be8b18857c26664a408071a1e617570f68e4b0b793739a999a5144c643e57af05e8c174b66776e46cce3b0e6930ad014efcf43598eca6db79fa235d8643ce4506ee3f85c1397da6aeb3d35c6561d95fcce753050a24c332c500fba09d82832d4930e4d7c6168404205e27bdc18e197b41c3d8cd4636818ef34a4c637116afb6dfb2a1fbcc8533b3557a15c4837dd10741bb6f469439ce4b61ff1c98488f372fbd01da91ec0aa5ff9e4f64803a096bb3b42082afd594a2486ec83f3adb77a3f547cf2436b3fc8365f12512d7d24f2c8253a03ef253e2f02a5f0908111a366f78d725a808c95dc6963aeccdd617ff015b4a10d4166dd7bdfccf753ed79961b98cf72d4765828d73621bd4229a4696f5fd621831e9f59348020d77592eb6daac01c895ddc14b78f7ec3903b33401bb2b93250b7d4a39f869ecd037f2f0ba5437b76193eb5310156da1ef3c8f26219401fcbeb8525ae2326a3778129a0c02e478978f0c4868d58fe25fca2588feae8c3a8b2394553e0ce142e6dbf87a8e68be6f8f1b916b89eee773010fc986c0ffca757e4a1a3112e206dc84221c1cf4cd2b13e8fd324ff7994f83c685cbfd3fa78175e44ea674fa0270d0a93a1bc982c797d6d41d43aa4f9833656319e692d9d7e9f71f0066196ada3943a6b96585b644d879d13f0781389d582ea26aba9165e3c6467f04efe859f01db037ee15e97a0c041740290f743715b4e7ad38047e0fe40f4739af1732a414a7fed74532c0c4d404d4f5ce2b3d471bfb8e0fc52312bd304e8738443b3e1b50f61de5a59336a2133e61fe8c2f7e1a36c8db3fff9e10d9f039376b7c58a633a1924dc23e1faafd576990ade56040ba2d48a70e3f8f2ca86d88556f15da07c1a00f298bf4ee61ed3cf63b3063e5090b9583d5bfa50706e3cf15cfae8c0fc7046685c2fcfb33171d04ce0f8c5c89a0024c6fbd8b4805688256968ad0d050474a2c6c7258c7716c9ab22aaebf15337e4b10868500f761c98b10e1132897e600f08619c268bd665a03f087a0c6d1b261d5e00deca920df3a092415efbb8cae4e15726ba380918752d9e52ae5f380df81d464a60d5e775296237367c7cb60bbaf49dbc80d4665774f598788049f08d35df6a0a80de00c681aa303f08738a5fd1d913a1c15dd18dd343ce39fb76e5dfc33f769179c48c273794ea11499bc0f5045dbf1e4b5aab53e75aa4ba9c63e98b3be28c11504699660b9e1944d5702b6275a365d654aa48588bde373199a2e04f39b533aa7fb528fa82263a85889504be12f32f3ff60b5f7a7f7b147f6cd21426762e729d437a2298a6948a116cabe44bed48244a697359de2017b66df3e19dd28c92cca1ecc4c7e50701b16fca5c2537a618b3c537d60f971e0324970702eba036fffe7f91ad222342759ce65f5fae102c543eccc921ec54dc40734380eeceddca5e764f632294c9eb6fa5b6b0f3499f5d98455354f476a40d56dbb5a4bd51f1b0b478d312b273cf85127438ea704f5123e282ff45eb755822e5f8b7dd1c6303735baf958be8097ba4327f33a0ecc4e46562405294f8a6ebbed7552b854c2bb73976b80d981fdaf334e59b992e37545cb67d2d0bfec599c67258de67943152df36e7621db651fd79845ee320a41ee59330efc49488da0f5b65a35a20a47157fc9fb660bcf3f50440871e7ea7f523989f8ab048967a665c1c487b0a241b4a02e8578f1daebb4c6b4ba8a7f03cc3e53e3e4ea692be39ab13ae03dad01422d19a76c75f70f02132277f055af58092efc3e8117d685aae6161549513c27dde25274910511a39a47da142dc01a9dbf18ef3d3516c253d74f09aab92979150a1a24681830ea1ada3646a933dbf64ece72e3cb200b81614f99d88d870c41aee44578b756f82e261c9d7f968f8b42756b396e648e5ca8269ce94017fa843852d92d8f9bc01abada1287b6dcf4df60ed2a83c58e6acd63239e1fe774fe9cd5e1be21fc48a3c2088adeafe8b1a70a298e7da1f9124b84988247b88dfd1bc5297df968afda8d3a7803e59150147ef4fb5a4bb65665c595fd4ab179e49eb9b2cd91b0adfafd48116c298dc13cc67bb61bfe09446ad778bbc66725904a4f62ae0d989dea33478f38151127461a595d53d6059aa2790ad6af79f67fb80aca6fa19da6152a7163916831babd5d1fa07e91f242e28c3701491359c84acfd5bc25a936f9dbc8f607f651d0e11023cd5a2ad43065cadc7d9ec9a37d4d883b3fb899761566cefd3cf73b1fe37a8c21cc1ca4d0dab794df368b8caad4fac82b52cd5a96cf8a7448173b0a65b1ae58c635eecee4ef93621dc78575546ff02969f1f7b2629abb38ffa2d089a24aa44eb55cefc615d05498c3171e86cbe1fcd995f57adff685a75033d22058068df140d850383043c8638cb5a6f620b14f91536ff00bf1e457b3bf0e71da0d2126c6dcbf1917dd136c508525f3c6552af21c15d76d93ebf99c85311e726e35eeed91dc3567d29540d007ea7c3376467b816d9ec84bd0b39305e05ca01242f64cab4925d00c134c579c1d085eb46a1ea5e19951231ed4282f44340792babc8a4afe358d0184904694acf3282facdae25f7dc47bc16ead97c7d58292e483da14c0b27f50baa3201e48ce1e95cb2bce0f11a59e60a237156dd108b8a9f743c790ae5e6f32a23f809d75247ea353754c41dcb998fd6260ff084809f9bd8675efc66f6f4a36600325c3a8a1693e1ccac2ec0b039a4e1732d3fc07c4c4aa117a7e16b4f1fe9a593c84f6227be0d0cea8507cf02d1ada90e04acc789691811c417700eb8b52291a4cf4eb52c17247849cdc977044c4e6c42417a4a2f52a72816e97886da5c0cc0e8904ae15781a273a30bdf2de71355a5a3273a7becec9608a56c0a0ce7f670efeecbac5aeed41a6a315e7e8f3975cb30a6ec5c619f95cbaf35c0c8b7acf6f6a9df99a8a441d4d88726a237840b213c5c750f74e442d4add6b672c130770a51a962acbf17ddd70251bef6a799eb722375b7512d1abeed349072ebd2640cc62eb7042a5a75023eb44d1089ceaea66993f186e5529d46f0047996b6b9e22bdd9bcbabc8bc348adc4d63b254f8333acf7857628ac9be91f70567b13f5d2cf858fbc1a23e7b4d6cf69a3d09d0718ebafba19ed16871bb5bce028f7f9b2c63eae85d1107fbf2fbc1bf8bf5891c6cb70ebb4cc1b020f57861dfa71ea55167ee214837a33a3ea3d84f78ded99aff5636a5a7f66b179690b23ccd85e096a88b470cfb20daa9272c770225b7f17707771f06fd2d6fefade9f2d62ac50188d13091fba641bdc223bd9326a8e72beb9b1277d96e546c821e58426c95e6bfad0901255e28e592da9e6481e4c07c710e1bda794750f7d6666de5ef75e2a20475ee5a714d7ecf2437eb17a7db8e731fd713d6317da1d860a547ac4eb942b7dff8d82e7e91fe3aac3a8a4f9d6c7972fe4744dcb1bf7399b2b685453a8db40b95a054a0035b30da2389646e559f7b53b72392307885de631e32f81c8bd8f6950e7a83da5775ae25c596db3fc40346043ae444b9f7fc79be8420f87f739b5c98f253868263acb1224cf40d5b808ff4c173cad4111828c62aabd17aff1f24991af6807b6aa5568e4d893467f9b7714ad96f659d788e18baa52fdf55eeb5e11b367c08e81530d5288ed23f3e621609fba20ece514935dd4a1283fe3d6eede5ced1fe156421ecd4e52e3cfdcd00b0c30f0889ca8c36e939b4cd88ba151a516e7bc921dd1928c26fb73fe5a113c8d4c48f4dd463f37d93e718ae761093", 0x1000}, {&(0x7f0000005900)="a73ea8df9fcb8328744ab8f94eebee2291c9de82305d399fce5ab0bbae6f92711a4f2971087553bc111cfc5e769c23118f05c98c48ed8c767fa59274b67e2c43d30cc5a3f6f63d3eb49567488d6e1fca8c44a598493181c0099facabe97885b407bf9af19d27e4d497456a4ddc2c0a4fe8bf4b464bb9bc32240885d6bdcbed77945c73b328010a712387cdea4dc86c15bed723c6f20924a1f82d1ef2a523558674da590b9201627776cbac2bd151af756c10c09874a023eb21e93ff234b7c4f6b119486036406a7e15ee4dc2a215be66c3a76bfd6b9ac794cb5145d38e7f3d7e48f09f3256d343e45a8e76afe68c1c76266c412854382ebf9d272f928b059ffe8a91d5a69384793a28d6719ace26736023d32943f216a4f17ce0cdd652905883095077e78355bc618561354f1f305453ed8b5e454c82bca4b3e7826a44661205b4947bb8e7b93a0a46a3dd7d8c5d5abab7f3e3d9792874df17143baef5db2861826c3d7ec7c7c37ffbb5d936fb86e4fe270607dfce4fe6576e4afcf09316b9bf5b7e609fe74f14ec0d4792e945136b68ca4c7f05e4a186e8d442bac606d9a163abcd52a6a1497fd2c7bdc4fa316a269b8baebe9dc48afddc36fbeba4ab45ec0c0e5e64471bd84cd50e6ede4c4eb446b8b725e41c724e6831a8c0bfc8c2c13a5780ba28e66810f156e15485accd46f08758b8563cabe5ecfd8a896dcc9e9c6d38ada274293e850d564d6f666ef5a20f9aa0985f27efc962c34cacd4ae08bc0c423121e88e65dfea8a1fb9de9ad70254678c931b031e6d8f702f0d1c4a69719ecf1c0e69776d0ef273e498889533182ba15289f76e357aa153b9bcb470ca449902f960d382a4fc50e82ad00d8999e3feb92b60ee6ddb016791daab7088a68df8ff4e50781055210bf8736aa8738cb62849c4240aa88c73c593929fbc496871573f7490f075fc21e03b7e3c8b473425a32ea751669bd8220a88727369ad72b71f2e5b259f5bc4a85e9522a149c8d1b595d4cb59a5af00d70b70de93459c183b2cdb152bd80c1d7cc08cb875aa0c902fd7f82fa3801aef8cb1e98300472bcf23cc6462b1c3e83d0e5c62c936b53f1d4e12d9486e3be9ca61712f408c629a25b998c0b4e8f895675a4777b19a6f77c4c622d0ea9c1f53292c73b5db648d6c1a14819d572bc672d66251e9ffa6bd02d686e7c43b5e37beaf9bcd8f9a132b149bd216b532272f8bf3aeb5ca292a5683973ea4bdd522a4c59849edcdc9f7a75f1af167070aa24872c29762ecf210fa90b8fae0e68bac95c49211c6bedff6d5ecd99ebcdddd3fdcf162c77e0c376f1d48a7c32c0f325769699d7001f74fbaea80225c87269ae4cf2d639ba2053d4ba9643457b6463562056dabab00cddf1e91dcdf8a75f0522cf98cff14c418b8707c8ab084a3f6279430bdada46594ce723cb1e5319283c6814a22646f5f78a647fa7896f6be5713204f88723bea925eb5db6085095a2037acb557c116377f9d1ed9b04f6b7250e698046ae4d08bef3871623239fe1ea28a128287631a82550a61115bb20b9cd955ad687157c360dc736c725c9f44be9567b0887543bdf11bfe008221b6ab6db64d924f1e5455720176fed95f3fa380d5dfbdb109a583d30d87a7927e626e59f39a26a567df520792fa0e5a640157c9fdf5f42303d38485aa57688c080504400e66d5ae126c041a37c8ebe0e88c41c5256f06da0d66ee582bc85d4384632116b2868851ab2eca2d7db1aed44ff12d560497ad725a8fb6a4743887911d9307d339155dd58600c5a857b874b9e4fb07c31887180a2cdf8edfe3d059b970d7895f39d42c1d22456ef7d1eb10f56d30b5241a7db37c1431d1d00c33a77dac161ade267add5cb52ecd871512e2baf2eb7b46877bbea521e7a55c4465e27df26110f74d460b2d721415030656518de17e7e6ffe8a1996a67fb325291228ac90aab21d0703a39952d7b4ec32a7609ba7da4e6c219f4628b6799bcd239ce6759e2561746a71ff10da361839af721513ad92e40cb11f61987cca313b0638b81131ebe91c055b2cb2d39ea11320be827c28db1bba73369560a2c121ce44621f6e772631fe9b4813cc725654bc22236fbd5d76ca282155cffb144391b71f8dab3f8c4ad213e2b12d72056c5675836b0d746bbc4fe5b179f14e374d7ed1dfc7d5bd61a82816f670f081a89de0852f9ebbd9dccd5eaffa1da45980bee874351d95742ac4e6fc597c832127bf319eaf2bc4835c378b0a305273695ccaf3e53f868f6d6a768f716e1cac7b53c64c3a2bb7a1946324f394bdcf912d91e1748eaa4d50ca23d73dd6831edaa208e16a4684dfee88319a04d355b3b8fa5b680f3389518111ea134d9f52b9a3b10d87048b0595fe18ae9d4404fe7df48674f4b86e43118370c5b82fbd625f88d2f03f2a0dae73ab14b175a97e83b5e3a2f69190bc122140a432d348d2080585b4b5f7332345423c7eae1ba706de58f91d71f62a6144c9b6ed20cccfbec348fb36da664b23b22ee71041e313cf09d6d5304689f100cdebf7167970fc5d4b872804bb3b68b69acba7be4aa26d4d86fd4afee897f60b4d8de13f3dfde41135836f50884beb6525e3f1e566571beb9307efdeb1de63a6d737bce216640bc51f8e27fa6a21734a9eb3407468723aa7f98626d95ae1a5300b8571126bec842c69e9edb47300d9467aba43befbd8fb5754369beed3d9b276792b5d9b9e4c782a4e32106e2928ef24466c0b73fc6559d51b115fc599b2e449f1e812f179bf94914a09aa679b8af7bec4959e64ee44282d487bf52f52a3655420d7203cbe6393b182274f357aaa7dc26473bce87e813f69714f2e3c2d51c557bf2bb8dba40f8f1178dd69d3538a2fdad359dc638004d881de24e178010ca1525c6a4019fb2b00182b3689a8cee79d12bf50671ff1952a6f94e0e8cac5dd0aac19ba3a1fe57ba009969ac9bd543c53182ebc4a3fb507260666057e839319030bf2d1237e2f396bfd9cc07af44a0753e711e5ab279e6649bd3e11dd5f47e8f352127470a11c91893118e908ce763b67d5cec65f4de0ca9b7f4a0e436d725b740e63102f6d82e1d555d3d758c2ae057861a23eafb9d22956a87dc29c6c391d0e2fabd5d976ea8bd7c8f1c78cb28be5ec0f00937c75166c535261db373c490f19a10c155fc23c2b1bab4c221efe11bce9e9330e5f52d6c337e8653b21ab9e89de0713e584a7fbcc21922315003bc432ddcaecbe436678e8138d8f6d64dec70bf872eb57c9a21bafc13ae066f7d1b82b1950c6087ff18ea5a983ce0ed87f395ea3b03300f49af3396832751a959dc2f9004fef5539e83a8c827f618fb73bb37f9d97e1e4aa6b0b85c6ea4f623c59e9df3db53adae16462430974d472f1c07e3c0821d208fb25989ac494446715989bb09f8d1db932bb4389de0f2e62e7f0656d46b562b0069c4bc4dbd102b95eccb95ec099f255f696c59ecd685dc3b509a011ab4f985e20c61edeee7537a5bc068eac68ace2eb4942e92533d04e18a1e7943116f89571a5e8629a99bd3c4e8faa3c2256945b4fd35a9a388370e2e710f1d7c333631590aafe9e4eed851b75a94bd48eae25741f59810d55a23ca382db9aeea87bceb2ffafbd260d7a5e9739d4ff69bfcabc088abcb8e643dc0ab6d69649751e803a27e7443d5521562bab1d44532ab7210824f0e8731c32a3da81a457c2ef8750c07ba730ddf7ca9efa5ccb630ac5e25971f0be482a6fe406a40f30da3d658b319a207af3dc90625c34ab5d1bbfa71b4ec8713a28edbbc20a58752c31db75a55cb84857d81736e49275aaf71f3c2db9857572adefbca372cb42d6813df2e5bc69b36a16d326cf319b6a29d7b80011f4f9bd354486be2c689b2d87140403ef81ff7a21538d65d372564cba57e71823fb07e4bef4bf85b2fe1ae4cb80bc0206b031baa48bbd563c708d57473aa9bef75024d5a2c44a7c27f5f76b47b8e2e368e2bd59fa4e95440de51e94043035677fdbb87b612f75c5297a60db39ce751d0f8360d6d1684cf8e402ef292cd4d4a7055f07b34987391a008d0abb67cdc8e2dd09bf34eea997e43f3ec5c7ef82e01bf4cc513d7ebe0ea9c60b582d67c0aa2b16be5545c9ba6063d9311fe70a070292687fdbf7a29f6c828139e62a4284dd551e4bcc82c865d51b2623f580730acaf3d476f54c0d813f13a3b864f4046133d3bbca50675a1c19fb416a5d1aa513da26d22372a48e4c7b3569d9a66fdc1a98363c1915cbc6316a1e59f0fddf949cac9fb48e0f1c33530ed1efb28284aea1484d8569b06994c5900a4a8ecf1c9e2a4c7661c64a240f9a2183f40ad8eb1afd444ad0a2a0bd34c28b695b166a2e1003be708fd08f9f4544907e6941b66daca517c99896d34ded0717d760c3379c2ac979b2406517bc26a5c3e7306772d2103dc6ac6a39c21d44f385d868ee12253110189d708b2e3354472aa53ae27a684aca1ccec36f9a043c2e7b34b74069f0663cc014eae07b5dd0857347a7b63cd6bea05077b0e9ba03dfe7ddc2a4d865914886d7070c3f54f072b1d8f24ecafe7725cacdb97b253770f33e5e37de41b3c0c0686cf8b5153c4125a24689df480e6c4b7f5040b203bd931e81280b97c60d51cdf7da40528be18606ee1e26e16449720cc6772245114757740c6b44b682272c7ccedd75060bdf22178481347d15d1a69ddb1d3232cb7ab53ae3c0f1b5907402c2d2fe553fc95fd501ba81b7d1f644f1421407aef18e4ab0f2d3a964f1bf8d70c494bd3ac4a07a9241ac8ccad57aa7021ce7cc7f63721fbc47e4fbff57bebeba0dbafbbdfc8f0e64e18f70adcd60595add13f4817f2de52881ea8b388a58767e987f329caa7cebfc33b1f4a5ae171ca3bedc5ad0974ab74cc51c7e574997df68aa934856d6b89d038a1801de4fae94cc5e1169b410cc7442990a9618301391edf905e5c285cc62b62f01e82442376e1b816b9382b70b5b05fc86061fbaff3019734d12b9c08efb60328a04aa447df150d5aa4cf88c1e0daaecdc0a4449d6e5bc7dd6ba4c993a5d54d8b4200efd1a772c8dafa199405773393e307fc29eda3076b97802ef55a56f0801b5182aca5b00501d5b093a6e559525066cd9dba8ced6d88eefb4bb3d00ab7e0401a4991773433c120ce143a475090f57d2b7d759a597462d695d2d46ad962f566868ef0930a9d9b85105cb609d4d42276cf8cbc3388e6a5e9c8383510fcd2b6c1269f57940c52224b049ca327dc9d8034b895569e5b3476d388f9b36af06def28804aebfbb69efa57140b38f99d5e1f610f16acc62d4c5dd77aed9403e00c98ac4afd0faab7bdbb816d4a93220d19fe5ab369f65ac27d55742807d6332682b8b6fcdaed6f7d5eebac4c4c3a27a91da470f4da883aa0f39d7adb25938e00f805bc4ce580f484d0a874b8f3571d1ab519337ecfe50b0db3794faa857af7c9998dc85b95f0bac477bf60ab8b4f313388d8a2ac0b0f0d8adcd48f79b5bc650dc9c142492ba3ff141e29f0612facd8458208a6f465b1b3ea0bf0aef81e74e83972194d80634ed2a4b34214a9b90f8c163d112175a1d807e336cacb6a64495c0724efda824c9c2072ad17e654b75129cc0c0fe16765ab406b089b6e1ea0e6aad0f0b858f165fd011e8d02e39b8f20d566b4dc2ed885b6d7d7576a9a12e3d439efeb77167bdbfca26bcb2d9d1f82e07256781b316fc3928702a135aeab37e251d1c0551d950e4b6814fe6b2b21317c81b7f2e4809c61645b55f8082021a9b7c3f7d1cf348ee9c5617776e4a", 0x1000}, {&(0x7f0000006900)="25ac23a88af1dcff6ca03647106d0d1502d487da537c5c2f35bfcb5da3287c5f620b82951ee2a5745f3bc5bac908c47842ef736b188ed5052ee128837895ef277ad4fbc8781e69dc9124aebeb85953ab342ad931d5aa7e4375926b2e6eac89c13fc1bdd652139ba40f1da105ac2339f03568c965872b42247980cf50c7b5f1159a2be679bbd683cc9898e0b9c033218876be1ac5c1a3af8dcef843c29698248f8374bd66dd3c676f04675715398b67fea0a485c2b62bdd918c17562dc8ae6d8eda90e1", 0xc3}, {&(0x7f0000006a00)="3281f759901a4e5d554a3ed550d4941c0b767aed924ec3a4b5e6fceff62051da2fbac96ac8bc1e414d49c7cef971b64cb885d2afa405f1c2b5aa355121742de5b3bafe2bdd55e5f91aa1022575ad6d3ac2d6aae87bee5ee4164036d3746d85891bc1db5c95239f23a6", 0x69}, {&(0x7f0000006a80)="360d04ec907b6b342a7f7e8dcc66f2d4c9ba7b653758b03d1bff302aee27078954568c47777824df2f360a488fc47de07c6d68c1a9cff451ca00281604393ed85a995b0c73a6515699971065d82d046ef5549048db33fc274d17476211b76676c7fa9d4d91c3bed97a80bfd22def0dcedfa53507fecbcc6fb84db2178073131b96513fe471549a509c7860d51b60bf047598da10485d10bf8402e46ef3024f4cdedecf4933f489222a0f809ad368e7fe954fea0b77c07d2b774930aeb220940bfa7bb06739ffcbb23af6f6", 0xcb}], 0x5, &(0x7f0000006e80)=[@cred={{0x1c}}, @rights={{0x1c, 0x1, 0x1, [r0, r0, r1]}}, @cred={{0x1c, 0x1, 0x2, {r2, 0xee01, r3}}}, @cred={{0x1c, 0x1, 0x2, {0xffffffffffffffff, r5, 0xee00}}}, @cred={{0x1c, 0x1, 0x2, {r8, r9, 0xffffffffffffffff}}}], 0xa0, 0x40040}}], 0x6, 0x1) clone(0x10000000, &(0x7f0000000040)="31652b1e7917a0e2456d0836e805b406f93db9d0210805256c8810a34b691337d8ffaf7d1ded6224e3f1e65e9679d02a03cb23a59be14571c9dd08b919042d36f4c9f537eedcb9b57885db8908f01138d193e5cf4256544234119be0f9f9933e9bc7f2b714396a4de383d3377b10c9368a86b4a84c433598ddc609313346182798fdf393b4d94a", &(0x7f0000000140), &(0x7f0000000180), &(0x7f00000001c0)="0b1c63c088f2711a2adab25289304f") 07:26:37 executing program 5: fallocate(0xffffffffffffffff, 0x0, 0xfff, 0x7) r0 = syz_open_dev$vcsn(&(0x7f0000000280), 0x8, 0xc0) ioctl$DRM_IOCTL_AUTH_MAGIC(r0, 0x40046411, &(0x7f00000002c0)=0x3) r1 = socket$nl_route(0x10, 0x3, 0x0) r2 = bpf$PROG_LOAD(0x5, &(0x7f0000000200)={0xc, 0xe, &(0x7f0000001300)=ANY=[@ANYBLOB="b702000014000000bfa30000000000000703000000feffff7a0af0fff8ffffff79a4f0ff00000000b7060000ffffffff2d6405000000000065040400010000000404000001007d60b7030000000000006a0a00fe00000000850000000d000000b7000000000000009500000000000000caa333a0daf2f73451c0e17aaf4f606fec68cb7d67514fe60077d4dd90123d27e7cf43547fcf411326b8c6dea9e4b15a773a8ee85857ad4a77cb56e0fcb3dfd4e70ebec677d6ac14c2c794f72c2ebf5f5edab94b3dfaca12017d560c6e2cff07000000000000d8115efd90c8c48258f8dbe82e16cf0000000000000000000000000000000000000000000000000000790ae2fd45d54b107c8c8a14195e00000000d6707432ff48bc085760314166443ce72c74f3db890e1ff15a10d91f27e9a232fe2238fff867ba8fd41b296e0e244bd11747ffda1a869df7cc00004de8562344b419c45c2170fe873692d8256570c16822bdf7d97ef7c3a3af0b19edffd3135480dae93c7e33bdef00000000d8fd8c79a5d0967ab7e43686b4d1e03e326beea7905ef7de375ef8bc8143df20d13c37db269971210fab7071cc3094078a0447776cf5dceefd7b72a0950d389bc9cb43aa607b7269561dd5b522bd0491331818a10f2ac8c3249582a20d4e04fd1ab7883f656b84137d5f7a6edba86a7b9a4c2f3b3a8a98315167b8b8cdf2dcc2d30f4310e8281b0cdc017f9759060ea87673816be966a89a74ca316700218f919746bb4b84c16fd56ee450e411d75ab740000000000000004942394ed1422f54d5a2e1cf1a60fe2dcc1a465aa8d54cb4ed4053c3f01ea714a7bd4fad615ff6e2991589bbdd1ae0d1bce627a82afe16e019a5e0b5ec1bfc89afba090000c3630488ed0000621bc8fcc032b94ed09cbcb3577fea6f1e9fe8cd2b53a014ec391018f490f0e716b256acf183d8e55580a60af74d2078c664813354a2f18871c0c8df599bca31a7170419bb1d32f256ff2b10e69b2f04b1c532d3766d96e4c2f57ba917f0abd5253e87fbe5b86a4b9151c316df3925e6e1d9ab3e2036f4866e277d82829165d22f8aeb4ea299db2ebb6a6b157d4019545e0082d36ea0028d09608ef2e186fd216ce84d913813e1be50f5b6b98d3e767183c8cf9f5dab8d5fe3dc100d8b6cf41c29b550f45d680300db83d5c635fd97bd633694ebb6123876e6c50c0360daa387ba5da3e092463a4c08f2c686ca2a0000000000000000170000000029588161e5c83985525d0596df690f658da381536491276d55a4c91eca03738bb294e242279ffa13070000005c76ceeccc42d0bb16046b08ef2e66b14b90021f000000e0f795fbf03372a1e75ec7e9caa9ce99fce3f14c445d31cda37cfdf2e20356932ca7469d000000000000765a3072cff58164b5473c1d57c633a23b38afe61dfb03de8e0c7381285ea81e2fa66dad50f96f05957e98a762fb35cfc92ae1e2159c83238b2ae7a741616b70f78b09c27c4a85ec299663b1280a8cff7acaf43401619de431e9521a853eb7dd5212ec59834a580fe26e750ab10ce0cb18e02b1a0bf6184718e45834a4977310a645ad2dfe40f5b104fa472ea5bc78a27ad6b03821467e8379c7d766ea7e420b62e1b8d9a7e33ea0085febfba4750648139f2d172fcc47b99878ff7f3d3f63fa60f8ffae000000000000009f64a05414fd35123400f9467cada329990b74f80177a5fa741dff7dfbdcc4886796a9f42e67a6910667e1a6f71e82df07bb21cd67c76cbf514fcea329fa435e0400cd5c3c000011f2e84d7e9334fbce4a7e00000000000047411375053694dc9c259e9ed42151b5cdbf666137fe4c4c891417b798802ae97684cade484ed622762aff8264c303f71fbe3c9589b686b2910744173fb4a76c9c040e439fdca9ab9f97a5b789557fb3c1737500f1edf7d61da6ec96bcfbd472fed74634b890e62dcd52cad16bedd61040e0986508bea9c1a75a5b4c975bf0c34f0d0d9bbf276e3bab4812171da937e03392dc08d7d2cc3909eb674c521cc9878d05c94b93762d3ab3f28ac68067c60f594c453ef2cced9ca9bd71c77f8bab48e472ebaac2d497054309e879854302ba6950cc62bfe10eedc28b9ba5c8e0fba634321f795b95ada4d48341dbaf8e6a0b840de888780c1b4c91f81bda0e5a428d62eeba258920475a179a1b1c280f04d06e886b6abbdbf242e083e53ebf4d36526b5634fa1596a1b27b2101d2d46f3e7682aa9375ef9950d0e9379360fbae060b5c5d074b067ce3b6a4501f9afd0d00000000000000000000000000000000000000000000325494a0bbfb98920131f69b4c8f70e1602485b44f3235dd64c1102b41d4a6bb98cd3d9ef44b3bf18081b833cf7b4c93c9ef222179bd06bdc80d003bf4ec174e483e2dd27395bd921d62f76f979626f12d417584e9ad14c5597f441f049b4691bb6a82771ee285463476c0d41df6669e79eb860d4253a3329713ec555130fc939d14321700215f11efda27c7a0acf04b82ad0000001502b6debca7ad526895db0705ea7d7e9b63136c822ba81e98c947daaa4c747bc6ddf22553d65847fa1f0293520ad320ace4e72dc1dd8b524cc13ef5fde9df10e055ef9842c596d2f62224e8e7d4b8d5796baa05004c829acc775bb79e559cd7e2bd082e6ba9cd4577239b9258f343eb1a172d26d8a9159519e69352238286b4f6752ab5d242981b942abe587cc39c31c4c5d77d73ff68ec8bb2a957d015886e9c41d6fc6c289dfeb1605da12b4b8e7077cc9954ac7338a224d8910a8262f5c1417f836bc2ef0f74e7af0039a5e7eb4fe839e2020000004cf5ada0594faccdf05fa6097b483ba398c23daeedf814d033b3500ecf1c83ad534781ab7e48ee8bdd8d9154324a0000000ad81ff22064397b4777920600000000000000f94dbd28eb01fa1c6b029b94f73ef4a2393f733a04ec630dbc5c949cb3f61d657b12ba42a35833a1bb6aa3afb35409364759182307b0c485509232aef3a0107e888ae2aa0bc997551fc3b34548c5ac2f33c98cabc4d2ba9ed894a1c0776a4000aa9cdf5686925311c445aac78834dcc3d7afdb30b6860a390fb5302c75c2cf73fa7c29c35f03ef5e8cff2acf5321236f595b3b29b5f8b151f825a29c3391960808c6a8b3576d9ddaae002b031a49fe548f14176692d5757ce5cb5425f16264ba287e0696fbdb894e050d753a9caaae7330cf3dc1985e633e7948fe4398d47e02e52a746a008815579e73b29462019cd615295fba6e307c946264edda682b370feb8ca691e86126c30069b2552c109fd1b32e96fae5"], &(0x7f0000000340)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x24f}, 0x48) bind$netlink(r1, &(0x7f00000000c0)={0x10, 0x0, 0x25dfdbff, 0x4000}, 0xc) perf_event_open(&(0x7f0000000180)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4bfd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) fallocate(0xffffffffffffffff, 0x22, 0xc458, 0xffffffffffffff81) perf_event_open(&(0x7f0000000040)={0x4, 0x80, 0x4, 0xab, 0x0, 0xfd, 0x0, 0xffffffffffffff80, 0x400, 0x5, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x3, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x4, @perf_config_ext={0x5, 0xbc}, 0x2, 0xffffffff, 0xd0, 0xe, 0x5, 0x7, 0x800, 0x0, 0xfff, 0x0, 0x4}, 0x0, 0x3, 0xffffffffffffffff, 0x8) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000140)={r2, 0x1800000000000060, 0xe28, 0xfffffe0a, &(0x7f0000000100)="280e00034305607e5bc5795e6558600800ffffffba0e7231ffff81", 0x0, 0x100, 0xf2ffffff, 0xffffffffffffffb4, 0x212, &(0x7f0000000940)="f2a134bd13c7bd41a2a738ad8e7625ed330eb46063bd287d832698132e59ef45f8f50845c0ac85604b448e24348e4ae93e68238b7b9d561b349d19b5f5784e031c55c5a4e48926a1526e38640a161fab39732052ee83bc3b9cb625962f3eaf1ed426e6f0442693c16b0ab6a89a5738f5bccd6ae1492f8471a7afec6b", &(0x7f0000000380)="712ae01ebf877f139c8f1b0fcd056310bfa3de7157976d3ff4c82f2e0d1885774c5b7c7c853e5424fbf469ab0726e9f41208f98d20b093ddbb7f52e015b875cea2900b2443348cdf466c18cfae89ce96f0437cb21ca3703f0b94273c7500000000120000000000000000"}, 0x28) 07:26:38 executing program 0: r0 = socket$inet6(0xa, 0x0, 0x0) openat$dlm_plock(0xffffffffffffff9c, 0x0, 0x2, 0x0) r1 = openat$ion(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$ION_IOC_ALLOC(r1, 0xc0184900, &(0x7f0000000040)={0x120005, 0x3}) r2 = bpf$BPF_BTF_GET_FD_BY_ID(0x13, &(0x7f0000000440)=0xffffffffffffffff, 0x4) ioctl$INCFS_IOC_PERMIT_FILL(r1, 0x40046721, &(0x7f0000000480)={r2}) openat$dlm_monitor(0xffffffffffffff9c, 0x0, 0x0, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x80, 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, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r3 = socket$nl_route(0x10, 0x3, 0x0) r4 = socket$inet6_icmp_raw(0xa, 0x3, 0x3a) ioctl$ifreq_SIOCGIFINDEX_team(r4, 0x8933, &(0x7f0000000100)={'team0\x00', 0x0}) preadv(r0, &(0x7f00000003c0)=[{&(0x7f0000000180)=""/164, 0xa4}, {&(0x7f0000000000)=""/108, 0x6c}, {&(0x7f0000000740)=""/4096, 0x1000}, {&(0x7f00000000c0)=""/57, 0x39}, {&(0x7f0000000240)=""/97, 0x61}, {&(0x7f00000002c0)=""/216, 0xd8}], 0x6, 0xa8, 0x1) sendmsg$nl_route(r3, &(0x7f0000000080)={0x0, 0x60, &(0x7f0000000140)={&(0x7f0000000700)=@newlink={0x3c, 0x10, 0x44b, 0x0, 0x0, {0x0, 0x2}, [@IFLA_IFNAME={0x14, 0x3, 'ipvlan1\x00'}, @IFLA_MASTER={0x8, 0xa, r5}]}, 0x3c}}, 0x0) 07:26:38 executing program 1: r0 = socket$inet6_sctp(0xa, 0x5, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r0, 0x84, 0x64, &(0x7f0000cf6fe4)=[@in6={0xa, 0x4e23, 0x0, @loopback}], 0x1c) listen(r0, 0x80000001) connect$inet6(r0, &(0x7f0000000080)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) setsockopt$inet_sctp6_SCTP_I_WANT_MAPPED_V4_ADDR(r0, 0x84, 0xc, &(0x7f0000000000)=0x3, 0x4) 07:26:38 executing program 4: mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x0, 0x10, 0xffffffffffffffff, 0x0) ppoll(0x0, 0x0, 0x0, 0x0, 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x100000, 0x14, &(0x7f0000000200)=[{&(0x7f0000000040)="200000000002000019000000500100000f000000000000000100000005000000000004000040000020000000e1f4655fe1f4655f0100ffff53ef010001000000e0f4655f000000000000000001000000000000000b0000008000000018000000c20500002b0200000000000000000000000000000000000073797a6b616c6c6572000000000000002f746d702f73797a2d696d61676567656e38373635383433343000"/180, 0xb4, 0x400}, {&(0x7f0000010100)="000000000000000000000000a4d0099b099d46eeb5a6d2ef5e9d5ded010040000c00000000000000e0f4655f00"/63, 0x3f, 0x4e0}, {&(0x7f0000010200)="01000000000005004000000000000000", 0x10, 0x560}, {&(0x7f0000010300)="02000000030000000400000015000f0003000400"/30, 0x1e, 0x800}, {&(0x7f0000011500)="ed41000000080000e0f4655fe1f4655fe1f4655f00000000000004004000000000000800050000000af301000400000000000000000000000100000010000000", 0x40, 0x2080}, {&(0x7f0000011600), 0x0, 0x2300}, {&(0x7f0000011700)="c041000000400000e0f4655fe0f4655fe0f4655f00000000000002004000000000000800000000000af30100040000000000000000000000080000002000", 0x3e, 0x2500}, {&(0x7f0000011b00)="020000000c0001022e000000020000000c0002022e2e00000b00000014000a026c6f73742b666f756e6400000c0000001000050266696c65300000000f0000001000050166696c6531000000100000001000050166696c653200000010000000", 0x60, 0x8000}, {&(0x7f0000011d00)='\x00\x00\x00\x00\x00\b\x00'/31, 0x1f}, {&(0x7f0000011e00), 0x0, 0x11000}, {&(0x7f0000011f00)='\x00\x00\x00\x00\x00\b\x00'/16, 0x10}, {&(0x7f0000012100)='\x00\x00\x00\x00\x00\b\x00'/24, 0x18, 0x12800}, {&(0x7f0000012200)='\x00\x00\x00\x00\x00\b\x00'/32, 0x20}, {&(0x7f0000012300)='\x00\x00\x00\x00\x00\b\x00'/30, 0x1e, 0x13800}, {&(0x7f0000012400)="504d4d00504d4dffe1f4655f00000000647679756b6f762d676c6170746f70320000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000006c6f6f7032390075782f746573742f73797a5f6d6f756e745f696d6167655f650500"/128, 0x80, 0x20000}, {&(0x7f0000012500), 0x0, 0x28000}, {&(0x7f0000012b00)='syzkallers\x00'/28, 0x1c}, {&(0x7f0000012c00), 0x0, 0x40000}, {&(0x7f0000012d00)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00xattr2\x00\x00xattr1\x00\x00', 0x20, 0x407e0}, {0x0, 0x0, 0x50000}], 0x0, &(0x7f0000012f00)) fstat(r0, &(0x7f0000000440)={0x0, 0x0, 0x0, 0x0, 0x0}) r2 = openat$ion(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$ION_IOC_ALLOC(r2, 0xc0184900, &(0x7f0000000040)={0x120005, 0x3}) ioctl$F2FS_IOC_ABORT_VOLATILE_WRITE(r2, 0xf505, 0x0) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000caaffb)={0x0, 0x0, 0x0}, 0x0) setgid(0x0) mount$fuse(0x0, &(0x7f0000000140)='./file0\x00', &(0x7f0000000180), 0x0, &(0x7f00000004c0)={{}, 0x2c, {}, 0x2c, {'user_id', 0x3d, r1}, 0x2c, {'group_id', 0x3d, r3}, 0x2c, {[{@default_permissions}, {@allow_other}, {@blksize={'blksize', 0x3d, 0xc00}}, {@max_read={'max_read', 0x3d, 0x6}}], [{@smackfsfloor={'smackfsfloor', 0x3d, 'ext4\x00'}}]}}) 07:26:38 executing program 3: r0 = openat$ion(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$ION_IOC_ALLOC(r0, 0xc0184900, &(0x7f0000000040)={0x120005, 0x3, 0x0, 0xffffffffffffffff}) r2 = openat$ion(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$ION_IOC_ALLOC(r2, 0xc0184900, &(0x7f0000000040)={0x120005, 0x3, 0x0, 0xffffffffffffffff}) ioctl$DMA_BUF_IOCTL_SYNC(r3, 0x40086200, &(0x7f00000000c0)=0x6) ioctl$DMA_BUF_IOCTL_SYNC(r3, 0x40086200, &(0x7f0000000340)=0x2) ioctl$AUTOFS_DEV_IOCTL_ISMOUNTPOINT(0xffffffffffffffff, 0xc018937e, &(0x7f0000000300)=ANY=[@ANYBLOB="010000000100000018000000", @ANYRES32=r3, @ANYBLOB="000000000046bf90712f66696c65301f97f44011de6200"]) r4 = openat$vsock(0xffffffffffffff9c, &(0x7f00000000c0), 0x200000, 0x0) ioctl$ION_IOC_ALLOC(r4, 0xc0184900, &(0x7f0000000140)={0xffffffffffffffc1, 0x1, 0x1}) syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x200000, 0x4, &(0x7f0000000200)=[{&(0x7f0000010000)="200400000002000019000000900100000f000000000000000200000006000000000008000071000020000000dbf4655fdbf4655f0100ffff39ef010001000000daf4655f000000000000000001000000000000000b00000000040000080064d488f58ccc11e6", 0x66, 0x400}, {&(0x7f0000010100)="00000000000000000100000082e36724c6f34caa846ed2e527703378010040", 0x1f, 0x4c0}, {&(0x7f0000010400)="02000000030000000400000019000f000300040000000000000000000f002e69", 0x20, 0x1000}, {&(0x7f0000000380)="ed410000001000005af4655f01000000000000000000000000000400c0ef445f08763dbea4d192b3049ff8ebc704bb12003b29cea57526bda93e71f16468fa1f5429edebbb8fc858326dc91995da9eb4208ce76f4e48e62dbbb8c67fa652817ad1c5f865c21bbde27323368d63704df92515df3fcd2c1057ef8d27dd7af31343f16497cfb026cb88d13804fae373345cdcad7bdbc77af41bea3ab8bbafe7c38e8567ec1fe8d73384fada3c1d8bdd347e9c180a735d87db1f9232493d5a82e1309acb91b98d34a7e0f5b976543641e17c89c641f796d9e390adaee672afc4a217477cf8b6ccefe3262488a64edd0f875fe8d85fa2ab214117e4e823579ac3c101126c8b082e7e", 0x106, 0xff}], 0x0, &(0x7f0000000280)=ANY=[@ANYRES64, @ANYRES32=r1, @ANYRESHEX=r0, @ANYRES64=r0, @ANYRES64=r0, @ANYRESOCT=r0]) mkdir(&(0x7f0000000080)='./file0\x00', 0x140) r5 = syz_open_dev$usbfs(&(0x7f0000000180), 0x77, 0x1) ioctl$USBDEVFS_IOCTL(r5, 0xc0105512, &(0x7f0000000040)=@usbdevfs_connect={0x0, 0x5517, 0x48000000}) ioctl$USBDEVFS_IOCTL(r5, 0x8108551b, &(0x7f0000000380)) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(r5, 0x81f8943c, &(0x7f000005a700)={0x0, ""/256, 0x0, 0x0}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, &(0x7f000005a900)={0x0, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r7}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r7}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {r6}], 0xfd, "d4c90300"}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, &(0x7f0000000440)={0x0, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r7}], 0x0, "a59f7995f969f9"}) ioctl$BTRFS_IOC_INO_LOOKUP_USER(0xffffffffffffffff, 0xd000943e, &(0x7f00000000c0)={r7, 0x0, "d3f6734bfbf1e4d76ff4e641e8b640cd8ef4c60944d8b700c6c0532fbd1cf8023b5727b5ff01133c024dfce2d04a4b8d3bb366214c54ddaa535816a661fb688307de92427cb2a6237b7fdc9ef84f34d5329df7424b6d0516c0103b0cd26e4a227072a977bcd8e3328bfed60d85e81402ae28b74cf2669562001f47f92ad084435e86623ccc7e237f16be058f358eba58d5af88704e9b7cdd4620ccec6baa7541487e6423b63a3fa2a118eeb0e28f58d125d75c3f956c201a879993be5cef9458a7167907290aa97bbd78fd46f25a2834760c6bf08716199bc2f4e5ef448af5c5e7f64445e0212d8568b74f81c1610ce0eb9178748b158d0f763a64bcbb1d223f", "5e937212033d0c21e81564b3adab106a87b423b2c9100b1c992f7591d138bd49c5f9aa25a77e01bbdda92cf3651d992bbbb4f634830c88c4f96809df90c7e7e8d3ba7d98a671c9478d5cdd8af0b07b3df73a66b61d97ef6c924b4b70de5ee783e256d6c818ca0f6807f1daf5eef860b21e532a09dcbdc2634c8fcfb36f3c74443b2ff5c3ac144e7841e46de0b260ff576947dbe9880f4f5076006386beaf7683a746c4c1c9db9d167c23f0edfdf2979215f3538a7b8f65b3d27e45d40c5374e6c7f970ce37e23b56f81ba71cf84b9da0983bd3425283be56ea832cd86253db2e3d12d87dc4520573d4f0dadb7acc7ff4afbd19f949cb99d1fad290a92e3f5f525b2664d04c046cbf5cc87cd0ff577e224ae859676812d8f025606fe9fe88e30f0f94a932dcfef6fad2c58377171b1d5e1b5a7c549ff96cacc9d526ab33a37b342c1bc006cdcb828a606b9c0466af0f01fea3ebf28a0398e367ef1b0c5ee723c739e81f3e26117e3154498c18fed224f1c7ba0ed78fd91e3f2623e9dc30452016b11f67670c2abaa43497da5dee23a296918f0c9f17052bf4d93d4df1e790f242d41ceeff6408ebed48c63538b95ba7b9cf154bda82d916aae9ea6d135d6f9c0e4feed6861679667238ba924883350ac0d82e8ed3ce57293481c8a0ea7b7eaed96c165e535810884d8c783e84ad12dc4b7dd88fb5c4e51ff2df7e661b24f931a3aaeafdbc9a61ba49b3892b62ce069b9ee7c7467e58e6982b1b4b5cd47816d0864c5492d424e00f1ee28088a3600af4d39626ae45f4d1e3e63f5cba495f0e5f623f3d8701bd5749ed6e2ae10796c51cf0bf42a8cf7c072f3f457d8ddb7a65226e9571b5ee30962580f8cca3c9b76f51ab7c5d9be84e322e1761cada5d51bc1be9ea72e0b6569094fbe953174ffaca71dccba754ea7395efb30c3d766b24d60b76500e27b311e04cb851b7c83da163cde97d3ad30c9654747e3993361397a0df8910a6de64a591411d9bc3df5c0bbe21ba627af7b344d9ddb201086e0284f77a45efcef23be81dcf6b19eea8524a7bd618204800e762a760ff4eeffffd3324968492419a589062fc9c15cf6c630dbb8b4697fe75794b00148cc8f95e38b543ec639758957e60933d9046c268542015b669c22096e558e336faa20e58ebf73b3931e56ea47398fa44b8d619383516df030f205836d1cd562844c0fed41046f51777172413f5d4e9c68c07c14e8d32f8886c56eed81d0108864be168b5a1519b7e613f268f77e6442c01dde442f2786f1a374466c77fb0c23d5ed10ffe4bf276fe9ef78bad21b6f61f4f1fa941dd1a34d709193b01b1b7a9c3b4a86dc42624c42b07d29c78fa1e1585c9c7c5ac34e5bb91a7441f7e6d3dc3d0684185a010a22cd4d3d9c9e104defe7d1149dc655c25278d0bd4fc6e09411312a9a967df90e23cbdab350f4764f04e95a9c58328b858dbde6699de1c1c31a60ce68683e3c9d2a9cadb346e858cf2b2724d475b42e16dc003c591262b64d58ac8be59e7ace3d3ceee23802173eef5e031c272e09206fed487b60a75246858b8ec24373c345c2e4783aefa1e15d13287a0dbceeb61a317e194ff3f5ea26cdc6c14e2d86496c6a3037fd4c0e9c3fdfe102768cb6a0b16ab466e1587ee6b8449ca2b6c5e972ea101d7d15a74cc6884d7f9b0ab89b31795100e67bee0a05a2a29e63565cdac84bb423da36d7bce2a3148dd2abc804b367c967670a8646e84c72c4d2ce693a222fef001a57b1924d5d4fed2bfb9bb58d49bda13089f7a2eb45499cdb18a4ec0478a32309ede1afcb07fea8ecc646172a480f4b0263ae5081bdeb964cdcf3dfb97bf593865ef0d7742c1ae73c4a8aa66e0ef87f4632c552c22c965d0647355b55dc7d9e705f39383621482a5f6e2ad0239f75eaae70f6b8009d69656e07fb272ddc62a955819f8a5cdb4cb555402f4a39f4218ba8e1aac6f9760d1461468d52c2317e604452b57d4dc03ff1afd5ba440b9b6db5a6c42f557ce1be0350ac97724550351e47754832b61047e8e82018696cd458104e7f2b2ab9d36daff3e70aa5dc45d8b28867ee2f4962f13f0723d261b3ab7b4cba9f95c53ec2b3ace280b2436ec881714d7afcef4e56b0c594e09cbd6949b6d0b39e9e2e0a485973b3090c9b9a4c711d8b1002a28506a4ab81dd033909d62bf0a3ab7191bad6729ad4274d12599c9451fb8f9d65e0339f33f2d9594e9307d7beadfa90e8be57f857fdb052d4a76821b5cc73df6373000c8e3e1ae50ba1282ee67f3daf0018da327954fa0498c931c341c551c1eb3e5f9252cffa603db2b36a108fbf2f715c1ff5bd73bdb85d76c72ebe295c38932fc8a1344935bc4170e91d7eacad7528339b28ec8d9574251248c85ca7dec636846c4fc12f77daa092a54d7d89b82c9a794b9bc6bb2b93ebbf3fb8c04b3e111c87ccfbe7adb0c5c0c01db3f1f27c5dc8560739b28d24ba1bce2ddba349f6ae31f50ea3c6137f476304c98ce85295e9d3a782f3537c6aca1fa7896733f65aeb54b647b7f47e7b943e04fb5d6799692a085527951801dea7db84cdf9f6278b586444cf544536ac3c007a12f3fb5c71c675b2530862026c137b7e8217e2066f9cee460e3514539975e02e6509523fb416bab8bcace7a6d306e974444b38c450dd6a0817731f3f9b012ee0d87cc5b563b253a919e5ef2fb3ca19a9b846e07f809693ad770721f7fe54266c6f4664e0febf0abfb615a77b7e81021dee879dddd5d5ab497bc5884aa86597c4982366cdae86c6d3fdc1add91aaf088d054e92ff29427965c600e106da65ddefd0bb51b1f6051a9294e16d2e3b0387f23e7df844b7e9ab989608d9984778b5a73be37277695c2b23b311f472bae18cb339e7d46d9ad8afe3ef7bdb8394c436e3ff99a5a31185952813f7bbdb89217073edadd5cf7798637b4666ac4bd4406b77001aa495cd409727086c46c5f8efaad8fb844166596114dc63189d529f298cc53552cb80949d97369f71f81d5035002caf7294723266abb16d682eb4ba1c10bf9034fee445f298407aa257468cad5abb753a784552d99287484dd8b889026d217166e4eb006944fb95def4e25ad2fb8e8e1502d8b052220abc4453c2608a322a4cc4f6db8ce5fe858bf51a724f413ec987d9f8c88f99b51666409198394851bbf725de521eaa9e996b73749ecf37dc950e8ee4bdfa8924d333c92a92da7c74711fad2a95b9d02d46c172866f0c7c9afe7f888b513dafd0876384317c5d5b842200b7719c8a3551fb8fa6270727707376accfe4e3c43e0d6223fba56c9149e18e37dfa0422d4fee6aa508f3d0f5f01e8952a354ab43ff4595dace8fb60d5bf46465e3e6e7502d08a7dfc694f81cbec1062c6949267bf943eeee93f073b19e3a0b8a070bfd9c4acbd356757a0d6c85a0deb9966c7a3caa4757a4cfe8f3829d277dbf6086fa1bc89bf58faa4034dbf480ef39637d5477febf4330ba228e583b016097e054c6ff7b0aeeb793eb26d95a0e8675859957b8e6ee15f8ab34a5836e2207465d9f5c7ad332df0c4570456252f219f2d7956ef8b24805908d7b72e2e5944beb737fd36cf538eaf8eb44a923ec9a52f8bd7b007b6529a90c49bd3ed4a4312321e65629e80483ce59115d5c2b55e88970a3a69adf03ab17fc70bcf16cf56044220e81dae8dec092538129e060294c100c2024683bc8e874638ea13b59aba74a7cd51acdf76f2308b7cf313a979a1f3e5c3a4181b00010e813ab4a29cc53a2c0afd21c6aac112167d69a7f7995220227b95fd68385ffb60249f2b15e5dd80ca0f96e2c29cad3d14fc3eb85d1e32d662301f0d6e05b20a50f1e2cfcef6e68c9b64204e401e21f255ec528d772b36867a0d32c62973dab2c7846d6589542ea099ecb7469df4a413758b84fe1b152ee299741bea2e2361d6a7b2cd50df947cf746370e7c2a5c83dbdddd4957fd655ee742260fe5c30258f0fe52f4cada5236616e727ff8907e679faa59e16cc0c70037dc90d1aaee5b39d1afa1eeab996a48d11dfaf5ef5c5357d9d069b710f8c29499a6ed316bc7c540da1f45b7e24045cd4aa6bcd26c5ee48690fa9e6f9fdbdb7e4aa26d2f826587dd7e6968cf93b9e962bcc1fe5cdc6cbb711fba09e4aa271aa3fca4f9084b5d098b97345638c0710b376a049f769a1f3d3745a6b1b3dd3a75e6c616f544e1960290069ac0e43a1933dd791cc06e8d8370d63d874c5a32519ae3f6ee62f8b2b600b25fe03e2b59c8910fd73e1a7ef29fed1f97e72edc0e3c52af3c8c33527fea6898198ec189143644e7a5bd907c8a8bebac202fa257d19e9fdc8beadc6ee4c3a948780ee97f723d801574f0c02b5c55bab306db7890a7376ff21ec9c6cb14731eec48fe340c2bc4f7a921ab4169c7729c8f67c274f8f201be9969714b744bdfe878d733d9416f3f261cd8575e242ea19618cf8aadfa02757e0f73793193827414362020be3a428c251f917cc1d29220e5cf1a64fa7ea4566e48ea53cc39c58a5cf5229f8115b3c1f670a83fc4e126f9ebf695bc6c68d6c674a0f96ac6a2bc1edbcbbe8cdf9bc792d42f5b6de447f1c10df4c09217b4f8e393d4d05edf6486a98372e5bec201fcce16d40f01eb83bf5d7712c9dd4ae622f21ab23252d417e72bfee980bb8759f1f319d2794b2315141b97a5ad16cc7ae732681b4ad5dc9eea903ef5fc11117125c7842b78ef0a2baf02e59b9d646076f79e74078f82238655cf2f6c7a8b49de1afb66108c0a800d6808173262d383332841f3d94395c62c98ead47237198fc4d8877eb6dfa07fc79ea862c355b57c303ed49e0d5eff6643e731f98617217e78d454abe07de5f8292301dbb3e07a022bfb0a8c5cfb214e6cc1ee5ab77ebb52a5170e9e3f65e549bc9619e136c58c56910d76568f17967030a8eb3ac615db744fa81c94be46b53d3300a0a46cc65dfb7f76a2101fd2c99d67ac799e8c5d2961ab6de2464f96cfbabcd1421aa32cefa26d2817721379090a37e1c9e80e471f150b572e2a85b6d1c86f3725634490316f649466dae0e96f9004ac16ac9e406dfb06941b10e1370a436a215b667b7d496c44c3c0aa7b1adae8bde1afb5447cdb8fba3e89ad4b46aa01162642efc754a967571a6caba29dbf5d00f7d1a131c0245d98696c299897d31251b88397f4a2d9706163776409a0bc0f638b47f0dbd13f35ee6ebfea13fe1e2ac299a1e4006190b225b04447caa944b10d9c42ee23b215862df0f2b3ad073d8b16de5d7ec279f2b445a7d5a807b0b159949b7e91b9699ecec6d133922fe675ba9ed13f040950c3d576c4262b08387749bfa714d6c58d85983d0b9bc2a19c939c2f889248b9f057a70501dc2a30a3630880462e373d43ad04562e1f871b533eea3031ccbf7e"}) ioctl$BTRFS_IOC_INO_LOOKUP_USER(0xffffffffffffffff, 0xd000943e, &(0x7f0000000000)={r7, 0x0, "505c743ba02ffeda9d0af739647abd5f1b144ac7c04e407252bd2c9ffd6bf7c48d0975d822d2f40b905fd2fc83101f584bf261c6b06dcb1eae166611e56dd524361f5571c01da79151f3422067093d040b5efe0a5f18bc641448a69ac533cab13340511ba4baaee5a27e2070109c08393161ea436ee7d636db394dda09dca757ae6cdfe9104707a08c4eb29e8022024d0db02702cff45c73b1671f7c0c6df3ac896e15ee3674365b124e6326b4ab790c4a2288e02039d6c9ab89f170e95b229cfe0aa592376024e2decaafda45e7e8921b1340b427c38c1cfb9c2d30e0106f9c8719edc23d0506bd5fd29c62cd9785f751d80a5db3a5185dd19f985fdd956511", "669f37ebf191e371f3d80902bd9cc8cbaf2142a2beba9f43091ffc9c47a13da76c83791088561a272ed384d731da5788776451d08ce9a42812a8c20aa2b30c8e071ab31f0272b005033bf2cd53510a98c6503fb476908fbc279185d278672ad4732c7aefaf204292978742f328f184bedcf7735ba45ac476ed2a410e7676748cc5359ebaf1c42c73106d3523106e125f1750e01805c9655ad50dadec7f02b3846f61ac62fe8815c415e3c0df221b7db12ee36aadb4ad75bdf644b8d1387faaf19f2bedcfdf399f798325a51fae9801bb0d8f7a18795e8d1dc40b0db4af996bf8e9a6e36ef2f993993fcd0af2f3f553beea74527797995da728e0b45d457565d54a2f194028e55cb4630fb9f36f7374167e4d89fd20275a68a65cc32789dd8f8b5fc99d11b94f08efe06f223de8debefb0b9f4e8e52f89f614e388659aa6cd41aa029f60043578eeefb9806dc23194c394c2d0d3ac2013c5da03945241db0c64538f64f19528088c820a14fe5ed8db1f195c26ded426d4ce18f037f068131665ce0aeec7eeb042dc0fafe49995969d73b3c3201bc68082a3d587e435a5a2fc4832035f7716af80c86c1de4ab2f8de01bee3881d1077472fb08949ae7212636d9856e8914f5032cde5cd924cf1039a6aed5f860224ab198679835fcdfdce1b78ebcb54971ba4c8102c9de70d5bc160c06ec7dd0356205a1910a5adc1b77c620a42f55faaae89e5fd845cd35ac1a767fe46f68306e2ebb2d6cd9ebf3256f27a19074dde716bdcead635ae8e4455439d1d44b22356ba0c557c39cff1debfc502cc803810a60ced2595022ee6bd7daa837631ce454254d2e2f0edcc91fd18bbf877b2d88419fecca5722f36a93b03c0e67b75667b990dd4f1c491e71d3d96862b341e750ed2f6435c947bb413dab0e1d9baddc1317f7867902c3f69bd08ec4c66f8df55f052042e190d2e784a4b96ac64c88ad460ea6e02f9b5331846b1c31922b374ea5d78cd31b9d9c638cc3cd66397214a90c94436a914a9bb0f0fa1c36878262f23fd41f4e8d78c97e6b983dd6ce17b8f3cab6d9de50a22e5394bd48d5e75e430cf734002df361f2ef3668de4d2f91439255f0c5e5cffa3f3c814a5934051589e71e453e51c8b2b59f244dfe1eef4352797c8f7ebc969079b40bb42f4efae9507eb959249b3a0efbb07dae4d2b419c0b6f48b873da54bccbde3e34303f31058c061e7856a392e9754fd85856d8b300ff60061823926260e198bf9d1c5e05071da3e048c525cdce1a5000a5b2675442740bdc49c25efe3bee2b43b6c851cb6f45a07b732c3d0f57f28d770992c06989f450d622a15066a77ad67bd6f694672aa0080237a3cef8ac1d5d5672c9f51ca144836584bba3a7e9b68c9b7d3be08c9f302f97c472f3bd6d5a3b959a8fb2c40b3636225baaafc1314e4152a13dd0d30659cc5341dd795f190e4c484fecc6c5f33c7b8ed84b8490ee7a977a2d8a04840926a22b7ae5c912ae471861505a82dab3fb8247408fefea204aeb9bf42aefd66e0017c2ee39bb4da95a5824d170454af1d5ce5efecb2a3ccb19569c8916035bf5bb5159e3a1123a3cf28903ea4eb6af2564f4467ca711c10fc36142fdb77e7a5375dd571cc5e23fc5bbca8cf4f1562fe9523fe94be99a8d816b196dfc9202841c55f5063d08a4a84e6ecc972b9160892e7c2a0490b05a6c1e34bbad58855247d4b77c92761f6bb7899ad57a3c0304fc2e8117b1a304e2eb31ca8f312feb3ca86e88957094e8e17cefa507ca468b497c3a7b43479f5afc068163f60c245f56125200853b529e9c309428d2f61c0c042d5bb39fcafa220d14a25a82b754717ef1fd41e2530bab57223d41f75b4793b37698a223466ee58713ae5f48028d86e2054da62b56668f0d68b3aeb673c9daf8f78f61cade9cbc8a5d7bfcff157db757938dfedcf26f1cce9c2faa4fbf6ad64594af9811522fd9610c696983d35d1e53cc390c833984de6fc486aee7bf410c96c1dccce25cc5c96c72b989b78ebc43ec4f70580b990dd723998941d8b7ab17e3ae8f8b9ebd8a176d51742c9d00c75ac27615348a926b445343e16e0d03f42148534744bd84b60881dca9225a62868a181c19d2715086c8d2b0f591db34e3873f7f1c6a64df42e3d72d5b1ae8be829856a8b1eae6c663cc5a43f91eeaff9ee4b8d006a2e6b7eca2f533bb7a94b9fcb0732ecd63c5d76ec92aa9220fa0f571498e203680b7670ebf4340d8c9ed7487281052a6b849f7b962a2f47dd9e4d282305aed4b73c8770106404eb704f157b1aabe0f515bb50cbc161ba36bb8453ef2348d4ad0098da54de3adad06b7247d396f5a4ebb51b39c37f8ec0f4381dad43deff907c7bb53c3b974c8901f623aebda30d2f4c1e48fd096811705cd01be98fef18ede154eb6fa642813eea2dfde61cdbe63e959e0d5825e9c419a540d20774f7df9f7db098b07497d15530742a0fabb62ab9bc9149bda4a9848479863af5f63dcb9f16e59bbbd4a1156641c0effc7d6f60b4bd51170a1d7e78c258c27a2044ff3218524ebef8776be286878a4bc3384f13c9d9773355cd7585a8ede80e4d0ccf1aca1afd52568ec51a46c73b140c0d0adf1fcb8cbf14c5ff02c32e5d084340fd0a45addfa0fd952a569245863d61931d842acfdc0af1b159d46e46789fb1d63b5c809b2f116bf3eb93acdfdfe6f99b071367a9cb25c99409505daff0e126c00fce5f2f0ee982271cf0c8a6e9b84586b1ff536bde311ba42c6dd7c3ed5e604c6d32862669cc32c8d20ee8302bc172c5046951cdce231160722c44398f29f4938035313717b33055bcfa8baf3d7d08d95a34a32f45e330fe5a9419bf1eef1f20742347868bb7161a3b71af1d14ff26b93401c2a4979f2b9946dbaefb5e4b6aadfba949ad763defab9354900422928795f126936c9bf8e5adbc9f209d675a8a064cd4473e25507fb655924f3a128f37b6ad50dc6741125ac31bf0299fe4ee62458102d1e572dab4430371d875dde9f16dc66796635b4b06395acf962433363750dfab8494fd4888bce0ad0f25f0c33f7cde6e4957d78c8858859625cdd9ee3d0e34ea16d0b44296b4893e5de94ec829984214f9cbb3ae6418524b37a54437e1688c60d30aa866a12b083058471302da7af74d289be1b997f42a8c44a3b47fb1960dd9165165a878ef9b4dfcb0abd7fc8b892520e6525077afe37cefc3cdebc0e7d9ebb01ee4811fc84be49510e2cdadc22ea47066cf88c07e2babcd8038fe8f15d222e2169006456e1b84c6dbf945684594393ee7bace62d96fadfad0d72a077f7590a444044c6c7c7e12d095c7770641300691d887e2f5283ada0bd675078574814c67c102fde7fbd98231ea8ee06bd1a636bf23fc7cf833bcc5ca9aeffd2ef09fdebae42154c3721ce156206ff76e8763a985fcc85315fe42889af7343dcf0e97a88946a92e1a4d72cb5d61e1e6fc48ed53b6a390c90895b74c6cbbf2910926a387c1d86bb0438f6fe591bee3a6cafeecb630b0159917fa007776d0e7c4d916d778e857ad4dac8287d66c2389ad1ab8a97582e2772e3d823ff9fced91d1970c59e9542fcfd47894a0ab22d87b137172e62c568f4f00264b3523a7826f431a1af5b4cad9320251938c13dbf942aac3947e23efb13aa167b89a5fbe5605edd9e87ac571569beb231ed3fb5d374ddf0361b318c0e927354ac71198d1ef84e7987b64778d1d909efc309aeaf720d69bc1ba7644f0fe602d972dd6877d9036f98e677aefe33660ec278c874cc9ec2c77932017334a55dc060180123c7ebe7bfafdbb5baae7aa4c47096b9191c3ad876bf47c5f7310cb5903f1353e9c6a414f432c7d4abe38287d440c0b078fc14aa5e3ffcf8e39ea1d2472ea9e5e0509c4f51bf6aaaa714b2df89e56f8a70f9d66942640b88521cfc0e336a53218ada34612c7bc4ea3bf4537250de2c6c09de34ab6bb6ad92152b408dd34edcadfd851670f5d7bfdd3b937fef6f12c2f7c8e6bba854abe11671d50ac93caf67b1fd1b68f78f341d16d95755559b29003059610692d0178620d9babc3a6139a079bc2be2a220ec7dc4c6437a46b47fd96aba6a9b4bc32a9c61fd5de5ca5501c28db686b2f1f65b193dd595b8005a59bb2b19c6376d59e3e23a1b9d79e04c2c69739811ca11634f608b0bc774fa248838092e2d14636813b2dc2ed836f8d417044459d6839b50ce075c8c63413c940fecab86f87f922bb15d2b30ae235a57677c8d0d12ab147d3d49ead481d0c72e8e50680b52678bc63a259532f6d14810e9c98814207d1a46335d7610e6878eefe8418fd760e852d0f0fa9a15963d6002da29a122d59d5dbbfe10d60e22b20b921c35caf7096350eda5c68b403694d980eeb2ca6f25e527e5f6196895075fdfa3f4d7e528cf4403d93acea46f078ec839734d0fd0184a23bc40ed24b62ca7b981fa73bb3be9b3a3d9481ad09a3f487a4929333b9532919f7d64c9e7beaae115ef7e4a83bb661addae3f930b7cd0a96226d5e351270f36864ae87b9e9120f738928e19a9296b96a811995aa2171a59f85ed0f951964d1562dcefda0a54f0a130d89710a2e3dbd3ed576c757bab9c49440616ed55235ffbdf2b02390c296404222cd02ff149abd5728dbf3ecd2f89ef9137468f743ff74a173b91ffe043bdab95c8a7a2d2945ef8e3d98df954a71dac27be034c2b568b75ec8598c5a68da81e01a0c38a929d477feb9da8e70474b004f92a4c02261b8358b51048406da003062ebee07933b4359f279bf17e6b759105934a072662cf6d20708f9e14faa8c279df9665df56ee04c3a5da59d2f24006ba8af86e987130525aa97b992546740a2eb78d0c10fc1240daf64b5e8b4bccb9741db5573047af246daa11bb467c52c226449b37063cc23d9206add11945495d6b68624307c5d51c1dc7948f6e20e581511e78383bb3cc3188e89d7951d7583acb06429b14c72996cdda48709a4b1153ac93adc131f72b5abd55c31d3c4499a354504e8643c81313cd38b1fe3a4a84948404297f5fbda1545aa23aee6e2eb88aa67fbcccec0ca927fa49b1e0ea85b7f84a3027aabec323d61d91ade2c40654a10265792d4097b5386bed28e793cb96457723777aa40d88731f1eff45ed8364714b171888688d54315fd56af9679f51fd1ff57b8b970dc3a7bff1617a383a90d6227cb9c007022c7b627fa3fb3fe124f2124ca73e299f7aa3a3484f3224757d08d3af964fd670220778c0ec54b720432c9918129d4c5906e33836e4d05fb573e19a6fc7e846d6551c514e478af5df71f106fd52e5fe33af88bfe71faf5ff8603dfbaa37ab63c0e65dd0f65d676100724950aa748d2ed03d44747c09db7c172bcab5c369812268f651d0f84e3eabcd6590dbe6ee6"}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, &(0x7f000004f700)={0x5875, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r7}], 0x9, "a83da75fa9bb89"}) 07:26:38 executing program 2: r0 = openat$ion(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$ION_IOC_ALLOC(r0, 0xc0184900, &(0x7f0000000040)={0x120005, 0x3, 0x0, 0xffffffffffffffff}) ioctl$DMA_BUF_IOCTL_SYNC(r1, 0x40086200, &(0x7f00000000c0)=0x6) ioctl$DMA_BUF_IOCTL_SYNC(r1, 0x40086200, &(0x7f0000000340)=0x2) ioctl$BTRFS_IOC_START_SYNC(r1, 0x80089418, &(0x7f0000000000)) ioctl$USBDEVFS_IOCTL(0xffffffffffffffff, 0xc0105512, &(0x7f0000000040)=@usbdevfs_connect={0x0, 0x5517, 0x48000000}) ioctl$USBDEVFS_IOCTL(0xffffffffffffffff, 0x8108551b, &(0x7f0000000380)) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, &(0x7f000005a700)={0x0, ""/256, 0x0, 0x0}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, &(0x7f000005a900)={0x0, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, 0x0}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r2}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, 0x0}], 0xfd, "d4c90300"}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, &(0x7f0000000440)={0x0, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, 0x0}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r2}], 0x0, "a59f7995f969f9"}) ioctl$BTRFS_IOC_INO_LOOKUP_USER(0xffffffffffffffff, 0xd000943e, &(0x7f00000000c0)={r2, 0x0, "d3f6734bfbf1e4d76ff4e641e8b640cd8ef4c60944d8b700c6c0532fbd1cf8023b5727b5ff01133c024dfce2d04a4b8d3bb366214c54ddaa535816a661fb688307de92427cb2a6237b7fdc9ef84f34d5329df7424b6d0516c0103b0cd26e4a227072a977bcd8e3328bfed60d85e81402ae28b74cf2669562001f47f92ad084435e86623ccc7e237f16be058f358eba58d5af88704e9b7cdd4620ccec6baa7541487e6423b63a3fa2a118eeb0e28f58d125d75c3f956c201a879993be5cef9458a7167907290aa97bbd78fd46f25a2834760c6bf08716199bc2f4e5ef448af5c5e7f64445e0212d8568b74f81c1610ce0eb9178748b158d0f763a64bcbb1d223f", "5e937212033d0c21e81564b3adab106a87b423b2c9100b1c992f7591d138bd49c5f9aa25a77e01bbdda92cf3651d992bbbb4f634830c88c4f96809df90c7e7e8d3ba7d98a671c9478d5cdd8af0b07b3df73a66b61d97ef6c924b4b70de5ee783e256d6c818ca0f6807f1daf5eef860b21e532a09dcbdc2634c8fcfb36f3c74443b2ff5c3ac144e7841e46de0b260ff576947dbe9880f4f5076006386beaf7683a746c4c1c9db9d167c23f0edfdf2979215f3538a7b8f65b3d27e45d40c5374e6c7f970ce37e23b56f81ba71cf84b9da0983bd3425283be56ea832cd86253db2e3d12d87dc4520573d4f0dadb7acc7ff4afbd19f949cb99d1fad290a92e3f5f525b2664d04c046cbf5cc87cd0ff577e224ae859676812d8f025606fe9fe88e30f0f94a932dcfef6fad2c58377171b1d5e1b5a7c549ff96cacc9d526ab33a37b342c1bc006cdcb828a606b9c0466af0f01fea3ebf28a0398e367ef1b0c5ee723c739e81f3e26117e3154498c18fed224f1c7ba0ed78fd91e3f2623e9dc30452016b11f67670c2abaa43497da5dee23a296918f0c9f17052bf4d93d4df1e790f242d41ceeff6408ebed48c63538b95ba7b9cf154bda82d916aae9ea6d135d6f9c0e4feed6861679667238ba924883350ac0d82e8ed3ce57293481c8a0ea7b7eaed96c165e535810884d8c783e84ad12dc4b7dd88fb5c4e51ff2df7e661b24f931a3aaeafdbc9a61ba49b3892b62ce069b9ee7c7467e58e6982b1b4b5cd47816d0864c5492d424e00f1ee28088a3600af4d39626ae45f4d1e3e63f5cba495f0e5f623f3d8701bd5749ed6e2ae10796c51cf0bf42a8cf7c072f3f457d8ddb7a65226e9571b5ee30962580f8cca3c9b76f51ab7c5d9be84e322e1761cada5d51bc1be9ea72e0b6569094fbe953174ffaca71dccba754ea7395efb30c3d766b24d60b76500e27b311e04cb851b7c83da163cde97d3ad30c9654747e3993361397a0df8910a6de64a591411d9bc3df5c0bbe21ba627af7b344d9ddb201086e0284f77a45efcef23be81dcf6b19eea8524a7bd618204800e762a760ff4eeffffd3324968492419a589062fc9c15cf6c630dbb8b4697fe75794b00148cc8f95e38b543ec639758957e60933d9046c268542015b669c22096e558e336faa20e58ebf73b3931e56ea47398fa44b8d619383516df030f205836d1cd562844c0fed41046f51777172413f5d4e9c68c07c14e8d32f8886c56eed81d0108864be168b5a1519b7e613f268f77e6442c01dde442f2786f1a374466c77fb0c23d5ed10ffe4bf276fe9ef78bad21b6f61f4f1fa941dd1a34d709193b01b1b7a9c3b4a86dc42624c42b07d29c78fa1e1585c9c7c5ac34e5bb91a7441f7e6d3dc3d0684185a010a22cd4d3d9c9e104defe7d1149dc655c25278d0bd4fc6e09411312a9a967df90e23cbdab350f4764f04e95a9c58328b858dbde6699de1c1c31a60ce68683e3c9d2a9cadb346e858cf2b2724d475b42e16dc003c591262b64d58ac8be59e7ace3d3ceee23802173eef5e031c272e09206fed487b60a75246858b8ec24373c345c2e4783aefa1e15d13287a0dbceeb61a317e194ff3f5ea26cdc6c14e2d86496c6a3037fd4c0e9c3fdfe102768cb6a0b16ab466e1587ee6b8449ca2b6c5e972ea101d7d15a74cc6884d7f9b0ab89b31795100e67bee0a05a2a29e63565cdac84bb423da36d7bce2a3148dd2abc804b367c967670a8646e84c72c4d2ce693a222fef001a57b1924d5d4fed2bfb9bb58d49bda13089f7a2eb45499cdb18a4ec0478a32309ede1afcb07fea8ecc646172a480f4b0263ae5081bdeb964cdcf3dfb97bf593865ef0d7742c1ae73c4a8aa66e0ef87f4632c552c22c965d0647355b55dc7d9e705f39383621482a5f6e2ad0239f75eaae70f6b8009d69656e07fb272ddc62a955819f8a5cdb4cb555402f4a39f4218ba8e1aac6f9760d1461468d52c2317e604452b57d4dc03ff1afd5ba440b9b6db5a6c42f557ce1be0350ac97724550351e47754832b61047e8e82018696cd458104e7f2b2ab9d36daff3e70aa5dc45d8b28867ee2f4962f13f0723d261b3ab7b4cba9f95c53ec2b3ace280b2436ec881714d7afcef4e56b0c594e09cbd6949b6d0b39e9e2e0a485973b3090c9b9a4c711d8b1002a28506a4ab81dd033909d62bf0a3ab7191bad6729ad4274d12599c9451fb8f9d65e0339f33f2d9594e9307d7beadfa90e8be57f857fdb052d4a76821b5cc73df6373000c8e3e1ae50ba1282ee67f3daf0018da327954fa0498c931c341c551c1eb3e5f9252cffa603db2b36a108fbf2f715c1ff5bd73bdb85d76c72ebe295c38932fc8a1344935bc4170e91d7eacad7528339b28ec8d9574251248c85ca7dec636846c4fc12f77daa092a54d7d89b82c9a794b9bc6bb2b93ebbf3fb8c04b3e111c87ccfbe7adb0c5c0c01db3f1f27c5dc8560739b28d24ba1bce2ddba349f6ae31f50ea3c6137f476304c98ce85295e9d3a782f3537c6aca1fa7896733f65aeb54b647b7f47e7b943e04fb5d6799692a085527951801dea7db84cdf9f6278b586444cf544536ac3c007a12f3fb5c71c675b2530862026c137b7e8217e2066f9cee460e3514539975e02e6509523fb416bab8bcace7a6d306e974444b38c450dd6a0817731f3f9b012ee0d87cc5b563b253a919e5ef2fb3ca19a9b846e07f809693ad770721f7fe54266c6f4664e0febf0abfb615a77b7e81021dee879dddd5d5ab497bc5884aa86597c4982366cdae86c6d3fdc1add91aaf088d054e92ff29427965c600e106da65ddefd0bb51b1f6051a9294e16d2e3b0387f23e7df844b7e9ab989608d9984778b5a73be37277695c2b23b311f472bae18cb339e7d46d9ad8afe3ef7bdb8394c436e3ff99a5a31185952813f7bbdb89217073edadd5cf7798637b4666ac4bd4406b77001aa495cd409727086c46c5f8efaad8fb844166596114dc63189d529f298cc53552cb80949d97369f71f81d5035002caf7294723266abb16d682eb4ba1c10bf9034fee445f298407aa257468cad5abb753a784552d99287484dd8b889026d217166e4eb006944fb95def4e25ad2fb8e8e1502d8b052220abc4453c2608a322a4cc4f6db8ce5fe858bf51a724f413ec987d9f8c88f99b51666409198394851bbf725de521eaa9e996b73749ecf37dc950e8ee4bdfa8924d333c92a92da7c74711fad2a95b9d02d46c172866f0c7c9afe7f888b513dafd0876384317c5d5b842200b7719c8a3551fb8fa6270727707376accfe4e3c43e0d6223fba56c9149e18e37dfa0422d4fee6aa508f3d0f5f01e8952a354ab43ff4595dace8fb60d5bf46465e3e6e7502d08a7dfc694f81cbec1062c6949267bf943eeee93f073b19e3a0b8a070bfd9c4acbd356757a0d6c85a0deb9966c7a3caa4757a4cfe8f3829d277dbf6086fa1bc89bf58faa4034dbf480ef39637d5477febf4330ba228e583b016097e054c6ff7b0aeeb793eb26d95a0e8675859957b8e6ee15f8ab34a5836e2207465d9f5c7ad332df0c4570456252f219f2d7956ef8b24805908d7b72e2e5944beb737fd36cf538eaf8eb44a923ec9a52f8bd7b007b6529a90c49bd3ed4a4312321e65629e80483ce59115d5c2b55e88970a3a69adf03ab17fc70bcf16cf56044220e81dae8dec092538129e060294c100c2024683bc8e874638ea13b59aba74a7cd51acdf76f2308b7cf313a979a1f3e5c3a4181b00010e813ab4a29cc53a2c0afd21c6aac112167d69a7f7995220227b95fd68385ffb60249f2b15e5dd80ca0f96e2c29cad3d14fc3eb85d1e32d662301f0d6e05b20a50f1e2cfcef6e68c9b64204e401e21f255ec528d772b36867a0d32c62973dab2c7846d6589542ea099ecb7469df4a413758b84fe1b152ee299741bea2e2361d6a7b2cd50df947cf746370e7c2a5c83dbdddd4957fd655ee742260fe5c30258f0fe52f4cada5236616e727ff8907e679faa59e16cc0c70037dc90d1aaee5b39d1afa1eeab996a48d11dfaf5ef5c5357d9d069b710f8c29499a6ed316bc7c540da1f45b7e24045cd4aa6bcd26c5ee48690fa9e6f9fdbdb7e4aa26d2f826587dd7e6968cf93b9e962bcc1fe5cdc6cbb711fba09e4aa271aa3fca4f9084b5d098b97345638c0710b376a049f769a1f3d3745a6b1b3dd3a75e6c616f544e1960290069ac0e43a1933dd791cc06e8d8370d63d874c5a32519ae3f6ee62f8b2b600b25fe03e2b59c8910fd73e1a7ef29fed1f97e72edc0e3c52af3c8c33527fea6898198ec189143644e7a5bd907c8a8bebac202fa257d19e9fdc8beadc6ee4c3a948780ee97f723d801574f0c02b5c55bab306db7890a7376ff21ec9c6cb14731eec48fe340c2bc4f7a921ab4169c7729c8f67c274f8f201be9969714b744bdfe878d733d9416f3f261cd8575e242ea19618cf8aadfa02757e0f73793193827414362020be3a428c251f917cc1d29220e5cf1a64fa7ea4566e48ea53cc39c58a5cf5229f8115b3c1f670a83fc4e126f9ebf695bc6c68d6c674a0f96ac6a2bc1edbcbbe8cdf9bc792d42f5b6de447f1c10df4c09217b4f8e393d4d05edf6486a98372e5bec201fcce16d40f01eb83bf5d7712c9dd4ae622f21ab23252d417e72bfee980bb8759f1f319d2794b2315141b97a5ad16cc7ae732681b4ad5dc9eea903ef5fc11117125c7842b78ef0a2baf02e59b9d646076f79e74078f82238655cf2f6c7a8b49de1afb66108c0a800d6808173262d383332841f3d94395c62c98ead47237198fc4d8877eb6dfa07fc79ea862c355b57c303ed49e0d5eff6643e731f98617217e78d454abe07de5f8292301dbb3e07a022bfb0a8c5cfb214e6cc1ee5ab77ebb52a5170e9e3f65e549bc9619e136c58c56910d76568f17967030a8eb3ac615db744fa81c94be46b53d3300a0a46cc65dfb7f76a2101fd2c99d67ac799e8c5d2961ab6de2464f96cfbabcd1421aa32cefa26d2817721379090a37e1c9e80e471f150b572e2a85b6d1c86f3725634490316f649466dae0e96f9004ac16ac9e406dfb06941b10e1370a436a215b667b7d496c44c3c0aa7b1adae8bde1afb5447cdb8fba3e89ad4b46aa01162642efc754a967571a6caba29dbf5d00f7d1a131c0245d98696c299897d31251b88397f4a2d9706163776409a0bc0f638b47f0dbd13f35ee6ebfea13fe1e2ac299a1e4006190b225b04447caa944b10d9c42ee23b215862df0f2b3ad073d8b16de5d7ec279f2b445a7d5a807b0b159949b7e91b9699ecec6d133922fe675ba9ed13f040950c3d576c4262b08387749bfa714d6c58d85983d0b9bc2a19c939c2f889248b9f057a70501dc2a30a3630880462e373d43ad04562e1f871b533eea3031ccbf7e"}) ioctl$BTRFS_IOC_INO_LOOKUP_USER(0xffffffffffffffff, 0xd000943e, &(0x7f0000000000)={r2, 0x0, "505c743ba02ffeda9d0af739647abd5f1b144ac7c04e407252bd2c9ffd6bf7c48d0975d822d2f40b905fd2fc83101f584bf261c6b06dcb1eae166611e56dd524361f5571c01da79151f3422067093d040b5efe0a5f18bc641448a69ac533cab13340511ba4baaee5a27e2070109c08393161ea436ee7d636db394dda09dca757ae6cdfe9104707a08c4eb29e8022024d0db02702cff45c73b1671f7c0c6df3ac896e15ee3674365b124e6326b4ab790c4a2288e02039d6c9ab89f170e95b229cfe0aa592376024e2decaafda45e7e8921b1340b427c38c1cfb9c2d30e0106f9c8719edc23d0506bd5fd29c62cd9785f751d80a5db3a5185dd19f985fdd956511", "669f37ebf191e371f3d80902bd9cc8cbaf2142a2beba9f43091ffc9c47a13da76c83791088561a272ed384d731da5788776451d08ce9a42812a8c20aa2b30c8e071ab31f0272b005033bf2cd53510a98c6503fb476908fbc279185d278672ad4732c7aefaf204292978742f328f184bedcf7735ba45ac476ed2a410e7676748cc5359ebaf1c42c73106d3523106e125f1750e01805c9655ad50dadec7f02b3846f61ac62fe8815c415e3c0df221b7db12ee36aadb4ad75bdf644b8d1387faaf19f2bedcfdf399f798325a51fae9801bb0d8f7a18795e8d1dc40b0db4af996bf8e9a6e36ef2f993993fcd0af2f3f553beea74527797995da728e0b45d457565d54a2f194028e55cb4630fb9f36f7374167e4d89fd20275a68a65cc32789dd8f8b5fc99d11b94f08efe06f223de8debefb0b9f4e8e52f89f614e388659aa6cd41aa029f60043578eeefb9806dc23194c394c2d0d3ac2013c5da03945241db0c64538f64f19528088c820a14fe5ed8db1f195c26ded426d4ce18f037f068131665ce0aeec7eeb042dc0fafe49995969d73b3c3201bc68082a3d587e435a5a2fc4832035f7716af80c86c1de4ab2f8de01bee3881d1077472fb08949ae7212636d9856e8914f5032cde5cd924cf1039a6aed5f860224ab198679835fcdfdce1b78ebcb54971ba4c8102c9de70d5bc160c06ec7dd0356205a1910a5adc1b77c620a42f55faaae89e5fd845cd35ac1a767fe46f68306e2ebb2d6cd9ebf3256f27a19074dde716bdcead635ae8e4455439d1d44b22356ba0c557c39cff1debfc502cc803810a60ced2595022ee6bd7daa837631ce454254d2e2f0edcc91fd18bbf877b2d88419fecca5722f36a93b03c0e67b75667b990dd4f1c491e71d3d96862b341e750ed2f6435c947bb413dab0e1d9baddc1317f7867902c3f69bd08ec4c66f8df55f052042e190d2e784a4b96ac64c88ad460ea6e02f9b5331846b1c31922b374ea5d78cd31b9d9c638cc3cd66397214a90c94436a914a9bb0f0fa1c36878262f23fd41f4e8d78c97e6b983dd6ce17b8f3cab6d9de50a22e5394bd48d5e75e430cf734002df361f2ef3668de4d2f91439255f0c5e5cffa3f3c814a5934051589e71e453e51c8b2b59f244dfe1eef4352797c8f7ebc969079b40bb42f4efae9507eb959249b3a0efbb07dae4d2b419c0b6f48b873da54bccbde3e34303f31058c061e7856a392e9754fd85856d8b300ff60061823926260e198bf9d1c5e05071da3e048c525cdce1a5000a5b2675442740bdc49c25efe3bee2b43b6c851cb6f45a07b732c3d0f57f28d770992c06989f450d622a15066a77ad67bd6f694672aa0080237a3cef8ac1d5d5672c9f51ca144836584bba3a7e9b68c9b7d3be08c9f302f97c472f3bd6d5a3b959a8fb2c40b3636225baaafc1314e4152a13dd0d30659cc5341dd795f190e4c484fecc6c5f33c7b8ed84b8490ee7a977a2d8a04840926a22b7ae5c912ae471861505a82dab3fb8247408fefea204aeb9bf42aefd66e0017c2ee39bb4da95a5824d170454af1d5ce5efecb2a3ccb19569c8916035bf5bb5159e3a1123a3cf28903ea4eb6af2564f4467ca711c10fc36142fdb77e7a5375dd571cc5e23fc5bbca8cf4f1562fe9523fe94be99a8d816b196dfc9202841c55f5063d08a4a84e6ecc972b9160892e7c2a0490b05a6c1e34bbad58855247d4b77c92761f6bb7899ad57a3c0304fc2e8117b1a304e2eb31ca8f312feb3ca86e88957094e8e17cefa507ca468b497c3a7b43479f5afc068163f60c245f56125200853b529e9c309428d2f61c0c042d5bb39fcafa220d14a25a82b754717ef1fd41e2530bab57223d41f75b4793b37698a223466ee58713ae5f48028d86e2054da62b56668f0d68b3aeb673c9daf8f78f61cade9cbc8a5d7bfcff157db757938dfedcf26f1cce9c2faa4fbf6ad64594af9811522fd9610c696983d35d1e53cc390c833984de6fc486aee7bf410c96c1dccce25cc5c96c72b989b78ebc43ec4f70580b990dd723998941d8b7ab17e3ae8f8b9ebd8a176d51742c9d00c75ac27615348a926b445343e16e0d03f42148534744bd84b60881dca9225a62868a181c19d2715086c8d2b0f591db34e3873f7f1c6a64df42e3d72d5b1ae8be829856a8b1eae6c663cc5a43f91eeaff9ee4b8d006a2e6b7eca2f533bb7a94b9fcb0732ecd63c5d76ec92aa9220fa0f571498e203680b7670ebf4340d8c9ed7487281052a6b849f7b962a2f47dd9e4d282305aed4b73c8770106404eb704f157b1aabe0f515bb50cbc161ba36bb8453ef2348d4ad0098da54de3adad06b7247d396f5a4ebb51b39c37f8ec0f4381dad43deff907c7bb53c3b974c8901f623aebda30d2f4c1e48fd096811705cd01be98fef18ede154eb6fa642813eea2dfde61cdbe63e959e0d5825e9c419a540d20774f7df9f7db098b07497d15530742a0fabb62ab9bc9149bda4a9848479863af5f63dcb9f16e59bbbd4a1156641c0effc7d6f60b4bd51170a1d7e78c258c27a2044ff3218524ebef8776be286878a4bc3384f13c9d9773355cd7585a8ede80e4d0ccf1aca1afd52568ec51a46c73b140c0d0adf1fcb8cbf14c5ff02c32e5d084340fd0a45addfa0fd952a569245863d61931d842acfdc0af1b159d46e46789fb1d63b5c809b2f116bf3eb93acdfdfe6f99b071367a9cb25c99409505daff0e126c00fce5f2f0ee982271cf0c8a6e9b84586b1ff536bde311ba42c6dd7c3ed5e604c6d32862669cc32c8d20ee8302bc172c5046951cdce231160722c44398f29f4938035313717b33055bcfa8baf3d7d08d95a34a32f45e330fe5a9419bf1eef1f20742347868bb7161a3b71af1d14ff26b93401c2a4979f2b9946dbaefb5e4b6aadfba949ad763defab9354900422928795f126936c9bf8e5adbc9f209d675a8a064cd4473e25507fb655924f3a128f37b6ad50dc6741125ac31bf0299fe4ee62458102d1e572dab4430371d875dde9f16dc66796635b4b06395acf962433363750dfab8494fd4888bce0ad0f25f0c33f7cde6e4957d78c8858859625cdd9ee3d0e34ea16d0b44296b4893e5de94ec829984214f9cbb3ae6418524b37a54437e1688c60d30aa866a12b083058471302da7af74d289be1b997f42a8c44a3b47fb1960dd9165165a878ef9b4dfcb0abd7fc8b892520e6525077afe37cefc3cdebc0e7d9ebb01ee4811fc84be49510e2cdadc22ea47066cf88c07e2babcd8038fe8f15d222e2169006456e1b84c6dbf945684594393ee7bace62d96fadfad0d72a077f7590a444044c6c7c7e12d095c7770641300691d887e2f5283ada0bd675078574814c67c102fde7fbd98231ea8ee06bd1a636bf23fc7cf833bcc5ca9aeffd2ef09fdebae42154c3721ce156206ff76e8763a985fcc85315fe42889af7343dcf0e97a88946a92e1a4d72cb5d61e1e6fc48ed53b6a390c90895b74c6cbbf2910926a387c1d86bb0438f6fe591bee3a6cafeecb630b0159917fa007776d0e7c4d916d778e857ad4dac8287d66c2389ad1ab8a97582e2772e3d823ff9fced91d1970c59e9542fcfd47894a0ab22d87b137172e62c568f4f00264b3523a7826f431a1af5b4cad9320251938c13dbf942aac3947e23efb13aa167b89a5fbe5605edd9e87ac571569beb231ed3fb5d374ddf0361b318c0e927354ac71198d1ef84e7987b64778d1d909efc309aeaf720d69bc1ba7644f0fe602d972dd6877d9036f98e677aefe33660ec278c874cc9ec2c77932017334a55dc060180123c7ebe7bfafdbb5baae7aa4c47096b9191c3ad876bf47c5f7310cb5903f1353e9c6a414f432c7d4abe38287d440c0b078fc14aa5e3ffcf8e39ea1d2472ea9e5e0509c4f51bf6aaaa714b2df89e56f8a70f9d66942640b88521cfc0e336a53218ada34612c7bc4ea3bf4537250de2c6c09de34ab6bb6ad92152b408dd34edcadfd851670f5d7bfdd3b937fef6f12c2f7c8e6bba854abe11671d50ac93caf67b1fd1b68f78f341d16d95755559b29003059610692d0178620d9babc3a6139a079bc2be2a220ec7dc4c6437a46b47fd96aba6a9b4bc32a9c61fd5de5ca5501c28db686b2f1f65b193dd595b8005a59bb2b19c6376d59e3e23a1b9d79e04c2c69739811ca11634f608b0bc774fa248838092e2d14636813b2dc2ed836f8d417044459d6839b50ce075c8c63413c940fecab86f87f922bb15d2b30ae235a57677c8d0d12ab147d3d49ead481d0c72e8e50680b52678bc63a259532f6d14810e9c98814207d1a46335d7610e6878eefe8418fd760e852d0f0fa9a15963d6002da29a122d59d5dbbfe10d60e22b20b921c35caf7096350eda5c68b403694d980eeb2ca6f25e527e5f6196895075fdfa3f4d7e528cf4403d93acea46f078ec839734d0fd0184a23bc40ed24b62ca7b981fa73bb3be9b3a3d9481ad09a3f487a4929333b9532919f7d64c9e7beaae115ef7e4a83bb661addae3f930b7cd0a96226d5e351270f36864ae87b9e9120f738928e19a9296b96a811995aa2171a59f85ed0f951964d1562dcefda0a54f0a130d89710a2e3dbd3ed576c757bab9c49440616ed55235ffbdf2b02390c296404222cd02ff149abd5728dbf3ecd2f89ef9137468f743ff74a173b91ffe043bdab95c8a7a2d2945ef8e3d98df954a71dac27be034c2b568b75ec8598c5a68da81e01a0c38a929d477feb9da8e70474b004f92a4c02261b8358b51048406da003062ebee07933b4359f279bf17e6b759105934a072662cf6d20708f9e14faa8c279df9665df56ee04c3a5da59d2f24006ba8af86e987130525aa97b992546740a2eb78d0c10fc1240daf64b5e8b4bccb9741db5573047af246daa11bb467c52c226449b37063cc23d9206add11945495d6b68624307c5d51c1dc7948f6e20e581511e78383bb3cc3188e89d7951d7583acb06429b14c72996cdda48709a4b1153ac93adc131f72b5abd55c31d3c4499a354504e8643c81313cd38b1fe3a4a84948404297f5fbda1545aa23aee6e2eb88aa67fbcccec0ca927fa49b1e0ea85b7f84a3027aabec323d61d91ade2c40654a10265792d4097b5386bed28e793cb96457723777aa40d88731f1eff45ed8364714b171888688d54315fd56af9679f51fd1ff57b8b970dc3a7bff1617a383a90d6227cb9c007022c7b627fa3fb3fe124f2124ca73e299f7aa3a3484f3224757d08d3af964fd670220778c0ec54b720432c9918129d4c5906e33836e4d05fb573e19a6fc7e846d6551c514e478af5df71f106fd52e5fe33af88bfe71faf5ff8603dfbaa37ab63c0e65dd0f65d676100724950aa748d2ed03d44747c09db7c172bcab5c369812268f651d0f84e3eabcd6590dbe6ee6"}) r6 = syz_open_dev$tty1(0xc, 0x4, 0x1) r7 = open(&(0x7f0000000080)='.\x00', 0x0, 0x0) getdents(r7, 0x0, 0x0) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(r6, 0x81e8943c, &(0x7f0000000980)={0x0, ""/256, 0x0}) ioctl$BTRFS_IOC_TREE_SEARCH_V2(r7, 0xc0709411, &(0x7f00000001c0)=ANY=[@ANYRES64=r8, @ANYBLOB="0073af4175000000000100000000000049000000000400002542000014000000060000000000000005000000995df54400080000870d000000000100e50000001104000000000000070020000000000005000000000000000000000000000000502339d332ef05f91cec020000de4d2317887b9f000002000000000000000000000000000000000000000000000000e8f29a775397daa1706a73b8000000000000080000000000000000000000000000000000000080000000000000000000000000117bbef310d9c76185bb6120860000000000001f00000000000000000000008280ba4d4f8d971f9c41922b0900bacd11cdfc48ae95de2427bae745018000000000033c2cbf0421b17b011c703201456bab7437029fb691a28f96e36009b9ec6bc6c819985a11450c884b1c24fc24fdd73a67bebe38dafadcbb"]) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(r1, 0xd000943d, &(0x7f000005cb00)={0x8, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r5}, {}, {}, {0x0, r3}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r4}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r2}, {r8}], 0x1f, "80f05814499d33"}) syz_open_procfs$namespace(0xffffffffffffffff, &(0x7f0000000200)='ns/uts\x00') ioctl$ION_IOC_ALLOC(r0, 0xc0184900, &(0x7f0000000080)={0x7, 0x20, 0x1}) 07:26:38 executing program 5: r0 = openat$ptmx(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) r1 = dup(r0) ioctl$TIOCSETD(r0, 0x5423, &(0x7f0000000040)=0x15) r2 = openat$zero(0xffffffffffffff9c, &(0x7f0000000080), 0x600000, 0x0) ioctl$TCGETS(r2, 0x5401, &(0x7f00000000c0)) ioctl$TIOCGWINSZ(r0, 0x5413, &(0x7f0000000100)) ioctl$TIOCSETD(r1, 0x404c4701, 0x0) 07:26:38 executing program 1: r0 = openat$ion(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$ION_IOC_ALLOC(r0, 0xc0184900, &(0x7f0000000040)={0x120005, 0x3, 0x0, 0xffffffffffffffff}) ioctl$DMA_BUF_IOCTL_SYNC(r1, 0x40086200, &(0x7f00000000c0)=0x6) ioctl$DMA_BUF_IOCTL_SYNC(r1, 0x40086200, &(0x7f0000000340)=0x2) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(r1, 0x81f8943c, &(0x7f00000002c0)) syz_mount_image$hfsplus(&(0x7f0000000140), &(0x7f0000000180)='./file0\x00', 0x0, 0x0, &(0x7f0000000240), 0x0, &(0x7f0000000280)={[{@type={'type', 0x3d, "88570b9f"}}, {@umask}]}) 07:26:38 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$inet6(0xa, 0x1, 0x0) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f0000000040)={'sit0\x00', 0x0}) ioctl$sock_inet6_SIOCSIFDSTADDR(r1, 0x8918, &(0x7f0000000080)={@loopback={0x0, 0x300}, 0x0, r2}) sendmsg$nl_route(r0, &(0x7f0000000100)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x1}, 0xc, &(0x7f0000000080)={&(0x7f0000000040)=@mpls_getnetconf={0x34, 0x52, 0x400, 0x70bd26, 0x25dfdbfc, {}, [@IGNORE_ROUTES_WITH_LINKDOWN={0x8, 0x6, 0x8}, @IGNORE_ROUTES_WITH_LINKDOWN={0x8, 0x6, 0x2baa}, @IGNORE_ROUTES_WITH_LINKDOWN={0x8, 0x6, 0x400}, @NETCONFA_IFINDEX={0x8, 0x1, r2}]}, 0x34}, 0x1, 0x0, 0x0, 0x41}, 0x20001841) ioctl$ifreq_SIOCGIFINDEX_team(r1, 0x8933, &(0x7f0000000140)) sendmsg$nl_route_sched(r0, &(0x7f00000000c0)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000380)=@newtaction={0x68, 0x30, 0x1, 0x0, 0x0, {0x0, 0x0, 0x1300}, [{0x54, 0x1, [@m_mirred={0x50, 0x3ffe, 0x0, 0x0, {{0xb}, {0x24, 0x2, 0x0, 0x1, [@TCA_MIRRED_PARMS={0x20, 0x2, {{0x2}}}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0x68}}, 0x0) 07:26:38 executing program 3: syslog(0x2, &(0x7f0000000100)=""/29, 0x1d) syslog(0x4, &(0x7f0000000000)=""/204, 0xcc) 07:26:38 executing program 1: mkdir(&(0x7f0000000140)='./file0\x00', 0x0) sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) mount(&(0x7f0000000240)=@sr0, 0x0, 0x0, 0x0, &(0x7f0000000400)='ceph\x00') clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x80000000) clone(0xa804000, &(0x7f0000000440), &(0x7f00000004c0), &(0x7f0000000500), 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x80, 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, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) clock_gettime(0x0, 0x0) timer_create(0x0, 0x0, 0x0) timer_create(0x0, 0x0, 0x0) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f00000001c0)={0x0, 0x0}, &(0x7f0000000200)=0xc) mount$overlay(0x0, &(0x7f0000000080)='./file0\x00', &(0x7f0000000180), 0x8000, &(0x7f0000000280)={[{@index_on}], [{@fowner_lt={'fowner<', r0}}, {@uid_gt={'uid>', 0xee01}}, {@appraise}, {@dont_appraise}, {@smackfsdef}]}) timer_settime(0x0, 0x0, 0x0, 0x0) timer_gettime(0x0, &(0x7f0000000000)) clone(0x4007fc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) mount(&(0x7f0000000100)=ANY=[@ANYBLOB="8ebaa085822c6d5d3a"], &(0x7f00000000c0)='./file0\x00', &(0x7f0000000040)='ceph\x00', 0x0, 0x0) 07:26:38 executing program 5: perf_event_open(&(0x7f000025c000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 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, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$nl_route(0x10, 0x3, 0x0) openat$vcsa(0xffffff9c, 0x0, 0x0, 0x0) r1 = socket$inet_icmp_raw(0x2, 0x3, 0x1) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f0000000080)={'vlan0\x00', 0x0}) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f0000000000)={'geneve1\x00'}) sendto$packet(0xffffffffffffffff, 0x0, 0x0, 0x0, &(0x7f0000000100)={0x11, 0x0, r2, 0x1, 0x0, 0x6, @remote}, 0x14) getsockname$packet(0xffffffffffffffff, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) socket$packet(0x11, 0x0, 0x300) sendmsg$nl_route(r0, &(0x7f0000000080)={0x0, 0x559, &(0x7f0000000140)={&(0x7f0000000300)=@newlink={0x44, 0x10, 0x401, 0x0, 0x0, {0x0, 0x2, 0x0, 0x0, 0x4c3e9}, [@IFLA_LINKINFO={0x14, 0x12, 0x0, 0x1, @macvtap={{0xc}, {0x4}}}, @IFLA_LINK={0x8, 0x5, r3}, @IFLA_MASTER={0x8, 0xa, r3}]}, 0x44}, 0x1, 0x18cc9}, 0x0) r4 = creat(&(0x7f0000000180)='./bus\x00', 0x0) ftruncate(r4, 0x800) lseek(r4, 0x0, 0x2) r5 = open(&(0x7f0000000000)='./bus\x00', 0x86000, 0x0) sendfile(r4, r5, 0x0, 0x8400fffffffa) ioctl$sock_ipv6_tunnel_SIOCDELPRL(0xffffffffffffffff, 0x89f6, &(0x7f00000009c0)={'sit0\x00', &(0x7f0000000940)={'syztnl0\x00', r3, 0x4, 0x5, 0x6, 0x6, 0x60, @local, @mcast1, 0x7800, 0x0, 0x2, 0x1}}) sendmmsg$inet6(r5, &(0x7f0000002480)=[{{&(0x7f0000000040)={0xa, 0x4e24, 0x401, @remote, 0x400}, 0x1c, &(0x7f00000000c0)=[{&(0x7f0000000180)="8a35afe951db04c56b0982d20aa9f03f4c340b1508f15853c340792a114792cd38c1a7b5438ad2d9b8be8ad26955c6b00c87152d294516dcdbf78d162e38e80c3b64d0bc2d87d52e888c4bdeb60fd9edb5303560cd0582c0ee53228d4ce875b9da755903d751cee3deb9a340eec9d64c2a84153de24f9060565bf1ece98bf0653cbf92b6b0b207d4d5cc5e2aac7b71de132ca066d75a015e0e0c656721658f83215110", 0xa3}], 0x1, &(0x7f0000000380)=[@hopopts={{0xd8, 0x29, 0x36, {0x2c, 0x17, '\x00', [@jumbo={0xc2, 0x4, 0xfffff001}, @jumbo={0xc2, 0x4, 0x9}, @padn={0x1, 0x3, [0x0, 0x0, 0x0]}, @calipso={0x7, 0x50, {0x1, 0x12, 0x5, 0x912, [0xba, 0x3, 0x101, 0x100000000, 0x2, 0x5, 0x10001, 0x7ff, 0x8]}}, @ra={0x5, 0x2, 0xf800}, @jumbo={0xc2, 0x4, 0x2}, @calipso={0x7, 0x50, {0x1, 0x12, 0x4, 0x5, [0x100000001, 0x100000000, 0x7, 0x9, 0xe6bf, 0x9b9, 0x7, 0x3ff, 0x0]}}]}}}, @dstopts={{0xa0, 0x29, 0x37, {0x3a, 0x10, '\x00', [@hao={0xc9, 0x10, @initdev={0xfe, 0x88, '\x00', 0x1, 0x0}}, @ra={0x5, 0x2, 0x22}, @calipso={0x7, 0x28, {0x1, 0x8, 0x7, 0x78, [0x8, 0xcc3, 0x2, 0x1]}}, @calipso={0x7, 0x40, {0x3, 0xe, 0x40, 0x0, [0x1, 0x3, 0x7962, 0x8001, 0x5, 0xfffffffffffffff9, 0x2]}}, @enc_lim={0x4, 0x1, 0x2}]}}}, @rthdrdstopts={{0x38, 0x29, 0x37, {0x2c, 0x3, '\x00', [@generic={0xf9}, @hao={0xc9, 0x10, @private0={0xfc, 0x0, '\x00', 0x1}}, @enc_lim={0x4, 0x1, 0x3}, @padn={0x1, 0x3, [0x0, 0x0, 0x0]}, @pad1]}}}, @rthdr_2292={{0x38, 0x29, 0x39, {0xb, 0x4, 0x1, 0x81, 0x0, [@mcast2, @initdev={0xfe, 0x88, '\x00', 0x1, 0x0}]}}}, @hoplimit_2292={{0x14, 0x29, 0x8, 0xffffff09}}, @tclass={{0x14, 0x29, 0x43, 0xfffffffe}}], 0x218}}, {{&(0x7f0000000240)={0xa, 0x4e21, 0x81, @remote, 0x3}, 0x1c, &(0x7f00000008c0)=[{&(0x7f0000000280)="11a8e1a5901dfbdbefe1350789e4dad34f4fd36900061b439d800b67e49aa168796346d6dbbea8fd29ab67f946f7a8fc50badc112e851a172e9ba692a33a80", 0x3f}, {&(0x7f00000005c0)="ae984265f55cc9acc66245db20288336fabd0dd110", 0x15}, {&(0x7f0000000600)="055533397323b5c10eae801fd67309061c38b5847e37717af614e9ad55edced1851d8de1beafb826a0805f81fbc2c9a8b18caa403e254e52967cf6c73f7562d9bec56385d17189d6d1809308a93824818b5123c42fd2b611bfc8cb7182ebef1f54f7d30396b70f3c42f59a5298e629cbe3ba5d4ba8fdf6b114aa3fe58d6aa1414c0ece8bba69c527553768ea02f158a672e66ebffab94dbe463dadffe231312ce6f5a0", 0xa3}, {&(0x7f00000006c0)="69e4ca6ba2b7b16ba5191dab47140abe0d21f9950e76feaac00743b01507d2949887b837b9972d968fec982065bd7c780a7504ce9e7ed0ed0fcdd83f520a6b21faa4a6b58271188da8efd6c82e051a5ee0c841c4913084d62f34df07b2e37b87aa12333c6d46edbdf9b1965faa67a7c1619a45", 0x73}, {&(0x7f0000000740)="ce57c8bbb945a8f02e84d0f8d5a37641521e2a0bae0f920e9ea5340b52299ac5be915af30480716ef3b8f284893a04627004c3a8330a84560533b232d4", 0x3d}, {&(0x7f0000000780)="ef220873c157f5e5dca6f17a2c8a3ffe9b138243d6e88bffa77f75400b6399012a54af2a85bebcc30643e4c0a00714e8e93b7ceb34f3cc13742a63eab9ffd294a91c5c433ab3f4ef6518e83a903154b703c65cad3fd41620c26b96b2e906ed8a6fd479566ff171d33d68f7d711338cc07dcbf6ddfabf4c1c5e56dbe8af49cf6e570c555c85800686f429a77a86952472858e4dad2225e270719dededd49808b9d77b140737183808452b07c26dd2e18c0b74b7", 0xb3}, {&(0x7f0000000840)="ec8cb6cbd67e7b3343888a8b3d04187af94cd02024a77121373c3bf7032fb5ff3d51ed7e3ead0a0429915881b9d19d524a121570bbe3a3958f8f22873d2056495c919777efed42960b155a64a7c8fd6643f779bbf4c0e0554f3e26f82824ac77db731d4e20e88f1537", 0x69}], 0x7, &(0x7f0000000a00)=[@pktinfo={{0x24, 0x29, 0x32, {@local, r6}}}, @dontfrag={{0x14, 0x29, 0x3e, 0x2}}, @hoplimit={{0x14, 0x29, 0x34, 0xfffffffc}}], 0x58}}, {{&(0x7f0000000a80)={0xa, 0x4e24, 0x1f, @mcast2, 0x101}, 0x1c, &(0x7f0000000b40)=[{&(0x7f0000000ac0)="301f1734d260afb3c743f43f014041e8eeb8339507a3b6bb34a2c3982de4db82b7587750b9257c9532b37f2d42c6534c00577b48e037cb7bfb155270bf204e528fb535cb711f1978d6257e3876c5da9529760fa0082a4ac4dc6f080aa872e723e5628d75411e0170909acc586471f638fca835c5136552bc1c28092dd818", 0x7e}], 0x1, &(0x7f0000000b80)=[@hoplimit_2292={{0x14, 0x29, 0x8, 0x9}}, @dstopts_2292={{0x50, 0x29, 0x4, {0xff, 0x6, '\x00', [@pad1, @ra={0x5, 0x2, 0x1ff}, @hao={0xc9, 0x10, @local}, @padn={0x1, 0x4, [0x0, 0x0, 0x0, 0x0]}, @jumbo={0xc2, 0x4, 0xdf}, @ra={0x5, 0x2, 0x401}, @ra={0x5, 0x2, 0xff80}, @enc_lim={0x4, 0x1, 0x1f}, @padn={0x1, 0x3, [0x0, 0x0, 0x0]}]}}}, @rthdr_2292={{0x38, 0x29, 0x39, {0x33, 0x4, 0x1, 0x7, 0x0, [@private0={0xfc, 0x0, '\x00', 0x1}, @remote]}}}, @rthdr={{0x48, 0x29, 0x39, {0x2b, 0x6, 0x1, 0x0, 0x0, [@private0, @dev={0xfe, 0x80, '\x00', 0x28}, @dev={0xfe, 0x80, '\x00', 0x33}]}}}], 0xe8}}, {{&(0x7f0000000c80)={0xa, 0x4e20, 0x6, @private2, 0x81}, 0x1c, &(0x7f0000002200)=[{&(0x7f0000000cc0)="0064fa09b8e45b987a8e6cbe4601bf8d9ed3042325536aabbe2b5d33e43cc6ac2da975ba626fcf16fc3702d984a4227d7476fd562c042ca06c541cbe9b81259677f7e70152797b465fd5f87d6a464dbd3309a8a9d2d49d9078b9a5cf8ac1d0881db7f9861595e3a3efc005566d3867840f582eb921f49d0bde83c65a71b1ce169a1f69e2a8a55589369b51fab497b00b6ce812e5610687d8abc60f8cceeb532b643e3e4c3eb93669a1c91cb4c15753a400eaf1ae892d683ac6f8122ab51126efc7faedd61afe61a3eb9b256d69d8", 0xce}, {&(0x7f0000000dc0)="2c9820647ac1dfd162d41f23d74977d7817a541ac87998f2303150e2eb984e6ae2bbdab05761be311e7984376e7aab8ca3884cf35ca5c145d080d5c2e38f8cb4b2090ee165bb2d405436f016cb73572dfce4d1603f259ec5c9adae4cfe67e5b970963e0568f5f3942c571a0d5704d2313cb9f2952d446d885a0d4f53a225db51ac99ab9a7f5d57c8172d6fcd246bca5265bc27d6159bf1dc791021176af89c0318cd4cf7d4b632f67e763b21de5880fde67dacf197b978a107f9d5fa79db19db768e72ec50183dac1cfddf70f6b5", 0xce}, {&(0x7f0000000ec0)="82de3dc6787e11a86f4452e251a5e88166477916d278f3c4f2cc91ba29a6ba3f12987c74e6438f003286bdd4a715a4aa65423e24f650eae2272bc4f48b5c1d62448c92cd6aa44ac8a13051c7fd675ed963a2f30c7b557211e674492244ba42b228f1c92f2999ef06844d852e0d50ecebe21290482759579d01c33001ceb4c3704c392061910740f59177759aa5941b5217b261a49cdb927fdc43e84f540ff0fca74f1ac599de02cc5c49c6eb45c0c620b7f1d63a486dea027a193aec71263f4bb5528ff518d8e635d674718cb20a9d5689e17b41c0591c3aadf55ddd16264579d32fbbc6eab36af857fbe0445ccdf6fa3ca9b11d3826cdbdc695571f0f", 0xfd}, {&(0x7f0000000fc0)="77e0eb68977812a4996826bdb3e8ba23a655b2db56f037b777f905226a6e5de2077bdd5db9c138f91a5f05f93f39fee8f9348d197fc5c6565ba4388cea41340e8c0de893ad2ceb3cdddcc275fff8452f47a5931aa6156b5955701ca4f261a69c25a15c29751d1e8ec5a7cb9dc645a53361b11e3269ef920131395eac1ed44adac1fd10f2ec12f47c0a6b9b77aa9ce15c91b0b4e240626a1514b44ebf117d1695a7317bdb3d8e0cc4d0bf2f809dbef2abd657a77b84cbfc7c5193b74097d1644e6caa", 0xc2}, {&(0x7f00000010c0)="8d3d6ad83dfdc97825d8495997b74a23592c1c25ed40e4e4df078127ea20a0df8622c9e8f9f3c5c2d097dbb8d998b1ba7fdfc1126552e4178d09b0edd2d7f58bc181da0c1a387dfb61ffaa6e116048bf60904014678d9288054e774b7d6a4dcc336948d88e64febe6e872a2efe50948fb040af343c3e5d793c1f7c94ebcb479220cdc02c561d13a5c5b8c380785e00d15a49e91c4dd277267bf5c70d856c0b98b7bddb9da7526e4adbe30de49eb72ea269e1115b5761f4438085b8ccdd250575f9f0c488ee0e06c1c27eb01c00220643d7f41ba7cf5f27d4c8fe25e9237d1e878b2a0b46667b4c276f5679389a3ef630b09ff2381ae1743bdf711a9da087d01573d280c9d6c2c49083bd4761fdf375d5522a3f2d093fcb7e3c9624827af84852644ebe949b87e678ff311f34898fbd7b7205ff0dd04847d4b3cc3f2bd29e328fbc4b3c0ad95198a5ddadc0a1c30c1f6275c3fcf44706a9a33bacb5fcfd077921a69566b485f33f9d255cd759c7bf2ba7e96d173d366c7a2504e85a5aeac53a47f9a998aa15819a2a70375b254508046e5fdd935583762d66b6882fa46be0f579e3ffe252420b865fe09f9b1dc060c2fcd06e34d4a3cabddca7bdea89c2fb71f0db62fb716050a02e42697eec59f7a4ca3c4f4b69c07bf848f6d10bbd0494d0332e13d1f869445f1f19f846cb7c3d2333f2e4807b620b6eaece0c7c1a94c4b3134f3e659903b7a8b9e012d3cbbbd2f0c0a77503ba2882e099db5e7e4472f0df87c9cf35aac980ea68609827d5375c39aabd796372e35a98638f95d951af65cc4b8737d6be3d51e606c65fa396d24e23fe8c389dcfc11ae8690a2c1a6bef3f08ada0df9c3af2117fce7c84064cb4482ad24ec2bb53f469d81fa4a783c179679fb1cab2561031fb2e4abce0a034f29b7fb927bbbcfdfcf998273421242dfc3b94c5ef39eaad8e01718e6660f64104b4a05609231349dfd4938bad58ea19870e2df6661847c238a2882c64d2ebe9d9568b21318a9738afbecadd4ebefe69b8a089c597fd7ba187d420bd00ba51831c05652a7c182f1fcae16ada14e006cb3788d6dbf0ce8228ced0554a91dbf11ad2c3671cf46099bcfaf8fb283f98deb1f0c048eab06bfdf2c82f44a3188b7a7e667933b67ce576040af054b36785814b5355e3c4d5c8bfc9ee308208b908cd748fa5967ceb7a6ff0a0b18cc578e0fc431da26396d00d02749286aa6c27518e185f64145bd8df0da57abd8fbb65a1078145fc9b8e210c5756dadae2d751c3db0d5036e311b7c9c0275979cfe117fb0b73d3252a3b0563c5954f949f76d5f4c3e83a1c9e0a88ec2e31b437a5ac3b1b5df3497ed546ec70d7983d1e71b9e885b1b1d8b3b516637d567d2fb3c78d14bf2cd5ae149d85cac935acb949e83b14a9e44472bc0fe9a32b53ff17b43ad645305ebd64127e48295f6a722b50414b79b0fdc62cfa85a64925a225f28cadfd077c64b31643b4427ff0d1fa0d9b273d92bd8538a8958a8539fcd4be6ec1773b7523497f1236ac62ca4edde0496a0f6dabae51fe897789d6a9564422d45cde50143623623843b9e5bb511373a7486b6dd84cabb7150e630a0cd4c82af7731f86caa59500093eecde2a0d8ad7256426f0538c763ede7fa75808847e3ab1723d716c2a158b731d826b488d88fd7840809640ba92ddc1f623b774a33387af38fea9a3f060b22742c93eea24272043340621314267113b73512409a7c3cc02153e16606c472b1977657fc9b98e88785dfe846db5f31f702dcdc44086c731a651711d5c39d7e17f0681ff238dd8e1008943a0373b7263720568886b3da94946bfdceea464c985d55af0ecbf90e8dbc87bb812cff3653e09a165e5cd162880b8d77975fc90273dd9325a2282b59d5c928e7e78f5c6a765847760297afa6ea8c1b444244eb17a88875f527aa42b7e13f32aa6702c0650f526a05fad45550e0d6ba271aa06b7fd9c775ef9137609c790593b1637124524fb793df569c4a11295c77a178d76d5d8c994c2447d20c84e6c6a337af77a3a9ea431099a6ee5b87e28ae0506f9763dfdb080258df4c57617c50d5aa425fb3109bf173c9ea11ef7c9a1ddd3ef6bc238c4ad0ed602723060fd9ea7e5ec8fda3c799861fd881c498ae1e802483f15807928c6449b69d327061c16c646c847121f2112fd1e110aeb51bf8d19a5367fbc952fbbe1484c54f843d6e668b878c4745516a2398a715469160d178e8f08ccd1fcc81352a72630af02c2e1c9a1128d1fe0d499fae81bfe4dd6b4b510cd65c4a854840b7703c08a89e46c99f90200bed54c78a6830c069b9f4751719fa127aeec91b96639dae3df9e164f1ba993e003678cefa53102e3320f4bc83552d1778b5a5bc43632269fc0b7a2815bffd7e8c33cc7d461401d99edd365ea23c949848f2d9d9cd7e7eaee55bff82b26701973de4522f413bfe32f99c88da10e382de16ecb903212fe031ac8afa8ceef0504c343f83977a22cb62e0af7ae9aae10e45659b9efc8ecb5e468d1aad187592882df80cf1357e9bc6853dd765a8dcc4ec5f06b3872d24955c65dfb2e127102c11fc667c124a76a2e336c55fbbc10d8fba6ced930bb802f199e0a3a0ef89e86758c137681c41c3941206b67b7763469333bbe6ec7f6c153a07be73e8b26b7b53e546e9d001bb7f611e08c2cc8322eb258d5f1a4229fd24e0174f8c62c872319ec57b3f7a152cfc3089fc0b0f5c79607f32208dc938fc9c8d88c2466e8ada75ac4d0496d5201c149ae934f1aba254a431043fc3675b6505bc193973e195178de4d70b9b1957e93c277479833aacd0697c8e1c47a9542bf6c71b8f7a5a38f1efa4a4f64f3b3ef8cab4ff46cdf6ac13d966a1d923919d0020b6470334fd2461b05e28bdcd0935794f9f650534e8929f9365f2e7b55bdcdc3d70f495c18538e209b26f3eaeb9c4132e985f3687bf2f8b44fd6b08a89a085d1b64131a59cb6f95ab7bde835a916aa54e22da2bb54c4efe0a1cfb5a294f0aa8a61d5aaf3936ed38dfaaffb82d08ee809be72b186d3904bb3d05a74d32a322fd6993e5d3484709e18966bd19a66f938410bd872c862dc3a9eb2a8f52484f36a65216a2fcf6fb3b8a960a905b027bd6729c4b0f48a723c9d62b8272995f2c1d70d384d6e1dd8fe26bf43461001d183ee5dd367c82e36856ac21880751ea6424fe5cd9d5a26374afae9b02aa9e42c0685e8f06f55eb06f16bc570ccc2dbbf4f7826bed1efb42481eb1d3d6e52e0ce00ed324328fd5e06b5bd69e44e671b0a6e302f7ce4e4a51247b54f6a50d30dc178b2e183ba3ee224a5f59c58c80762b67cce5430eda0bc1724c1e8b95399f482c21728fe6c703b9d4b51a76b9c1442ef98de9709c6967466264c490923ae3571a7479447c928876aeefb9fdcbf9f66ba4360325e85cfadb5e6014e75f021dc954eda9a05ccabb330408076143c3aaacb2179685ba9e3add75b7bc0143ebc6ca6490fa3a741d69787e5e721dc9c6774771e7ebbc94098331698f452a10c95c7950d79ce1e18d99ae50b2cd9181937b42471553c5e47608e5abea984af6f336cbff81112ed6c5d0b1cfee102dcd3328578bbd04dc07d93bbd3b498c68941162f2ec010c1d45121096e4acb2f2d806a8955845048f3d6c03b77582e9cb7550818b18901f3a6c37c1850e04e4c184b144da203371e523cb1e486b4c3f0e7a82dfb16a5087aa424597f26d9625852d7e5d30d53c5238c6f9fc00de466568af778e4d6462dd88d5919e4fd8f1f83a8389f04f33f6b1ea3902541dbf80e97c6cfaa8a03fc7549b751ed4b9fae9a5024257aab7c1b2090db36724769299b3734fd72e3c075765b95fd653872c63b1d90c9e1505c50d47179513569055b72e2d1d81e380360273d2d7bc66bc3624bc4ad16e0c0fac4e4120d7c4d5e0a8324c344e9b39eae5db26115d010c36b955d5b2da594b85f295e337c1d3cccbed5a742abe2845a42dfe494feb40806f7711750edb3d608f105ce480e436ffa08950a0f753e823c0c43e124b0bb05f7c1e11b461c2c73ae5b006ece9101eab3624ac9fe76c130415327eb288da827b8d5f17934bca983ec4a8eccc74c93d97e0012f79fc6a4b7b3d3fa85094b8acda675cb4e4ba5f11283530776a9bc72ff2c2cb2de89d47c45607da620eed9e1734ae7d0956760ce316107d250a636580e0570619654a3bd1afd6d94431efc4c721092bad106d44840617b9f0c7f222b71cb5ebe0f45403eff52f8a3e51b3aa2d9a05800fa4ea2713fd97b639286c2fd287b51c4b0c0b5cef2750ed45eeadfb82f7e9f8bfa38ff7e947ec028c50d0af87de71ee755719ae9113a026fcd057453b4c3b2a5f684de1357fb78c19baed496e81f9eebc3b85d837a6b166ad3ed61e8de5506356e2228adf3a7ad627f3f6c104a60b56b65cab64f9833a66c135c3bee0c07b2444da6d2a847a8fc2375aca62163fb6d6eb70375d2d8b2ad5a50a0186e9d47c8cc412520302d0d38244378e00cc644fea36705a0ad0ac40c54fa1d6c398a4f0c7afef6d5e9c9e864b5c4722a8bc6f9ffabc07c108dca47070f4cf4cb90d734ded2b9e92b8991275033b7d08d9c0c7ff4f8115cfd4d2d16a8a8779ad93c106f5a7e42b87de043f39263c288ac60e3b4996798c11e4dfc43d5f1ad4ad7b049c829ec14d4e62f796f912f653a2051ff98a83ac32e36716155f436845b0b7031f0ad5a04e63a7b3a6e8bd6e04756aabcb91e2588c85cfd4b5a5ca0fec92a9b02ab81e9b070ce3d447430fb7de06aaf46e8d92af8b20cdb4ba10460c395107dd4b5f513c6926f4a08f85d04a0907977bbcbdc5986f88856028988e1b87360af275a6c84bea5b64bdbc9b77ba35fe48869a5dcd2dbb763a36d3a511949f334e503882519ea8331135b65c57b238b1e57eced9ad67975b7062a1c104fdd521a52439beb79df7c25947914d6d3d69887a40fd847d572808ee33d6522d63c035b5a42814b4244b64d10d0801d1e52330cd9693d2238081634c241c099b2519b6a1fabca852ecef89050ae03152597e4a2e6b5b92ac040b892012de703d54d6286926291537940977676d2ddf401b6a6877d3b8fafbd9f45253ace321170f11be92f4a15ba19742a399cd6c7beef26c0c65317547031aa653fc1b353498ee55c98992de574d362f731a15a0bc9ca6ece8d8e64f29d4b84607c81850a682b0a14e32e3a6d71d3de640ce0527b4b24908d0a49cec546303c1c2931b7f1348b690547c2dd6fdb4bf50364564a1a9cd159b6047e46b9f38be4a0d3ca4702d2d8d75e7a2b5e9f31e77c4b1efeaf264085fb84737e4db10aa27c554ffe46266f2674ef0725ecd8a488fa92b1bcf07589654f1c0f229e4125b248e46358d4ddd5183bbe6c972976b7212fddfffdaaa5755e257c263019aa7545abdf855a97b51262196275791b938be4a96b4123297e1abaa5dbfe9312568a64d53ee4a38d7a866c9b90e398ec950df1761c25682d6095d4f89e7bcce4e37c52db927735dfabb96c39fe710f1c414084069195b8304482aec805ae9832d5203701996993f64e424d26793ebf7e124ca131bfdbb7ef11e0497261bfa0e75992f99b3b61583bae1b49edba290cf44faff7a00b596da6e7ecb26cd3b48eabb699d3fe01dfb0f84f7b5f666933d8343cccba1e54ebdcc3a407726851d536f63af9b8e005a220883808f9f95c339bd9ba35c84833a12ac8fda21285587770cac9aa7f405d351ef6428fd359830212aac45a103679f8bfbd9958f8a45a165984c34c", 0x1000}, {&(0x7f00000020c0)="e4291abaf553b040ce6acc052455c2d173ff6e6e88e9faa10784526269fd64384e7f884b5457be013541155e99cf1b234eb423ab99d89fa8694cd50ece1608aade6728c612e76f63be269769124b4b6be22638f5d15050dce426c84602803d9892c2a0341acf104f98112a854f61ce780f3c70eb4ff8f4aef6794e2dd0ebe657f9aaea0182d2645b9109b5a1720724d5d7381ffa9d410ab40e406164815a5ce0cc0dc0ef76d10e056de2741f89fccb2fa339bcc21ae92df4f897cbd187501a9bd571e62bcf11874c7f10a4680dd71dece6f49cd35c988603a601611fea72e57164581cfd890b", 0xe6}, {&(0x7f00000021c0)="54dfa514a082a4b480399314e9895d0248cc9e503eb00a4440c2", 0x1a}], 0x7, &(0x7f0000002280)=[@hopopts_2292={{0x1f0, 0x29, 0x36, {0x2c, 0x3a, '\x00', [@pad1, @calipso={0x7, 0x18, {0x0, 0x4, 0x7f, 0x2, [0x6, 0x6]}}, @generic={0x3, 0xeb, "639015f43ff412b1a374cd23d4823a10e1b37f7c2292f9c4d4970c3f92c38d2ffdf407a8890d9e2437639693d7d10dafbd2ad1c57adc4b57ebb3c655ffb9542aaceb7fbcbb41bbefbfab0fe2ab67b4ea259fb21c9cb7f757eb88d846e30f5c1e46070cbf270a80d57b70e02875ed31f44d999b0ab7e4d866d73f7bc32a82a1e987ebf298fd52429e3fd7bd9d9fb894578b9534c39a88fe0f40636cb376aa1773b910f652c583c774427246ec676a3761a9127e4421a3b71c4953af109a5110178b7d3ede0a4009aff5dfcc5bc60b787912a26255add0b4f27a53bc36368498586f929ce607e4c902da812c"}, @calipso={0x7, 0x38, {0x2, 0xc, 0x8, 0x1f, [0x7fffffff, 0x81, 0x7, 0xffffffff, 0x9, 0x7fffffff]}}, @generic={0xff, 0x3e, "3abceaf1682ead66c3560fbec5e4d831c34402f1d578310060dcf562718e9dd034e86434528dba4aa86223528fe43afe44079612adc1e051f70901830549"}, @calipso={0x7, 0x48, {0x0, 0x10, 0x5, 0x5, [0x4, 0xfff, 0x5, 0x7fff, 0x1000, 0x9, 0x767b, 0x7fff]}}, @enc_lim={0x4, 0x1, 0xa3}, @pad1]}}}], 0x1f0}}], 0x4, 0x2000c000) syz_open_dev$vcsa(0x0, 0x0, 0x0) socket$packet(0x11, 0x0, 0x300) bpf$MAP_CREATE(0x0, &(0x7f0000002640)={0x1, 0x5, 0x5f0dfd89, 0x1f, 0x100, r4, 0x3, '\x00', 0x0, 0xffffffffffffffff, 0x5, 0x1, 0x3}, 0x40) 07:26:38 executing program 2: r0 = socket$alg(0x26, 0x5, 0x0) r1 = creat(&(0x7f0000000180)='./bus\x00', 0x0) ftruncate(r1, 0x800) r2 = open(&(0x7f0000000000)='./bus\x00', 0x86000, 0x0) sendfile(r1, r2, 0x0, 0x8400fffffffa) bind$alg(r1, &(0x7f0000000080)={0x26, 'aead\x00', 0x0, 0x0, 'rfc4543(aegis128l-aesni)\x00'}, 0x58) bind$alg(r0, &(0x7f0000000000)={0x26, 'hash\x00', 0x0, 0x0, 'sha224-avx\x00'}, 0x58) r3 = openat(0xffffffffffffff9c, &(0x7f0000000140)='/proc/self/exe\x00', 0x0, 0x0) r4 = accept4(r0, 0x0, 0x0, 0x0) perf_event_open(&(0x7f0000000840)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50d, 0x0, 0x0, 0x0, 0x0, 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, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext}, 0x0, 0x0, 0xffffffffffffffff, 0x0) sendfile(r4, r3, 0x0, 0x1b3ae8) 07:26:39 executing program 0: clone(0x20002334f7c, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) clone(0x4000200, &(0x7f0000000040)="99fa0aa4d57360dbb307f24a9eaeccfbd86398985bce8ca30d8ec3b8abbb010bad37af68aa3658d03dae6feea938fadfabb66cdc1095cfc9bf0cc2077b72308d8a95a3f84559d325aad0c0424be7baedfef0718a7b35f9479b6e389820c46342d51bf3", &(0x7f00000000c0), &(0x7f0000000140), &(0x7f0000000180)="e87471358cb69f2645d7c0b3e7dce905281b7626cfded70c5eb3ca21cfa5bca292bf127bcd1c53946c618da2e273e928e96a16dfa9f525e182ece6e2197e96c745d4f572b7") clone(0x80824000, &(0x7f0000000340)="c762185f19985c3d3162fcbc8b2ccb6d25d79d771efb00d97260078d0bcd3e3a686bddfb12b121a1ef3ea66666dae9888d404b980eae3787465836d9999426978b1358fb367e9c5dae3e1a762b492bced8049cd2eca825e5a62ac6573bc3a2c721094df99fbd65", &(0x7f00000003c0), &(0x7f0000000400), &(0x7f0000000440)="ccf82f7573257c67155cceecaeea0585ab1bac8d7503dbf5a2c1497f4b13b620839b1065b957ac9c8bd3b49d0d61") exit_group(0x0) syz_mount_image$f2fs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0x1, &(0x7f0000000200)=[{&(0x7f0000010600)="1020f5f201000b0009000000030000000c0000000900000002000000010000000000000000400000000000000b0000001e0000000200000002000000020000000200000016000000000400000004000000080000000c00000010000000140000030000000100000002", 0x69, 0xa24}], 0x0, &(0x7f0000000800)={[{@noflush_merge}]}) mount$tmpfs(0x0, &(0x7f0000000240)='./file0\x00', &(0x7f0000000280), 0x400, &(0x7f00000002c0)={[{@size={'size', 0x3d, [0x6b, 0x6d, 0x30, 0x30, 0x35, 0x33]}}, {@nr_blocks={'nr_blocks', 0x3d, [0x31, 0x37, 0x38, 0x38]}}, {@mpol={'mpol', 0x3d, {'prefer', '=relative', @val={0x3a, [0x39, 0x36]}}}}, {@mode={'mode', 0x3d, 0x3}}, {@size={'size', 0x3d, [0x30, 0x30, 0x32, 0x39]}}], [{@uid_eq={'uid', 0x3d, 0xee01}}, {@hash}]}) 07:26:39 executing program 4: r0 = socket$netlink(0x10, 0x3, 0x4) writev(r0, &(0x7f00000001c0)=[{&(0x7f0000000080)="580000001200add427323b472545b45602117fffffff81004e22000d00ff0028925aa80020007b00090080000efffeffe809000000ff0000f03ac7100003ffffffffffffffffffffffe7ee00000000000000000200000000", 0x58}], 0x1) sendmsg$sock(0xffffffffffffffff, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000000)=[{&(0x7f0000000200)="26ef3993c251d328a7400105f5096ab27d15d0a4a80fdd6194989e6c4a11dfe91938ffb965cfc4cb78b07f2b2bf86f83a852db071adc8649adf2fd1876f4ff5a61a1a761a35195dfcea0d45878d4acdf153dbf6efca8c7590c105a13fa1af09b85bc52109e0b7502a2fdb37dd083fb34794eb4fbb05561b683067dc675dd38a6e406adbd662cd7816664e1b1a7c7c7e47f", 0x91}], 0x1, &(0x7f0000000140)=[@txtime={{0x18, 0x1, 0x3d, 0xa395}}, @timestamping={{0x14, 0x1, 0x25, 0x3}}], 0x30}, 0x40) ppoll(&(0x7f0000000000), 0x0, &(0x7f0000000040)={0x0, 0x3938700}, &(0x7f0000000100)={[0x7]}, 0x8) 07:26:39 executing program 1: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$IP6T_SO_SET_REPLACE(r0, 0x29, 0x40, &(0x7f0000000000)=@mangle={'mangle\x00', 0x64, 0x6, 0x668, 0x0, 0x2f8, 0x440, 0x1b8, 0x2f8, 0x598, 0x598, 0x598, 0x598, 0x598, 0x6, 0x0, {[{{@ipv6={@private1, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}, [], [], 'tunl0\x00', 'xfrm0\x00'}, 0x0, 0xa8, 0xd0}, @common=@unspec=@MARK={0x28}}, {{@ipv6={@mcast1, @local, [], [], 'macvtap0\x00', 'ip6tnl0\x00'}, 0x0, 0xa8, 0xe8}, @inet=@TPROXY1={0x40, 'TPROXY\x00', 0x1, {0x0, 0x0, @ipv6=@private1}}}, {{@uncond, 0x0, 0xf8, 0x140, 0x0, {}, [@common=@icmp6={{0x28}, {0x0, "ef0d"}}, @inet=@rpfilter={{0x28}}]}, @SNPT={0x48, 'SNPT\x00', 0x0, {@ipv6=@rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01', @ipv4=@private}}}, {{@uncond, 0x0, 0x120, 0x148, 0x0, {}, [@common=@frag={{0x30}}, @common=@hbh={{0x48}}]}, @inet=@TOS={0x28}}, {{@ipv6={@rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02', @remote, [], [], 'batadv_slave_0\x00', 'syzkaller0\x00'}, 0x0, 0x118, 0x158, 0x0, {}, [@common=@dst={{0x48}}, @inet=@rpfilter={{0x28}}]}, @inet=@TPROXY1={0x40, 'TPROXY\x00', 0x1, {0x0, 0x0, @ipv4=@dev}}}], {{'\x00', 0x0, 0xa8, 0xd0}, {0x28}}}}, 0x6c8) sendfile(r0, r0, 0x0, 0x6) 07:26:39 executing program 3: mkdir(&(0x7f0000000140)='./file0\x00', 0x0) clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) timer_create(0x0, &(0x7f0000000300)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f00000003c0)=0x0) timer_settime(0x0, 0x0, &(0x7f0000000180)={{0x0, 0x3938700}, {0x0, 0x1c9c380}}, 0x0) timer_create(0x0, &(0x7f00000001c0)={0x0, 0x15, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000200)=0x0) timer_settime(r1, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x3938700}}, 0x0) clone(0x4007fc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) mount(&(0x7f0000000dc0)=ANY=[@ANYBLOB="f4fc421349d1509bfa527d06b6746d7e0016d2d505fa7ee2def0fb18042ffbd95025032c09137a9fea97e3266b6623d9cdd32e35d74d69de52ee3752fb841973d203c52ec01a445421e93f482e2412e487eab0eee91c1b2e85d7f45ba870e404d94d95b0139aaf06239214151b0096a5539e29eca6f337efe827a9b6fd2a4d9ab89642d236132045081194189597d0dd7f4ac77303613edb81080000b5759d2ecc701f701f7af8e8f8db030000009cf39bbc5630e14f5200"/203], &(0x7f00000000c0)='./file0\x00', &(0x7f0000000040)='ceph\x00', 0x0, 0x0) clock_gettime(0x0, &(0x7f0000000d00)={0x0, 0x0}) timer_settime(r0, 0x1, &(0x7f0000000d40)={{r2, r3+60000000}}, &(0x7f0000000d80)) clone(0x41040000, 0x0, 0x0, 0x0, 0x0) clone(0x0, &(0x7f0000000240)="894ecde7c2e1b8c0eaebbbc582e6139ef4e3a2fb9c2530ba04ce18ec4ca99b834ffe3d3be6bf5593ac1a85a447f18b060137ec5a88b5d538b80f73e96e8829d7d5d0935dd15c66a55c7779691359ca590400246a156b8348f5509c547e2416e25813ebae3bc204086c03da16aad6c57bdfce40ba7cd8c08750f0002a49f229", &(0x7f00000002c0), &(0x7f0000000340), &(0x7f0000000600)="31b3057500fe77b6d6b44977e4b3dfefcf3bb60cc8bdde4a5ff124f72a542d62e9e4e27672596cf33ac1f6ac141f43369d31ce327b18b599776bbc125aef9970f00641dcaa773f7c0e65e643d5c7940669853d1e60c08d57009964677b514e39aed573e10bd3e92b7d5729e6aed325e040a1fbb37a42994d5426d9f9075576054678c99dd754637b507cbdfeea25f372d48221c688389bdd1200e1413fcc04daa6e14ed7775e7cb284792caa592b2e57e18c909b407f1cbbf2c95d351ee432b25916c86595a4898195b2500ea005cbc1c574a247f6f8252a8dc39f692ca41224570d0a40404e89c27a24a24aaff8792b1b14a3a89d7378f1f27d8b720e8413") clone(0x400000, &(0x7f0000000700)="8d428f2b2709c20b723576bf0805a2f877321fd3c7ef4ff1ea6f519d9631b3dc99067830f9d4607b65561ec80cc9f88b11bac87478ec0f27310bc62c15c4f47260fd2f5156594e9f4439433c7860e6844f0b196deb1c7b0cdf6dcabfcad380c0cf25ea6063baf38b8aac7047d2dfe3ce38cb7c960c09286bcab42121d8db183a0696d03b38172a08bbc0a7d1fef2dd5f7c1a543d6248461b9ad941f20e5fd4", &(0x7f0000000380), &(0x7f00000007c0), &(0x7f0000000800)="6bed8e97b01c0c95f5fd11184355ce51ccd12e5aad611cdb4f68b5a45296802172bc9c71731f32da5c6ded8ea37d348d32b2bea711a061944ccf9faf4987c70f0e583ad66b16a8f148ed345fea70a84fc32318") exit_group(0x80000001) clone(0x50000, &(0x7f0000000400)="eefe07ff54814d065ea963af4a6c6b338d118ea4739c8af9f9ca0aba724cff5d6cea441a20977dfb0257058e8876a6a07d5b0a90983fb25ea6ba9d2c41408d5205a33c39c0a7d3a9b394feb21833d88ea4f197f219a69f3b40821aa5a1bcb21fcd55b44e3d2b4d1a6ada3b5ab7103e388067bca5e8e78ab5d75cbb7606285f6dfb56535893ca746a9ca4a4ecbf400dc84eb0214c7efb2ea1d72138ab4428a6bd5aae9a982c830ed6dc3019a5a5d145add301364d826ba918e2fac5ff8d138f5cec790dab44c7e4c830fb2d67a246e0509caeb023af469e", &(0x7f0000000000), &(0x7f0000000100), &(0x7f0000000500)="f89fbdf758392526a67d34cd9f65406cd9e0a494077517dbd3b4ac93a54466b271bdb105bc7a5937cd951d23a9086c8d11dc25b109c393bb5fc1769021ee198863e41dba269112a01060789f065faf371c934e8262070e721c5cd160b5d948db1c96a54671f77298945b70026905d9ef0d281079afd660c72add55358b1ff049a19430ccbbba7e886d305a62572e71957714ed81ae1fa15f2e181dec310fa9588bda9b598ee6d27c60fb48ded3c3c4014f57729b40d5a53f6f2b140007b76c0a46d21b9cbf0d7fbdc74011cc1f0833b72eeb0594762f1afd9893694aa4e5eaeb7441c13190af3df16e527e1a4a") clone(0x2020000, &(0x7f0000000880)="ee5e17fa7d4bfbf4e8eba2a173d6643c8f7ac02c70b763fa7b14236343ce150051aab182dfef9f9d0ee433d4eb0b512bd2fd974c847564d24219647917591a5b503c9d48c3262566732f50ce0f24548db127ef5750b6bf0518e12bca66dafe0464f413f7356aa4b19c5cbacfad2d4d805884661516810006fef7afc1a29fd686c77b11714c084048727ab3", &(0x7f0000000940), &(0x7f0000000980), &(0x7f00000009c0)="037d98629e000000000000b2d9f09f46b4ff41bc445c99830d05b7d82755190cefd902ba691add51050000000000000080865a2431c56dfb1d1b345776d638edee301d1c004fdfc110c543bcc5ce8fd1a8f2e2a16050a94590ff00ff000000000098c0011c774515ec7b400dcee0de0a8940b3a271dcad37b224a6bb9b2228b08b32998e64e3bc42079e3bdee4c7cb009904a6bb1ed251c8c46e3bbc62ad26bef3b74a017bde7f174751fd2624d178fc7fb47fbf0c8fc41c68a8f7661a921be00100000000000000151d36d51552bcd1ea38a1a833ff4a007491ed576c6fa0dff3ad96021ccaeaae5bdb6502a6050cdb29aae9e5f00135893c1b5decca2cfc22bbdb5b2db5ff2d90886abacdd8a9fd3a8c6ca61c020a2681ffce324619788f7df5aabd0cf5fc51725fbff42b6e90a36f") clone(0x4000, &(0x7f0000000b00)="d229959dc50b34eb7614779661eaae7bf5ea0faedb258897f874d9463ad252a833e89fed659e6f1b2281813085fb07ab824264a663df37660d22fd2056aa68d23c899b9d9d7c2b01bbb6b32b59c230f9ae79db36eb8aa5c339ff3f", &(0x7f0000000080), &(0x7f0000000b80), &(0x7f0000000c80)="88a7d3b235670d5495bea415d7fc71658135b3dd065f23f61eb72748afcdaa889d4b25149a9ad8959eddfcda853c3452cd9a6d7733e78cd80ab296931244c0c9064523dc5dc088f959b156cd3c0cfbdd4cff732cf11ac64e75903b39eb789324071de8f836ee6902608ea9ecc82e01e9c271b5b2") r4 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r4, 0x0, 0x4000194) 07:26:39 executing program 5: perf_event_open(&(0x7f0000000040)={0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x407, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000140), 0x0, 0x0) r1 = bpf$PROG_LOAD(0x5, &(0x7f0000000140)={0x1, 0xe, &(0x7f00000002c0)=ANY=[@ANYBLOB="b7020000f7ffffffbfa70000000000002402000020feffff7a0af0fff8ffffff69a4f0ff00000000b70600000018d1fe2d6405000000000075040000000000000704000000000000b7040000100000206a0700fe000000008500000008000000b70000000a000000950000000000000064580c19aab9d607000000b6cd483be3f0d3253730e711f5969f62c28b22756bedf3cf393dadb8f454af6e8bddf294251e3e14c46cc4f79f0637e48468766af540439fce41f144631ac262dcae08c3d1a1fbe96dd87235b4417409c0343185089a12119e31975ec049b1bbebad9057511194551558055dc2dc30761f880dd3a1b19e18e803ff18d2bf8d2d7bc324de9b9d06b21a3a80906dad27aeca03ede937b865e264f22584ef4c05be52652bf2e9e5014d5ccc2500"/311], &(0x7f0000000280)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x139}, 0x48) ioctl$TUNSETSTEERINGEBPF(r0, 0x800454e0, &(0x7f00000000c0)=r1) r2 = syz_mount_image$fuse(&(0x7f0000000100), &(0x7f00000001c0)='./file0\x00', 0x0, 0x0, 0x0, 0x50c41, &(0x7f0000000800)=ANY=[@ANYBLOB='fd=', @ANYRESHEX, @ANYBLOB=',rootmode=00000000000000000100000,user_id=', @ANYRESDEC, @ANYBLOB="4000000000000000f8594c5570", @ANYRESDEC=0xee00, @ANYBLOB=',max_read=0x00000000000009ae,blksize=0x0000000000000a00,blksize=0x0000000000000000,allow_other,mask=^MAY_EXEC,\x00']) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000780)={r1, 0x0, 0xd8, 0x1, &(0x7f0000000500)="3dcd529a6ab6129ab1e90c3ab3e1e58fa6970bbe820c6fd26ee84954696721b034880e5460790d6ccf514496f6b63ff481788770b0cfcee1e8a4459b523d39e3400f57de048d8381d21377532a857d33fc4b59535366f5fd17e3e5bf88b1c53e72aabf8b2059bed4c335d2d3a1412fc53de275593985548676edb1f68d147e0d6bbd5d9a1881aedf268dbe1e4b5c605818b9f6fdcd19aa7809f173bc4ec57b0ca593ae352af1cf39c26ec099a3272cd972c87c07e48751007527ff62ac9205d142a5021ced19cebff6b8bf6495e1d31b7a62d0432ce6b8d0", &(0x7f0000000600)=""/1, 0x1, 0x0, 0xee, 0x14, &(0x7f0000000640)="66da4952c652a3bc155584fba4ce8f919c77c81ab04cd5bd39de2e6dac50316a063af74837f15755e1d070080be19cd6a956675fe9c8ae7d5b6ac10789470f325e9636f015d41611bf6925c547ca3aa63d5509b1f99046de15f1a62ef02fa49399ba7e68d1cce716d254eaf150db02e82a747ebfff6e7a09afd984bec3c9501732bb0f05b5d648df9d0e48c26c3c25f9fc0be7dece8f8c390cbe1fc4c946dc956c70414f4f50a2ab8d605d3f7cc6ef58b0d3b105ba9cde9ffa30ac25efc8d1434d35af1d4d53613c9171d6b344052df54968d815126e7f28bb4e5e31b55d05e10cdc468b826f1cf0fd05d25f82d7", &(0x7f0000000740)="c437f2c5c73cebce054ee181163d779f134abe4e", 0x0, 0x7}, 0x48) ioctl$AUTOFS_DEV_IOCTL_READY(0xffffffffffffffff, 0xc0189376, &(0x7f0000000200)=ANY=[@ANYBLOB="00f9ff00ddff000000e8ff01", @ANYRES32=r2, @ANYBLOB='\b\x00\x00\x00\x00\x00\x00\x00./file0\x00']) r3 = creat(&(0x7f0000000180)='./bus\x00', 0x0) ftruncate(r3, 0x800) lseek(r3, 0xfffffffffffffffc, 0x2) r4 = open(&(0x7f0000000000)='./bus\x00', 0x86000, 0x0) sendfile(r3, r4, 0x0, 0x8400fffffffa) r5 = openat$ion(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$ION_IOC_ALLOC(r5, 0xc0184900, &(0x7f0000000040)={0x120005, 0x3}) ioctl$AUTOFS_DEV_IOCTL_ISMOUNTPOINT(r4, 0xc018937e, &(0x7f0000000240)={{0x1, 0x1, 0x18, r5, @out_args}, './file0\x00'}) ftruncate(0xffffffffffffffff, 0x800) lseek(0xffffffffffffffff, 0x0, 0x2) r6 = open(&(0x7f0000000000)='./bus\x00', 0x86000, 0x0) sendfile(0xffffffffffffffff, r6, 0x0, 0x8400fffffffa) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f00000009c0)={0x0, 0x6, &(0x7f0000000400)=@framed={{0x18, 0x0, 0x0, 0x0, 0x81, 0x0, 0x0, 0x0, 0x4}, [@btf_id={0x18, 0xd, 0x3, 0x0, 0x1}, @func={0x85, 0x0, 0x1, 0x0, 0xfffffffffffffffe}]}, &(0x7f0000000440)='GPL\x00', 0x40, 0x95, &(0x7f0000000900)=""/149, 0x41100, 0x8, '\x00', 0x0, 0x0, r6, 0x8, &(0x7f0000000480)={0x2, 0x5}, 0x8, 0x10, &(0x7f00000004c0)={0x4, 0x0, 0x1000, 0xe5ca}, 0x10}, 0x78) 07:26:39 executing program 2: r0 = syz_mount_image$vfat(&(0x7f0000000400), &(0x7f0000000100)='./file0\x00', 0x0, 0x2, &(0x7f0000000200)=[{&(0x7f00000002c0)="eb3c906d6b66732e66617400020101000240008000f801", 0x17}, {0x0, 0x0, 0x1000}], 0x0, &(0x7f0000000180)=ANY=[]) semctl$SETALL(0xffffffffffffffff, 0x0, 0x11, 0x0) truncate(0x0, 0x5) semctl$IPC_RMID(0x0, 0x0, 0x10) semtimedop(0x0, 0x0, 0x0, &(0x7f0000000140)) perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x81, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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={0x9}, 0x0, 0x0, 0x7fffffff}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0xa) semget(0x3, 0x4, 0x661) semctl$IPC_RMID(0x0, 0x0, 0x0) r1 = openat(r0, &(0x7f000000c380)='./file0\x00', 0x84842, 0x0) r2 = semget(0x3, 0x1, 0x600) semctl$IPC_RMID(0x0, 0x0, 0x0) write(r1, &(0x7f0000004200)='t', 0xfff4) flistxattr(0xffffffffffffffff, &(0x7f0000000300)=""/222, 0xde) r3 = openat(0xffffffffffffffff, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x4) semget$private(0x0, 0x0, 0x510) pipe2(&(0x7f0000000040), 0x84000) openat$cgroup_ro(0xffffffffffffffff, &(0x7f0000000080)='cpuacct.stat\x00', 0x0, 0x0) semctl$IPC_RMID(0x0, 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x0, 0x13, r3, 0x0) semtimedop(r2, &(0x7f0000000180)=[{0x2, 0x100, 0x1800}, {0x1, 0xff00, 0x1800}], 0x2, &(0x7f00000001c0)={0x0, 0x989680}) 07:26:39 executing program 1: perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0x0, 0x2}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x3) r0 = socket$inet(0x2, 0x4000000000000001, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x80000000000002, &(0x7f0000000040)=0x76, 0x4) bind$inet(r0, &(0x7f0000000280)={0x2, 0x4e23, @multicast2}, 0x10) r1 = socket(0x11, 0x803, 0x8) setsockopt$inet_tcp_TCP_CONGESTION(r0, 0x6, 0xd, &(0x7f0000000000)='dctcp\x00', 0x6) bind(r1, &(0x7f0000000280)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e030a86df875f2e3ff5f163ee340b7679500800000000000000101013c5811039e0c775027ec8e66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5acc326d3a0dffc2c654"}, 0x80) setsockopt$SO_ATTACH_FILTER(r0, 0x1, 0x1a, &(0x7f0000000480)={0x1, &(0x7f0000000100)=[{0x6, 0x0, 0x0, 0xe7}]}, 0x10) setsockopt$IP6T_SO_SET_REPLACE(0xffffffffffffffff, 0x29, 0x40, 0x0, 0x0) sendto$inet(r0, 0x0, 0x0, 0x200007fd, &(0x7f0000e68000)={0x2, 0x4e23, @local}, 0x10) ioctl$AUTOFS_DEV_IOCTL_PROTOSUBVER(0xffffffffffffffff, 0xc0189373, &(0x7f0000000800)={{0x1, 0x1, 0x18, r0, {0x1000}}, './file0\x00'}) getsockname$packet(r2, &(0x7f0000000840)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000880)=0x14) r3 = openat$hwrng(0xffffffffffffff9c, &(0x7f00000000c0), 0x50d000, 0x0) recvmsg(r3, &(0x7f0000000780)={&(0x7f0000000140)=@llc, 0x80, &(0x7f00000006c0)=[{&(0x7f0000000300)=""/203, 0xcb}, {&(0x7f00000004c0)=""/140, 0x8c}, {&(0x7f0000000400)=""/107, 0x6b}, {&(0x7f0000000580)=""/214, 0xd6}, {&(0x7f0000000680)=""/33, 0x21}], 0x5, &(0x7f0000000740)=""/42, 0x2a}, 0x10001) sendmmsg(r1, &(0x7f00000057c0)=[{{0x0, 0x0, &(0x7f0000000240)=[{0x0}], 0x1, &(0x7f00000036c0)=ANY=[@ANYBLOB="f8000000000000001201000004000000b7a8840a39bb9481200fd7883e62a3ef5c6ac7f3805170a7dee99678b9f02aa80bf5552feb7cf5811a383826f57b752216ff980d4173c1973b2d81da5a9f2bf4586435e715ef4d41f187bdc2e989a675293e09514f2a1fbb0a911e63356c559e506d16216c49d911a0a8c91369cc383a6b02659fc3ef4e949e4042ff2f28de66bb5b483fb486d5d3043d7c7c0acd09f193818e08cebfc6568471aa98b4649fa57ee9fea3294dc210cb8600a0108475fb176f8376794b8ee7967a14402eb903ac7520651e1ff0f4707c920a97c55935619916f2eab9f518f2b0f84012bb4c3bd3a3b971e7cdd1fbc8101000000000000088000000630c0000250f8dead360aa60451d97b9e91ed06038cae4d2234c2d6ac838d5dbeeb3452ad59c205e588a8083c6733bffae1a394136f6f2799eb0ca09f86d6e041378b7e7e1980cec5c628bf13b06849670e438b478eefc8f8f0aa389634328bc42a96d20fb71eb70c4ef1f32e9e24b5f73ac710cd0036b35a1dbd9d2ca9c26086c88d94f89d2777a07400b6592d7514648fe0910459c79dd3d2aea74744c66a37922cc6e84587996a0e5d63b1f0445be5edcfb91eec2e027af46ab24aed8ea6c4a88354a511081a3f8cb5066687c61b96d00dfb76d5651ee8743b8b32f4faa39c1223e583842ad3a1879ef9b9621ccf720282010ee633371ab4dd8d8405ab323862ab18f42b7a9cfd4f2394d1f86ca1f34b7602ebc407d0dcf2a79ef512eef7aee674d85a63a3a7592d78501cbb4964e733d9f380c728a90a5690dabea3f5e31fade54db91012b98aaf64fdda003929991d47fdb58580c5cc9685f2825f14c49c3354a73d34c5876f2d1821f094cfad1414ce328b57d92fb474d2e81d6d93fb627662dc27d78e255cb1994c9fd72a71b5d9b7356440aecafb32d3587dab4ee50df553f7dd1dcd7a7fd9c8b7a2e134ae25e188589a069a4cad86137bbbcc649015463cf5fe2942e84c7af2b26b1aacd7245137b18794d2957826cf57f2362b02a6c0c341d9ea2e7641e0cc4ce0501f592308772e191960a068200d6c42e0c47ebb79484bca588b54d8528f6dfd744e8a51b43013d78e6d99c212954fe51538330d07502bdc31a9d39a2ab31abbca3d7f8220f5933f3fea410df0c873d7a16b7cd802a9dde362d4ead415ef79550ff2382d0b72459e6bee318a3e2ab25d65aaa6e5c0e07009963a1269f0868a5eae542e0bc73c9a545bcab35679395833db81f7cc21f3b4b58df27e8858677b8c4d6dbea86c8d1f4f412d9edd160a863b970f2800596238d376c77bb94148355ef51f749123e1e718d5f4b5e35180ab76bcd6c67b102a1e8cdc826e7744582332da7360ef17395b8422ef4a13139bcfc291ce06f4d1fe646b4a05595e05cbb7e519bddb76a7871c6f5f0e92f62281d0a6b7fdf33bd1bfbe62df73984284e6f5b1da8a2e7d08dd0a3c1eb46132981bae5a2b76c97ebc668af15625223245674a50ed3f67bfb21db6a3a25d40a3a82639e020e925f3bdac288829e3865331e65bf802851cf476fc533ff03246fd5616ee6f88370ced0a89065b49ae169425472eedd802a7f61965c26876383d6deff3725e667f3120a36631bd335369a9db5193cbe782db154472007ffee2e9b2624be832b4e6680539373bb345343d4cb253c3964e4089c775473c390c905088f13f0dbadfcadc0b271664362daa90e937f8cdd04c4435e383422aa35c79a6734586e37b0bfa37e5b1ff46c9282e41b085efb39750c71ab89e2e9e3b95bbbb23153b300883e4b90e4a0ff4c7be340c985a1a6efe643263d4b42a59b50d2c211e660092b2166aaf64a9fedb238ef700ec255a86b907029b2ab67dee2fc3ebad49019d69808befe63872f3f7a0d2189f217ff5168a0f7a1c3e6adbb541f8da4ba6609e394ccc8130863cb2b6bbcb550aa98cc41452ae1298c12d1e5084b8d3602929752c34260b1faf463531f41259d25810fabf3c9bd5f162163695619774516a724f294527545addcf12657354e9c6ff91db90e834ed1363878ed5a7a176be6b7774b13930e5365ab7e550d2632efa511f8b8dac1f0dc6a337c16acff0e1011a22903c9952340067d747f7a895caf1fedab11330d8ba929462d14e97e6c6fb57cb0c1b5a9678c7642ac6f204f301650c7b4a9a25180885dcf03118dacc64275e18f5912bd53aad740ec2b726476b93757689336d358759b69e05830e02d90a1477e51d28870df77d191ad938252d49a314c972733e67668dbf9f6346af751eb1b3509bce8802b5edee294e84b5812cd08d665003c6eafe496346fed5602c87a2c53b1e4fd977814527a81fa6a9eb15b59063d609639dbad1cd0ce8d4401000000000000005b1d9bf0e4ececf451dd79340ce473bca3458c1da125255a5abe71d16803b292f31da1dfc8dda1f55b81ae3a29662894bd8db4fc07a5dd71a908cda4481d9f42b502e7a09797eae136a9aec6bc65c142c3d5954e9e7c7f69b8f7d644ab2f3c82740cfdbdbae9493dc1403bdbb8ea2699b20404cbb66f00ea5539a663b890579ffe403acf3646746755d5d6f56d6d5ed601b2e20b62976039fedded8fc6a044f576d6d0bb5e4cebb2c549990043b8c7def91c695aba7466ee3e0405eee44c20667f775a09da467218aac0d78dc124f0ff0ebe76a0837ee4bb0e6af82e11018667e664fa8384e6a7dcc6118bd0d4bf42542649247b315c7e39247341752f9e461f949c63dd5b4adbafcd0847d7f94d4fa5a31e0348ac380b79990c438217a0b03bcfaba958480ce1dbab04573e13ae2e93bb7f2f73c5d1292f2c5e13468ceda88845b882185027e6020ecf89dd4f3ce65ca2cb244b0aedb162274c50d2b950b8378771b18674f6b2ce0528f1f3fdbab28b54aa4575aa156361a9a8f8b326cc7e35ed18af8221c39632d9fa4b9e1c9351477b6974b7e6e34683776778fff837038217082f578bdc21bde91ecb99a0f9add09fa01cfdd048cb57227bc549c2f8622e6b705e15c9dbc497058eccbae3129da0eedc475e1a68f2395a20a266e7d3e244aae6fe63cbf6e25a7445c160c248d5dfdc82cedbdcb4c7d56d67590a22a647b2349e1ab529c4dfd00dbfa48e0d57d22c95fd785dd490b4d201b9247ce1b635cfd001fde6dc9584648b66141ae818dd1febb342ddc73663e4a32631aaf0f7abc50cd0d2aaf4c03cc7e187b71a83ed84e164f2d552e6de6cfc32e7776e8cfd3f42793dbc0937f6e2033fa0805db72c0d5b7c148e53ac9a510c8c76f959f7b04ca5a8f68a0d534c0abee257e222194e603cc3a114b727fe34403aa79f94bbbbd5074a630a0b4ed0c57c2c262d3465ba79c657ac56ced40a46d9b5bf6277c8dd7c21dc9d5dd7e619868d985e567e34e99215326f3c1585cac519d0abf2844aee269ce129ab7da48fcf480f30150fd445aae3f68cf261fb2b2fe03862d58800063e4cb5ad3e2d28c7678d1e06689cc2e98441cf9df8d52d8fb31dd413ad88da2ebd51a3f00752a32ea85f93d846e5a1d1b6448d47a28164c15093ce8495261c6f7fc384e537c6c46f1329f62ff70569324cd20e304b040773f9613a23fde7b9ca0c197ec8d0309cc18d3a0579bf71bbdca3e3617d86694243707b0f832397fd6867dc07256dd65f8e75fc11e3b50d0725440825d7694fdf7d7c361cf69e6f0fc2d7a5f446b965df0e00430fc485efd1a21878d26eae14f90032edc87df8e6841df101370933cbc486d84b01a6b360317a68d0cc221308ec4a7a2f3591117c4ab21e802de2f15dd81cfca20556e09161eb1247b087300e47d7c7c2eb26e47d3e1ce919ff04fb7581aed6ddecd2ab0e76f31f8908e3502a952518f0b22db3c2b1ed27b9aba1cd440f77ceac2deb4e22ba96800280350e0a0778343f2db98315602a8caa6d77461cc5d890e5576ef14e5c4652c1147a8b4481914f3919acb0e5807029e675c9e6430720deb10a3e8bf6a116f625a4c051948ff329f6a027f1ab73e45e6462fec7a8fce2239d0cb0da8752904a03340dc3721923428da505b3eb51d8f8825e0f1b445dbed410215c93a43b98c9989f434b0b332b873311ed10e592b68f78e60bdb03728d48dab01391796e16c55ce065169264c2fb00aa107e2010c757306655f7085d8618b32bcaabeee221429a195c0d5c3747b3b006cbeda280050f612f6226673f6dddbb95c8c19d1f6e42f4b88784f69ed9617bc452fed0b37a4aa99228fc80b8e75e628413283a4a5fee42388c7607f7659e2617333514b0d5d968f3b18adf8f339645137363670bed1deda599a6275428ae18e65eac3d03098480e9dbe1196288f9ecfc0331f2b41e69ff0f057d04181acd678b39fbdd9a911e49c9eb69b128683a0f9872dd3539ba87e0c8244f5a77807749b97b2f9e0b38c810c7a420ec68481a48f7d85185f98124fd89d1087c7f80bcbbc9ec69ac220368fa3561d18610aceaf8eeed90f346103cf8ba2a7b5612f6b1e0d7197a6e8194839cbc6edb13a348770907d0558746e830a60fe3d12e25532488c3eda151e328dba779285d516cfccca381a8e36475efb3245b2f941330bc66c440b2bac3d528a20db93e60cff8448cc1ad3ebacf9dd58d5296dca32bb549f9daad3732a8682d504c1b5489161b13afad3db269d81906b66bc9ded92a358c1d3a0623a4262bdbc3d18f1764a48dea3a255331d19a2bc282c0265824239a95348a2ad6b493f6dcfb6b2146d82381211b21a4e2d22bb0fd2c36afb9e712770307a80b85e04004606b6c325da768c81c883d60c665f5570f4015330766cfb8abc98ce55ef9dc8b53e8a17eb78234f4a7bdd2f6236799c67015109c5d31c7f955e30bc318290dbb86f660793aa38a1fe09903d8a5759ef781d277383693bd90b2a1cdffcb97b8a97fe1f436e6d61c0ebabba6603e6a8fb52a282fecfa6346e45791dde9adc17bebc533907cf32fde90918e761b0467992f363307a1799617d7d22c29da9a858373cfd1c491f44437d22b5fcb96f405f4a88de500b2cefd24a5582514caaac76aa829b1c15dcfc3b5782b55e9dd2968e6cdf046023f6dd2f96d4e88599495268a22b0b9219988d4e8769865e804748046bbf25db35380a95d36aa5c668093250ab82705239c4edffe45ad17b87ee4eed3f18e3ffb9fc8a2badb2c83942a7db40b8efe37953de1204c2d64e9cd9569dee3b86c6c4b2977a47e37269a72f15f22779e44742d2a6ac5bd00f5327d9ce161f2f824381ec8b4493cfdfd1546dc49f8b0804d38c051ac06c8db5e5cc96c493d512ecdf56040b528843cf461bea7a7b0a8b52d324e03b3e152a7f6ddbc4b433d67ec1ecc2085d58758fd22c3aa8d46fd535a6e305141adbd5d3741f14fe2750d09fd4c0727b3a5b3c79b14d87abb0b53d656c01247a9093da6524092057a1dbe2a72455e5c91cbd9904dc316620376bfa58f3113ac27125d8237a3e0c8827fb16525498127316803bd92c716235f1e13fd4c5b56946853c493d1df405f423e20374cfb1db1af8531be3450b8b1b560cf12046d30a51552d7c6fc18dfcd11be5dee6205bae161ef13a34afdd5bfb4d88e91029b26a052473e54c38bd375ca7b24e7117d3cc0079d3e037d22655263906a7c701c1258853b76992455dd4d035c0f515e7f38f9024d360bffa566b1446bea01bf862375b23236d98f1e026477ce4305e16faf821559c7cc0a5f637dd41dc57ee0f10cfe66235e7bfcf7f4a49522c67c9010ea20d11f41785415e0c1d244195be3260c07c3cd13e41e57093f00a9a805b71d3b17a32593b6fe213d05c595f711ed0902d7ecd3add0402a7cfa4969a4ef55bd08e6d851ecf807ba17af9a4711a6aa5c1cad87fcfef8c3876fa4085fd0e1fa7100afba7d1e6e5a3c886a11049bf0fa0174490799625a261b1da8f8b89f3ce5fdda7f2d6fe76cec863b90873257e6c24b7b534749f3882391b9c81d672b0e3b5fd2d0fdb9c8d179ce44fa7aee1772c710c3e9d7c01c23f25013f4925e30321f2bf73fdb1966f34d2fe3db84989af171abac9de2cfe29feae35dd31d909462a53ebd490f242395fb07bd46d8a4f8aeca9e70a4b593f6a92efc5788b5f3e579c71cee091439e2be013aba3b80df1b76fdde49ab717e250953b372aa2d1c816b89b01b6c4779f560000000000000001601000000040000891b5706e65ef5fffa5009d35efd0cd5225cc15a05cd62ed27878f66f749c4ed5a27860e4a2f49ac66920f541aa4f76443602dafc593d75fe96013b3a737bb834859c3bbc4c19bce8de42ec2c6624060fdfc65a6365d598ef24340a9d1f60de0c23e1ebb741dad53f20c0665a240b430893b65cb5fb985d62f930d565dbd3841fd99eeba465e7da6d97659a50e52044f978713a36dc3825c7d8dadcb30ceaa772e42009e75def98be05a45dab89633a78cca1bf5f5ee40d9d5991c4d09dfc93dd989c718daf53352d70a88328ebf8d97faac268046912603b23776"], 0x1168}}], 0x1, 0x40010) fcntl$setownex(0xffffffffffffffff, 0xf, &(0x7f0000000080)) perf_event_open(&(0x7f00000001c0)={0x0, 0x80, 0xe9, 0x5, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x9, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x3, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0xff, 0x4, @perf_config_ext={0x5}, 0x4000, 0x7, 0x5, 0x0, 0x5, 0x2, 0x8f4f, 0x0, 0x5, 0x0, 0xc5ea}, 0x0, 0xff, 0xffffffffffffffff, 0x1) socket$inet_sctp(0x2, 0x5, 0x84) setsockopt$inet_tcp_TCP_CONGESTION(r0, 0x6, 0xd, &(0x7f00000007c0)='bbr\x00', 0x4) sendto$inet(r0, &(0x7f00000012c0)="0c268a927f1f6588b93e480941ba3860ac5cf65ac618ded8974895abeaf4b4835ef922b3f1e0b02bd60da03059bcecc7a95425a3a07e758044ab4ea6f7ae56d88fecf9141a7511bf746bec66ba", 0xfe6a, 0x20c49a, 0x0, 0x27) 07:26:39 executing program 4: r0 = openat$kvm(0xffffffffffffff9c, &(0x7f00000000c0), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) syz_kvm_setup_cpu$x86(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000040000/0x18000)=nil, &(0x7f0000000100)=[@text16={0x10, &(0x7f0000000040)="baa000ec3e3e3e0f2b75ee65f30f008f6300a6aff4660f3a62227d0f20e06635000040000f22e0260f0350000f01cf", 0x2f}], 0x1, 0x0, 0x0, 0x0) r2 = openat$null(0xffffff9c, &(0x7f0000000000), 0x0, 0x0) r3 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) mmap$usbfs(&(0x7f0000000000/0x1000)=nil, 0x1000, 0x1000008, 0x10010, r2, 0x861) r4 = syz_genetlink_get_family_id$l2tp(&(0x7f0000000140), 0xffffffffffffffff) sendmsg$L2TP_CMD_TUNNEL_CREATE(0xffffffffffffffff, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000040)={0x34, r4, 0x0, 0x0, 0x0, {}, [@L2TP_ATTR_PROTO_VERSION={0x5}, @L2TP_ATTR_CONN_ID={0x8}, @L2TP_ATTR_ENCAP_TYPE={0x6}, @L2TP_ATTR_FD={0x8, 0x17, @l2tp}]}, 0x34}}, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f00000000c0)={0x0, 0x0, 0x0, 0x2000, &(0x7f0000000000/0x2000)=nil}) socket$inet6(0xa, 0xa, 0xe3a4) ioctl$KVM_SET_REGS(r3, 0x4090ae82, &(0x7f0000000240)={[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x204cb], 0x100000}) r5 = creat(&(0x7f0000000180)='./bus\x00', 0x0) r6 = open(&(0x7f0000000000)='./bus\x00', 0x86000, 0x0) sendfile(0xffffffffffffffff, r6, 0x0, 0x8400fffffffa) sendmsg$TIPC_NL_BEARER_ENABLE(r6, &(0x7f0000000200)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x20}, 0xc, &(0x7f00000001c0)={&(0x7f0000000300)=ANY=[@ANYBLOB="08020000", @ANYRES16=0x0, @ANYBLOB="000426bd7000fddbdf2503000000b8dc7a8014000280080003001a0b000008000400b909000008000100657468004c00028008000300400000000800030040000000080002000700000008000200010000800800040002000000080001001b000000080003000700000008000400ffffffff08000300020000004c0002800800030008000000080001002000000008000200d11e81320800010005000000080003000100000008000300030000000800040004000000080002009c00000008000100170000009800058007000100696200000700010069620000080001006574680008000100756470000800010075647000250001006574680007000100696200000c000280080004000900000014000280080002000000000008000300ff0000003c00028008000400330900000800020029050000080001001302000008000400090000000800030000000100080003000000000008000300030000003800018008000300020000001400028008000200f995000008000400ffffffff08000300970f00000f00010069623a69705f7674693000003400098008000100a70c00000800020008000000080001000500000008000100060000000800020060faffff08000100090000003400038008000200008000000800020007000000080002008100000008000100070000000800030009000000080003000100000004000180"], 0x208}}, 0x4840) ftruncate(r5, 0x800) lseek(r5, 0x0, 0x2) r7 = open(&(0x7f0000000000)='./bus\x00', 0x86000, 0x0) sendfile(r5, r7, 0x0, 0x8400fffffffa) ioctl$KVM_RUN(r5, 0xae80, 0x0) 07:26:39 executing program 5: perf_event_open(0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0) prctl$PR_SET_PTRACER(0x59616d61, 0xffffffffffffffff) clone(0x80100900, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) r0 = gettid() unshare(0x20000000) clone(0x39226100, 0x0, 0x0, 0x0, 0x0) ptrace$setopts(0x4206, r0, 0x0, 0x0) ptrace$setregs(0xd, r0, 0x2, &(0x7f0000000040)="9a1a86b945de4cffb1dcce85254db3f2f9edd4f3167224d8e706511ff2b77806bf6d088493ad995eeb104529e4d3177a9defcab1fc51d6c523086271c41d3d87c66e25e2bef0d7536a21baa18442dbe3d06b63c50eff5d93780033410072d3c54b3cae812ec2a1956f2b92f5bc2688169b6db66dbd76ddccb58b93bea209d776d38e13ef276e2ea781f0eb6bb914a368e5ea5168bef44093") tkill(r0, 0x3d) r1 = gettid() ptrace$setopts(0x4206, r1, 0x0, 0x0) tkill(r1, 0x40) ptrace$setregs(0xd, r1, 0x0, &(0x7f0000000080)) sched_setparam(r1, &(0x7f0000000000)=0x2) wait4(0x0, 0x0, 0x0, 0x0) 07:26:39 executing program 3: perf_event_open(&(0x7f0000001240)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x83, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) r0 = openat$audio(0xffffffffffffff9c, &(0x7f0000000040), 0x82, 0x0) write$FUSE_GETXATTR(r0, &(0x7f00000000c0)={0x18}, 0xffffff54) ioctl$SNDCTL_DSP_SYNC(r0, 0x5001, 0x0) poll(0x0, 0x0, 0x81) ioctl$SNDCTL_DSP_SETFRAGMENT(r0, 0xc004500a, &(0x7f0000000000)) 07:26:39 executing program 2: clone(0x24090000, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) clone(0x100000, &(0x7f0000000000)="6b50e37fe3af918a9fd2190fb1a9755b7bf861846e1d030fd18c825885798970de7aa071460df79637d12786337811b130c100ee2a77db1ef8dacf330693402aa12a26574cd65b2eb34a69cddec6538883b85330c25d43175d323aa16723854d9aad2a9e40f7f058534103b830712ad9a6626dace8aba9699470c701b83d91778432453e9eb6f96adbf0c9a8f7ed9ba52294de3f82b2e74752ac4c06f1106df5fc4939a073cde2268404bce9916b71d26c182bb8864608", &(0x7f00000000c0), &(0x7f0000000100), &(0x7f0000000140)="1c689d1c17de782bba514afdeff2e8bc9ad3b470b7beb32b12944d5874dee11eeee96d94eb4a4a8a5a672b097cd1b65d045ff9120f2723eacd5e346f593059a1a0fd1c33e0e0784e1193b0bec3910eaf9fb0c27733b9d1e8992f69fc900142be7c87a293b1d604408e4140572984cb3614cfa52def5ef0effba62288bf8f1d7fb70db2ce5381c8b1cb1d019006a9d4ab06c715abbf56aad37c924d559af19c0d82b1e4e87d0d599abe90606ca7465e6cdaf4b8edef02a5c05a0d017b5342b4f689e4376e9d2c94768349b9d068100303666ef37f9e7f422dd36dafe3e0") 07:26:39 executing program 1: pipe(&(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$vim2m_VIDIOC_G_FMT(0xffffffffffffffff, 0xc0d05604, 0x0) syz_open_dev$vim2m(0x0, 0x0, 0x2) r2 = socket$inet_tcp(0x2, 0x1, 0x0) ioctl$sock_kcm_SIOCKCMCLONE(r0, 0x89e2, &(0x7f0000000380)={0xffffffffffffffff}) getsockopt$inet_sctp_SCTP_I_WANT_MAPPED_V4_ADDR(r3, 0x84, 0xc, &(0x7f0000000080), &(0x7f0000000400)=0x4) setsockopt$inet_tcp_int(r2, 0x6, 0x10000000013, &(0x7f0000000200)=0x1, 0x4) setsockopt$SO_BINDTODEVICE(r2, 0x1, 0x19, &(0x7f0000000000)='vcan0\x00', 0x10) connect$inet(r2, &(0x7f00000000c0)={0x2, 0x0, @initdev={0xac, 0x1e, 0x0, 0x0}}, 0x10) r4 = openat$binder_debug(0xffffffffffffff9c, &(0x7f0000000040)='/sys/kernel/debug/binder/failed_transaction_log\x00', 0x0, 0x0) setsockopt$inet_tcp_TCP_REPAIR_WINDOW(r4, 0x6, 0x1d, &(0x7f0000000100)={0x0, 0x81, 0x1fe}, 0x14) write$binfmt_misc(r1, &(0x7f0000002400)=ANY=[], 0xff01) splice(r0, 0x0, r2, 0x0, 0x10003, 0x0) setsockopt$inet_tcp_TCP_REPAIR_WINDOW(0xffffffffffffffff, 0x6, 0x1d, 0x0, 0x0) 07:26:39 executing program 0: prlimit64(0x0, 0xe, &(0x7f0000000280)={0xb, 0x8d}, 0x0) r0 = getpid() sched_setattr(r0, &(0x7f0000000380)={0x38, 0x2, 0x0, 0x0, 0x5}, 0x0) r1 = socket$inet6(0xa, 0x0, 0x0) recvmmsg(r1, &(0x7f0000005540)=[{{0x0, 0x0, 0x0}}], 0x1, 0x0, 0x0) sendmsg$ETHTOOL_MSG_LINKINFO_GET(0xffffffffffffffff, &(0x7f00000048c0)={&(0x7f0000000300), 0xc, 0x0, 0x1, 0x0, 0x0, 0x2004c8c0}, 0x0) pipe(&(0x7f00000001c0)={0xffffffffffffffff, 0xffffffffffffffff}) fcntl$setpipe(r3, 0x407, 0x0) write(r3, &(0x7f0000000340), 0x41395527) vmsplice(r2, &(0x7f0000000000)=[{&(0x7f0000000500), 0x3528a9c0}], 0x1, 0x0) sched_setattr(0x0, &(0x7f0000000080)={0x38, 0x2, 0x1, 0x0, 0x3, 0x0, 0x2, 0x3}, 0x0) creat(&(0x7f0000000000)='./file0\x00', 0x0) vmsplice(0xffffffffffffffff, &(0x7f0000000340)=[{&(0x7f00000007c0)="c5fc1d12dd949b4db28edb4ec0e7a72e5013dd776aae95f06a1b4c27c03d04e1f58aefb440ee58941f5ecf28849b85fbef973f1ddac3f6122181e714ec2b50393c606f5aebf1a266527b92973a1c48c366919844b8bc1fc6fc63afa740275c6c3a556fd41287e0a9d80cd15b5be64d006f1d13ab41b753cb27c527eaa2046718d315d7e4f2363dadb801ad170e4dc58f805b7af9a88275f0850a8cc9582e07c2824fea6caefad69714708e24cf6c2555ca71bff47c228959dca6b65069fba5d9496c3545beffc9aad4b77b21e6a1a7f9d77fac92ce0a5cafda7f0f8cd51a5c3a1076a6327552f0387a825dfe0190e67df7a75f687f44fecfc80082ff840b5953fb896b0ef587b713a0f3688daf69333a60bcbb807c67a5877ecf23e3af57f2c8aafb0f3f8918d9764c0870f86e350223ad3318d98091a148654f86346cfc8b6fe895eabed2c289d010d198b591c38f1c38d51ee6b40f8228973312e746fac447e341d2f759ad29f86383880833d76510de05152236e69e046389122e225e8ae01a477a253573e1c8bfa07b395bb47e00c711ae48388ede7f0b444c958967982eb6a1d35464b9de10375e26a9403071897570606d2c2a2bef847ce691d357d3e7b003969d87ab1de9f47a5b4cff3e175c08b84bbe6b0961a327dfab841c06fabdc5b5786f3e324c1cf715db0536bcc2029d1bd4de558c0c1dae500c587d3247f02a2499a70b97916412e408fc0add71d0bb7da642e6f19c5f355c4f684f3c13ee553c7fca044d3728f59b16a1d48bc0471cdc1fa20917ae822f95229ef5410ce3e2203b97afcaba21b4701498376320ce7000b33a33a039c36b463c0b2956fc541855e7fb7a505c35b77282d3cfee28155ac1b93ca6ef9d9413b0ab494638b85b9bceba56118e7bbe6333b297caa7597977596555e82b860349a6b56865aceeba60366b9939daf530fa9edc87b1d22bfec04fe68b118480da73e60567d19d9dacdee44573f40dd303fb55d8417721584304c3afd855db7644af1b65fe516757eb72e09c3df4a9b619a5d4f6b9d1e1967a1840ae21f1b323d12783de34333e7e4452878782d92c24218d3d75dbc4a2881161ea1915c995f16d0bc83571f8b0b6bb3cf0c26442b09c7116b07e3609f736eb6d02ce4dd561fc11a70527ecbb31c5d0bdc20f95f5fa4f29048d94242fdbbf048a4289badcae9a8221367098a490b61b57dc0fa9c2eab3dab7d4d3eb755c905c10d4d6636220d7da04da56312ac1b6d3116a0043558065ea9c84a81a7e495b668fb3a73ae7b3d7e00dea671f935616420f6218381772fc97d4e15c462bf4c8278f7e1c20a8bb038c640c862281761a0f40924640393b7ce45efcef393e36ad7bb2f4077b5a9311378c0e84fa9f0201728a7ee9e44b36a335e42a55c1b3cf671efc2028d4cbd329c25df169802169104c1cec9413dbd0c45a304d2d1f65a4c7f3b5b3f5b4ac041ba89e74cf483297893915f788a0c0e67ee5e8671535b0100cbf7387ae2e6ea354c450c2359a3d04b5fba0e6710d80217df426830a5ea87d3463ec91a164210218fd7911e6115776ccea2824ea95526d13ac672a327a7615607198fe1ef69a5e4ae937063c2328884ae699909edab19948cd751b7b2abdeb09d3b0300d0a5a0402957fbf229d5c8b2c3e87ca4a5605a2d48b5122829e82b4248643c39c4bd8513667dd11ed859c2749e17d767a967104f0baffe6e05511aa8b75d0f9cfed2fd7cf90940a453572f79249496c4a1809d552756a3fa54ea2f97c78cbf0d3d210d239ecdc9a92ba6da289c75468ba61afc10323613a781b524d68d09b0377a6985bab374036b5febc0251a6d8fa26eac1800816fe76b547698bdb8dfdc4cfdd7c362a2e004d66669c07fb7fa00fc4a3d825bcf999477b077cd37fcd3b4f0763c1a3f3a47705b73d9c26c287ea74147b914623a63beeedaab3df872dd54239b32a43da1f749d9b2a2a2dd19c625b6260a637cf609ab53d451a5e74b8e968de743badabefd29d08375c82bbc696bfc60204a92d072314e452791c8fb780108526059f24f6c1c1bb272e39cf7c62526d5e368c2ced3cb1fd62e12d845ab553daddb648dff59455180a17c77d9ddfd13c256d95c16c143d24c47ecd5e21fcf0a732cce0b5605fd25e38a4b83b8cdbe428eb440c690ece38e0beaf36c918467189621db24e6830e75cfa916c5ca863e243b1e1143f0a343070f3356a7d039adf75807dd3b89424827155496bfd650ce6a91b141f6c0f59550e1a350425f7a0c8e4907702e81aea03c79d718c209bbad062e23385fd23f2a5241ce2641a773ae028c17faceec11a0a3720423d189d255de2fa9aa928c2868ad24c3a37ed4423118ad103fafb2022cf507a4acf5a149f5a755e95b9a1d273dcfcb0b590e6a8583724e7041ca7a71809253bc84506b8db6aa5d794184b8c20f33c313d8fab687a814808bd807563f378d525eb2c141dea542e8b77ff1655111080d6f5209a2ecdecdb962a6f2a412c37db804fab0be5ec4747acd4a16b0782e270e1edc93f7e507830013d7a744720bbbe7de5f817478fc108fa670d6c4d4e103d6ea41de12ca233cf7288b1a5d4147965e2ebc7b3c66fe5f87f56cf4822d4cad0134ec6e4c956e0b8baed4e0c48a9ec107cbcbfcc7a605a2a93517a254954631e1aead95dbb9e3176fa3edebd3e5aa7a3e11e330af27261cae94187c3ec38cf51a0ab1dca1562f53b5e31c5d72910edf06f5335b68d54e8b563f6c0f394689ed6cc4dc99d9563a7be3701895e19d72b1999d77818d01c6cb3b52d28c3e29505b4d91a5073dcfa151ed01b6e37c029bc1d665f0e2b0dc4dde2ef3f8de10f1931bef0845fe5fd85c8c86a3922eee8f21948dc59b1e730ed94eee04057764e55108a549cde628cf6716e4c4cf9972dc83e099f1abc45a2d1bdd6668d6967b1f91d1da0ab6952cd9a699ebe43460301a3671b553522bac1fdde593c074a1dba12383de4af49e8afb71618c45f0c2fa8f4320375cb8a52bfad7fccfdc7575dda818aaabfb286d812ece9bc47469fe25631b15db0874781c19ee1e3580f7ee8f16eca9bd84b9c36a4d2e7e247bdf91ce86ea9249a0ca883d7fc0b11507e9dd4307f1f072673792d565539782c65dedade97303c48596d655766c689f1bcfead51bffc47fbfdf1ef52b1442e33621ce9ddeccc25f61633ee9839dd10b8794431be4bfc08589e4c534f1f4faee6e93bae04df69ab08c0de738558fb265e24dbf462c4efc9fd6d3f594068127cf3fde7fe8f577b4b5399a3973ef79c4802649886b820046f462ec525bf2319c594e703cd5b29ce4308cdbf873d22c9f515bd599b1412243d1075d05088add97583ac328b4af1edb98d8fbb2ed4f7fec3ed65cb13b28a6514f03e0b09a237dd8009773c9e7d953f088fb8cacd67d4f4e42454b3ed31676f1f02cd697424f46d546b09b453fc6bd3ac869ffe63a68aca663817061cf1b23fbd7361f071d9b8b4c6ff9e8ae67e1d909bc4e540f48db17fcdcaa78b282e41b64a2721b7290389ddc1c8cf7a3c07f962de662f07e461b37b2e70bb250922ac3d6dd014e149508d753c417d516d41ab3b6b5c8d55d9a838d5b2a4a6ddd016a3b636f9d15e73d72c163228e782f5cc8dde88a175851076ad1cc8aa1bc0c994940b5466a30c7f9153166c63719c59af743e6bce555ad3e99c05080421c913e68ce7bfc767b2bd0d06ea332f38ac418e2d5a0196c25d013e1c9cb9b6db2280e15a7c42566cf2472546654a0fe6fdf8dbf093052ead83adda5f0e440e73dfed989bb2dfb3f90a9768d172b3276a58b5919982c45524882a72024daa5cb6266e6535a9b75bcf88ae1abca28fc64447ae1123b5b489fdb3af1f5984b18d56fc656709c74f4d4abd53e0776dc7136a8ae259e09f66d26ea378c8e56d35d046b86babd1943b290365acb64995c2ec6ad80d77ccd1d8797997b8455b9fc5badf5282ed60b362dfd6baac2fe1b002188381bb6846e0fe906736b6da9eb607ef2695d3b4c8d5da859265d8c1bbdb4f2ac6059db660ba026b9a91a5b96f64cee6a7a25aa4ab7d96091ba8aaf3384becf23fcfcdf25038f07fa5db3816082d49580a2c0f067df7576fd51c9d6a519890b79dd9b1d85da6cfdcf903303fc18e67afa76cb519e060da34f4d243d0f424a22c11413b1667debbac738148b931c7887080066cc7b5d6933a257510d84b78d1568f42716053ef364717fe5da518808ff59257f9387737a5f2940656e7fdd98e29c9f57afaa611570717172527d45b921cc757bb49c9ffa1343be3c76d363ad93e8599b5d77e7d1bdb28660b3781afcedaf286c9c0b789443969ea7171f9219e6445c5d19f7dfb77471fcb485dafae7ba9a3acb0fd1e90072048913a40b75f7ed76a639ccd17a63c0a8d76c78c3ce94b0a50cf274af3ce8a164ce3e1332eaba54c3715e306df17da245ff451e2c9ebf093cf10e571a98632c2de19b3642c3b5531da00f99ce50698cdf5e5924a861942ab77676e46e3b20c73e9799584552ef2d84c001c2a574c2f2f8fc8bcdfd6fd29c3f52527c8fe26a6225f318e4ea465f6c01dc2959922b66c559727b32d75052fac790f23cbdc9545a2395e24a30a638f76f38b33e9cc7d66537641e0b5f541e80209b68d15ad86c55012af7ff6998783fd747ce954cc8d54c6bc6655cabbe0978f65f3ffeb8036d9eb63d680c8d911751221a098ec766b1342ed1909caf5abaff460aa2cda66cd49c10572abbfcb76c2e5348606909c856276c3c05920adec30c490d60e6e6153d03f6f3a2d1022ffd6b5e25e47f31ccc4803ae05283dd2f366849fb90344ba42f6b1df0b243293cb0373148b782b51a71799f994f3521a342b7cc6aeb4c171c08b2b32cda64d25d64409b0151ecf00e61da7048e3204e824149a7aa7a4c8a8ee564ad839bbf52bc3ef6993c3177701eea64bfe9747977bedbd00ed2dc9139079264271359204c605bccd862be88172ab723fa6699ee5", 0xde0}], 0x1, 0xc) write$binfmt_script(r3, &(0x7f0000000740)=ANY=[@ANYRES32, @ANYRESDEC=r1, @ANYRES16=r1, @ANYRESDEC, @ANYRES64, @ANYRESHEX=r2], 0x100e) syz_open_procfs$userns(0x0, &(0x7f0000000240)) socket$inet6(0xa, 0x1, 0x2e2) perf_event_open(&(0x7f0000000100)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x13, 0x0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20003, 0x0, @perf_config_ext={0x80, 0x83}, 0x0, 0x5}, 0x0, 0x4000000000, 0xffffffffffffffff, 0x0) clone(0x103, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) mount(0x0, &(0x7f00000000c0)='./file0\x00', &(0x7f0000000200)='rpc_pipefs\x00', 0x0, 0x0) prlimit64(0x0, 0x0, &(0x7f0000000180)={0x0, 0x800}, &(0x7f00000002c0)) 07:26:39 executing program 2: perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0x0, 0x2}}, 0x0, 0x0, 0xffffffffffffffff, 0x3) r0 = socket$inet(0x2, 0x4000000000000001, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x80000000000002, &(0x7f0000000040)=0x76, 0x4) bind$inet(r0, &(0x7f0000000280)={0x2, 0x4e23, @multicast2}, 0x10) r1 = socket(0x11, 0x803, 0x4) setsockopt$inet_tcp_TCP_CONGESTION(r0, 0x6, 0xd, &(0x7f0000000000)='dctcp\x00', 0x6) bind(r1, &(0x7f0000000280)=@generic={0x11, "0000010000000000080044944eeba71a4976e252922cb18f6e2e2aba000000012e0b3836005404b0e030a86df875f2e3ff5f163ee340b7679500800000000000000101013c5811039e0c775027ec8e66fd792bbf0e5bf5ff1b0816f3f6db1c00010000000000000049740000000000000006ad8e5acc326d3a0dffc2c654"}, 0x80) setsockopt$SO_ATTACH_FILTER(r0, 0x1, 0x1a, &(0x7f0000000480)={0x1, &(0x7f0000000100)}, 0xfffffffffffffd42) setsockopt$IP6T_SO_SET_REPLACE(0xffffffffffffffff, 0x29, 0x40, 0x0, 0x0) sendto$inet(r0, 0x0, 0x0, 0x200007fd, &(0x7f0000e68000)={0x2, 0x4e23, @local}, 0x10) r2 = openat$hwrng(0xffffffffffffff9c, &(0x7f00000000c0), 0x50d000, 0x0) recvmsg(r2, &(0x7f0000000780)={&(0x7f0000000140)=@llc, 0x80, &(0x7f00000006c0)=[{&(0x7f0000000300)=""/203, 0xcb}, {&(0x7f00000004c0)=""/140, 0x8c}, {&(0x7f0000000680)=""/33, 0x21}], 0x3, &(0x7f0000000740)=""/42, 0x2a}, 0x0) accept$nfc_llcp(r1, &(0x7f00000001c0), &(0x7f0000000880)=0x60) sendmmsg(0xffffffffffffffff, 0x0, 0x3d, 0x4000085) fcntl$setownex(0xffffffffffffffff, 0xf, &(0x7f0000000080)) sendto$inet(r0, &(0x7f0000000800)="253c9ee9be0c9a749c3dda790b358f8a6bfeafdb5fbd261d77674ec9a3906c70a7b6e7c39747b4952437721f6f82657ef6399c79908f300e421773ec7f84e929a83776b807e05e7e825757dbb2ae2f28cb41ae8399", 0x55, 0x24000010, &(0x7f0000000240)={0x2, 0x0, @private=0xa010102}, 0x10) ioctl$BTRFS_IOC_SET_FEATURES(0xffffffffffffffff, 0x40309439, &(0x7f00000010c0)={0x0, 0x2}) socket$inet_sctp(0x2, 0x5, 0x84) setsockopt$inet_tcp_TCP_CONGESTION(r0, 0x6, 0xd, &(0x7f00000007c0)='bbr\x00', 0x4) sendto$inet(r0, &(0x7f00000012c0)="0c268a927f1f6588b93e480941ba3860ac5cf65ac618ded8974895abeaf4b4835ef922b3f1e0b02bd60da03059bcecc7a95425a3a07e758044ab4ea6f7ae56d88fecf9141a7511bf746bec66ba", 0xfe6a, 0x20c49a, 0x0, 0x27) 07:26:39 executing program 4: r0 = open(&(0x7f0000000000)='./bus\x00', 0x191a42, 0x0) mmap(&(0x7f0000008000/0x4000)=nil, 0x4000, 0x2000002, 0x11, 0xffffffffffffffff, 0x1d64e000) perf_event_open(&(0x7f00000000c0)={0x6, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2}, 0x0, 0x0, 0xffffffffffffffff, 0xa) r1 = syz_open_dev$dri(&(0x7f0000000000), 0x0, 0x0) r2 = openat$ion(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$ION_IOC_ALLOC(r2, 0xc0184900, &(0x7f00000001c0)={0x121005, 0x33, 0x0, 0xffffffffffffffff}) r4 = dup(r3) ioctl$DRM_IOCTL_PRIME_FD_TO_HANDLE(r1, 0xc00c642e, &(0x7f00000000c0)={0x0, 0x0, r4}) ioctl$DRM_IOCTL_GEM_FLINK(r1, 0xc008640a, &(0x7f0000000080)={r5}) ioctl$DRM_IOCTL_GEM_FLINK(0xffffffffffffffff, 0xc008640a, &(0x7f0000000500)={r5}) bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x18, 0x6, 0x0, &(0x7f0000000080)='GPL\x00', 0xb, 0xb7, &(0x7f000000cf3d)=""/183, 0x0, 0xc, '\x00', 0x0, 0x3, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) r6 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000200)={0x18, 0x4, &(0x7f0000000400)=ANY=[@ANYBLOB="18010000000606004000000000", @ANYRESOCT, @ANYRES32], 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x2, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x78) bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f00000000c0)={&(0x7f0000000300)='lock_acquire\x00', r6}, 0x10) bpf$PROG_LOAD(0x5, &(0x7f00000016c0)={0x19, 0x10, &(0x7f00000018c0)=ANY=[@ANYRES64, @ANYRESHEX, @ANYRESOCT, @ANYRES32, @ANYBLOB="00000000020000f9840000004c1109898889c48fcff0b60200b3dc8f3abd11e7a8006003000000000000b87bb47c22ecffffffff"], &(0x7f0000000180)='GPL\x00', 0x0, 0x1000, &(0x7f0000000600)=""/4096, 0x41100, 0x10, '\x00', 0x0, 0x7, 0xffffffffffffffff, 0x8, &(0x7f0000001640)={0x9}, 0x8, 0x10, &(0x7f0000001680)={0x3, 0xc, 0x0, 0xce95}, 0x10, 0x0, r6}, 0x78) bpf$PROG_LOAD(0x5, &(0x7f00000002c0)={0x19, 0x7, &(0x7f0000000000)=@framed={{0x18, 0x0, 0x0, 0x0, 0x9, 0x0, 0x0, 0x0, 0x80000001}, [@call={0x85, 0x0, 0x0, 0xa4}, @ldst={0x3, 0x0, 0x1, 0x2, 0x2, 0x20, 0xffffffffffffffff}, @btf_id={0x18, 0x6, 0x3, 0x0, 0x4}]}, &(0x7f00000000c0)='GPL\x00', 0x9, 0xcf, &(0x7f00000001c0)=""/207, 0x41000, 0x1, '\x00', 0x0, 0x1a, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, &(0x7f0000000140)={0x3, 0x8, 0x2960aa2e, 0x4}, 0x10}, 0x78) r7 = creat(&(0x7f00000005c0)='./bus\x00', 0x88) bpf$PROG_LOAD(0x5, &(0x7f0000000600)={0x4, 0xb, &(0x7f0000000380)=ANY=[@ANYBLOB="18000000080000fc1a33000006e36ff1bebb02000000000060ff63480600010062f4536f9182d0882ab27e9c0000403305000800", @ANYRES32=r4, @ANYBLOB="00000000000000006a9c07000900000022271000080000009500000000000000"], &(0x7f0000000400)='syzkaller\x00', 0x4, 0x27, &(0x7f0000000440)=""/39, 0x40f00, 0xc, '\x00', 0x0, 0x14, 0xffffffffffffffff, 0x8, &(0x7f0000000540)={0x9, 0x3}, 0x8, 0x10, &(0x7f0000000580)={0x0, 0x3, 0x1e7, 0x81}, 0x10, 0x0, r7}, 0x78) r8 = syz_open_procfs(0x0, &(0x7f0000000140)='attr/current\x00') ioctl$DRM_IOCTL_MODE_GETCONNECTOR(r8, 0xc05064a7, &(0x7f0000000300)={&(0x7f0000000200)=[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0], &(0x7f0000000240)=[0x0, 0x0], &(0x7f0000000280)=[0x0, 0x0, 0x0, 0x0], &(0x7f00000002c0)=[0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0], 0x2, 0x4, 0x4, 0x0, 0x7}) ioctl$DRM_IOCTL_GEM_CLOSE(r0, 0x40086409, &(0x7f0000000040)={r5}) 07:26:39 executing program 1: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 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, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0xfffffffffffffffe}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$BTRFS_IOC_TREE_SEARCH_V2(0xffffffffffffffff, 0xc0709411, 0x0) ioctl$PERF_EVENT_IOC_PERIOD(r0, 0x40082404, &(0x7f0000000000)=0x81) syz_80211_join_ibss(&(0x7f0000000140)='wlan1\x00', &(0x7f0000000100)=@random="6571be139270fedd6b88eeeeeb2cea", 0xf, 0x0) r1 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r1, 0x8933, &(0x7f0000000040)={'wlan0\x00'}) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000200), 0xffffffffffffffff) ioctl$sock_SIOCGIFINDEX_80211(r1, 0x8933, &(0x7f0000000700)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_SET_INTERFACE(r1, &(0x7f0000000340)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000240)=ANY=[@ANYBLOB='$\x00\x00\x00', @ANYRES16=r2, @ANYBLOB="05000000000000000000060000d548000300", @ANYRES32=r3, @ANYBLOB="0800050003000000"], 0x24}}, 0x0) preadv(0xffffffffffffffff, &(0x7f0000000580)=[{0x0}, {&(0x7f0000000280)=""/150, 0x96}, {&(0x7f00000000c0)=""/16, 0x10}], 0x3, 0x0, 0x9) ftruncate(0xffffffffffffffff, 0x800) lseek(0xffffffffffffffff, 0x0, 0x2) r4 = open(&(0x7f0000000000)='./bus\x00', 0x86000, 0x0) sendfile(0xffffffffffffffff, r4, 0x0, 0x8400fffffffa) r5 = syz_genetlink_get_family_id$nl80211(&(0x7f00000000c0), 0xffffffffffffffff) r6 = socket$nl_generic(0x10, 0x3, 0x10) r7 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r7, 0x8933, &(0x7f0000000700)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_JOIN_MESH(r6, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000740)=ANY=[@ANYBLOB="500000007685e36c7fdc02d8cf4ba990fc727aadbd143efe2e28ce6b0e73bc1b41efde8dc94547e691229a472fbe444bd6cda00b3a3db2d4452cb2eb80215dbd109564466a81472ee58f2d5a325f2b6c8eb9f28a109e0e9f4e4e31b79e780f31886ca7d6113db5b0e4d32fbb442cd11cbc997c3f5d57bcd28674f8d3666c614b7e3afefa71b73d35cf6c222d4916bdefa6d1e2ecc0b62d56fd3678b47adaac4a5bddce5287724f700047a469f6b94e05c20fe03768c20f1fd0615b25144b2c0a9f28982887acf954930c7785309330d71b17237b8a300e5ac83245abf7dd", @ANYRES16=r5, @ANYBLOB="010000000000000000004400000008000300ae", @ANYRES32=r8, @ANYBLOB="34002380080015003000000008001700000000000500080000000000060003"], 0x50}}, 0x0) sendmsg$NL80211_CMD_START_AP(r4, &(0x7f00000005c0)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x100}, 0xc, &(0x7f0000000180)={&(0x7f0000000380)=ANY=[@ANYBLOB="e0010000", @ANYRES16=r5, @ANYBLOB="00022cbd7000fddbdf250f0000000c009900de7200006d0000000400460008000c000900000034001b80050001001e00000004000300050001001e000000050001000f0000000400030005000100090000000400020004000200040044000201fe002d180fa4efbc77acbb2e2761323c8b8ae30956a48ef43a33d4d84b2b686b7f6b7f51d269275d4908a5a68436b5635343d659d5c0ad1fa5e1d152ba5d4f2afb971d230893f6b9be684973e2d0bf24f50a759b7d46a58cf8902df943b0d48f192553e007d756e0f4de5fa6dfec7da266372dfd062f3a949b336fa737dde1395635199e52928f4d8d54ed1cff49f97207b01b044457fc5fb38341bec3abe91d6e7c7e27ede65c1b5ed2ee313a17ce64b05a3d656e84070b3634f7d67dc900d03a1ce65f86cf936dae2911053f908955fa5c67361518a32061b348daf607016fd761b87dede330ae5bcd75b7a74080b98ca9d4c1a5509f7b258a80ef38b759b40000180049000000000002ac0f0000ac0f000b8c714dddac0f00080049000bac0f00040044000400e2000500d500010000001f0034009d5e37f203d6c67e258eb72af79307b91375c045ff4ff1c2a6e25b00080026007b090000050019010c0000000800a00004000000080026006c0900000600960001000000"], 0x1e0}, 0x1, 0x0, 0x0, 0x80}, 0x80) 07:26:39 executing program 3: clock_gettime(0x3, &(0x7f0000000000)) 07:26:39 executing program 5: bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, 0x0, 0x0) sendfile(0xffffffffffffffff, 0xffffffffffffffff, &(0x7f0000000240)=0x208, 0x0) r0 = syz_genetlink_get_family_id$netlbl_unlabel(&(0x7f0000001700), 0xffffffffffffffff) sendmsg$NLBL_UNLABEL_C_STATICADD(0xffffffffffffffff, &(0x7f00000017c0)={&(0x7f00000016c0), 0xc, &(0x7f0000001780)={&(0x7f0000001580)=ANY=[@ANYRESDEC, @ANYRES16=r0, @ANYBLOB="88cb638cca4ce8fac6043aa76eddfeaef83093f9c31a0700000000fa1d1c74ae00000000000000", @ANYRESOCT], 0x1c}, 0x1, 0x0, 0x0, 0x8}, 0x20008004) sendmsg$NLBL_UNLABEL_C_LIST(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x80000}, 0xc, 0x0}, 0x0) ioctl$BTRFS_IOC_INO_LOOKUP_USER(0xffffffffffffffff, 0xd000943e, &(0x7f0000061dc0)={0x0, 0x0, "84839762c59b7012ffb87afe3c9982e2470eed006eb222be5a14567fcd77a1bb5a0ec46c26b9c2ac9ccc1d001a7e9bac584466babf5ab9eddffad4df0c358eafbf9d53c7a122370ecf5e9e3afca6b5f48139090ff9b22b6e32abc7139dc6f9e831cb7224a47cded487a6602d87094bb286915e69aa2bc8e42e7bc6bd659958143db1fbd46836bd2f3fa43d3f924ece77e709220ef5487bcf3ba5f5903abcc6250321d9f85e3eb2e9f6ae326437336c8d61d8907cb7cd1cd9f3783e31bebd48b25177a854a63f98f8f6493dbc34279de97b3c1078af6a4972c6ad8b8d58f8f4eb7dc2bcfcbc193a135318b297619b4d1de6f6da78fe7f77367c0ac7ba28fcc75c", "7f3d4fca939c3dca58430e0570fffe6dc606b35dcaff7ddec40a3324fa3858e95e0510c6e8ba339ae6a17f270487a0d3f62e3dccdf20f9175c853144a1f8cdbe265d45af1340565848f4ac8cca737610bf5a0f437082a82d868d34fd7191a812ec390aa2d47d363785275fdd5a091cd18c58ae2b6b74d5011c441b459fe9ad677bd3e5b0b0b699257f865a43a766e7bd4f5fcc4ad9a61b3ddcda0be4fe655bb1a999cde5aff778e31c117ec11870207346faad34f647598f4e38bb88bf8b998c265ee16b039132853eaf115c30ce8fb4c5e332940d444de0eb6e8bbfffa0e5142536c6fcc8b6318a241263852e019cfb9160eb4b392d3ac91a5d547064f5eae4f8cb1693dd763bd470caf390a0cbb42ba406b01a42fa62ac9e00269abcb158a3c7e8ff6d1cafb6ca49127142de359f16ebba15cb8c45334b9e24580a6307bf43377f3ea4e4cca8222497414d5d2ee3ca481d211c921d262ce7fef22f104d0bd9d65bcb224229fca76a1f0f1645807ea8809e5cc8fde8d4b604fcc81a3869cd89f7451b5ac73791d51b9ae0c89de3506726d58cd290aa8b7831b4140a0244baaf5e7297da1a3844563a83900065376e6bab5bc53c175bbf8b81e20b67f2e3e34518c2d882bc9da8871657836e0f50ea03365226c5997f58efebd807259ae1ca631dfba162d4b2818c733a3c03a608c2f4096db295386eabc1c4e1d888894fda955acf12d442e7609e004ec9e1d23d86669bc6e8f08656b46d932d13a6e2187308d2e49fa8108c371fe0c59d0f16f8c2d05231317234c93a432341075cbfa1f19cd305f4281ea4f7cbad3a7275f05ae23842b6f67420ee93624a205e9e7a0dad630897e7b5b8cfe87f70f503622f0fbbd1df89b89621bf07c0b19d440a4e9d6addad916545833183ba578423cca1d83dc3b83512fb7ac14fed5b4cde81c06aa176c46b859f12e602d36cdd41df7e7955790a6eb5085dc365cbe36e8101910d4a5aa5b5fe99ba4d9244b3e0c066700fb46f9ec6ed44f6929ec4cc329c2257bcb765d61b02d67c33a4d776461bae8c819f1ac3ea467a08f0f05e677e1f3a6802ba6c8ed753628cb052c8d343a2f0f9a9c320900704091c9c76aed7bbd7886d6cc9acc47c32eb81b9dcf21ca489437471cc38ec0579aded5e6c238d6b849cb0fb0ce806182efa2965535f5586c7355d5c9c83fcbe512e56586e122801aad76bdb3edb035849d4ea5cc3032d3eb0ff692e395269b8b129b01a7b867f9690c01487b282b9dff7d545d88a50d323e02340eeb45597c35cf18ab67d21dfaf8e87d4611c7443f6daf6c722e473859c9a3bafa335ea93e68718bd3913ead15f0d512c89522bd4d590f731596acfeaf385c68110b6cbf9017efc818e0396417cfbf8cf3e99acb5b920b57b8867b95facfa3a06a823dd3b63ee938007acd58b8b501ef34631fd8c5ac460b34c472be2f77e8472d66d65c753146abd4c3cd3abdeaa95d4dcefdbe2698ac1a6c4238d065b29e6d9586f00feeb42cc6ad9a9c7ca24ca23253ed5ea348d674d5f6feadf5ec96f2ba573f01655b9ae6668d52618402e0f508537f2f6530f939415b6f76e60f1e37d14f141d9a1eb48d02a9fc9563140e49317dd370b360861c2b5e8395c4b1ca6a7b8d65805b3ea512b9e801cad92da7f9fc4328a875b8ceb7b9682812a5c52257fe1b6995e2a396bfae55b852e93e33a14495d073d817b9c40e7a5b883e0d5c23c60e85b32b58d6bb2b6381a1c6d2ffed464ebed645c5e47012d04485b1a64499cd10c0251e2c7b49b77ca76c3063d2dbba5a81ee849c003007983da19b3cc6acf9849bf3b6b4163222319172b9963f81092bd30131bc6ecceb84f90f0b46b441ba5894b8da2d0ad81534589f0c0a37e81a291bd461b01c1beff0fb11f0de6d356a5c45998d47a086f3d50ce515e7d04d72e5fdf7eeea91b3b17ba9df95ce31e08fa485882fe5719af318c65cf29387a51e9de9e0656d4d7ca890691e6fabb835804e4162310b0b54f20220bc6c8d0b856a2c5be5e1de2e47a90f2e07133590fdcfc60b58745adba42d40494aa2c0729905a20919db7740d5557a85eb26d44e2a44382af71f533a44c5a632b37197195d6c4136a1412ad62b18b4089ed404d523ec218418527b94fd1b8ab26270ba9ec1dfeed804547bcbe7cbe5b3dfb60a079dd5fda92b2cfd1d8c03a8c6eac78c01e9758ea759411fc38947b8ee8021e1f2a7a20488829149ac36e5cbce6d16caf63135a3e360146c3862809bbfee89cbadd8429c66ff8a9099442c5ace43daa5e04c79cd6c1e5f399dbbbbc847bb049dd0277ad9cc5a7d10213d987548e48d80779f3e4e9243bec8819bf74541a6c2b531f53a959de9df198a041a432ce5c0bc5dea897d9ce4ab177fd15be0b016a9037fc5ec993db1418cc484d50b70b209f42a99514ee570896d841d0f9cc72f59b0f843e819cfa3388004438f421fe90f351d7fa817a8de57957f65a3494c07753c0184ead1c181eff64d80131a7ed1bc7bfed17704d9f9c111334e6543ad582793029ced3974cab7fb2b7a3d7448ad1de9bb5c23a6617142d6b11c065f20f4e823afc7f7fb31d2b227dafefcd96ab56311cf38e650eace5885c9bf172a5170136b54c341f5c9018c9fb5efdf3807e0526ca76822c48aeb8b9ac0a0ec6a0c5970a152d9c105c122d2756bbffd4d3af151441ed9534deafe06dbed1cc28184442b41c221e7d3076c60b99096c05fe44da0fa9d5c1e5679ffa9eb356a0515551db42df1b846cf172a2c5b9e73b658d5d60e8950f2abda911cabd34075f08edb16804be4aa4dd6d715560af88725d5f9b9c2e16606e1d20a3500760cace3e8607f94b76aadbde979e9e952fa6177c405b89480c16bb146b7b3600e4df69f411182174d79ce97825d4e54acb5508eae8e40189a3c183ee6534031f8d080e4b36f6f715c13ff845ead70d47d2b76c24912929bf1811c092e9c830d8842e3a305683eba3845bb5a6a693d49ed82e549c99cd22aa23d24a22a0a2d7d587781d58317bdea69fa7d55cbffa7e8a926c449b344c3d5728ac868786f0232960ea368dbdd6ce343fbb0eddbd08c47b312c2d880ee9b1f117307d5db331bd8a92c2132703e7e195ed2eff885460490433f51c4c3592fc3a46a6b85b2ed6653ca075a3c0e13da63dea0cbcc78350e3ccd10d8eb39636896f7db22f8d02a85ede796ffdc777cbc6f04d690ac7fcbd94e8a7a26f000ce212be2a1f42b5ade24f16934565227eaaebc1446ae04ef080930248312f21ff32b8641e6cb1d8cf2d6bbd8b9c4ed45dde80110ee14320e898bd0364c5fd2f4ac6ea48edbbc172d3d051653e2deb00e4097de9d767bedcaa07c794b08660e11d724bab909bcb024643a5e7d3be828e711c4653d3f1a6e16e4c218a8c2a4f61e2025a7a5b62e23b74d328e99b52d236ab82cf7854a82c39a5b112a0d94fb7cc391308eb27cd211c8aa3902016229fd39f1020663d4c50d9edccfab9e98fb693a6090dab0b705b47370d19f50e41bcbc11cd9c1167e2b7146e5bfdbcf7a0497770f652e82b7f419b7664bea19d9d35a6f7d8eaa6929b2f5f04c9b4f7e8e674fc0c52db70c50f4e7167f65b483f48f3c452e824f2daae8c332850a708fdceabf280df9381d06f288960ba3ec709a73a1cd3673677afc24a1e4a258e1a46fef9ad70f90c96727cfe63c3389f1ece32048437431161f3c99a58117166810b55aa2c5c6d528a00937b2a58e007ab731a7a72fa3fe722477a13f1d72b8d713ddca96b7373a5ea1557df0b16716bae939b768658da181cb953a7cd13811bfaa007766460d442e789153b1502d58997ce137f0e5025b78c46dd74c8b05f42684f6bbe38a0c2ba4439876ef07cc5a1813106e8e70f85afad53e0cc1a42b597ab6253ddf0094f25c5beed6a3e0591855da72d2e074d3e2a91a3395dffa33bdfefcecb254490a8ca02d60ff8e390c25346bafb0e78e3ede7c89ec497a3d1b0fa8f3d5b9428574f226a98920aba0a8d8c487ea18f8c30261d7d8e8d37abd943860fd4985ad0535dd7b329de504cc7a803078a44c5707936ea59007c43fa20582147c03d3211664a013c80357e473a6088f9c6717828d7482e97f5e0e16baaebe350dda33b7aa5b3a3058ff953e21e42e9190d8cb10649f384b3cb5878c8a4d475cf7491cac04c422205d87bc67a9d64e659278c085b6edebe1a4f48f2e51dc96a3a1d2ff59d809bd0472812dfbb0b55471526d1f93055e7158e35df69dd3c9d502eac8067cbea6aff0a0f361c41ee6a9e32fe348a8873d8c87a6dea270fef18315ead5ffa671b552a525fc556e8a2345bf5116d9ec554b10f084e26e9e6af8b7b3cd6708fb481f099f338f90cceb0eba509d0fa17a6f6f4608a4d50a77815084a83e8c818ff83830e48fdcf28ad0f97e524ad0a3f52a93d03694f593e54167ca0ebeeff40d2c254a6af684feeaaf17ca06190b30185fa8a3cdceb0d68a698e26986c87264f8086ac9ff071d6a4125e8b2ecf717c00ee2db2a53c8d9189d08ad5d2f17063921005689f62fcabc3b0144f24302781501035ea415ce72d3d7ec03e6f2afd1b964c9c068bfadca724ac62575de5498a1f0dc67bd18c23b03b6e699c684f1cf3d6ca3fad12be615eb804ea84ce3c92207c0a50286b95eb6032fc209653f3a7599ea5db5c0528fa80029e479af00722c6d4a8cd2e2712fd48d0647e49dab60d0a63f870ff5488fbd1765ac510cac43be589e3a319eecd305144f834797075cadea21f51cb91f78b78eac0a9a66f2b116cf663ead15b2825bcfcce8ef87b3f0d24fcffb7340da79483cce1669c35be7fc7823c0aa1d457400f2bf5aeb0bdebc24dc58d41df5d56ef5c77334242ae72757fe951f25e8578c3ec94385acf7878552e8136bb98f54321826df460bb5e773dd77b258eab0897273c5dd93228bb280348a7b4b059a254b4dba0e3874fdad6428fa90acf8575da08f351c35aa755381901246a3806d4d11151e22f9d0b2d410a3d6876027ae9d845edd8f55c378c07493e25402c8085e342431a094a9638ccc42d007c91bd00f9a818e1df34fb3cd3067caeee65d1a0a830f8f985c8efac37c5a00fc269d9e2b28f99a5403fc7fb92dab894208393bad23f04602b92279953ce6365dfabd9627099fc77dc43bf91351ab7eebbb68007577d943710144e598218e98a4810a7b8f01622eec5a91a699cc76b1fa14599d553e81cfa2ab00f5dcd8d4cad24c35a74325156edd7b7fa813af405782192e6ee627b5ebd9db6ad0a492c4a591516f23dfad706d3c5ce7f7a3e7b4af3a07ff9919d8601eb65934831c6681ba840688e18532b4f352f0a2fac61fc82102fa76f75e7b0ad05b05e8966d6b419ff422ced4352629b326cf5600"}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, &(0x7f0000062dc0)={0xfff, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r1}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r1}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {r2}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r1}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, r1}], 0xaa, "1da47a9b135e85"}) sendmsg$NLBL_UNLABEL_C_STATICADD(0xffffffffffffffff, &(0x7f0000001540)={&(0x7f0000001440)={0x10, 0x0, 0x0, 0x100000}, 0xc, &(0x7f0000001500)={&(0x7f0000001600)=ANY=[@ANYBLOB='p\x00\x00\x00', @ANYRES16=0x0, @ANYBLOB="00012bbd7000fedbdf2503000000140006007369743000000000004ab900000000000000050001400000000008000500e00000020500010000000000080005afc01142000000000000756d6d79300000000000000000000014000300fe8000000000000000000000000000aa"], 0x70}}, 0x4040040) r3 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x51c1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) r4 = syz_open_dev$usbfs(&(0x7f0000000180), 0x77, 0x1) ioctl$USBDEVFS_IOCTL(r4, 0xc0105512, &(0x7f0000000040)=@usbdevfs_connect={0x0, 0x5517, 0x48000000}) ioctl$USBDEVFS_IOCTL(r4, 0x8108551b, &(0x7f0000000380)) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(r4, 0x81f8943c, 0x0) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, 0x0) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(r3, 0xd000943d, &(0x7f0000000440)={0x0, [], 0x0, "a59f7995f969f9"}) ioctl$BTRFS_IOC_INO_LOOKUP_USER(0xffffffffffffffff, 0xd000943e, &(0x7f00000000c0)={0x0, 0x0, "d3f6734bfbf1e4d76ff4e641e8b640cd8ef4c60944d8b700c6c0532fbd1cf8023b5727b5ff01133c024dfce2d04a4b8d3bb366214c54ddaa535816a661fb688307de92427cb2a6237b7fdc9ef84f34d5329df7424b6d0516c0103b0cd26e4a227072a977bcd8e3328bfed60d85e81402ae28b74cf2669562001f47f92ad084435e86623ccc7e237f16be058f358eba58d5af88704e9b7cdd4620ccec6baa7541487e6423b63a3fa2a118eeb0e28f58d125d75c3f956c201a879993be5cef9458a7167907290aa97bbd78fd46f25a2834760c6bf08716199bc2f4e5ef448af5c5e7f64445e0212d8568b74f81c1610ce0eb9178748b158d0f763a64bcbb1d223f", "5e937212033d0c21e81564b3adab106a87b423b2c9100b1c992f7591d138bd49c5f9aa25a77e01bbdda92cf3651d992bbbb4f634830c88c4f96809df90c7e7e8d3ba7d98a671c9478d5cdd8af0b07b3df73a66b61d97ef6c924b4b70de5ee783e256d6c818ca0f6807f1daf5eef860b21e532a09dcbdc2634c8fcfb36f3c74443b2ff5c3ac144e7841e46de0b260ff576947dbe9880f4f5076006386beaf7683a746c4c1c9db9d167c23f0edfdf2979215f3538a7b8f65b3d27e45d40c5374e6c7f970ce37e23b56f81ba71cf84b9da0983bd3425283be56ea832cd86253db2e3d12d87dc4520573d4f0dadb7acc7ff4afbd19f949cb99d1fad290a92e3f5f525b2664d04c046cbf5cc87cd0ff577e224ae859676812d8f025606fe9fe88e30f0f94a932dcfef6fad2c58377171b1d5e1b5a7c549ff96cacc9d526ab33a37b342c1bc006cdcb828a606b9c0466af0f01fea3ebf28a0398e367ef1b0c5ee723c739e81f3e26117e3154498c18fed224f1c7ba0ed78fd91e3f2623e9dc30452016b11f67670c2abaa43497da5dee23a296918f0c9f17052bf4d93d4df1e790f242d41ceeff6408ebed48c63538b95ba7b9cf154bda82d916aae9ea6d135d6f9c0e4feed6861679667238ba924883350ac0d82e8ed3ce57293481c8a0ea7b7eaed96c165e535810884d8c783e84ad12dc4b7dd88fb5c4e51ff2df7e661b24f931a3aaeafdbc9a61ba49b3892b62ce069b9ee7c7467e58e6982b1b4b5cd47816d0864c5492d424e00f1ee28088a3600af4d39626ae45f4d1e3e63f5cba495f0e5f623f3d8701bd5749ed6e2ae10796c51cf0bf42a8cf7c072f3f457d8ddb7a65226e9571b5ee30962580f8cca3c9b76f51ab7c5d9be84e322e1761cada5d51bc1be9ea72e0b6569094fbe953174ffaca71dccba754ea7395efb30c3d766b24d60b76500e27b311e04cb851b7c83da163cde97d3ad30c9654747e3993361397a0df8910a6de64a591411d9bc3df5c0bbe21ba627af7b344d9ddb201086e0284f77a45efcef23be81dcf6b19eea8524a7bd618204800e762a760ff4eeffffd3324968492419a589062fc9c15cf6c630dbb8b4697fe75794b00148cc8f95e38b543ec639758957e60933d9046c268542015b669c22096e558e336faa20e58ebf73b3931e56ea47398fa44b8d619383516df030f205836d1cd562844c0fed41046f51777172413f5d4e9c68c07c14e8d32f8886c56eed81d0108864be168b5a1519b7e613f268f77e6442c01dde442f2786f1a374466c77fb0c23d5ed10ffe4bf276fe9ef78bad21b6f61f4f1fa941dd1a34d709193b01b1b7a9c3b4a86dc42624c42b07d29c78fa1e1585c9c7c5ac34e5bb91a7441f7e6d3dc3d0684185a010a22cd4d3d9c9e104defe7d1149dc655c25278d0bd4fc6e09411312a9a967df90e23cbdab350f4764f04e95a9c58328b858dbde6699de1c1c31a60ce68683e3c9d2a9cadb346e858cf2b2724d475b42e16dc003c591262b64d58ac8be59e7ace3d3ceee23802173eef5e031c272e09206fed487b60a75246858b8ec24373c345c2e4783aefa1e15d13287a0dbceeb61a317e194ff3f5ea26cdc6c14e2d86496c6a3037fd4c0e9c3fdfe102768cb6a0b16ab466e1587ee6b8449ca2b6c5e972ea101d7d15a74cc6884d7f9b0ab89b31795100e67bee0a05a2a29e63565cdac84bb423da36d7bce2a3148dd2abc804b367c967670a8646e84c72c4d2ce693a222fef001a57b1924d5d4fed2bfb9bb58d49bda13089f7a2eb45499cdb18a4ec0478a32309ede1afcb07fea8ecc646172a480f4b0263ae5081bdeb964cdcf3dfb97bf593865ef0d7742c1ae73c4a8aa66e0ef87f4632c552c22c965d0647355b55dc7d9e705f39383621482a5f6e2ad0239f75eaae70f6b8009d69656e07fb272ddc62a955819f8a5cdb4cb555402f4a39f4218ba8e1aac6f9760d1461468d52c2317e604452b57d4dc03ff1afd5ba440b9b6db5a6c42f557ce1be0350ac97724550351e47754832b61047e8e82018696cd458104e7f2b2ab9d36daff3e70aa5dc45d8b28867ee2f4962f13f0723d261b3ab7b4cba9f95c53ec2b3ace280b2436ec881714d7afcef4e56b0c594e09cbd6949b6d0b39e9e2e0a485973b3090c9b9a4c711d8b1002a28506a4ab81dd033909d62bf0a3ab7191bad6729ad4274d12599c9451fb8f9d65e0339f33f2d9594e9307d7beadfa90e8be57f857fdb052d4a76821b5cc73df6373000c8e3e1ae50ba1282ee67f3daf0018da327954fa0498c931c341c551c1eb3e5f9252cffa603db2b36a108fbf2f715c1ff5bd73bdb85d76c72ebe295c38932fc8a1344935bc4170e91d7eacad7528339b28ec8d9574251248c85ca7dec636846c4fc12f77daa092a54d7d89b82c9a794b9bc6bb2b93ebbf3fb8c04b3e111c87ccfbe7adb0c5c0c01db3f1f27c5dc8560739b28d24ba1bce2ddba349f6ae31f50ea3c6137f476304c98ce85295e9d3a782f3537c6aca1fa7896733f65aeb54b647b7f47e7b943e04fb5d6799692a085527951801dea7db84cdf9f6278b586444cf544536ac3c007a12f3fb5c71c675b2530862026c137b7e8217e2066f9cee460e3514539975e02e6509523fb416bab8bcace7a6d306e974444b38c450dd6a0817731f3f9b012ee0d87cc5b563b253a919e5ef2fb3ca19a9b846e07f809693ad770721f7fe54266c6f4664e0febf0abfb615a77b7e81021dee879dddd5d5ab497bc5884aa86597c4982366cdae86c6d3fdc1add91aaf088d054e92ff29427965c600e106da65ddefd0bb51b1f6051a9294e16d2e3b0387f23e7df844b7e9ab989608d9984778b5a73be37277695c2b23b311f472bae18cb339e7d46d9ad8afe3ef7bdb8394c436e3ff99a5a31185952813f7bbdb89217073edadd5cf7798637b4666ac4bd4406b77001aa495cd409727086c46c5f8efaad8fb844166596114dc63189d529f298cc53552cb80949d97369f71f81d5035002caf7294723266abb16d682eb4ba1c10bf9034fee445f298407aa257468cad5abb753a784552d99287484dd8b889026d217166e4eb006944fb95def4e25ad2fb8e8e1502d8b052220abc4453c2608a322a4cc4f6db8ce5fe858bf51a724f413ec987d9f8c88f99b51666409198394851bbf725de521eaa9e996b73749ecf37dc950e8ee4bdfa8924d333c92a92da7c74711fad2a95b9d02d46c172866f0c7c9afe7f888b513dafd0876384317c5d5b842200b7719c8a3551fb8fa6270727707376accfe4e3c43e0d6223fba56c9149e18e37dfa0422d4fee6aa508f3d0f5f01e8952a354ab43ff4595dace8fb60d5bf46465e3e6e7502d08a7dfc694f81cbec1062c6949267bf943eeee93f073b19e3a0b8a070bfd9c4acbd356757a0d6c85a0deb9966c7a3caa4757a4cfe8f3829d277dbf6086fa1bc89bf58faa4034dbf480ef39637d5477febf4330ba228e583b016097e054c6ff7b0aeeb793eb26d95a0e8675859957b8e6ee15f8ab34a5836e2207465d9f5c7ad332df0c4570456252f219f2d7956ef8b24805908d7b72e2e5944beb737fd36cf538eaf8eb44a923ec9a52f8bd7b007b6529a90c49bd3ed4a4312321e65629e80483ce59115d5c2b55e88970a3a69adf03ab17fc70bcf16cf56044220e81dae8dec092538129e060294c100c2024683bc8e874638ea13b59aba74a7cd51acdf76f2308b7cf313a979a1f3e5c3a4181b00010e813ab4a29cc53a2c0afd21c6aac112167d69a7f7995220227b95fd68385ffb60249f2b15e5dd80ca0f96e2c29cad3d14fc3eb85d1e32d662301f0d6e05b20a50f1e2cfcef6e68c9b64204e401e21f255ec528d772b36867a0d32c62973dab2c7846d6589542ea099ecb7469df4a413758b84fe1b152ee299741bea2e2361d6a7b2cd50df947cf746370e7c2a5c83dbdddd4957fd655ee742260fe5c30258f0fe52f4cada5236616e727ff8907e679faa59e16cc0c70037dc90d1aaee5b39d1afa1eeab996a48d11dfaf5ef5c5357d9d069b710f8c29499a6ed316bc7c540da1f45b7e24045cd4aa6bcd26c5ee48690fa9e6f9fdbdb7e4aa26d2f826587dd7e6968cf93b9e962bcc1fe5cdc6cbb711fba09e4aa271aa3fca4f9084b5d098b97345638c0710b376a049f769a1f3d3745a6b1b3dd3a75e6c616f544e1960290069ac0e43a1933dd791cc06e8d8370d63d874c5a32519ae3f6ee62f8b2b600b25fe03e2b59c8910fd73e1a7ef29fed1f97e72edc0e3c52af3c8c33527fea6898198ec189143644e7a5bd907c8a8bebac202fa257d19e9fdc8beadc6ee4c3a948780ee97f723d801574f0c02b5c55bab306db7890a7376ff21ec9c6cb14731eec48fe340c2bc4f7a921ab4169c7729c8f67c274f8f201be9969714b744bdfe878d733d9416f3f261cd8575e242ea19618cf8aadfa02757e0f73793193827414362020be3a428c251f917cc1d29220e5cf1a64fa7ea4566e48ea53cc39c58a5cf5229f8115b3c1f670a83fc4e126f9ebf695bc6c68d6c674a0f96ac6a2bc1edbcbbe8cdf9bc792d42f5b6de447f1c10df4c09217b4f8e393d4d05edf6486a98372e5bec201fcce16d40f01eb83bf5d7712c9dd4ae622f21ab23252d417e72bfee980bb8759f1f319d2794b2315141b97a5ad16cc7ae732681b4ad5dc9eea903ef5fc11117125c7842b78ef0a2baf02e59b9d646076f79e74078f82238655cf2f6c7a8b49de1afb66108c0a800d6808173262d383332841f3d94395c62c98ead47237198fc4d8877eb6dfa07fc79ea862c355b57c303ed49e0d5eff6643e731f98617217e78d454abe07de5f8292301dbb3e07a022bfb0a8c5cfb214e6cc1ee5ab77ebb52a5170e9e3f65e549bc9619e136c58c56910d76568f17967030a8eb3ac615db744fa81c94be46b53d3300a0a46cc65dfb7f76a2101fd2c99d67ac799e8c5d2961ab6de2464f96cfbabcd1421aa32cefa26d2817721379090a37e1c9e80e471f150b572e2a85b6d1c86f3725634490316f649466dae0e96f9004ac16ac9e406dfb06941b10e1370a436a215b667b7d496c44c3c0aa7b1adae8bde1afb5447cdb8fba3e89ad4b46aa01162642efc754a967571a6caba29dbf5d00f7d1a131c0245d98696c299897d31251b88397f4a2d9706163776409a0bc0f638b47f0dbd13f35ee6ebfea13fe1e2ac299a1e4006190b225b04447caa944b10d9c42ee23b215862df0f2b3ad073d8b16de5d7ec279f2b445a7d5a807b0b159949b7e91b9699ecec6d133922fe675ba9ed13f040950c3d576c4262b08387749bfa714d6c58d85983d0b9bc2a19c939c2f889248b9f057a70501dc2a30a3630880462e373d43ad04562e1f871b533eea3031ccbf7e"}) ioctl$BTRFS_IOC_INO_LOOKUP_USER(0xffffffffffffffff, 0xd000943e, &(0x7f0000000000)={0x0, 0x0, "505c743ba02ffeda9d0af739647abd5f1b144ac7c04e407252bd2c9ffd6bf7c48d0975d822d2f40b905fd2fc83101f584bf261c6b06dcb1eae166611e56dd524361f5571c01da79151f3422067093d040b5efe0a5f18bc641448a69ac533cab13340511ba4baaee5a27e2070109c08393161ea436ee7d636db394dda09dca757ae6cdfe9104707a08c4eb29e8022024d0db02702cff45c73b1671f7c0c6df3ac896e15ee3674365b124e6326b4ab790c4a2288e02039d6c9ab89f170e95b229cfe0aa592376024e2decaafda45e7e8921b1340b427c38c1cfb9c2d30e0106f9c8719edc23d0506bd5fd29c62cd9785f751d80a5db3a5185dd19f985fdd956511", "669f37ebf191e371f3d80902bd9cc8cbaf2142a2beba9f43091ffc9c47a13da76c83791088561a272ed384d731da5788776451d08ce9a42812a8c20aa2b30c8e071ab31f0272b005033bf2cd53510a98c6503fb476908fbc279185d278672ad4732c7aefaf204292978742f328f184bedcf7735ba45ac476ed2a410e7676748cc5359ebaf1c42c73106d3523106e125f1750e01805c9655ad50dadec7f02b3846f61ac62fe8815c415e3c0df221b7db12ee36aadb4ad75bdf644b8d1387faaf19f2bedcfdf399f798325a51fae9801bb0d8f7a18795e8d1dc40b0db4af996bf8e9a6e36ef2f993993fcd0af2f3f553beea74527797995da728e0b45d457565d54a2f194028e55cb4630fb9f36f7374167e4d89fd20275a68a65cc32789dd8f8b5fc99d11b94f08efe06f223de8debefb0b9f4e8e52f89f614e388659aa6cd41aa029f60043578eeefb9806dc23194c394c2d0d3ac2013c5da03945241db0c64538f64f19528088c820a14fe5ed8db1f195c26ded426d4ce18f037f068131665ce0aeec7eeb042dc0fafe49995969d73b3c3201bc68082a3d587e435a5a2fc4832035f7716af80c86c1de4ab2f8de01bee3881d1077472fb08949ae7212636d9856e8914f5032cde5cd924cf1039a6aed5f860224ab198679835fcdfdce1b78ebcb54971ba4c8102c9de70d5bc160c06ec7dd0356205a1910a5adc1b77c620a42f55faaae89e5fd845cd35ac1a767fe46f68306e2ebb2d6cd9ebf3256f27a19074dde716bdcead635ae8e4455439d1d44b22356ba0c557c39cff1debfc502cc803810a60ced2595022ee6bd7daa837631ce454254d2e2f0edcc91fd18bbf877b2d88419fecca5722f36a93b03c0e67b75667b990dd4f1c491e71d3d96862b341e750ed2f6435c947bb413dab0e1d9baddc1317f7867902c3f69bd08ec4c66f8df55f052042e190d2e784a4b96ac64c88ad460ea6e02f9b5331846b1c31922b374ea5d78cd31b9d9c638cc3cd66397214a90c94436a914a9bb0f0fa1c36878262f23fd41f4e8d78c97e6b983dd6ce17b8f3cab6d9de50a22e5394bd48d5e75e430cf734002df361f2ef3668de4d2f91439255f0c5e5cffa3f3c814a5934051589e71e453e51c8b2b59f244dfe1eef4352797c8f7ebc969079b40bb42f4efae9507eb959249b3a0efbb07dae4d2b419c0b6f48b873da54bccbde3e34303f31058c061e7856a392e9754fd85856d8b300ff60061823926260e198bf9d1c5e05071da3e048c525cdce1a5000a5b2675442740bdc49c25efe3bee2b43b6c851cb6f45a07b732c3d0f57f28d770992c06989f450d622a15066a77ad67bd6f694672aa0080237a3cef8ac1d5d5672c9f51ca144836584bba3a7e9b68c9b7d3be08c9f302f97c472f3bd6d5a3b959a8fb2c40b3636225baaafc1314e4152a13dd0d30659cc5341dd795f190e4c484fecc6c5f33c7b8ed84b8490ee7a977a2d8a04840926a22b7ae5c912ae471861505a82dab3fb8247408fefea204aeb9bf42aefd66e0017c2ee39bb4da95a5824d170454af1d5ce5efecb2a3ccb19569c8916035bf5bb5159e3a1123a3cf28903ea4eb6af2564f4467ca711c10fc36142fdb77e7a5375dd571cc5e23fc5bbca8cf4f1562fe9523fe94be99a8d816b196dfc9202841c55f5063d08a4a84e6ecc972b9160892e7c2a0490b05a6c1e34bbad58855247d4b77c92761f6bb7899ad57a3c0304fc2e8117b1a304e2eb31ca8f312feb3ca86e88957094e8e17cefa507ca468b497c3a7b43479f5afc068163f60c245f56125200853b529e9c309428d2f61c0c042d5bb39fcafa220d14a25a82b754717ef1fd41e2530bab57223d41f75b4793b37698a223466ee58713ae5f48028d86e2054da62b56668f0d68b3aeb673c9daf8f78f61cade9cbc8a5d7bfcff157db757938dfedcf26f1cce9c2faa4fbf6ad64594af9811522fd9610c696983d35d1e53cc390c833984de6fc486aee7bf410c96c1dccce25cc5c96c72b989b78ebc43ec4f70580b990dd723998941d8b7ab17e3ae8f8b9ebd8a176d51742c9d00c75ac27615348a926b445343e16e0d03f42148534744bd84b60881dca9225a62868a181c19d2715086c8d2b0f591db34e3873f7f1c6a64df42e3d72d5b1ae8be829856a8b1eae6c663cc5a43f91eeaff9ee4b8d006a2e6b7eca2f533bb7a94b9fcb0732ecd63c5d76ec92aa9220fa0f571498e203680b7670ebf4340d8c9ed7487281052a6b849f7b962a2f47dd9e4d282305aed4b73c8770106404eb704f157b1aabe0f515bb50cbc161ba36bb8453ef2348d4ad0098da54de3adad06b7247d396f5a4ebb51b39c37f8ec0f4381dad43deff907c7bb53c3b974c8901f623aebda30d2f4c1e48fd096811705cd01be98fef18ede154eb6fa642813eea2dfde61cdbe63e959e0d5825e9c419a540d20774f7df9f7db098b07497d15530742a0fabb62ab9bc9149bda4a9848479863af5f63dcb9f16e59bbbd4a1156641c0effc7d6f60b4bd51170a1d7e78c258c27a2044ff3218524ebef8776be286878a4bc3384f13c9d9773355cd7585a8ede80e4d0ccf1aca1afd52568ec51a46c73b140c0d0adf1fcb8cbf14c5ff02c32e5d084340fd0a45addfa0fd952a569245863d61931d842acfdc0af1b159d46e46789fb1d63b5c809b2f116bf3eb93acdfdfe6f99b071367a9cb25c99409505daff0e126c00fce5f2f0ee982271cf0c8a6e9b84586b1ff536bde311ba42c6dd7c3ed5e604c6d32862669cc32c8d20ee8302bc172c5046951cdce231160722c44398f29f4938035313717b33055bcfa8baf3d7d08d95a34a32f45e330fe5a9419bf1eef1f20742347868bb7161a3b71af1d14ff26b93401c2a4979f2b9946dbaefb5e4b6aadfba949ad763defab9354900422928795f126936c9bf8e5adbc9f209d675a8a064cd4473e25507fb655924f3a128f37b6ad50dc6741125ac31bf0299fe4ee62458102d1e572dab4430371d875dde9f16dc66796635b4b06395acf962433363750dfab8494fd4888bce0ad0f25f0c33f7cde6e4957d78c8858859625cdd9ee3d0e34ea16d0b44296b4893e5de94ec829984214f9cbb3ae6418524b37a54437e1688c60d30aa866a12b083058471302da7af74d289be1b997f42a8c44a3b47fb1960dd9165165a878ef9b4dfcb0abd7fc8b892520e6525077afe37cefc3cdebc0e7d9ebb01ee4811fc84be49510e2cdadc22ea47066cf88c07e2babcd8038fe8f15d222e2169006456e1b84c6dbf945684594393ee7bace62d96fadfad0d72a077f7590a444044c6c7c7e12d095c7770641300691d887e2f5283ada0bd675078574814c67c102fde7fbd98231ea8ee06bd1a636bf23fc7cf833bcc5ca9aeffd2ef09fdebae42154c3721ce156206ff76e8763a985fcc85315fe42889af7343dcf0e97a88946a92e1a4d72cb5d61e1e6fc48ed53b6a390c90895b74c6cbbf2910926a387c1d86bb0438f6fe591bee3a6cafeecb630b0159917fa007776d0e7c4d916d778e857ad4dac8287d66c2389ad1ab8a97582e2772e3d823ff9fced91d1970c59e9542fcfd47894a0ab22d87b137172e62c568f4f00264b3523a7826f431a1af5b4cad9320251938c13dbf942aac3947e23efb13aa167b89a5fbe5605edd9e87ac571569beb231ed3fb5d374ddf0361b318c0e927354ac71198d1ef84e7987b64778d1d909efc309aeaf720d69bc1ba7644f0fe602d972dd6877d9036f98e677aefe33660ec278c874cc9ec2c77932017334a55dc060180123c7ebe7bfafdbb5baae7aa4c47096b9191c3ad876bf47c5f7310cb5903f1353e9c6a414f432c7d4abe38287d440c0b078fc14aa5e3ffcf8e39ea1d2472ea9e5e0509c4f51bf6aaaa714b2df89e56f8a70f9d66942640b88521cfc0e336a53218ada34612c7bc4ea3bf4537250de2c6c09de34ab6bb6ad92152b408dd34edcadfd851670f5d7bfdd3b937fef6f12c2f7c8e6bba854abe11671d50ac93caf67b1fd1b68f78f341d16d95755559b29003059610692d0178620d9babc3a6139a079bc2be2a220ec7dc4c6437a46b47fd96aba6a9b4bc32a9c61fd5de5ca5501c28db686b2f1f65b193dd595b8005a59bb2b19c6376d59e3e23a1b9d79e04c2c69739811ca11634f608b0bc774fa248838092e2d14636813b2dc2ed836f8d417044459d6839b50ce075c8c63413c940fecab86f87f922bb15d2b30ae235a57677c8d0d12ab147d3d49ead481d0c72e8e50680b52678bc63a259532f6d14810e9c98814207d1a46335d7610e6878eefe8418fd760e852d0f0fa9a15963d6002da29a122d59d5dbbfe10d60e22b20b921c35caf7096350eda5c68b403694d980eeb2ca6f25e527e5f6196895075fdfa3f4d7e528cf4403d93acea46f078ec839734d0fd0184a23bc40ed24b62ca7b981fa73bb3be9b3a3d9481ad09a3f487a4929333b9532919f7d64c9e7beaae115ef7e4a83bb661addae3f930b7cd0a96226d5e351270f36864ae87b9e9120f738928e19a9296b96a811995aa2171a59f85ed0f951964d1562dcefda0a54f0a130d89710a2e3dbd3ed576c757bab9c49440616ed55235ffbdf2b02390c296404222cd02ff149abd5728dbf3ecd2f89ef9137468f743ff74a173b91ffe043bdab95c8a7a2d2945ef8e3d98df954a71dac27be034c2b568b75ec8598c5a68da81e01a0c38a929d477feb9da8e70474b004f92a4c02261b8358b51048406da003062ebee07933b4359f279bf17e6b759105934a072662cf6d20708f9e14faa8c279df9665df56ee04c3a5da59d2f24006ba8af86e987130525aa97b992546740a2eb78d0c10fc1240daf64b5e8b4bccb9741db5573047af246daa11bb467c52c226449b37063cc23d9206add11945495d6b68624307c5d51c1dc7948f6e20e581511e78383bb3cc3188e89d7951d7583acb06429b14c72996cdda48709a4b1153ac93adc131f72b5abd55c31d3c4499a354504e8643c81313cd38b1fe3a4a84948404297f5fbda1545aa23aee6e2eb88aa67fbcccec0ca927fa49b1e0ea85b7f84a3027aabec323d61d91ade2c40654a10265792d4097b5386bed28e793cb96457723777aa40d88731f1eff45ed8364714b171888688d54315fd56af9679f51fd1ff57b8b970dc3a7bff1617a383a90d6227cb9c007022c7b627fa3fb3fe124f2124ca73e299f7aa3a3484f3224757d08d3af964fd670220778c0ec54b720432c9918129d4c5906e33836e4d05fb573e19a6fc7e846d6551c514e478af5df71f106fd52e5fe33af88bfe71faf5ff8603dfbaa37ab63c0e65dd0f65d676100724950aa748d2ed03d44747c09db7c172bcab5c369812268f651d0f84e3eabcd6590dbe6ee6"}) r5 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) close(r5) setsockopt$bt_hci_HCI_TIME_STAMP(r5, 0x0, 0x3, &(0x7f0000000000)=0xffffffe1, 0x4) 07:26:39 executing program 2: bind$802154_dgram(0xffffffffffffffff, 0x0, 0x0) bind$802154_dgram(0xffffffffffffffff, &(0x7f0000000000)={0x24, @long={0x3, 0x0, {0xaaaaaaaaaaaa0102}}}, 0x14) connect$802154_dgram(0xffffffffffffffff, &(0x7f0000000040)={0x24, @short}, 0x14) accept4$unix(0xffffffffffffffff, 0x0, &(0x7f0000000080), 0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x800, 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, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x0, 0x1}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet6(0xa, 0x3, 0x4) read$FUSE(0xffffffffffffffff, &(0x7f0000000bc0)={0x2020}, 0x2020) r1 = socket$inet6_sctp(0xa, 0x801, 0x84) setsockopt$inet_sctp_SCTP_SOCKOPT_BINDX_ADD(r1, 0x84, 0x64, &(0x7f0000cf6fe4)=[@in6={0xa, 0x4e23, 0x0, @loopback}], 0x1c) connect$inet6(r1, &(0x7f0000000080)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) setsockopt$inet_sctp6_SCTP_DEFAULT_SEND_PARAM(0xffffffffffffffff, 0x84, 0xa, &(0x7f00000001c0)={0x0, 0x0, 0x205}, 0x20) r2 = syz_mount_image$vfat(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0x2, &(0x7f0000000200)=[{&(0x7f0000000040)="eb3c906d6b66732e66617400020101000240008000f801", 0x17}, {0x0, 0x0, 0x80000007ff}], 0x0, &(0x7f00000000c0)) mkdirat(0xffffffffffffffff, 0x0, 0x0) openat(r2, &(0x7f0000000140)='./file0\x00', 0x216100, 0x80) fstatfs(r2, &(0x7f0000000240)=""/204) r3 = syz_open_dev$vim2m(&(0x7f0000000180), 0x8b4b, 0x2) r4 = openat$vga_arbiter(0xffffffffffffff9c, &(0x7f0000000340), 0xad176bc7209a43fe, 0x0) ppoll(&(0x7f0000000380)=[{r0}, {r1, 0x8022}, {r3, 0x10a5}, {r1, 0x6000}, {r4, 0x80f0}], 0x5, &(0x7f00000003c0)={0x0, 0x3938700}, &(0x7f0000000400)={[0x7]}, 0x8) sendfile(r2, r1, 0x0, 0xffffffffffffffe0) 07:26:39 executing program 4: r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xa4080, 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, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffe}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) msgctl$IPC_SET(0x0, 0x1, 0x0) msgsnd(0x0, &(0x7f0000000480)=ANY=[@ANYBLOB="00000000000000002c9a25c100d5e7ddbfba4c308184db975a5f6dbadbc11091e90a737b9fe1e6ba251a434e02573db48b155949324329c6b6377e65c00110704c02757ce222a728b1a7c88a257147f32f56b383e0d82871002b9a28649065fb06bb5fc0362e196689985163379df9d687b109d333343d6618d720071569112426a5ae22b117644c56674e353683788c9ec0248e56800b14deb9c11a2a290131ea2fb1320d4cdf4f7e42314b08ce48f8e847a43a4954549b2faf4ce023541eff41"], 0xc1, 0x800) r1 = msgget$private(0x0, 0x0) msgctl$IPC_SET(0x0, 0x1, 0x0) msgsnd(r1, &(0x7f0000000340)={0x3}, 0x0, 0x0) msgctl$IPC_SET(r1, 0x1, &(0x7f0000258f88)={{0x1}, 0x0, 0x0, 0x0, 0x0, 0x80000, 0x0, 0x0, 0xe8}) timer_create(0x0, &(0x7f0000000440)={0x0, 0x0, 0x0, @thr={0x0, 0x0}}, 0x0) getsockopt$inet_sctp_SCTP_GET_ASSOC_ID_LIST(0xffffffffffffffff, 0x84, 0x1d, 0x0, &(0x7f0000a8a000)=0x8) r2 = openat$nullb(0xffffffffffffff9c, &(0x7f0000000380), 0x4000000044882, 0x0) io_setup(0x1, &(0x7f0000000240)=0x0) io_submit(r3, 0x8, &(0x7f00000000c0)=[&(0x7f0000000140)={0x3a000000, 0x2759, 0xd, 0x0, 0x0, r2, &(0x7f0000000000)="98", 0x3e80000000, 0x2000000}]) r4 = syz_mount_image$omfs(0x0, &(0x7f0000000080)='./file0\x00', 0x3ff, 0x3, &(0x7f00000003c0)=[{&(0x7f0000000580)="f9cd13f8b364f4c50bb87c923a43a1b4d020faf0319a903abcc87769b1a9021085e3990c0b2959889c74d8008f0a4c32aa0b61294e2250df5b91f83db32d17705098e60f6b9ac8be33b1c5a3c5dd0d64ed593348d0ec89239299db36f1faf322f2847f63df26d2", 0x67}, {&(0x7f0000000100)="1fb2c8dddfa357e34f75867ac8", 0xd, 0x8}, {&(0x7f0000000680)="2fbdee7d3dd3dbb1800e1fe083512ce8465e469dd6be17b3deff5203f1e61e8bb7055cf0674da43811a33d20cb3608c201c95d87ac34b5dfadbbdd7fd2590d179f6075e2ddfb79b1acb740b4f87cf401eaf918c0a2399026a37b3262493c40505ad2b7f22a93af7b22a0104f3554f63831f449f5eea8190e109792b55e4e2b89f2cd34ad6bd0d3ad3bddd537da02f8dad7e18a28b1e969e77380807f351ad010995b15e9c1f2dbf83ae1ed188204ee71fd3b2b779ffdc5e0680a49f6dc1ddd496df5e334b0", 0xc5, 0x1}], 0x820a0, &(0x7f0000000840)=ANY=[@ANYBLOB="5e292c2f6465762f6e756c6c6230002c2c2f6465762f6e756c6c6230002c2f6465762f6e756c6c6230002c3a7d5b253a2c2f0a87c34fee88e8526a36e6576ee05891d4eae060348b944eb0e21a32fe1c13f2d5aacea186fa2ba29498c816d8622b9020f058b34ac32222c2def154ac62b2399c531ae365406fe2482cd52ea43b027f4fa7bdd55da87fbb80ba420ed9c27a6d4dded5a56a954dc072097941ecc1a7a8b843a5ccfa7f53c4a965398911b10bda6d2aca8679c9c159b7d8bc48e43d85a693b31911b87e0507a0862c5c7d292d2c6673636f6e746578743d756e636f6e66696e65645f752c646f6e745f61707072616973652c7569643c", @ANYRESDEC, @ANYBLOB="2c66756e633d43524544535f434845434b2c66736d616769633d3078303030303030303030303030303130302c7375626a5f726f6c653d235cf47b2d2c00"]) r5 = socket$pppl2tp(0x18, 0x1, 0x1) recvmmsg(r5, &(0x7f0000001840)=[{{0x0, 0x0, 0x0}}], 0x1, 0x10043, 0x0) ioctl$ION_IOC_ALLOC(0xffffffffffffffff, 0xc0184900, &(0x7f0000000040)={0x120005, 0x3, 0x0, 0xffffffffffffffff}) ioctl$DMA_BUF_IOCTL_SYNC(r6, 0x40086200, &(0x7f00000000c0)=0x6) ioctl$DMA_BUF_IOCTL_SYNC(r6, 0x40086200, &(0x7f0000000340)=0x2) sendfile(r0, r6, &(0x7f0000000040)=0x81, 0x7) openat(r4, 0x0, 0x80000, 0x0) 07:26:39 executing program 5: r0 = perf_event_open(&(0x7f0000000100)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c4b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = socket$inet(0x2, 0x2, 0x0) r2 = gettid() ptrace$setopts(0x4206, r2, 0x0, 0x0) tkill(r2, 0x40) ptrace$setregs(0xd, r2, 0x0, &(0x7f0000000080)) perf_event_open(&(0x7f0000000180)={0x1, 0x80, 0x6, 0x0, 0x1, 0x8, 0x0, 0x0, 0x1000, 0x8, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x2, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x4, 0x0, @perf_bp={&(0x7f00000000c0), 0x8}, 0x40800, 0xda0, 0x6, 0x2, 0x7, 0x200, 0x1, 0x0, 0x5b8800, 0x0, 0x12}, r2, 0xe, 0xffffffffffffffff, 0x2) getsockopt$IPT_SO_GET_REVISION_MATCH(r1, 0x0, 0x19, 0x0, &(0x7f0000000080)) ioctl$AUTOFS_DEV_IOCTL_REQUESTER(0xffffffffffffffff, 0xc018937b, &(0x7f0000000000)={{0x1, 0x1, 0x18, r0, {0xee01, 0xffffffffffffffff}}, './file0\x00'}) setsockopt$inet_buf(r3, 0x0, 0x2f, &(0x7f0000000040)="5c097ad5e3d5149dea6d69d312ec3134530153267caf323ccb2c9cd06c3d0953a6f0b433ead08f4c3908f95d74", 0x2d) 07:26:39 executing program 3: r0 = bpf$PROG_LOAD(0x5, &(0x7f0000000200)={0x3, 0xe, &(0x7f0000000280)=ANY=[@ANYBLOB="b702000003000000bfa30000000000000703000000feffff7a0af0fff8fdfffe79a4f0ff00000000b7060000ffffffff2d6405000000000065040400010000000404000001007d60b7030000000000006a0a00fe00000000850000000d000000b700a162d0000000000090d700000000000000ca5c2bb9c4b88449c3a926042512e17e46f7071a463143fb427bd93946c20e017feec12107f2e6ddbe1150296c6a6db4afa7c81b26afafc5fbe2"], &(0x7f0000000340)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x300}, 0x48) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000080)={r0, 0x18000000000002a0, 0xe80, 0xe000000, &(0x7f00000000c0)="b9ff0a0000ffffff7f9e14f005051fffffff10144000630677fbac141433e000000162079f4b4d2f87e5feca6aab840413f2325f1a390401051a0100010000000000df74e30d7eabe773afef6f6e4798ab117e9f84fa406b913de8ad827a022e1faee50887dc302819a8a3d0cde36b67f337ce8eee124e061f8fea8ab95f1e8f99c7edea980697449b78569ea293c3eed3b28fc3205db63b2c65e77f19ab28c632cc80d9f2f37f9ba67174fffcb5244b0c909eb8e12116bebc47cf97d2ea8acadfb34ca580b64df7c800113e53bae401cd22f50072deabf93dd4d3e626", 0x0, 0x100, 0x0, 0x296, 0x0, &(0x7f0000000000), &(0x7f0000000040)}, 0x28) r1 = bpf$PROG_LOAD(0x5, 0x0, 0x0) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000080)={r1, 0x18000000000002a0, 0x5ee, 0xe000000, &(0x7f00000000c0)="b9ff030000ffffff7f9e14f005051fffffff00004000630677fbac141433e000000162079f4b4d2f87e5feca6aab840213f2325f1a390101050a0100010000000000df74e30d7eabe773afef6f6e4798ab117e9f84fa406b913de8ad827a022e1faee50887dc302819a8a3d0cde36b67f337ce8eee124e061f8fea8ab95f1e8f99c7edea980697449b78569ea293c3eed3b28fc3205db63b2c65e77f19ab28c632cc80d9f2f37f9ba67174fffcb5244b0c909eb8e12116bebc47cf97d2ea8acadfb34ca580b64df7c800113e53bae401cd22f50072deabf93dd4d3e626", 0x0, 0x100, 0x0, 0x296, 0x0, &(0x7f0000000000), &(0x7f0000000040)}, 0x28) 07:26:39 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFULNL_MSG_CONFIG(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)={0x24, 0x1, 0x4, 0x5, 0x0, 0x0, {}, [@NFULA_CFG_NLBUFSIZ={0x8}, @NFULA_CFG_CMD={0x5, 0x1, 0x1}]}, 0x24}}, 0x0) r1 = creat(&(0x7f0000000180)='./bus\x00', 0x0) ftruncate(r1, 0x800) lseek(r1, 0x0, 0x2) open(&(0x7f0000000000)='./bus\x00', 0x86000, 0x0) sendfile(r1, r0, 0x0, 0x0) sendmsg$IPCTNL_MSG_CT_NEW(r1, &(0x7f00000001c0)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000040)={&(0x7f0000000140)=ANY=[@ANYBLOB="640000000001010100000000000000000700000534000f800800034000000101080002400000800108000340000000070800024000000bd9080002400000000808000240000000431c000f8008000140800000010800034000000006080001400000a2c4"], 0x64}, 0x1, 0x0, 0x0, 0x4040}, 0x45801) 07:26:39 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) perf_event_open(&(0x7f0000000040)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x511, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) r1 = dup3(r0, r0, 0x80000) sendmsg$IPCTNL_MSG_EXP_GET(r1, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x20000}, 0xc, &(0x7f0000000100)={&(0x7f00000000c0)={0x3c, 0x1, 0x2, 0x3, 0x0, 0x0, {0x2, 0x0, 0x7}, [@CTA_EXPECT_HELP_NAME={0xa, 0x6, 'H.245\x00'}, @CTA_EXPECT_FN={0x13, 0xb, 'callforwarding\x00'}, @CTA_EXPECT_ZONE={0x6, 0x7, 0x1, 0x0, 0x4}]}, 0x3c}}, 0x44) sendmsg$nl_route_sched(r0, &(0x7f0000000280)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x2000}, 0xc, &(0x7f0000000240)={&(0x7f0000000540)=@deltfilter={0x1dd4, 0x2d, 0x10, 0x70bd28, 0x25dfdbfe, {0x0, 0x0, 0x0, 0x0, {0x5, 0x4}, {0xa, 0xd}, {0xfff3, 0x2}}, [@TCA_CHAIN={0x8, 0xb, 0x6}, @filter_kind_options=@f_bpf={{0x8}, {0x1cb0, 0x2, [@TCA_BPF_CLASSID={0x8, 0x3, {0x7}}, @TCA_BPF_FD={0x8, 0x6, r1}, @TCA_BPF_POLICE={0x42c, 0x2, [@TCA_POLICE_RATE={0x404, 0x2, [0xff, 0x8, 0xc03, 0xe1d, 0xfffffffd, 0x80000000, 0x9, 0x6, 0x0, 0x7, 0x6, 0x9, 0x8931, 0x86, 0x8001, 0x0, 0x9, 0xd3, 0x0, 0x6, 0x100, 0x3, 0x4, 0x10001, 0x6, 0x6, 0x2, 0x5b4, 0x72, 0x1e02, 0x2, 0x5, 0x6, 0x7, 0x8, 0xffffffff, 0x8000, 0x1, 0x8001, 0x9, 0x3f, 0x8, 0x1000, 0x3, 0x7, 0x5, 0x8, 0x2, 0x1, 0x3ff, 0x1, 0x2, 0x1, 0x7f2, 0x22a43f52, 0x0, 0x0, 0x7, 0x4, 0x0, 0x2, 0x8, 0x400, 0x2, 0x3, 0x200, 0x6, 0x74e, 0xe81b, 0x6, 0x5, 0xfffffe00, 0x9, 0x3e1, 0xa9, 0x8, 0x4, 0xc663, 0x3, 0x1, 0x8, 0xffffffd1, 0x8, 0x7, 0x9, 0x80000000, 0x400, 0x1, 0x8, 0x0, 0xec4d, 0x1, 0x234a, 0x3, 0x2, 0xb4, 0x3a5b, 0x1, 0x4, 0x4, 0x6, 0x40, 0x2, 0x7, 0x3, 0x20, 0xa3, 0x0, 0x5, 0x9, 0x7fffffff, 0x4, 0xffffff48, 0xcbb5, 0x10000, 0xef6, 0x4, 0x4, 0x7, 0x2, 0x0, 0x3, 0x5, 0x7fffffff, 0x252, 0x9, 0xce, 0x6, 0x5, 0x81, 0x1ff, 0x7e9, 0x3ff, 0x5, 0xfffffff7, 0x8, 0xa6f9, 0x10000, 0x0, 0x6, 0x8, 0x7fff, 0x401, 0x71, 0x69231a5e, 0x9, 0x472, 0x6, 0x8001, 0x6, 0x81, 0x2, 0x67a0, 0x200, 0x5, 0x7, 0x20, 0x80000000, 0x2, 0x7f, 0xe9, 0xfffffffc, 0x17, 0x519, 0x4, 0x3f, 0x3, 0xff, 0x0, 0x7ff, 0xffff, 0x299b, 0x1, 0x800, 0x39, 0x0, 0x8001, 0x2, 0x9, 0xa18, 0x4, 0x3, 0x6ae, 0x2a1f, 0xff9, 0xffff, 0x1000, 0x4fcdff0b, 0x6e, 0x9, 0x9, 0x0, 0x6, 0x1, 0x2649, 0x4, 0x7fff, 0x8000, 0x2, 0x9, 0x1d1, 0x400, 0x6, 0x31a5, 0xfa, 0xc7, 0xfffffffa, 0x6, 0x80000000, 0x8, 0x1, 0x800, 0x1, 0x8, 0xf80, 0x4190, 0x10001, 0xffffffff, 0x6, 0x2, 0x200, 0x7, 0x80000001, 0x6, 0x0, 0x3d51, 0xf0000000, 0x6, 0x3, 0x6, 0x101, 0x9, 0x8000, 0x9, 0x1, 0x1da5, 0x8, 0x0, 0x200, 0x7, 0x6, 0x5, 0x81, 0x3da6777a, 0x0, 0xc4, 0x7f, 0x0, 0xe4, 0x3f, 0x7, 0x4, 0x0, 0x21, 0x5, 0x1ff]}, @TCA_POLICE_RATE64={0xc, 0x8, 0xa40}, @TCA_POLICE_AVRATE={0x8, 0x4, 0x4}, @TCA_POLICE_AVRATE={0x8, 0x4, 0x1f}, @TCA_POLICE_RESULT={0x8, 0x5, 0x3}]}, @TCA_BPF_POLICE={0x182c, 0x2, [@TCA_POLICE_RATE={0x404, 0x2, [0x3dce, 0x8, 0x800, 0x3, 0x82, 0xd684, 0xe6e0, 0x80, 0x80, 0x4, 0x5, 0x0, 0xffff0001, 0x0, 0xfffffffe, 0x8, 0x1, 0x8000, 0x101, 0x8, 0x2, 0x6, 0x10000, 0x3, 0x3ff, 0x1, 0x8aee, 0x8, 0xfffffffa, 0x6, 0x7fff, 0x4, 0x400, 0xfffff895, 0xfffff682, 0xe1f5, 0x2, 0x1, 0x11e38556, 0x5, 0x4, 0x8, 0xffff, 0x6, 0x2, 0x7fff, 0x2, 0x1, 0x740, 0x0, 0x4, 0x1, 0x0, 0xfff, 0x7fff, 0x1, 0x80000001, 0x4, 0x7, 0x80000000, 0x800, 0x6, 0x9c, 0x2e, 0x80000001, 0xfffffffd, 0x1, 0x4, 0x9, 0x80000000, 0x8, 0x4, 0x0, 0x1, 0x7fffffff, 0x80000001, 0xffffffff, 0x400, 0x4, 0x7, 0x80000000, 0x8, 0x0, 0x9, 0xd6b, 0x8, 0x50000000, 0x3dce, 0xffffffff, 0x40, 0x9, 0x2e1, 0x10001, 0x9, 0x80, 0x200, 0x7, 0x5, 0x1, 0x69, 0x80000001, 0xf78, 0x3, 0x7, 0x6, 0x400, 0x2, 0xff, 0x93, 0x0, 0x7f, 0x7f, 0x4, 0x7, 0xfffffff9, 0x6a, 0x10000, 0x5, 0x3, 0x81, 0x401, 0x67a, 0x9, 0x3, 0x9, 0x7, 0x1, 0xcd9, 0x1, 0x5, 0x9, 0x5, 0x20, 0x38, 0x3, 0x5, 0x5, 0x1, 0xad5c, 0x5, 0xe45, 0x40, 0x0, 0x3f, 0x40, 0x40a599c, 0xffffffff, 0x6, 0x8, 0x5, 0x100, 0xd50, 0x4, 0x8, 0x9, 0x1, 0x800, 0x4, 0x400, 0x8, 0x2, 0x7, 0x8, 0x1f, 0x0, 0x429, 0x10001, 0x1000, 0x0, 0x8, 0x1, 0xe2, 0xff, 0x1ff, 0x8, 0x4, 0x7f, 0xd5, 0x7, 0xff, 0x7, 0x10000, 0x59e, 0x1, 0x9, 0x7, 0x0, 0x401, 0x1f, 0xfffffbff, 0xa46, 0x200, 0x7, 0x1, 0x0, 0x8, 0xffffffc0, 0x2, 0x7, 0x0, 0x5, 0x7, 0x400, 0x8, 0x1f0000, 0xfffffd71, 0x57, 0xfffffff8, 0x0, 0x80000001, 0x7c, 0x200, 0x4, 0x2, 0x80, 0x0, 0x1, 0x3, 0x1, 0x1, 0x0, 0x2, 0x7, 0x3, 0x10001, 0x315c, 0x9, 0x81, 0x6, 0x2a01, 0x4, 0x4, 0xfff, 0x4, 0x81176873, 0x401, 0x80, 0x1, 0x1000, 0x1, 0x3, 0x6, 0x1, 0x6, 0x3, 0xf60, 0x9, 0x800, 0x6, 0x1, 0xfffffff7, 0x100, 0xffff, 0x10001, 0x7fff, 0x1]}, @TCA_POLICE_RATE={0x404, 0x2, [0x6, 0xda, 0x1, 0x9, 0x9, 0x1ff, 0xd54, 0x7, 0x43cf, 0x24e, 0x2, 0x3, 0x3, 0xfff, 0xd3, 0x800, 0xffffe741, 0x10001, 0xfff, 0x0, 0x81, 0x80000001, 0x7, 0x8642, 0x800, 0x3ff, 0xfffffffc, 0x17c96cf6, 0xff, 0x3, 0x1, 0x5, 0x6, 0x0, 0x1, 0x700000, 0xd4c, 0x40, 0x8001, 0x101, 0x9ca, 0x7, 0x401, 0x10001, 0x7fffffff, 0x0, 0x1000, 0x3, 0x0, 0x39, 0x7, 0x1, 0x8, 0x5, 0x58, 0x9, 0x6, 0x4, 0x9, 0x674, 0x0, 0x3, 0x68, 0x4, 0x0, 0x5, 0x48000000, 0x2, 0x8, 0x8, 0xff, 0x400, 0xc39b, 0x2f6, 0x200000, 0x7, 0x7, 0x4, 0x1, 0xad3, 0x2, 0xd6a8, 0x7, 0x2, 0x1, 0x3, 0x40, 0xfff, 0x2, 0x2, 0x9, 0x3, 0xd7, 0x0, 0x1, 0x1, 0xf068, 0x7, 0x10001, 0x80000001, 0x1, 0x10001, 0x4, 0x0, 0x1, 0x401, 0x6b, 0xfffffffb, 0x80000000, 0x80000000, 0x5, 0x2, 0x8, 0x0, 0x1ff, 0x1, 0xffffff8c, 0x8, 0x6, 0x7fffffff, 0x54e, 0x8c, 0x9b, 0x3d, 0x80000000, 0x0, 0x1, 0xffffff81, 0x10000, 0x401, 0x2008000, 0x5, 0x0, 0x1ff, 0x2, 0x0, 0x48, 0xfffffaee, 0x8, 0x20, 0x3, 0x8, 0x5, 0x1, 0x1, 0x0, 0x1, 0x7, 0x1b, 0x360, 0xff, 0x80, 0x81, 0x8, 0x6, 0x40, 0xfff, 0xa6d, 0x7, 0xb88, 0x7, 0x0, 0x0, 0x4, 0x8, 0x80000000, 0xffffffff, 0xc5, 0xcb, 0x4, 0xa1de, 0x7, 0x3cc, 0x5, 0x5, 0x1, 0x5, 0x800, 0x2f80, 0x8, 0x3, 0x5, 0x8000, 0x8, 0x401, 0x4, 0xb4a, 0xffffbe31, 0xaa02, 0x400, 0x7, 0xfff, 0x69a2, 0xc8, 0x6, 0x9, 0x0, 0x4, 0x7, 0xa000, 0x3, 0x4, 0x9, 0x2, 0xff, 0x1, 0x200, 0x7, 0x3, 0xdf3, 0x8, 0x4, 0x5e9, 0xcfa, 0x2, 0x8001, 0x1, 0x2, 0xa7be, 0x4, 0xd5, 0x1, 0x2, 0x2, 0x10000, 0xf8000000, 0x80, 0x9, 0x5, 0x2, 0x6, 0x7, 0xd3db, 0x3, 0x2, 0x80000000, 0x100, 0x2, 0x9, 0x7ff, 0x7, 0xffffffff, 0x68e, 0x4, 0x101, 0xfe9f, 0x8, 0x8, 0x9, 0xb7f6, 0x5, 0xff, 0x4, 0x8000, 0x9, 0x2]}, @TCA_POLICE_AVRATE={0x8, 0x4, 0x81}, @TCA_POLICE_PEAKRATE={0x404, 0x3, [0x100, 0xfffffffe, 0x3, 0x100, 0xffffffc0, 0x1, 0x2, 0x8, 0x7, 0x3f, 0x0, 0x9, 0xe66, 0xffff, 0x6, 0x1, 0x9, 0x3, 0xfffffff8, 0x8000, 0xfffffffe, 0x80000001, 0x7, 0xd4, 0xed, 0xffffff80, 0x400, 0x1000, 0xc3fe, 0x7, 0x5, 0x2, 0x101, 0x80, 0x4, 0x1ff, 0x8, 0x9, 0x9, 0x3, 0x81, 0x29, 0x8, 0x4, 0x10000, 0x4, 0x0, 0x0, 0xff, 0x8, 0x42, 0xc2, 0x80000000, 0x9cdb, 0x3, 0xfffffffc, 0x1, 0x401, 0xfffffff8, 0x401, 0x6, 0x703d, 0x0, 0x7fffffff, 0x0, 0xe8, 0x0, 0x0, 0x1, 0x6, 0x1, 0x1f, 0x101, 0x6, 0x0, 0x7fffffff, 0x7, 0xffff, 0xfffffffe, 0x3, 0xfe000000, 0x1, 0x7f, 0xce, 0xffffffff, 0x8, 0xc6, 0x9, 0x9, 0x6, 0xe037, 0x3, 0x0, 0x5, 0x1, 0x58, 0x4, 0xcbdf, 0x7, 0x81, 0x4, 0x22, 0x2a, 0x3, 0x200, 0x0, 0x2, 0x1, 0xdc, 0x9, 0x800, 0x4, 0x2, 0x2, 0x10001, 0x1, 0x10001, 0x1f, 0x1, 0x2, 0x8, 0x3f, 0x2, 0x7d, 0x1, 0x9, 0x8, 0x4, 0xa56d, 0xffffff16, 0x7fff, 0x0, 0x7fff, 0x8, 0x400, 0x42000, 0x800, 0xb2d9, 0x9, 0x7fff, 0x5, 0x15, 0x11, 0xfffffffb, 0x0, 0x9, 0x2, 0x20, 0x2, 0x5, 0x7, 0x83, 0xfffff801, 0x10001, 0x9, 0xa3, 0xb8, 0x80000000, 0x1, 0xfff, 0x7f, 0x0, 0x81, 0x0, 0xffffffff, 0x8e9a, 0x7fff, 0x80, 0x7, 0x9, 0x0, 0x2, 0x101, 0x20, 0x100, 0x3, 0xffffff78, 0x3, 0x1, 0x4, 0x7, 0x7, 0x41, 0x101, 0xffff, 0x68, 0x8000, 0x0, 0x4, 0x6a1, 0x4, 0x4be, 0x706, 0x3b, 0x8, 0x2, 0x80, 0x9, 0x10001, 0x7fff, 0x8, 0x8, 0xfffffff8, 0x7f, 0x9, 0x200, 0x1, 0x6, 0x70f88ebd, 0x4c, 0x5, 0x0, 0xc312, 0xfffffffe, 0xffffff56, 0x400, 0x32e, 0x2, 0x1, 0x1ff, 0x5, 0x4, 0x0, 0x0, 0x8ec4, 0x4, 0x5, 0x5, 0xfffffff9, 0x5, 0x1, 0x200, 0x9, 0x5, 0x3, 0x1c81, 0x8, 0x100, 0xc1, 0x72d9, 0xecf, 0x7af, 0x80000001, 0x1, 0x0, 0x6, 0x1, 0x7, 0x9, 0x4, 0x5, 0x4, 0xffff, 0x2, 0x1ff, 0x3]}, @TCA_POLICE_RATE={0x404, 0x2, [0x3ff, 0xff, 0x0, 0x8, 0x6, 0x2, 0x9, 0x6, 0x9, 0x7, 0xffffff7f, 0x1000, 0x8001, 0x5, 0x1, 0x40, 0x9709, 0xffffffff, 0x22, 0x2, 0x2b7b, 0x7fffffff, 0x69, 0x5, 0x3ff, 0x8, 0xffffffff, 0x80000001, 0x8, 0xffffffff, 0xb82, 0x4, 0x7, 0x4, 0x0, 0x7, 0x6, 0x8, 0x0, 0x1, 0x5, 0x3, 0xffff, 0x1f, 0xb0d, 0x8, 0x5, 0x5, 0x10000, 0x4, 0x400, 0x6, 0xfffffc01, 0x5, 0x2, 0x2, 0x4, 0x1ff, 0x7f, 0x8, 0x81, 0x0, 0x17a4, 0x1, 0x7fffffff, 0x2, 0x7, 0x1, 0x0, 0xfffffff8, 0x46b, 0x0, 0x4e6e, 0xfffffe00, 0x80000000, 0x21a, 0x9, 0x0, 0x3, 0x81, 0xfa6, 0x0, 0x4, 0x0, 0x7fffffff, 0x10000, 0x5, 0x2, 0x8, 0x44, 0x81, 0x8000, 0x81f, 0x20, 0x30000, 0x0, 0x3ff, 0x2, 0x5e, 0x5, 0x0, 0x40, 0x4ff1, 0xfffff000, 0xa69, 0x3, 0x2, 0x5, 0x1708, 0x80000000, 0x0, 0x0, 0xfffffffa, 0x400, 0x80, 0x400, 0x0, 0x7, 0x4, 0x3, 0x4, 0x7, 0xfffffffe, 0x1f, 0x2467, 0x80000001, 0x75ff6c08, 0x401, 0x1, 0x96, 0x8, 0x7fffffff, 0xa608, 0x8, 0x3f, 0x1, 0x4, 0x4, 0xffffff68, 0x8001, 0x0, 0x2ab09873, 0xfff, 0x2, 0x3f, 0xe043, 0xff, 0x3, 0x1, 0x7, 0x7, 0xfffffff9, 0x7, 0x3, 0xfffffffb, 0x80000000, 0x0, 0x80000001, 0xa6a3, 0x10000, 0x3, 0x61ea, 0x4, 0x2, 0x42, 0x80000001, 0xfffffffd, 0x5f2, 0x0, 0x971, 0x4, 0x7, 0x3f, 0x7, 0x5963, 0x6, 0x9, 0xffffffb0, 0xe7de, 0x52e, 0x5, 0x5, 0x9, 0x0, 0x81, 0x9, 0x3, 0x3, 0x40, 0x6, 0xe22, 0x49e420c, 0xffff, 0x0, 0x9, 0x9, 0x1, 0x7, 0x1, 0x0, 0x1, 0x1a, 0x7, 0x7, 0x9, 0x6c7, 0x4, 0x9, 0x3, 0x1, 0x0, 0x6, 0x40, 0x4, 0x4, 0x81, 0x40, 0xffff, 0x1, 0xee, 0x5, 0xff, 0x8, 0x92c, 0x1, 0x80000001, 0x7, 0xb33, 0xffffffef, 0x8, 0xfffffffa, 0x0, 0x529, 0x6, 0x8, 0x400, 0x8000, 0x7, 0x5, 0x1, 0x0, 0x4, 0x20, 0x6, 0x5, 0x10001, 0x1, 0x7, 0x5, 0x4747, 0x1, 0x26, 0x2, 0x4, 0x6, 0x34bd]}, @TCA_POLICE_AVRATE={0x8, 0x4, 0x7}, @TCA_POLICE_PEAKRATE={0x404, 0x3, [0x3, 0x0, 0x8001, 0x8, 0x0, 0x7ff, 0x9, 0x0, 0x4845, 0x2, 0x9, 0xffffff8b, 0x8, 0x4, 0x4, 0x3, 0x7c, 0x8, 0x26, 0x5, 0xffff, 0x9, 0x2, 0xbc, 0x8000, 0xfffffff8, 0x2, 0xa92, 0x800, 0x2, 0x497, 0x1, 0x101, 0x1, 0xe9, 0x3, 0x2, 0x2, 0xffffffff, 0x26, 0x3, 0x8, 0x8, 0x3b2577c0, 0x4, 0x385, 0x8000, 0x8, 0x80000000, 0x3, 0x200, 0x9, 0x7, 0xffff, 0x576, 0x2, 0xfa4, 0x100, 0xd7a, 0x4, 0x0, 0xfffffff9, 0x9, 0xc718, 0x4, 0x7, 0x0, 0x6, 0x7fffffff, 0x20, 0x6, 0xffffffff, 0x3, 0x8, 0xffff, 0x8, 0x3, 0x81, 0x7f, 0x3, 0x2, 0x7, 0x763, 0xffffffc0, 0x46fa, 0x6, 0x0, 0x1, 0x7fffffff, 0x10001, 0x4, 0x1, 0x7, 0x200, 0x8da1, 0x4, 0x8, 0x7, 0x1, 0x486, 0x8, 0x1, 0x0, 0x7e22, 0x6, 0xc04, 0xfffffffc, 0x8d86, 0x2, 0x100, 0x5, 0x4, 0xff, 0x10000, 0x4, 0x9, 0x7, 0x8, 0xffffffff, 0x5, 0x9, 0x20, 0x6, 0x4, 0x5, 0x6, 0x1f, 0x1, 0x6, 0x4, 0xdd, 0x7, 0x7f, 0x1f, 0x6dc, 0x5, 0x10000, 0x401, 0x3, 0x1, 0xfffffffa, 0x1ff, 0x8001, 0x80000000, 0x81, 0x7a, 0x2, 0x9, 0x38, 0xfffffffd, 0xfffffded, 0x0, 0x8, 0x0, 0x4, 0x7, 0x7, 0x2, 0x0, 0x20, 0x0, 0x1fd6, 0x7, 0x7f, 0x1, 0xc93a, 0x7f, 0x3, 0x80000000, 0x7, 0xe8, 0x400, 0x80000000, 0x81, 0x1, 0x4, 0x8, 0x6, 0x1, 0x5, 0x3, 0x7f, 0x0, 0x6, 0x8000, 0xb280, 0xc00000, 0x8, 0x4d, 0x0, 0x6, 0x5, 0xfca, 0x6, 0x18, 0x1, 0x5, 0x0, 0x397, 0xfffffff8, 0x4, 0x7, 0x7c088ce5, 0x9d, 0x18d964cc, 0x0, 0x1000, 0x6, 0x1000, 0x9, 0x0, 0x3, 0x100, 0xffffffff, 0x4, 0x3, 0x0, 0x5, 0x2, 0x3, 0x2, 0x5, 0x9, 0x80, 0x1, 0x2, 0x1, 0x7ff, 0x9, 0xfd10, 0x101, 0x6, 0x800, 0xfffffffb, 0x2, 0x7, 0x44, 0x4, 0x2, 0x3, 0x5, 0x3, 0x8, 0x9, 0x4, 0x8001, 0xc66, 0x80000, 0x2, 0x7fff, 0x3, 0xe7, 0x3, 0x2, 0xff, 0x6]}, @TCA_POLICE_PEAKRATE={0x404, 0x3, [0x2, 0xd03, 0x2b2, 0x8, 0x120d, 0x3ff, 0x9, 0xdf93, 0x8000, 0xffff7fff, 0x400, 0x9, 0x5de0fa6d, 0x5, 0x6, 0x7, 0xf1, 0xfffeffff, 0x7, 0x2, 0x6, 0xf291, 0x6, 0x6, 0x3, 0x5, 0x401, 0x100, 0x48000, 0x6, 0x4ed, 0x55a, 0x3, 0x7, 0x2, 0x4, 0x7, 0x4, 0x932, 0x7f, 0x81, 0x9, 0x1000, 0x7, 0x400, 0x8, 0x3, 0x7, 0x4, 0x4, 0x4, 0x10001, 0xfff, 0x1, 0x9, 0x1, 0x5, 0x7, 0x4, 0x8, 0x9, 0x400, 0x3, 0xe3b, 0xffff0000, 0x1f, 0x9, 0x10001, 0x3d1, 0x4, 0x8, 0x800, 0x1, 0x7fffffff, 0x101, 0x10001, 0x0, 0x7c00, 0x0, 0x80, 0x1, 0x40, 0x3, 0x974f, 0x10000, 0x7, 0xb83c, 0x200, 0x0, 0xffffff4f, 0x6, 0x8, 0x2, 0x80000001, 0x7, 0x401, 0x4, 0x0, 0x0, 0x2, 0x9, 0x7fff, 0x7, 0x9e2, 0x1, 0x6, 0x8000, 0x8000, 0x5626, 0xa5, 0x8000, 0x1, 0x0, 0x1ff, 0x5, 0xc23, 0x8, 0x8, 0x9, 0xba0, 0xfffffff7, 0xffff, 0x0, 0x0, 0x7ff, 0x80000001, 0xfff, 0x20e, 0x9c, 0x8000, 0x7fffffff, 0x1f, 0x3, 0x40, 0xffffc17e, 0x9, 0x1000, 0xffff, 0x1, 0xfffffffc, 0x7, 0x200, 0x9d5d, 0x5, 0x16, 0xfffff801, 0x0, 0x4ab2, 0xb589, 0x8fb, 0x10001, 0x6be1, 0x6, 0x4, 0x636f, 0x0, 0x0, 0x8, 0x5, 0x7, 0x6, 0x5, 0x0, 0x9, 0xffff4361, 0x81, 0x1000, 0x6, 0x80, 0x9, 0x0, 0x18, 0x7, 0x10001, 0x1f, 0xfeba, 0x9, 0x1, 0x3, 0x8, 0x7, 0x8, 0x73, 0x101, 0xe38, 0x2, 0x0, 0xfffffffe, 0x401, 0x2bc, 0x9, 0x32, 0xb4, 0x8, 0x8000, 0xfffff4d4, 0x80000000, 0xfffffff9, 0xb4, 0x6, 0x4, 0x8, 0x4, 0x2, 0x4, 0x1, 0x20, 0x58, 0x8, 0x400, 0x6, 0x2, 0x5, 0x400, 0x0, 0x1, 0x0, 0x7fffffff, 0x80, 0x20, 0x8, 0x5, 0x75f2, 0x6, 0x0, 0x8, 0x81, 0x1, 0x1f, 0x200, 0x1, 0x401, 0x7ff, 0x8000, 0xffffffff, 0x2ce, 0xfffffffc, 0x10001, 0x5, 0xff, 0x5, 0x6, 0x1, 0xfe49, 0x5, 0x5, 0xffff, 0x4, 0x4, 0x0, 0x5, 0x5, 0xff, 0x10001, 0xffffffe1, 0x7]}]}, @TCA_BPF_OPS={{0x6, 0x4, 0x7}, {0x3c, 0x5, [{0x81, 0xff, 0x7, 0x80000000}, {0x9, 0x7, 0x7f}, {0x3, 0x7, 0x31, 0xffffffff}, {0xea, 0x5, 0x7, 0x7}, {0x9987, 0x6, 0x8, 0x7}, {0xffff, 0x3f, 0x3f, 0x2}, {0x0, 0x20, 0x3, 0x6a}]}}]}}, @TCA_CHAIN={0x8, 0xb, 0x411}, @filter_kind_options=@f_flower={{0xb}, {0xcc, 0x2, [@TCA_FLOWER_KEY_MPLS_TC={0x5, 0x45, 0xff}, @TCA_FLOWER_KEY_ENC_IPV4_DST={0x8, 0x1d, @dev={0xac, 0x14, 0x14, 0x4}}, @TCA_FLOWER_KEY_ENC_UDP_DST_PORT={0x6}, @TCA_FLOWER_KEY_TCP_FLAGS_MASK={0x6, 0x48, 0x5}, @TCA_FLOWER_KEY_TCP_DST_MASK={0x6}, @TCA_FLOWER_KEY_ICMPV6_CODE={0x5}, @TCA_FLOWER_KEY_ENC_OPTS={0x98, 0x54, 0x0, 0x1, [@TCA_FLOWER_KEY_ENC_OPTS_GENEVE={0x14, 0x1, 0x0, 0x1, [@TCA_FLOWER_KEY_ENC_OPT_GENEVE_DATA={0x5, 0x3, 0x47}, @TCA_FLOWER_KEY_ENC_OPT_GENEVE_DATA={0x5, 0x3, 0x1}]}, @TCA_FLOWER_KEY_ENC_OPTS_GENEVE={0x44, 0x1, 0x0, 0x1, [@TCA_FLOWER_KEY_ENC_OPT_GENEVE_TYPE={0x5, 0x2, 0xa6}, @TCA_FLOWER_KEY_ENC_OPT_GENEVE_DATA={0x5, 0x3, 0x3}, @TCA_FLOWER_KEY_ENC_OPT_GENEVE_DATA={0x5, 0x3, 0x7}, @TCA_FLOWER_KEY_ENC_OPT_GENEVE_DATA={0x5, 0x3, 0x1}, @TCA_FLOWER_KEY_ENC_OPT_GENEVE_TYPE={0x5, 0x2, 0x5}, @TCA_FLOWER_KEY_ENC_OPT_GENEVE_CLASS={0x6, 0x1, 0x9}, @TCA_FLOWER_KEY_ENC_OPT_GENEVE_TYPE={0x5, 0x2, 0x6}, @TCA_FLOWER_KEY_ENC_OPT_GENEVE_TYPE={0x5, 0x2, 0xd5}]}, @TCA_FLOWER_KEY_ENC_OPTS_GENEVE={0xc, 0x1, 0x0, 0x1, [@TCA_FLOWER_KEY_ENC_OPT_GENEVE_TYPE={0x5, 0x2, 0x7}]}, @TCA_FLOWER_KEY_ENC_OPTS_GENEVE={0x14, 0x1, 0x0, 0x1, [@TCA_FLOWER_KEY_ENC_OPT_GENEVE_DATA={0x5, 0x3, 0x40}, @TCA_FLOWER_KEY_ENC_OPT_GENEVE_CLASS={0x6, 0x1, 0x7fff}]}, @TCA_FLOWER_KEY_ENC_OPTS_ERSPAN={0x1c, 0x3, 0x0, 0x1, [@TCA_FLOWER_KEY_ENC_OPT_ERSPAN_VER={0x5}, @TCA_FLOWER_KEY_ENC_OPT_ERSPAN_DIR={0x5, 0x3, 0x81}, @TCA_FLOWER_KEY_ENC_OPT_ERSPAN_VER={0x5}]}]}]}}, @TCA_CHAIN={0x8, 0xb, 0x1000}, @TCA_RATE={0x6, 0x5, {0x3, 0xc0}}]}, 0x1dd4}, 0x1, 0x0, 0x0, 0x10}, 0x54) sendmsg$nl_route(r0, &(0x7f0000000500)={0x0, 0x0, &(0x7f00000004c0)={&(0x7f0000000480)=ANY=[@ANYBLOB="140000003a00755926bd70000000001b0a000000"], 0x14}}, 0x0) 07:26:39 executing program 1: preadv(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0) perf_event_open(&(0x7f0000000080)={0x1, 0x80, 0x0, 0x0, 0x0, 0x4, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, @perf_config_ext={0x81, 0x9}, 0x100c}, 0xffffffffffffffff, 0xb, 0xffffffffffffffff, 0x0) r0 = socket$inet(0x2, 0x4000000000000001, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x80000000000002, &(0x7f00000005c0)=0x169, 0x4) setsockopt$inet_tcp_TCP_MD5SIG(r0, 0x6, 0xe, &(0x7f0000000780)={@in={{0x2, 0x4e22, @loopback}}, 0x0, 0x9, 0x6, 0x0, "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030cf00"}, 0xd8) bind$inet(r0, &(0x7f0000deb000)={0x2, 0x4e23, @rand_addr=0x64010100}, 0x10) sendto$inet(r0, 0x0, 0x5, 0x200007fd, &(0x7f0000000040)={0x2, 0x4e23, @local}, 0x10) setsockopt$sock_int(r0, 0x1, 0x8, &(0x7f0000000100), 0x4) getpeername(0xffffffffffffffff, &(0x7f00000003c0)=@nfc, 0x0) r1 = open(0x0, 0x0, 0x0) getsockopt$inet_IP_XFRM_POLICY(0xffffffffffffffff, 0x0, 0x11, &(0x7f00000004c0)={{{@in=@private, @in=@local, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, {{@in=@dev}, 0x0, @in=@broadcast}}, &(0x7f0000000180)=0xe8) setsockopt$inet_IP_XFRM_POLICY(r1, 0x0, 0x11, &(0x7f0000000600)={{{@in6=@dev={0xfe, 0x80, '\x00', 0x16}, @in=@private=0xa010101, 0x7f, 0x0, 0x0, 0x0, 0xa, 0x0, 0xc31fc3b4eebcb907, 0x8, 0x0, r2}, {0x3ff, 0x0, 0x6f, 0x8, 0x6, 0x5, 0xfffffffffbd8b9e9, 0x7}, {0x0, 0xe3c, 0x0, 0xffffffffffffff4d}, 0x5f, 0x0, 0x0, 0x0, 0x2}, {{@in=@initdev={0xac, 0x1e, 0x0, 0x0}, 0x4d3, 0xff}, 0x2, @in=@empty, 0x0, 0x2, 0x2, 0x8, 0x5, 0x6, 0xffffffc0}}, 0xe8) r3 = socket$inet6(0xa, 0x3, 0x3a) setsockopt$inet6_int(r3, 0x29, 0xd0, &(0x7f0000000280), 0x4) mount$9p_fd(0x0, 0x0, &(0x7f0000000140), 0x80000, &(0x7f00000001c0)=ANY=[@ANYBLOB='trans=fd,rfdno=', @ANYRESHEX=r1, @ANYBLOB=',wfdno=', @ANYRESHEX=r3, @ANYBLOB=',afid=0xffffffffffffffff,cache=fscache,su,audit,\x00']) recvmsg(r0, &(0x7f0000000240)={0x0, 0xfffffffffffffd83, &(0x7f0000000180)=[{&(0x7f0000003ac0)=""/4096, 0x5802}], 0x1, 0x0, 0xf080, 0x3}, 0x100) write$binfmt_elf64(r0, &(0x7f0000000600)=ANY=[], 0xfc30) rt_sigqueueinfo(0x0, 0xc, &(0x7f0000000040)) r4 = bpf$BPF_RAW_TRACEPOINT_OPEN(0x11, &(0x7f0000000380)={&(0x7f0000000340)='skb_copy_datagram_iovec\x00', r1}, 0x10) perf_event_open(&(0x7f00000002c0)={0x4, 0x80, 0x3f, 0xff, 0xed, 0x3f, 0x0, 0xca4f, 0x50e00, 0x9, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x5, 0x2, @perf_bp={&(0x7f0000000000), 0x6}, 0x866, 0x6e, 0x9a2b, 0x0, 0xcb, 0x5, 0x200, 0x0, 0x1ff, 0x0, 0x4}, 0x0, 0xd, r4, 0x13) 07:26:39 executing program 3: r0 = socket$nl_generic(0x10, 0x3, 0x10) sendmsg$FOU_CMD_DEL(r0, 0x0, 0x4000000) perf_event_open(&(0x7f00000002c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41be, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffe, 0x0, @perf_config_ext={0x8, 0x1}, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x3f, 0x0, 0x3}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r1 = socket$inet6_sctp(0xa, 0x1, 0x84) setsockopt$inet_sctp6_SCTP_PEER_ADDR_PARAMS(r1, 0x84, 0x9, &(0x7f00000005c0)={0x0, @in={{0x2, 0x0, @empty}}, 0x0, 0x0, 0x400, 0x0, 0x32}, 0x9c) bind$inet6(r1, &(0x7f00004b8fe4)={0xa, 0x4e23, 0x0, @loopback}, 0x1c) connect$inet6(0xffffffffffffffff, 0x0, 0x0) r2 = fcntl$dupfd(r0, 0x406, r1) perf_event_open(&(0x7f0000000340)={0x2, 0x80, 0xc8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) perf_event_open(&(0x7f0000000140)={0x0, 0x80, 0xa4, 0x0, 0x54, 0x34, 0x0, 0x7, 0x1000, 0xe, 0x1, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x2, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, @perf_config_ext={0x14, 0x9}, 0x200, 0x1, 0x77cae6c4, 0x6, 0x4, 0x3, 0x4, 0x0, 0x3, 0x0, 0x58dd8c2a}, 0x0, 0x8, 0xffffffffffffffff, 0x2) r3 = socket$packet(0x11, 0x2, 0x300) setsockopt$packet_int(r3, 0x107, 0xa, &(0x7f0000000080)=0x2, 0x4) setsockopt$packet_tx_ring(r3, 0x107, 0x5, &(0x7f00000000c0)=@req3={0x8000, 0x6, 0x8000, 0x6}, 0x1c) sendmsg$NL80211_CMD_LEAVE_IBSS(r2, &(0x7f0000000100)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x800000}, 0xc, &(0x7f00000000c0)={&(0x7f0000000080)=ANY=[@ANYBLOB="2911b400", @ANYRES16=0x0, @ANYBLOB="18012abd7000fedbdf252c7a7e000c009900ffff000056000000"], 0x20}, 0x1, 0x0, 0x0, 0x20044001}, 0x0) setsockopt$inet6_tcp_int(0xffffffffffffffff, 0x6, 0x0, 0x0, 0x0) r4 = openat$ubi_ctrl(0xffffffffffffff9c, &(0x7f0000000000), 0x84000, 0x0) sendto$inet6(r4, &(0x7f0000847fff)='X', 0x1, 0x0, &(0x7f000005ffe4)={0xa, 0x4e21, 0x0, @loopback}, 0x1c) getsockopt$inet_sctp6_SCTP_PRIMARY_ADDR(0xffffffffffffffff, 0x84, 0x6, 0x0, 0x0) socket$inet_icmp_raw(0x2, 0x3, 0x1) sendto$inet6(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0, 0x0) 07:26:39 executing program 4: mkdir(&(0x7f0000000140)='./file0\x00', 0x0) clone(0x20002004ffc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) exit_group(0x0) timer_create(0x0, &(0x7f0000000300)={0x0, 0x12}, &(0x7f00000003c0)=0x0) timer_settime(0x0, 0x0, &(0x7f0000000180)={{0x0, 0x3938700}, {0x0, 0x1c9c380}}, 0x0) timer_create(0x0, &(0x7f00000001c0)={0x0, 0x15, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000200)=0x0) timer_settime(r1, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x3938700}}, 0x0) perf_event_open(&(0x7f0000000240)={0x5, 0x80, 0x1f, 0x6e, 0x0, 0x6, 0x0, 0x74b, 0x10080, 0x6, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x3, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x20, 0x2, @perf_config_ext={0x8, 0x7}, 0x20, 0x800, 0x1af, 0x7, 0x5, 0x8, 0x8c, 0x0, 0x401, 0x0, 0x5}, 0x0, 0xc, 0xffffffffffffffff, 0x1) clone(0x4007fc, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) ptrace$cont(0xffffffffffffffff, 0xffffffffffffffff, 0xffffffff, 0x7f) mount(&(0x7f0000000080)=ANY=[@ANYBLOB='[d::]:'], &(0x7f00000000c0)='./file0\x00', &(0x7f0000000040)='ceph\x00', 0x0, 0x0) clone(0x41040000, 0x0, 0x0, 0x0, 0x0) socket$nl_route(0x10, 0x3, 0x0) socket$inet6_icmp_raw(0xa, 0x3, 0x3a) timer_settime(r0, 0x1, &(0x7f0000000000)={{0x77359400}, {0x0, 0x3938700}}, &(0x7f0000000100)) 07:26:39 executing program 2: r0 = socket$l2tp6(0xa, 0x2, 0x73) sendmmsg$inet6(r0, &(0x7f000000a5c0)=[{{&(0x7f0000000000)={0xa, 0x0, 0x0, @mcast2}, 0x1c, 0x0, 0x0, &(0x7f00000015c0)=[@hoplimit={{0x14}}], 0x18}}, {{0x0, 0x0, 0x0}}], 0x2, 0x0) connect$l2tp6(r0, &(0x7f0000000040)={0xa, 0x0, 0x81, @mcast2, 0x7fffffff, 0x2}, 0x20) 07:26:39 executing program 5: r0 = socket$kcm(0x10, 0x2, 0x0) r1 = socket$alg(0x26, 0x5, 0x0) bind$alg(r1, &(0x7f0000000940)={0x26, 'hash\x00', 0x0, 0x0, 'sha224-arm64\x00'}, 0x58) setsockopt$ALG_SET_KEY(r1, 0x117, 0x1, &(0x7f0000000440)="cb56b6cc0407008b65d8b4ac2ca35c66", 0x10) r2 = socket(0x10, 0x3, 0x9) r3 = socket$nl_route(0x10, 0x3, 0x0) socket$netlink(0x10, 0x3, 0x0) setsockopt$ALG_SET_KEY(0xffffffffffffffff, 0x117, 0x1, &(0x7f0000001640)="9c86eb9172e1608fac528d42a51209c2dbe1475afca5612b8a5df37b17171ec89192453707c1fef92f2088bc1d6cf586db195f766aa07a87fd46cd2cbd5d47712d83cd55f8d3e3421f1e95cc4bbb16a7e03247d7c3dafd4c2f884fd28eca1f1e7b0ce6406cc13f34ee9f641d5db201d52130addd332449bab7d58a6fb8b3726b06fbf6daea6500f56a5fac3857051469ccc22acc9b4a1b03749e304c2a7ca19324070c1a1d0508fad43b98e261fe36ff68ad3758009e0f", 0xb7) r4 = socket(0x10, 0x803, 0x0) sendmsg$NBD_CMD_DISCONNECT(r4, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000180)={0x0}, 0x1, 0x0, 0x0, 0x80}, 0x0) getsockname$packet(r4, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000400)={&(0x7f0000001000)=ANY=[@ANYRES32, @ANYRES32=r5, @ANYBLOB="dcf8e11bea68fa9692b9c74722efe0af280012000c00010076657468e322b367e54c196fc8c5f9421b96cda30ceda665883df61aa19a13e36aea0400c10baa075bb7c75a71af4f68b31caeed8074d6505b091bc13007366b87d1a02ed054f818b84529d557d6dc0285f65e4e2ce7fe0d80fe0407503b97453eb6377a0f580f3f2073b756db33e74e1f348760d595f519c51b50b2409376a30bdf05877e22f00a1c6d253ed46068ba02518aea4b7a5bd011cba2f50b02fa94ee04ec21011dab04eb3abf80d30090862a1c5c929195796c836308b85e6c51242247863b829f162dd045a64905f195a084525240da094fab6c2db833410ac2b7071d130c1f2d5d7d2278477845781732fee5db8f1f608f71035105978698126e85cbf9f0f94ce88e85ee30111eaabea05ec13834c74ee3feeee9c89c0a8fce86420a713a5683d6bc3e7f68cafefdb3fbec1b13f05162b652dfce6ce8c574cac2d7b758d6d7e1fd43192fbaeb7af30733382f0daad5c1e13bb44f8e80457152d3f35c80f572d1ff95838c95ef2b0820cc2184ac9d40f6b041cde31d174c789074b24cdd96551266a4699877c75986f2b1d608c3825ee4da96f13adce51ada1120"], 0x48}, 0x1, 0x0, 0x0, 0x24048880}, 0x0) sendmsg$nl_route_sched(r3, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000280)={&(0x7f00000017c0)=ANY=[], 0x58}, 0x1, 0x0, 0x0, 0x44820}, 0x0) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000007c0)={0x0, 0x0, &(0x7f0000000780)={&(0x7f00000011c0)=ANY=[@ANYBLOB="b802000024000100e7ff40000000000000000000532b47b83f118aa0acfc5f964c0a18aa3ea0055c82b157f43d20b38f45d119237324a00eb6def9eb2c4dd88b18c8279157bd1f43c1146a3bc93664399066f4ce16975da89944efb40e459eb31c045d50d747daaf48d3405f1cfb5df87bc8d0bd5d171841e09085cae1472e3d6301512e67e8fd2e385970c3fc56220e123271175a995d5adb761dac3e806b144c8899d9c3ff2695786d9c99c1782768805234b322f7eb1bf9482834cdcdd32b16bc481039b322d37e51fdbe1e6794ff5507a47861016c0cff0e695cdd853ababe22f11dfb0b02fa4b1e4494641fd842968a56a0c3004924fd35dc8486dbe7f64a17e1b2fa11a8ef65a581c8915320b859a21e4d8e7d778c4f94e1664f7a0c20393b69cb2f67f5a2f0e147080f4ef1f071d6176ae2aff14ed7ae497da9f7d05979cbeea7198fbbd78cb88224a8e1bb263e8bc87e585c48df471647307fd08d5a2440703467be8c5ef856793ac31eb331ae270c0db54975a1d3bb0bf9bd6da98909722b5160a41fd8fa16347cfd0140ce53c8d07986571b0be0ebde2546e998c9f42b40792c78264bb2bf6d6c8d7889de5d4205c542bc9b233a4ecc015d5edfb53f2df3f385bc316096b92cc995c8351363b04a117c08eb7a4713d7cea5794ea1a8b616d2ae035ec197eb1fe87ce264c23c7556b30974f541fc09bd2dc7c432e558429fb2f1685acb27015854405f", @ANYRES32=r5, @ANYBLOB="0000007462660004000200880008801c00010000126000c7450000020000f20f00000008000000040000000c00020003000900020003001c000100af0906000400010002000000000afbffff030000000a0002003c890800250e00001c0001000005ff7f0900000000000000be4a0000f46000000a000000180002000900810005000100660007001f53990a00d90411000100"/163, @ANYRESDEC=r5], 0xb8}}, 0x0) setsockopt$ALG_SET_KEY(r2, 0x117, 0x1, &(0x7f0000000300)="cd0d8dd252f06257c859971ab8823f3876e3df12fe2f9b8e415237dc4a989faaa1e6dc37f92e37e61fd99c06938caf034eb8f1570e8cf3ac8b913595a725b7d2d0bec7a945fe14d32c930edd292d5e438007430a0093418eb892fe3939effa9e", 0x60) r6 = accept4(r1, 0x0, 0x0, 0x0) sendmmsg$sock(r6, &(0x7f00000003c0)=[{{0x0, 0x0, &(0x7f0000000280)=[{&(0x7f0000000040)="018ee9f82e", 0x5}, {&(0x7f0000000380)="5531f5e79d1230ddde98e2f9", 0xc}], 0x2, 0x0, 0x0, 0x1a0}}], 0x1, 0x0) recvmsg$kcm(r6, &(0x7f00000000c0)={&(0x7f0000000200)=@l2tp6={0xa, 0x0, 0x0, @local}, 0x80, &(0x7f00000002c0)=[{&(0x7f00000005c0)=""/125, 0x7d}], 0x1, &(0x7f0000000480)=""/43, 0x2b}, 0x10002) sendmsg$kcm(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f00000008c0)=[{&(0x7f0000001700)="2e00000010008188040f80ecdb4cb9cca7480ef426000000e3bd6efb440009000e000a0010000000008000001207", 0x2e}, {&(0x7f0000001780)="a988f3c59afe4ad2b278b42e2ee7a46679f30006cd7530e7d7bfd711bb0c32c571aa73e2eb523d25cba61de47c9b4546c012864598be", 0x36}, {&(0x7f0000000000)="0b6975af2bda29f7c7edcab6d1a458763bf4e42727699caa0b5297442c4b70105357e3bfe5ad22", 0x27}, {&(0x7f0000000800)="3def59eed831bfe435b2af1e325f3f22ae93543948a0408d9d91e05ac96c4f8a62eaa8bf35993528f5bbdcfe720d4c9577880e11246fae13720b9da482e74313f1f08bee9cdd6aaa8a2dc9e4c754dbc159b74b8eb639877973e77f84a1148f174211e5e3ebea4d1feaac8a66ff9723b86e8674aa04254d8f22d6bb2909f43432a2b3d6e3f876a9e22bf6a8a3158c041b6aa4e182dc27c6e0b57696", 0x9b}, {&(0x7f00000009c0)="7e5c13971131aad7ea53c3c2e67f7b03ad4a2d7392512e70373f75da02bdd7e95232211622d6421da298f0e0daaee5281607d0542d22666f67a317f2984b854371cea8acd3e3bef41642ad39ad88b272975cdcb7535d671be95d8b7b8c0278b88e657dd1ba894d637667a50b9b9d619108aa8b61c7cb03df5836451c02ad0a3306b1aa40ef65e43807e6ab2b1f417b6cc1b0cdd151ef9fa15cd8a8326ab7daa9cf24b80d5a6aa8ab4db300ba2720941591909b4a8b1e3aec40eaf9931200cfa369ab2475cdb41a0b55166f7af1c2508d9ca401fd600ac0208d1027fd249f7f", 0xdf}, {&(0x7f0000001840)="09ed828b28b5308ed37474a63cd643ad4768057f812d89aa19977bfae607bd5997c2bc8498badb8b62c3fd35d84493b88d3a1ee58503ff45f6b4653f9cdab069171e9f8c726cd89e068c0f08cc9ad1797423a92b2ff388ee26dca4e5fc0ba4df157428689ac3b627f7fda27d47da82aa946a847f6356b6e65ab3f6205186f88a8be03a85a6a56d2af5de40de1f0179f34abf40542f3d3690693fc18f2e47ae1e12b6e04a5132f83c76a4929b1db4acf6dbbd54c38cefa27c95d706483842598b679f76a966da964000d09c0761e6fc6669e459ca7bfc023172e56749867ab1ce80f538644ff9d0769da8b244600ec6173f79af15545b98f3a74fd4ba2f9f17ff8faabc96a4f64983cc03fb96accb47044717fea7fbd7c9a2997018f78e80e9359dd356a15cecd814d7e27b434ec1c91611e35073be20334f72e1489f4a685bd6ca721d09d0d322e9f1811b65d7bf931ef08bc9a3b2c0fbfa74c1b619fd01cd732d4a06a1a2d9d5b3e5ce7fb97200270e84f6f7048f61a36c9e8eb86c5cc6369642a69c2f574daa7aa940337224fed025fd1e3168f5dee4e304f89b17c871349b0a6c968271d1d5277143eda6b7454f7f7340d847b9b9d6102e0eef17de8e8354a3afa112b8a2324fb6435fb9bad09e3542bafcdec54f3821bc8cd214bfef4c7937236da62ef263a73c0e83c8da8e243c3047c13b44a8301592a056bc7867bf70582ede934e5b41441fc6904f27f050e5d1e0995c3800cef1b636bad63f7bf0ff12a182a752488bc95cc090ad0d1f10857f29f1908d9dd7d1a8e9e34be7b76ded8cde976b7e1436a2c964a4992ce70c5dd32b7ddd2a5ee449e715209a17647e9c0c7217f259e24ece6fe968f2ef41ae15dc32c988cf2c83ee4a61c865c12f59bfd1407b90be6bec06309bc490b0f07fc3d1618c22325793a12e0f80d04dd468e8449daba3d5ce7dea6f140168b299eaa8beb398c675fac0fb041528e9b25c2465f39ba8730a70e0ce0dd18c37f1613918bf282f05696e898d03ad64b03fb35a2a167c3fa383337a2e00fc6bf11639e3963978779de46582cce7fd9eb11089ad37f21191126e3ce4a6b9243b7371245e9b2eadf26b83f0d8d71b260fc892817bb884478a0037ce40cec2523d1cbc3ce259e36b6cfda35579feafc30a1728beee907bb78e418a5d13757a5a2e4459adcfac673bf4ecc71607ddf29d1fd43943e79b0790c221d473e1b04ce2accd655e68c5b40b1a12ca2284e73f88e1f672d9764ce833d42675a7405ad1c6a417278a466aa222b339b0f1ba5fe8793a0ff90cc74a36ee6a5cf5554084224974578fe0f358740e415d64d1c9f1ac252efe6a800d18f2c5553a9f4baea5ca83cf9ae9d96aa95ceb9f38d4aedc7e5cc53ee8fd28f77cbe5b57865313e833cd361f88ae10d9584848e5358267167f269c1433624ad4ed02cffbe96eba8cf30fd4a455f760082077cb584acb444d13b5a93c1a02f479014bd0c0aa0eb63f8e1b7adfc99931b7be7281264f506ff0fc5b9566fd0c09b61a7d51129aef07fcb60c338ce4a54dfb1fd83df3d2eaba73a616d017a6ab191e27db45cf4248095b27a383ed46c58928b87ca1ecfa22a26598e607b9ec49565e7a6736b26c5b55ece1a8d035ee16835ef576dac362c34c78e944b5118bcf9578d248398d324ee69484c38c1267f605699a75b4cc95bad99e279a43e38cbb0e7d00cb8b019a3fb2a038db14181d401996e94abc4d2466233af90693e990ca42983bead77b5ea4c1b40c1a2056eed97cecc8dd4a7d8adee6b417434d066c5d16f81ef5f3ecbb04ff5286942704c7cd4df293a09b9571e32fb5900938bd56b21bc5fcbc203f62baac125ae441e02e7b3c0d38297ad529199843433b7f2a1f7df35bcd3bb224a983ca9df0f9c6867c37ef9fef92f4eef6ff72d3e3b4aae49c6e5385ed30694f610fce612ccb524489cb09b54cd4cdb1523220e0764db24c80c74141ad0007a123c8637127ea242375282cb041e6d33355c1d5539ca5b3e75ead0514daad041b4ec0d7c2f34473f96b389f41df0e3d26554955c38722e2614baadea1702b37d6a0099c8aeb0a461049ea23d3310be59ecbbdc49adfc1bc0b8bf6b6657f1d1fe3c2cba77e0bbfabab111b10ad3a5e9e112b505f209c85552f4ffaa0c622b748a773df1e6bd760b8a4964d516f6c2c3650508ccdf1feacc2266f47db65e558f5d535bc92d58014d8d3a7301cc522e75c591311972a6f20222add5673b9cb948101283d02cb10795b08d92f564ca31521e7a711994ac48c0dfae9c70cdca2be8ede5db08c65e3b85800dbfc7674fdb988b41ba65ce217d6076c477e440b001c9478bf0972aefbf12c7ce5b17effb42e2657f293b85fccbc51222f7ede462d93f96d235dbe8b60cf31978daba824ec17a0d60509337dd8c35b1aa58556c61c25dd7f6e5ea47d670a102926d5d3961e111832f8436f3470f2c3335a9f489e3a67bd51f921aaa542b0f6ab210e55acdb59e081a60f4490c3c1d1367aa694e2f674ecd05f12e5e3e42998bc2655633b3cd784de624d7d46051a444460a4ca513af82ed18f022c06cc12c4df6688ddc5b0a2a5193b58f68bdc13fd699deac858affa63bafed5c5a345907611035a423c9716110bdf0ef2190f5e80c866f02874419701dceba6631fdeeb91d4c737ba9f7c3d54ffc28c661c6f1c76afb2f7c272311df8eb6fc8b9b6c658b635e8848b7d347bf2be91584cb5ea7b1c4bf9d80c4c3a6653d0dabc31a9599343ce591e1eced92281ef6d9530a23f0bb4ce05e0309654566702e5d46a60482a07e4e5af3aa39bead630b18e3f1aca195690f06717809725b33bfa5bb4961f9515395b864f8a850e9b1313ce75474af697545826223059e0742f417ed137d436bb3c6f19e774f1339a4119b5d56c05c68ae36704f6d46674ad24e7ffd768514c2b8d2f8478fb5c2096fa8e539c0cc7891e4fd61ded5ce2cf8568e5e3d7024b87be0e84ad9703b64d0c8f0b5df562299ac0c60ca42165f3dfbd85eafe79c979c7031615b75f95a178e75168b99762cba112001ca39ca0f772128abc5462e63148ef1ddfcfbce45a8d770cfc06f229d7e983948b5b3d5611b67c1bfc93235c2f4584f57b4f24af615b4efae17307f535668d2d9565fbc08d6800dea0f9fb145a980c90ca7c552d50dd0a83a941b6813650964e622aba3bc030629639233d3b0cf6963b416f67cbafbd7ca5cfb3bb815370b845b83acd7d1d7e7bbf70d159d6177c8d2500014a0f47fab67a3875fba9fb2f5061c1c6e00499cfb2089fbd323c7615efb1b93a9b14e57ea6a5685633485a157f852d7723b3631a728f1b39f9dfbcbe343f5e2bcac9b5c3502c782a739ac31cbe39b4198f8e78a21d6ba1f041da8cc156e61b6fdf5e3c78be20d268457fe4be0b63bbe0099a8ecf49775395c0647590807889f9684c429d8b4ee3b2e03ffa2fb18c08a8286cdfbe4876e1c2aa38b94dfb87eece97d56d23c15b2aeeac33bbaf0deae5a3c4664763383aa14593e5e1c73b55644f0577fde167c26b07166a30d047bf888def864b48c87a4b62f87ddaec857ed2eea7efb6b3eef4ee86d928b628428f144dbca132028d5662005c1415973e1164d608a79f9e6ee954a17499e1cb4a930630979f65affd9c4ea2d544d402143610fc6a7cee70ff6497dfd8fd56cda6e019d0bb323999baa1011ded53dd704fdb0b7d02a8c1ff2d855e918043d554138d66815b24a92af292aa496247d17f592e529c8d81c113e43721775c47a017a5beeb114445d2ea9ca51fa9d196cc0f4b3ae733dc66ba24c9d8cbf0a288ed93e0569677564a1cc7067131bab42bc7b83d3639a0acdeb9eb4d53d4d724d4d27914072b0f348bb42ba8ac5aa4b826fabec623a2453965df2eb4a1f339a75f86f3c857f801f0fdea106b2317ceee47b220ee278f45724914c255c5813e8bd0675d8111da1045b9a533ceeb8812e3086d3a1dbedf39fd1dfd80fd6fca69f5927ba2c5d3775f97950fa07d0ee250b6ce31ee5c15105b5de87c7032a6de05240c946b517761cb372aac51073988d51ae4f3ec09e750809c6af0b63f8955bc9e41c395b60715d9fb1f263cbf9e57b76797c06379138eb191a31e60a52a07a6f35d7721e01af533a02750731c84f454b4d35d90c85ef887262ac4798f04fc53f12cac4c9579b20ae63f802db4e411c4cf5f4622d33f8260400c0d6df37e9ba555784785f1f24fc92e2481d656ef4315b1b09629602f770b6d7104734b7a159f239ce405228103abe0c73428a60836b49d1cef076c5151604e329a755f4ed6f70de87664acf6cfb7b151075c3937872b76451e62e56fe072e5b2dc678ff8d935459eb77b250362a3a0448035ba9eb45e4fd75ab6f829237cd695777663e816f9bae69f78aee4a2ffe1a93045eb7e09d782fef91aea236608baeedd9b45f5bf61fdd00c367c1d350c22ce6d7e0da18ab2d1b3d901a71ade1e809abe9526143fcb5149630af77f442650f7521cfdf4cdddeac75f8c58f0165faf8f974fd8b363cd510aa00370e12fb3ba60c37e1a9121e9a6cf9dfb27a0f7b4b3a73faeb212769108a5b35ab039c0de84ea37ffff9ec8fdec26f7a0b4448fdd4aef37650e7866a05d52c73be74c41bb51405ba0186a24e635f0ac303f0ab5df119becfe0171f8d93c8bb0cf5e02c8a7ab6afaa1e791098b22d4a1b49ae6967b966a3c55b00d0eac0049be326a107f14fe9add8514e99c915c3f5d7e9ec7499b087f7335d6aed75cbdd6ca220df02a137ac0a6e29a7ab704416d068d9f3d2a1549f56c860b6cbc95a7ea5c7a2bc434abc26021ab86ce08a26a6b0b2af45b57332a1f4e6aeed80b80454c569ed51f7976b38f3a3ca40964f59a8237bf1f07dba20ecd6785c3dbf9f1e97f32b004b9bc4e895ce19f8960897db245f7a9ebc061cb1eab160208704dc02b696553033d7af2d4dae4ff4c09cadd29c8082d6d3eea5281a34bdc2a0744bb5a6448d8bba97830049b6354e902cd1a73bae29099e0d367e515b9eba514bd1613e23c41aaf2159b1f91c8a0e31336c83883ae830fe16309b4b8d7ed1f83365e036a5a93a7eaafc4a017419344f323c05d96721f62e11ced85020d28002988c02e40457fffa17229633da8193d0d627579adde36745f517946143605317072c4edb8d1b3846ff4db665052a5bd939833dac54c41e90b37195d9fc8b0a460034e4121e6312e57fff778aa550809a3365b579f024ec7f99c500b2a069e25ba021fdc39fbe6a4c206bd4b3f135304cdb37cf0e2991dd46ac2763c66f7279449c1864ebf7c73c720cd83998b2a23a492221e74046b0d6de25bfa8d936f0a138bd51b268cd3ffadb1653b49d4c048d1f7e42f83baf0a0c8d20827c09cea3b084cd01e2514be5372c8938ec8a994d47cc7fe63e6b0dd64e1a2a6c8435f3f7ab359a43f6decdd5ebccfbfe8f4ebb8d78ce7802384fb0b0fd836c7fab4d87d4f0cab94801325d15a6ba39c6d2ee0a326932510beb0da718589b58184c44f3ba98b36e79e01297d3d393c07fce340b61e973bfb95998e6d6c991beb8a46a3a602b2cc40987c99f7b752692035b43b24dd9a40f15f8d9ea085f877f20876ebe02cb6e1fff43221c1103ff20d1610b20da018dcbf438de2c79a23ced74fb3b7c51ebfc0625a664d5cc5e1091585d75e127ef59deb2cf15ae971cf1e54f7a3e8f618fbb012676acba2412ce6580e8ac8cf131377806f9e5e4bf20788537409b1598324cae9cdaeb66bf55a85209284a13b", 0x1000}, {&(0x7f0000000ac0)="ca82631cbea913d394b139deac9c44ca882acc4c03e0a15c957ba2285e8c847e36ce08761a4a9da721408c3fc8e2ded0a3db87ccd3c6b85067cc95172c6652d9c6073bf5b66b3a3f0b8282e7cb493a503b23a0ed1b1b779e51a0158cf01ebcc1fe1f22b0ac8c1e9c46bbb4bb2ed6a1ce99fffff322145649e08ba28836ebf6d58c9d2eefb859986e56a537c16325072201", 0x91}], 0x7}, 0x20000080) sendmsg$kcm(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000140)=[{&(0x7f0000000080)="2e00000010008188040f80ecc00000000000000026000000050000000f414f000e000a0010000b2fd613e3de10fa", 0x79}], 0x1}, 0x24048004) 07:26:39 executing program 0: r0 = syz_genetlink_get_family_id$netlbl_mgmt(&(0x7f0000000280), 0xffffffffffffffff) sendmsg$NLBL_MGMT_C_ADDDEF(0xffffffffffffffff, &(0x7f0000000340)={&(0x7f0000000240)={0x10, 0x0, 0x0, 0x800000}, 0xc, &(0x7f0000000300)={&(0x7f00000002c0)={0x28, r0, 0x8, 0x70bd2a, 0x25dfdbfb, {}, [@NLBL_MGMT_A_IPV6ADDR={0x14, 0x5, @dev={0xfe, 0x80, '\x00', 0x13}}]}, 0x28}, 0x1, 0x0, 0x0, 0x44800}, 0x20004811) r1 = syz_mount_image$bfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x8000, 0x2, &(0x7f0000000200)=[{&(0x7f0000000140)="f50a7d47d36869bf0231850619aaf6ea15b9394beff18e8faad6439585354c53dae1340839bed3e940eb56eed55476cc60773dc8deec84997de69462096cf107e79eaed7251c75df6e6767670d93e9e0a9eb78c28c6a2d68ca93901dc202b97a1be7990a3233f0a026acb7878b883584a8ea867fbedc06f9cc5ea7e4f39f785bebc4b0", 0x83, 0x40000000}, {&(0x7f0000010100)="02", 0x1, 0x200}], 0x0, &(0x7f0000000040)=ANY=[@ANYBLOB="0017cc083b"]) ioctl$AUTOFS_DEV_IOCTL_PROTOVER(0xffffffffffffffff, 0xc0189372, &(0x7f0000000080)=ANY=[@ANYBLOB="01008be20f9322ce8a54c54a", @ANYRES32=r1, @ANYBLOB="00008002000000002e2f66696c653000"]) inotify_add_watch(r2, &(0x7f00000000c0)='./file0\x00', 0x400) sendmsg(0xffffffffffffffff, &(0x7f0000000c00)={&(0x7f0000000480)=@ieee802154={0x24, @none={0x0, 0x1}}, 0x80, &(0x7f0000000b40)=[{&(0x7f0000000500)="3e7ac80d768cdacf6441090a5f394506a23d6896ff22878af0afd00885722863fecae9a9b47091524ec03836961b8181cddfbd8054eed0f5eb3b86f5656eeedafbff2f0835fa686af5801bd5903160ca479b930bbf2a1cc35666d0f56e4cea2240d8fed589a0c72938c799f3e5efeea3d618bfb9caf367679a852b066d14679e6022192ba1", 0x85}, {&(0x7f00000005c0)="5b729d34768dc013132082d6912c690f908db94ed99ecdd3c2fec1ca46c0724a75e0eab3146b965a9a3cce9f5ac60a77b71ae68888b151d3df280fe2957cc2469308726d23a1b84a607680e7646436c5ddf27c0868c2b22d2ad565c783bc9501cc5b68b4526c458e4632124acdf2580ae6ef3687dbaaeb5668d783e114c1ab053ce8ece99a2a5e1d430d43f53cb3a39fbddd2fa83a6663a1d25ad4caaecb7190534c562e21d9cfcde953000eadc42a975bc4c7365ad92ff7eed99fc698858baa5dd5225b72255670d122fe9ceac7bb06e77d3a878f2b4d5b2a88c2b5a9792c44be316b8d22", 0xe5}, {&(0x7f00000006c0)="8d00296dbe67c87430af034aec7eddb612b3b951bb6d788ad2d6c2d86cb323b294e2421614101f340ae82a71e54f47c7c0ca1849222d3486fe745f9b42a94728fffb5351aa443d569faabf37bf941ea752d7566bffe162bfcd380b38bb356d7c8dc7ad1011d2a932daa096306f929540483ddb9cb9d01c9f699d500c00787f7dd9dc0efc3ae89b2c67e3ee6c77b92d8ba193cd5d273b11de43e6a5f6ed2a90ab7dc95a64b84ee6effce5ab10b5f569e29131c72f09690a5155e5f975f4bf775ee16994c04874cf520435a7123086361378495ec2151faa205f6f7e618426993eb021", 0xe2}, {&(0x7f00000007c0)="91f27dfdcc9737fb58aa94ea992f7429c4962047f18899c0d531ef98921fc2d731041cf38e3af1ff4a508cac77aadede4fba173469e599656d00ab95d0340d408b6364c559cb27465a8d1fb1c4ea78117d7b15b526bebba3451a8f6353d5d7743ff08aecce69cee72dcb8701fed0ddf1716d761e399ea427ad38f5c01191205e6648fc44f93f784d23d4cd9fa7f34e757db805a578d50dbe30a6a861cb146dc822dfac2c22eb2aaacd4b427b9ba754bdad33110d519703d70d14c7c87033282332b3c9f92a6f2ea73efe6fd48dacefe17a957af86f52ceb26e40ca5911182c93402fe844d1ed6238", 0xe8}, {&(0x7f00000008c0)="334630187dde769cae6ce9f97e76147d468b942cb46d29901096f75a0b707c02163303c07c93972f66eab532615a75eda12e8e6c27cc6453fd7799c2002377034a6c5dce8d49c158694abc5bcace173adfac8657a308e615dbfb9f40739564ee853596cc93cb36c039e7b53e4d9cca5e41b061d53fcc836393efad4ee6f0a1451825087f51a083afbc585b8bbc740f59882b6b8f44bae59e2522838a2305644aa979", 0xa2}, {&(0x7f0000000980)="d7f01bd207d1ac2c70d569b0e1bd075f95b1c2edd0e9ba5d06f867737915379afda8dd208cbd2ed3f2f64b3ecfec5298fb04d2bbcc895797f6b5669f1edb320986f1810204622a6315bb8c36819dbdc28aad701b8fa0c26147ae890835add2fcafdf988594deeddbb824c67f41436a00190bdd7f9dd960b3ab02b61013e8bb68c64b6d77b68ce4859c1bfacb70", 0x8d}, {&(0x7f00000012c0)="6383931412fa6b27cb3d061f695e98d6321db939f7ed8e817882586cdf2da6435d9cc68d105cede101e290843e6f9b774d2946855a5d24670cd3141031f07f5d8549338cd11fb196f830b5f871258a9ad6ecca551b886d2318e039d737e7e0b056bd773df64a5bd50d00bcd0320a49dfffd21a080bbce9f724b0f91add87a3d8f03bb6759e2f1706b98f862d9a59cf84dbab66e8ac8b8c0077955bbb485189768b8795ac8a5ba45b9f7af7490eacdec40671220b5971b005cfeb7577303e3a985283357a427daf4d38e35a3329d0133a7a8f52e8f09c5ef208f010541da276f4db5c0bba71bf89bb26fa9f6227960118332a182f17a0b06ec773ca27433c0ced1c904597e6e53423830bef8777607936a5de7c0367e0acd9679696183895f2d8051b618b275a25356e1ab59f9df7ab84baf94a33760adb63f67e281b186b2408a1dd39dd7cb56995e40fe94813f26d12f4b4b01d4204810b0be6d2e486dd4d56ff2aea42efde89919b1b2ba63506752a72ae27c1fa51152aed48e069568aad52c614ad16a84b2f7e5c12352eb1a91a6e0fb1759d2bdc7db4d118d0378e70999b073f3e5696fa727da1bcae80c4c7a32afa3a44ee071517196bf80223b59ef099aaa496448fe494b5691a94efda7dcc11896e563d4ceea91f22a1933bf03030a9ec3d7d22d2aaf965ea6f64896a543c739db87d9778a0937bb171396e4e792efc1c06e5e4b96e38a6232e12e903764592df9d924afa10484ade0f427125352304e315f90ba32a42f488f19ecbc60a91a2b89ea1f6691535de59359af7e207f8c48f9879e70cd7be8766ad8f3c04d4d4eb540f54f069613a05b1deda5ae1ce01d09688c9c218ad2b4c4812053b421fb47f74b863e22f7d600113f4880ad4db49d2c6383c381ee733160c7dcc1fd9f202fa7b0d9a0873ccb23b527122671f3006a0b8423d47bddd7275e58610425c190a6f88d2945adf041e8b5ddb94e668a578f9e871773a3863eb241a28c9352dff7ef06bc4aca10078dbb866633471767d56bd4d3fe4f46c64f463afa9ce2e95bfb50b54522629ae5eab71fb452bacdbf4cac7fb336408f31cfc32f5a8bb481b2c3d356d3e123f566a73089199a543283d0e98161418d4c7a95e802d38436b41386f9e9335feeaa7021d4ae59846bb6e3cff6cfec35812b5f3d05cd9f997c18de31f2beea7c89088bc4585fa31d4d37811c2f07b9aa73ad59e85be11a16652bb5a04a6af128b31a3c48793e3df2b3ed034f8ba9bd6448b3d55b2ce1bc99325017f5f04cb106bb242f94b29953499e58afdfba4d7b5ea16bddd61964a3cba36598c43fb556860804b3ee87e5cb76a971fa9700999731483386896b9a78882c9ecddcfeba80f33728c4d8dd86cfa911fbfda51440418db54ec2ff738cb9c92e61a90ec656ec3dd0fd1e918c57c7fe05d9e2f5bbc4a93a8bc2321db4c2ea9c6ef747e1ec4013f216c1d0a35672bf8cb70e60cc6e7d90383a223ea20dd22268880c1f54f98066c5264c271c98122c074339c72e15bdb1157d095a16707ba4922b010aab09c257c5bd0b3496f81ce1268e63bbcdf3c32d48c81ffc06269b40d1ad749bda3a18d0ee4a14b1ee863ce53128b88df5ee7bca91d2e5be5b90f8482abf14862d6b0583cccaea073330c04b5c1752df944ee9c44f8778a0080b1d725709db95ee950b32ca55478f7e2127525969b045a5dd9831e2b782e778b319161f3adb7d429e4c2fd5543009869a9ad2f9256a436b09523e4475159bf649956391a6a12c2d5cc529e204f219f6b49aaee04b1162130a4a8ac0a9aec435ffd4c8dc13c76a99ee48edfed88c141ac3927c28f2e95ed78073679795ad0092f5090f42df96f64fc31ac86a5831affa387405798fefd17b29cd7ea60bec9b7d4782af1ee0af3517d36ae023b052f4012624de5f6fda4da72abcf8a844eedaf7b652a895a831378f14d7a4414e2eb72c8f4025a5043155855bab6a5e2ab4aaa9f159c11bf54c4f77df21cbb93c531782f9ea7ca3d192d47cfd573b04f82a170cf0c069c774f584d25339665d58134cf867be2abf8e8af7c4f65ea5a677af3fdb6f4b3db7852f508010cec0f50ce3db50a6e11bc9fc4e1af8ec4ba06889299b3678573405594d6043b7ba68f978a4ba5e9facef01ea4680d66ad813cb5de2c8336b68564245d3d5a1c850d082d56d8d5c2bbb5b625e1e6e7b33857a26225f057fb53c1a98c7c0c64d821166aeb06a85de29c4a2114edd3c0a9004a88db92b311386f24d23db28fea7c2160b5fa31a8e17c51f80a4e8d394f0ec8c957bf5e270b8c400b14d56a7cc39f74eaf1f7a2592317a65df6f9418fd960cb51fde637cd0c4feb1a8ada113864f05c26080aa51d132bc1d611455bc6a6535904748b28669880e9e7c97b4ec4dee4f452cf8103cb10f29d1f6e82b20c3889570723e6d44296383b88fd8342a6531ddc73cefbb399db618547c667003154f0beb6093eabb3f6c58ff0bdade826b85fe60187b52806cdc06b3b34b5838e1af3d8c09f07218bcb56c01f3e8ed703515d1ad927912ed60f96acdc1cff28b89b33a0a438815bcd6307531da863dcb60fcb7636ade663bd5901a883540031b3bcfafb055dbc45c50cf739d5648c26b0a98dfb9f6bd7fd321f5be25d288354d4c08e24ce6b4fe67507dfc9deba47c536d8339ca7b6df80a0d344b4029b436a58f5cad6ee644cc8ab8973a79b8bef69a68c0a0c52f681013771939042b288d829eb01c84687c7d45cf18b55b2c51b39ad44dc025b3f7abb6978fbcecfddc720283789b47fd61e6eb247761c2779f2952bfe86049c1b06d2470b8b3b95d940989afc0dd3825579465d38f1fe96071a2bf8ae470d794acf6f24e2946d5a2ed7db30f58ed39751095699d5dac607b2840ed0b34d8a3d95203bf11246396c18273d5353b6477440a1842c8c034a87556ef531b9a81faff406be11d7d2190fbd6c458c44d4867cbe40801725de74e9d8e9d636ee38a18b9ce807eaaf06c529f409f43316560e385549048068d6e0468185c1aef0469b2dfbc128bc38c3947f039b2dace9108a3f0adcd0d79b26065e8f184fcf3016e140da6af4258d25bec9af79c32a4f8d54942e8935136fe0b7627f6518c2a50c617d40b870b5d942836001525488bb0ca65a1b9ea1c7f6b807e3a44844e4c8ab74a577787792caeed31221ba826e8bc9d7018353d4df97f6a6c56feb78fc8b5833dc8dfa965989fac80fdc63e1d14c084b8105733508a4cc7c37d57c9bb914eae0a31854d5678b73f935896590475a0b55ad236a62d22a4dcf36ef5acd90712f291570f33b608d124b10ee56a04a22785e29eda0bab5d767c2d6bda593feec2ad50d32e7464dd79019a99f5c77f129c6f84092be73d2416f2604b7cc0d4590302f35ca831f131714b2fd46aa3d5ce190ead4ae578e8cc48be03de3df513d785f4737266e9a29d844a95b5ec1cb0bca2c1b3ffc1f30011cc6fb2255d52a6cb74b2cbf6c2cbb546e523edfe5d439d850cadacccd272e7795a2213da8c7882cbb58b45d3a9b3e740caabba2260fa039ae9f99d8f13f24000572895f028a610e79981cce83848b45722739584e471463fd539ebaa3615788e5dfac8d2a151025ad4f648afcc0dcae03739b59fef6a5d242c86ab6c187071ddda79a73281f908ecd5ea770b4f6b16e5d65e2a87787f4c99d45b27f8fb65173528ca8522b1a4f4f912ff1a8f85cc49d4a44c1f1ae98d5888cbfc2271788811b279e97cc2dad2d2a3eb3038e61cdaf85197adb3e2bf52060fcd8a570d74eafac17619c086b3cdcf7040140dfdb6d68665fdd9b9daa286b9611fedc0577a686bf084d2d824435f7ba446bb7b827040adf07e2f0ef2c490940c2c684820970ad242b4f99c064a7822a1eecf8d58ef6e4663b2a2224d9d674723d4598bf390a72da9b12094bba75dfd14f90e07343e665b126c33b38d9c5b4b09bcd2d4b57b897fa262989b9be660aba705fd1df73131730cb6940aedf7e9dcc3254a97f289e87d2670a5640a242da6e7eb66ee12f391ad20bb1babc2eab8e1c58a5602ac488d54864032a5293f0848021d121407a2610da6d1a9b85b50ceb9c57ddb1f61c2e656969c67b976d4a52ea736c63da7cedf00c8f21d32132bdf58735946127f8c49fd9d2e8b1ca98f985919026ed166412ae3dbe63718b5e0c86fe6f622b2e8095233fcd21b459423d2658c1e70b0eedbdf35d4f22f6ccdfbb2620803cac49769ad74b4e2ee6a8bc3a8f9a71f2fc4e062884c439de4ddf6aa20363bb09c1a62c1c82a8f21b6805042b13edd2847dbe2ed4344b1e456e670c8681a9fd6acfdd9373e7827822e6910e03326cfcc88d9a77120d064d64096f8df83e5b854a2c9e06a18bacd2eca7e87668ab5925e7b1e41a6713937d22ad7c50437c890d178f602153391f449411bc468fb907b57473e3af4fce486f9d5c7999a85382d3c08bc4a1d1aff6ba1aa7c59ac63299ebbb67adb7f8dd68dd05207a8e131d95b2dd232462830acdb42a94fb41c24cc3e6dd05151eaa32fc3fb49128528dc323d643a57dcdb58600c967b59ca5ae5b172d600b248a45326d848f1362f218c6b318830e23976ed91bfbe7ef247a0ce665d484cb0d17261ff0c62a6c119ddc9b8c721762d49db6d59b25d5e6b91c47990865fbe89c149583e1868eb9122e70c224ebae8af564b4933c984cc7b29d0340c515b523f6e19d52ef64681213db1844f432814a960a24373856e6246d160f225c477d20ba95ea08c6d7f51180beebdae99fbda7eaee8d42aea6866e68f22f15cb19ee8bd246860560e380cdea82fb4055d5e3bfca9c474af471f9561adfa463c3e2a49ffed8b9027b5ffac98744389264ed953b904c3fcb44723445c2bd68819b4c21bf525d7c55157f6fe6c2a7cfdfa4684608c99ef4f296006a072518d70de4f4f78320a3dd90f31b65ec6ba9914ab2f4de572752f0af9b33ff2780ad4402391f7b5e8a10877b693ccf0921e26f941cf935acc4d2b600f2d977f5050a236d2cb2602dc6e74cf393ff966145c5a245086a9029693138d551033be7fc5055c8830bf7bd77b35812e35f8f18a76ec324c102c1ff9990b8e9a11d4a10ce4e6bb2b5e72fcf51bf8fe87017a3c68f101a73de6608244dd61893fae23ffa15acd1d8ac6d1c7bd6be22d861f315ee7aee74d91336e8cb1e452e087e82ca11dcedb4673c1e627d37ddaa4d97597b68e4131effe80e0e43a6a06466d56706e23feff091b84c9e7956f85fd3486720b1950639f18fb3db82e0a6979c9aaa902c2d5161d69519dc2ab7186c3c62345ce3a1cd6c5ae1a580bc24f253d44a0ec22b8731db2a356e5c8c0f202f588ca1547ab593cad9b516429fc00e1a553093d1cb4ae42e337af9fe4bca6e04b33fa76aa04793cd46446f58defa7c6d4cbdfbb43306f320ba736976b4b4ae63a559e0169ed9141708e0061a1a54e68d740ecb4eb392b35429f946cdcf16c0b0a9afcb8a5baeaae9f724cd4a036c07942b0d45fd5ce2d6a922d8da4fa538e25afa19899b5229856ef6c45bf712e08b525f71adbbc78b7e2f3aeec859deadbc981d6de794ddedf431a99abe69f9885b14e3a47e7de97ef3367b47652fc8d890a82a3dca7987a12acad93175f48967e33b0e7acfd588a3c51b050b7d3eadc867acf7801a787aae2891b6ac78d9a7c7fe6261ae5b8b77c24530303c86457e95def4ce3344d74a6fc0c44017cbaaedd84feb74cbc1e616371e156525d7d595fd3d6430d59f7a93721ac3d29bc101c8", 0x1000}, {&(0x7f0000000a40)="9bb3a9ae8fb91fa0b23b3cf27881d80d616822e820dc973dd3af52c19e07a45effd95908974b1e1750285b64a52bdc62f6b1ded47095024770222ff292a1cdc0a28227c08f66d11816a985fa10eab8fa272aa4a74321841bb28d6904b8d671b8ab", 0x61}, {&(0x7f0000000ac0)="97a27e4df102bb186fc5399d35bf00c662364fa3f13cb0c8f36f66a53a3ab7f8622c58a6e791c98dbab8174385fa47440df9996614e14f897c9ff124a20d7cc58e34730377474df1ca488abc9c018fbd5077189f2e3bf3495df3f6702b794a2c54686390ced50ff61084714bfaba29c3", 0x70}], 0x9, &(0x7f00000022c0)=[{0x1010, 0x11, 0x9, "363a27173960527c8cb64400e6382234dbeb727c1d710fa4180059b63c94dafedb65cba7e5d3f158ec77ebb8e056fbc3d00f8c4f5d25798258bbf8176ad5ac586f2b4d6f52b8c273410bded1be37fdeba02dd3bd2b15f7cd676afb25b34632928a82a91f54c435c16a217abd00a580ff49edc7082234185c850263f58d5805b822dfd8ad36413f8f1b031db9673916118c14f24aacb9872df81dd66d5652aeac010db459168a789d370a7fdeb31f0f5506c413a60c164fcbb4dbcdfac14c4251caf8a327e3a2bb3fee30f4c25ff9eb3d2ba8cfee14a269c7d23f5fd1559be92d4abd5749cfa6528df794d1f61a8c14dd120d281949990d2a8c3e087e6b9955ef7838124263c05b8b7e6e13a27bc7248194afc2c942043a83f28140ace321469d03b173164239761a2157ae221ee98c5a1954e07ad0768a9dd1c51eb3b643b7aa1f5b874f948e55b6089d3a8ef55fa3e09d4775bd3016f8da3eebf9b720aaabc9ac87440bdc407a1da43c00f8631877073204151c3a1897d1826be9647d614134a9f77c8028c3e75398787be5cd9bb96ddb0affb5457414eee1dda2255ec539ef6a94ac3e68c30aaf895cc2014ab8485f8ad67e4a5b5dfb9bcc2a9c21ac73c1927cc6547a78242cf951afecb8b3bc746cf6723bc5acff5448a8f3e8cb3317a4e9929c40726d61946c82ebaf250bf3d1a82e10208d9872978f3ebf87415cc0c64e950b705472ef809ef41af9c195af1e5037bd450bdcc9d53cdb07ebb3939f6a31fe593ef63c457b81d1e34b8936a0be482cc101ea2ee168b20e6ab5a2198e1405a546a848de60455facc7d5a325023e71d4e3cb1130d8a79501d18859873a28d91ac45faf1e8393859182ece0f043de87b41e03617debe4931efdf33c8d3d16526dfeacfaef2b7183496e24caba792511443647daa6a1453f0f918fe6ba7af32998297a516d07e756fac0af605c5bb0d91c3d52d7536091711a848276487c4bd2e134f6d20e911f65bc47e89dc72d730b7f44cf76ae9181b1fbb4a47910b874974cce1f7107eb8e704cc6ac4f054a2931fd85e7ec2bf48f8d8959580577b99fd2b6e36936171110cf99be9e3a606c15cc13a8b17c6ac1bb3579c114bb0dd800e948dbe429ae9709c46dd0ca4aac7edd96dacd475299a60c4ec031b5a12420ce0805830ad091806f5f46e061cf2f2d6c2713cd60f1e2eb8bd29eb445403d7af2b6a9e6262ed18c64250314740420abbcbc89dc8da1b358078506d12ed00136e0e2382834469af30606ebcc201125199730a64d787c717ac842486821db0d7123446ccb85db68fc584ddd491f85455e5a90710ee6ab6866e22542f378cf0b08245d6061492e17cd7d35ae1a7de58ebf837dd7f75030eaa663a2d0a6ab65fe08611c03fcc5f73a96e41929779a7214ca2650a24b8465e51cd9704eeeec0a153e3993c5aac350b036a418e94c5ba2bebf192aa8342dc59412acdcf936df4aae22ff929368222aa196ba0ce46579c7778245f75b83a0902803e0b2b7559bfe62516770321a40b5b42e128f396f56c094f5c8fc182610a343290fad1fce21be8ff57b01328322d2e163897fec9875dbf05cca2a74eef202f7a7c93f2deec808a48adcba16c7d3cae62fd9d868525b6470c07e0da33913632703a51571a06f39a03a1f3d764f9556ddb7da740a1e0b47dd4be3f72738dcb6b40f91591f65a3a6c06e377455d0bd042efcec73a82ed46813e98fd97b64c2c61afc619b33a2570a22a511f07b83f2405b5b29ad11f47066de241aa6534ad66b9980d5f4aab95d55ec07f4bf791d9df26dcd72d330fd4f4866c61856d1178116b042a7be9d6bc3a31f0992fb5f9e073c57b4786923e2d3a677212d7ed763dfd1bb2248b6c189df8a80ec1991c67bf5a87cb7732c7963a5a0488c8265f61a076ba943bb9ce99275cd7a34c87fdf815d28b553f8a96bbd09812aa5c28faae4008d939d980241015383b4f14613055818a099016b360ff73974868121b6885e196c70f37d9a0a1ef37f853ec88490ad0aa5e49662ecf5d2709e660c61330ad741784268897829505f49c1d0028cde4e66ae421834946e9469c3517c2bc051e371715c3581f244d6fed69ef4cbc802b0aa5dba21024c6853b37d24bad5b83ef40064bb239e721533cf7ed802688671d9263e68f2ceb33eca3fa2b3469865ce5fc806584ff2b5c7a8cd5a518a2378b71a4699e42e7756d91a505162a2876af3b0cef1e2ba564810cf47d2afd93e317b9c5b1967a03c722d5bfbf354a73cbcdd4ae1dbc45528c11b656ebadf81204810b96ab8a24e5ca4e94435348d935f70b40d47f23a6230f2df4b08b7a42a3856f7cc0ea2234ea97d68bac9ca06f9e8a296a6e940a37ab3228babf69cc6eef253d1c813cd9a8383b70a60de87754d3be0aaa1514ecef44381ba17910094e20d93b62ca923dbcbe775109f2b4fa58cfa767bd1505e550b586283369c0e4e2e36418824ad58a0360eea449f3b6f961c016f011513d260603674edd78d53b844f74c08d44bdd1b9598a890207aadcabbfa90bf4e8fda4ef94bed18e170ff11eabbed368b64f70244c29be49b10e044e1649fdd7ae1609646caabf8312573f7749303ede5f0294d0b67683d803626f6c97f927b5108f5993d94e72b8bb1e7fb4867b5d97b3c4ea8372958bf6aaed481f7d8f16092d01bfa4a0df910ace8543e208fbe0ebb499ea6b2cb53d5b2f280d9d2a80fbad79ecac56c056b0647444ab71f8bae1d8c4e65f817a62d85314c3e284954e86dd834bd11551f6d497f2e59bc3dcd1b6208c906a1c79daf3fc399bca65772b777b7ba3dc073ce29766422e040eb9fffcf9371ea5fc142675abcab23906fe5bf9fa1911d4c1ed01808381fc1ae5ea1921c0cbaf868c34c2c475e76f35f19770224494c8d45a40ec1f8f06a3c7ecc48d9de25fdd2f3828eba8282a4c27b3cab0dd0a8fcc12d84370772e371afd510a9664f88d79b82999332ffacaf4a2ecd2dd1f7ed4aab4dec7e7d9b0dfe0e295f50f16ba29071e767f0d2b16b2e642d94ad3515a281949d9becf0018cc5005fa470900ca62bb54972a0e71461fd4bf7c58a826eddad2b59fdfbdb231d84a159180324ac16f0066a01de33c7013b99f1f3db68f8ff6712bb20d9c293f3ec2bc0489264a2d891d70b6dfa08b17eb3bced1bad8128a9fa0468d1b97dfa477b3de6dead6a848659de8c6af136e33f2e28d9298d36a5b8d4156413e3cd135059721182c3b688b26f2ba1d0d5da79e7c0950ee93e4b346d5a89ecac450743d85f0ad56dac2e2fcd6c27582d191f60243f0fc87843c3aa2f8353de4be511f01e90f3f1b27e33327d019df73c6f7ca7ae5207ccd77fab7c635a38fbb80d800a8cff678e251935a543ca6541e5950f9e15bbc8ca23f00f40fb7cdf6a335509b4216a3f4fe981e4c17a9984d96036d08c126d0ae1c3434e0aee07c2fb141d99183ad5f5bf8ac978675f07fb37c165395c59437b6bd9aa7f76b50b8a43ffe80abe78e937e159a9b5e3354d104ae479982d41c86d23983af2f672f38c2119670bb59ad3f1dd7cdabc3d7247a0b734258e2fedc8540f8fee684123501e4a91d5f77d2889e54864d7abc3f41ecd2d0b4069ff5f8e82bb666a318fbd708081c13d1f5aa8417cd2dc05a054fd74fc50895c85cbdc940561472524e5e90b2d9b27569083830480fa687812571c19e21420b33fce9b412063d6721dd5c39b4dbcc85478b4c66f00656d6a9cb7375bc3fc48e554df817f5f8005273d7ef1d010094fa78eff0852399512fdcf343dcd6f62f9edd78b59e4e67cfaf6528cbe3cc7081067a8b3fec1421b8a2993d6e289895b8e471d45c88403c2ec5cc166b10b54e7b53e00475b686ddabccb15210626f3f234d29975eddc17cb8f8fbf5764caebab36d57a24f24127119328479922273dfec2007c6cb3e5cab767fe489aea9da09db31049abb48e216d12b39b7e3229bb2028c59cf9b8c17bd924cdd0aa2b07daee06cdd45deb8b4ecb4dcb0d0921947bee7bcaef9e0d652e98805e2e4a4e02dccd0a0657cc46197be40fb1aaab3fc797978c5d3ad0b1acdea9889f1ecb2b317df6f8eec68f270e53a3268dfad045ee3c1e91a2ce60745c7eeaa4b99e0a12c04770414f282c3e8b55cd2d33560beb18293d236e08b33e171bb1d8d6a7feb890abbb470adef61c4cd598fa2e28cf8d5c3403788c0e5606058d1a9a36a6f7301b8542680f51a9452f1329dc22010430174c3a7dc5dc1602233391cacb0b119ee69126483d86bbe02c2b004c73513af0e9a34be207628d92fd23ea55e13335a0e423511c5b19b642a8a55480e066a7a1e5d56202ec6ca3ef2ffafb1792295089bc6dba09338314e2efa3d583d9b006f73b51bf679ffa152558aee70540c27ffdadb59456867f8a71ff42ab723d9ba091efb910f3993644949b290ad277f2cdfb5e11296c83da635a97f54380336212e9f95f893761ed261daac9ba0e581db741c670fe5cb1fc77a1f12f5af0450d9c7e0e10d1ccc61b05c144ed9df25219401719b35094b4f18bb8bf12842aeb2dc3179aa5cc6e86d97a383cb0ac0a1704ec6bdb18fc58f041d5c5076bfb8437eedd53f417cd27bceed229a4b0185119a0f3d541219be10bc4e4683cb9458e990048de0e488b131fc9dfa0c6a826f79eff0f76b8f1b4b28bbb604ed418ae14e8b815bf293fb19839a1e13b456a92b1414618b3f5cd8ba00334c70b5d0ab6c62db330777dafa18da2a870f1f9bb3265423015d0e3e78794e2c4ed574c6a42104dd9e4a73bac7895d2f3326f3cb7aaaabbd7863e328d6c203c45ead3b6083bbd6df624f6b77e3aee097d9325d671191051de8e19c4e766560bbfd8b16c7517851b623e4cbcb4ebc84b4f0adcd08aafb91e8f5c9e5adc1bd82393611f3d28fc4e9dfd5807afb040aece84a33896689b2348b659f595919dba341501888bdfd63905e84adba8f9a99f2751b63144f110b42241009d9b64581d4fe92d5e7e71de4ca7258c0cff7f450ae9be03fc83ee921b3598b8d98ac98f95f116e52c755ea255206e8d6baabb6a40c1e2c166dceeb2e4bae0e830446ba8c1eae2e6114e6e46b4b2467730ff2f4b507d1936eb3feed582d13e511609a3f7df145e889d1cfa08a6b67d21fe742ec98ff76f56ea7a37bf24438379c9ca8cc8d3ae8935da1591388a1163786c13958f598ddf351acdb220cee7be80e16372876d721d5f83c8abf4f3c157d6c96a834e055121e43160537b57479a5feb02510b7247d5c10a1f7bfded54bf214b576bcfb40e6728fd4847fb74416af9b618d91dc38931df3b2dd9e9cf865aa052541fc8ffa75a33ab5145ed2f56bd29104ba6555b9c9ef2a7609ee156c2bfbf0eae6c301f3855ab724b1b643065e83da5c05013f9fb7577c20f07187d49f8af537e5737156f6c4e22dc2269ba590cda6883a6145b8196a7c8d2d773ead29833dc47119365afbd0c8bc267bf6055a61bb8519a115614618273a5847c6f821a1d605e94b716a9f3fe4e4542f1a7a6c6f3d9f028e1554a57bd2a03294ca8dc5842a3097c2501748fc47b45a7427ad02a166e3a9f35928d55eb922584784e811736fd9005ff2a16e30e593efb113723d727b9b1f21731c93f78319ba263c8302c429a977ae6de667945fdc2c925b9c5dbfd54d8c48c0cf9f93bdf068405696a6661b03553c726411c56b5ac47ea3aad14746439ba75d3be800c9f2069cb09919509e6c5376ea1aba77ac232105700e61e5d1aebc94454b29a74e89a486a022ebe"}, {0x40, 0x112, 0x9a3, "6033a2ee45e41c116c2b70f4d902b35b6fa3a3e782622d453bac38c8ecbae28c962bd236ce41a02fe24edd"}, {0xa8, 0x3a, 0x401, "a5fa15175e056137a0b2073bf4a829ee2aa92d8f2074ade897111533319e945b68a2370cbd9a19b60d0789c589860fb13d0fe45ba113e98c5cf4c0475a169e85efb2acc4412a80fa064a8dd32e40a087e513899e812b5347a1c7b444d69be87a820fa02029f3695bc7a74baaf50c27604d95679b545a8efa54361c3e4711ea681e19ec2e1408912752ed28ea48c522bdc03a44a0a01f"}], 0x10f8}, 0x20008091) r3 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r4 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r5 = syz_genetlink_get_family_id$netlbl_mgmt(&(0x7f0000000080), r4) sendmsg$NLBL_MGMT_C_PROTOCOLS(r3, &(0x7f0000001280)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000001200)={0x14, r5, 0x720b820248f7e34d, 0x0, 0x0, {0x3}}, 0x14}}, 0x0) sendmsg$NLBL_MGMT_C_ADD(0xffffffffffffffff, &(0x7f0000000440)={&(0x7f0000000380), 0xc, &(0x7f0000000400)={&(0x7f00000003c0)={0x14, r5, 0x200, 0x70bd26, 0x25dfdbff}, 0x14}, 0x1, 0x0, 0x0, 0x4850}, 0x44050) 07:26:39 executing program 2: renameat2(0xffffffffffffff9c, &(0x7f00000000c0)='./file0\x00', 0xffffffffffffff9c, &(0x7f0000000100)='./file0\x00', 0x0) r0 = perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x41c1, 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, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) ioctl$PERF_EVENT_IOC_PERIOD(r0, 0x40082404, &(0x7f0000000000)=0x81) write$binfmt_elf64(0xffffffffffffffff, 0x0, 0x0) syz_80211_join_ibss(&(0x7f0000000140)='wlan1\x00', &(0x7f0000000040)=@default_ap_ssid, 0x4, 0x0) r1 = socket$nl_generic(0x10, 0x3, 0x10) r2 = syz_genetlink_get_family_id$nl80211(&(0x7f0000000200), 0xffffffffffffffff) ioctl$sock_SIOCGIFINDEX_80211(r1, 0x8933, &(0x7f0000000700)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_SET_INTERFACE(r1, &(0x7f0000000340)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000240)={0x24, r2, 0x5, 0x0, 0x0, {{}, {@val={0x8, 0x3, r3}, @void}}, [@NL80211_ATTR_IFTYPE={0x8, 0x5, 0x3}]}, 0x24}}, 0x0) sendmsg$netlink(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc800}, 0x10000800) write(0xffffffffffffffff, &(0x7f0000001400), 0x0) 07:26:39 executing program 5: timer_create(0x0, &(0x7f0000066000), &(0x7f00009b1ffc)) prlimit64(0x0, 0xe, &(0x7f0000000280)={0x9, 0x8d}, 0x0) sched_setattr(0x0, &(0x7f0000000140)={0x38, 0x2, 0x0, 0x0, 0x9}, 0x0) r0 = perf_event_open(&(0x7f0000000080)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x317d, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) syz_mount_image$udf(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0xe, &(0x7f0000000200)=[{&(0x7f0000010000)='\x00BEA01', 0x6, 0x8000}, {&(0x7f0000010100)="004e53523033010000", 0x9, 0x8800}, {&(0x7f0000010300)="0100030012000100cbf1f001600000000100000000000000084c696e757855444600000000000000000000000000000000000000000000090100010003000300010000000100000008313233343536373831323334353637384c696e75785544460000", 0x63, 0xc000}, {&(0x7f0000010400)="0000000000000019004f53544120436f6d7072657373656420556e69636f646500000000000000000000000000000000000000000000000000000000000000000000000000000000004f53544120436f6d7072657373656420556e69636f64650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a4c696e7578206d6b756466667300000000000000000004050000000000007810e4070913142c1643092d002a4c696e757820554446465300000000000000000000000405", 0xde, 0xc0c0}, {&(0x7f0000010500)="00000000000000000100000000000000000000000000000000000000000000000600030061000100fd10e8016100000002000000004f53544120436f6d7072657373656420556e69636f646500000000000000000000000000000000000000000000000000000000000000000000000000000000084c696e7578554446", 0x7d, 0xc1e0}, {&(0x7f0000010600)="000000000000000000000000000000000000000900020000002a4f5354412055444620436f6d706c69616e74000000000102000000000000000200002000000000000000000000004000000001000000002a4c696e757820554446465300000000000000000000000405", 0x6a, 0xc2c0}, {&(0x7f0000010700)="00000000000000000000000000000000004000008000000002400000002a554446205370617261626c6520506172746974696f6e0102040500000000010000002000020038010000a0000000e0070000000000000000000000000000000000000500030033000100cd0af001620000000500000001000000002b4e535230330000000000000000000000000000000000000000000000000000000000000000000002", 0xa2, 0xc3a0}, {&(0x7f0000010800)="0000000000000000000000000000000000000000000000000300000020050000a0020000002a4c696e757820554446465300000000000000000000000405", 0x3e, 0xc4a0}, {0x0}, {&(0x7f0000000140)="02000300fe0001008f77f00100010000004000006000000000400000c007", 0x1e, 0x20000}, {&(0x7f0000011200)="080103002e000100c059080000000000a002000054000000fefffffffe", 0x1d, 0xa4000}, {&(0x7f0000011300)="000103006e0001003a1ef001200000007810e4070913142c1643092d0300030001000000010000000000000000000000004f53544120436f6d7072657373656420556e69636f646500000000000000000000000000000000000000000000000000000000000000000000000000000000084c696e7578554446", 0x79, 0xa8000}, {&(0x7f0000011400)="00000000000000000000000000000009004f53544120436f6d7072657373656420556e69636f646500000000000000000000000000000000000000000000000000000000000000000000000000000000084c696e7578554446000000000000000000000000000000000000000000000908436f707972696768740000000000000000000000000000000000000000000a084162737472616374000000000000000000000000000000000000000000000900020000600000000000000000000000002a4f5354412055444620436f6d706c69616e74000000000102000000000000000000000000000000000000000000000002000040", 0xf5, 0xa80e0}, {&(0x7f0000011700)="0a010300ed000100c6e7d0016000000000000000040000000100000400000000000003000000000000000000a53c000002000000000000000801000000000000080100000000000000000000000000000010e4070913122c1643092d0010e4070913122c170936350010e4070913122c1643092d0010e4070913122c1709363501000000000000000000000000000000000000000000000000000000000000000000000000000000002a4c696e75782055444646530000000000000000000000040500000000000000000000000000000000000008010000010103008500010033d418006000000001000a0000020000600000000000000000000000000000000101030087000100e81d1c0060000000010002060002000061000000000000001000000000000866696c6530010103009e0001001ffd1c0060000000010000060002000067000000000000001300000000000866696c6531010103000900010097f01c0060000000010000060002000068000000000000001400000000000866696c65320101030028000100c3e31c0060000000010000060002000068000000000000001500000000000866696c653301010300e4000100b7a72000600000000100000a000200007b000000000000001600000000000866696c652e636f6c64", 0x1e0, 0xb0000}], 0x0, &(0x7f0000000380)=ANY=[@ANYBLOB="007beec12689ab340c6ccb9f2229da59c6a414b0e2abf09f5399de0e231fbc20dd46252984e66dafbb0500000000000000ee7eee2beafe8df6bd8317dcda1c4159e2676476e87a09294792e880f844d751789d7220d8f3b9cb514700601acd2b3eaa5f4ea2c95c2cbd387f764699ce56a7c81ba363081bca65b7e3e4d804b4b44b498fed883519a0103866f7e6bd9c59ce08000000e7e06fde0c37b7a0c90c660b280f7d60ab28987e78ea1ecb658882382cc43919447a731bd749dc1c5029d5446185b755391866252ecd48906fba16b52c9c5f991fb872f105aa28ec4596c2ad6f6fa66efc8d580dea5f492176e3dc3e0ac3ac22c4e7a0c1"]) perf_event_open(&(0x7f0000000480)={0x4, 0x80, 0x0, 0xff, 0x7, 0x40, 0x0, 0x0, 0x104, 0x1c096e3a7b6fc583, 0x1, 0x1, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x0, 0x3, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x100, 0x0, @perf_bp={&(0x7f0000000040), 0xf3989e8eeb46179c}, 0x20, 0x4, 0x6, 0x1, 0x1f, 0x3, 0x7, 0x0, 0x3, 0x0, 0x3}, 0xffffffffffffffff, 0x5, r0, 0xb) r1 = gettid() rt_sigqueueinfo(r1, 0xc, &(0x7f0000000040)) timer_create(0x2, &(0x7f0000000180)={0x0, 0x1d, 0x1, @tid=r1}, &(0x7f0000000500)) chdir(&(0x7f0000000140)='./file0\x00') r2 = open(&(0x7f0000000200)='./bus\x00', 0x141042, 0x0) write$UHID_INPUT(r2, &(0x7f0000000980), 0x10a9) sendfile(r2, r2, &(0x7f00000001c0), 0x8080ffffff80) 07:26:39 executing program 3: r0 = syz_mount_image$btrfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0x2b, &(0x7f0000000200)=[{&(0x7f0000010000)="9bc4d0e600000000000000000000000000000000000000000000000000000000e8b440a6072149d487da26308fdef361000001000000000001000000000000005f42485266535f4d07000000000000000040d3010000000000405001000000000000000000000000000000000000000000000008000000000030020000000000060000000000000001000000000000000010000000400000004000000010000081000000050000000000000000000000000000000000000000000000610300000000000000000000000100000000000000000000080000000000008005000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000009e0bd5624c904fa5bf4f610a97080687e8b440a6072149d487da26308fdef361", 0x12b, 0x10000}, {&(0x7f0000010200)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\a\x00\x00\x00\x00\x00\x00\x00\a\x00', 0x15, 0x10220}, {&(0x7f0000010300)="00000000000000000000000001000000000000e40000500100000000000080000000000002000000000000000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000009e0bd5624c904fa5bf4f610a9708068701000000000000000000d001000000009e0bd5624c904fa5bf4f610a97080687000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000009e0bd5624c904fa5bf4f610a9708068701000000000000000000d001000000009e0bd5624c904fa5bf4f610a97080687", 0xed, 0x10320}, {&(0x7f0000010400)="00000000000000000000000040d2010000000005000000000000000040500100000000050000000000000000c0d1010000000005000000000000000000d0010000000004000000000000000000d2010000000005000000000000000000d10100000000040000000000000000000008000000000000020000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0d201000000000600000000000000004050010000000005000000000000000080d2010000000006000000000000000080d0010000000006000000000000000000d30100000000060000000000000000c0d0010000000006000000000000000000000800000000003002000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d301000000000700000000000000004050010000000005000000000000000080d3010000000007000000000000000080d0010000000006000000000000000000d30100000000060000000000000000c0d0010000000006000000000000000000000800000000003002000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040d001000000000400000000000000000050010000000004000000000000000080d0010000000004000000000000000000d00100000000040000000000000000c0d0010000000004000000000000000000d1010000000004000000000000000000000800000000000002000000000001", 0x274, 0x10b20}, {0x0}, {0x0}, {0x0}, {0x0, 0x0, 0xffffffffffffffff}, {0x0}, {&(0x7f0000012e00)}, {0x0}, {0x0, 0x0, 0x50fe40}, {&(0x7f0000013600)="0000000000000000000000000000000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000009e0bd5624c904fa5bf4f610a97080687010000000000000000005004000000009e0bd5624c904fa5bf4f610a97080687000080000000000002000000000000000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000009e0bd5624c904fa5bf4f610a9708068701000000000000000000d001000000009e0bd5624c904fa5bf4f610a9708068700008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d000000000009e0bd5624c904fa5bf4f610a97080687000080000000000002000000000000000000010000000000040000000000000000000100000001000010000001000100010000000000000000005000000000009e0bd5624c904fa5bf4f610a97080687000040000000000002000000000000000000010000000000020000000000000000100000001000000010000001000000010000000000000000001000000000009e0bd5624c904fa5bf4f610a970806870100000000000000000000080000000000004006000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000009e0bd5624c904fa5bf4f610a97080687e8b440a6072149d487da26308fdef3611d57de2f00000000000000000000000000000000000000000000000000000000e8b440a6072149d487da26308fdef36100405001000000000100000000000001d2aab8915fdd4fb5a6cae64305c6f6e80500000000000000030000000000000004000000000100000000000000d80100000000000000393f0000620000000001000000000000e40000d00000000000e93e0000500000000001000000000000e40000500100000000793e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000093e0000700000000001000000000000e40000d00100000000b93d000070", 0x338, 0x1503dc0}, {&(0x7f0000013a00)="0000000000000000000000000000000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000009e0bd5624c904fa5bf4f610a97080687000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000009e0bd5624c904fa5bf4f610a97080687000000020000000002000000000000000000010000000000240000000000000000000100000001000010000002000100010000000000000000005002000000009e0bd5624c904fa5bf4f610a97080687010000000000000000005004000000009e0bd5624c904fa5bf4f610a97080687000080000000000002000000000000000000010000000000220000000000000000000100000001000010000002000100010000000000000000005001000000009e0bd5624c904fa5bf4f610a9708068701000000000000000000d001000000009e0bd5624c904fa5bf4f610a9708068700008000000000000200000000000000000001000000000001000000000000000000010000000100001000000100010001000000000000000000d000000000009e0bd5624c904fa5bf4f610a970806870100000000000000000000080000000000008005000000000010000000100000001000000000000000000000000000000000000000000000000000000000000000009e0bd5624c904fa5bf4f610a97080687e8b440a6072149d487da26308fdef361", 0x240, 0x1507dc0}, {0x0}, {0x0}, {&(0x7f0000014a00)="000000000000000000000000000006000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6406000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000004a78831f54bc645f000000004a78831f54bc645f000000004a78831f54bc645f000000004a78831f0400000000000000050066696c65320500000000000000050066696c653306000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000004a78831f54bc645f000000004a78831f54bc645f000000004a78831f54bc645f000000004a78831f06000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000060000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000060000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c653106000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000004a78831f54bc645f000000004a78831f54bc645f000000004a78831f54bc645f000000004a78831f0600000000000000260000000000000000000000002f746d702f73797a2d696d61676567656e3136323338323630352f66696c65302f66696c65300300000000000000050066696c653106000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ffa10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000004a78831f54bc645f000000004a78831f54bc645f000000004a78831f54bc645f000000004a78831f06000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c653006000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff810000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000004a78831f54bc645f000000004a78831f54bc645f000000004a78831f54bc645f000000004a78831f03010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c65300200000000000000050066696c653006000000000000000600000000000000000000000000000000000000000000000000000000000000010000000000000000000000ff410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000004a78831f54bc645f000000004a78831f54bc645f000000004a78831f54bc645f000000004a78831f04010000000000000100000000000000000600000000000000000005000166696c653105010000000000000100000000000000000600000000000000000005000166696c653205010000000000000100000000000000000600000000000000000005000166696c653306010000000000000100000000000000000600000000000000000009000166696c652e636f6c6401010000000000000100000000000000000600000000000000000005000266696c6530000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000053bc645f000000000000000053bc645f000000000000000053bc645f000000000000000053bc645f0000000000000000fcef903b00000000000000000000000000000000000000000000000000000000e8b440a6072149d487da26308fdef3610080d001000000000100000000000001d2aab8915fdd4fb5a6cae64305c6f6e80600000000000000050000000000000023000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c0000000001000000000000544bae790400000000cc3e0000230000000001000000000000546b826b1100000000a53e000027000000000100000000000054bf5d291700000000823e000023000000000100000000000054bcde42e5000000005f3e000023000000000100000000000054482d12f6000000003c3e0000230000000001000000000000600200000000000000193e0000230000000001000000000000600300000000000000f63d0000230000000001000000000000600400000000000000d33d0000230000000001000000000000600500000000000000b03d0000230000000001000000000000600600000000000000893d0000270000000101000000000000010000000000000000e93c0000a000000001010000000000000c0001000000000000da3c00000f0000000101000000000000544bae790400000000b73c000023000000010100000000000054482d12f600000000943c0000230000000101000000000000600200000000000000713c00002300000001010000000000006003000000000000004e3c0000230000000201000000000000010000000000000000ae3b0000a000000002010000000000000c01010000000000009f3b00000f00000002010000000000006c0000000000000000703700002f0400000301000000000000010000000000000000d0360000a000000003010000000000000c0101000000000000c13600000f00000003010000000000006c0000000000000000863600003b0000000401000000000000010000000000000000e6350000a000000004010000000000000c0001000000000000d73500000f00000004010000000000001822a8f12600000000a83500002f000000040100000000000018d65ba13500000000793500002f00000004010000000000006c00000000000000005a3500001f0000000501000000000000010000000000000000ba340000a000000005010000000000000c00010000000000009c3400001e00000005010000000000006c000000000000000067340000350000000601000000000000010000000000000000c7330000a000000006010000000000000c0001000000000000b43300001300000006010000000000006c00000000000000003b33000079", 0xf0d, 0x25074c0}, {&(0x7f0000015a00)="06000000000000006400000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c6572730600000000000000090066696c652e636f6c6406000000000000000600000000000000640000000000000064000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000004a78831f54bc645f000000004a78831f54bc645f000000004a78831f54bc645f000000004a78831f0600000000000000003000000000000000000000010000d000000000000030000000000000000000000000000000300000000000000400000000000000050066696c65320500000000000000050066696c653306000000000000000600000000000000282300000000000000300000000000000000000000000000020000000000000000000000ed810000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000004a78831f54bc645f000000004a78831f54bc645f000000004a78831f54bc645f000000004a78831f06000000000000000a00000000000000000000000073797a6b616c6c6572730000000000000000000000000000000000060000000000000006000b0008757365722e7861747472317861747472310000000000000000000000000000000000060000000000000006000b0008757365722e7861747472327861747472320300000000000000050066696c6531060000000000000006000000000000000a000000000000000a000000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000004a78831f54bc645f000000004a78831f54bc645f000000004a78831f54bc645f000000004a78831f0600000000000000260000000000000000000000002f746d702f73797a2d696d61676567656e3136323338323630352f66696c65302f66696c65300300000000000000050066696c653106000000000000000600000000000000260000000000000026000000000000000000000000000000010000000000000000000000ffa10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000004a78831f54bc645f000000004a78831f54bc645f000000004a78831f54bc645f000000004a78831f06000000000000001a04000000000000000000000073797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a73797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c6c657273797a6b616c0200000000000000050066696c6530060000000000000006000000000000001a040000000000001a040000000000000000000000000000010000000000000000000000ed810000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000004a78831f54bc645f000000004a78831f54bc645f000000004a78831f54bc645f000000004a78831f03010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c653003010000000000000100000000000000000600000000000000000005000766696c653102010000000000000100000000000000000600000000000000000005000166696c65300200000000000000050066696c653006000000000000000600000000000000140000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000054bc645f000000004a78831f54bc645f000000004a78831f54bc645f000000004a78831f54bc645f000000004a78831f06010000000000000100000000000000000600000000000000000009000166696c652e636f6c6405010000000000000100000000000000000600000000000000000005000166696c653305010000000000000100000000000000000600000000000000000005000166696c653204010000000000000100000000000000000600000000000000000005000166696c653101010000000000000100000000000000000600000000000000000005000266696c653004010000000000000100000000000000000600000000000000000005000166696c653105010000000000000100000000000000000600000000000000000005000166696c653205010000000000000100000000000000000600000000000000000005000166696c653306010000000000000100000000000000000600000000000000000009000166696c652e636f6c6401010000000000000100000000000000000600000000000000000005000266696c6530000000000000000002002e2e030000000000000006000000000000003a0000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000500000000000000000000000000000000000000000000000000000000000000000000000000000053bc645f000000000000000054bc645f000000004a78831f54bc645f000000004a78831f53bc645f0000000000000000436a95de00000000000000000000000000000000000000000000000000000000e8b440a6072149d487da26308fdef36100c0d001000000000100000000000001d2aab8915fdd4fb5a6cae64305c6f6e8060000000000000007000000000000000100000000f6ffffffffffffff800000d000000000008f3f00000c00"/3291, 0xcdb, 0x250b3a0}, {&(0x7f0000016700)="00000000000000000000000000000000000000008941f9988941f9988941f998d3b25f5a00000000000000000000000000000000000000000000000000000000e8b440a6072149d487da26308fdef3610000", 0x52, 0x250ffe0}, {&(0x7f0000016800)="97fdb83600000000000000000000000000000000000000000000000000000000e8b440a6072149d487da26308fdef3610040d101000000000100000000000001d2aab8915fdd4fb5a6cae64305c6f6e80400000000000000f7ffffffffffffff02000000000001000000000000010000000000000000fb3e0000a000000000010000000000000c0001000000000000ef3e00000c0000", 0x96, 0x2514000}, {&(0x7f0000016900)="0000000000000000000000000000000000000000000000000000000002002e2e04000000000000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000053bc645f000000000000000053bc645f000000000000000053bc645f0000000000000000000000000000000000000000c71c372400000000000000000000000000000000000000000000000000000000e8b440a6072149d487da26308fdef3610080d101000000000100000000000001d2aab8915fdd4fb5a6cae64305c6f6e8040000000000000009000000000000000100000000dc6786415de04bd9fbb0b94e5ef4b97422933f000008", 0x13b, 0x2517f40}, {&(0x7f0000016b00)="0000000000000000000000000000000000000000000000000500", 0x1a, 0x251bfe0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {&(0x7f0000018e00)}, {&(0x7f0000018f00)="3687496400000000000000000000000000000000000000000000000000000000e8b440a6072149d487da26308fdef3610000d301000000000100000000000001d2aab8915fdd4fb5a6cae64305c6f6e80600000000000000040000000000000006000000000000000000000000f90100000000000000733f0000280000000100000000000000cc0000d00000000000433f0000300000000100000000000000cc0000500100000000133f0000300000000100000000000000cc0000d00100000000e33e0000300000000100000000000000cc0000500200000000b33e0000300000000100000000000000cc0000500400000000833e000030", 0xf8, 0x2530000}, {&(0x7f0000019000)="0000000000000000030000000000000000010000000000000000d001000000000000000200000000d2aab8915fdd4fb5a6cae64305c6f6e8030000000000000000010000000000000000d001000000000000000200000000d2aab8915fdd4fb5a6cae64305c6f6e80300000000000000000100000000000000005001000000000000800000000000d2aab8915fdd4fb5a6cae64305c6f6e80300000000000000000100000000000000005001000000000000800000000000d2aab8915fdd4fb5a6cae64305c6f6e8030000000000000000010000000000000000d000000000000000800000000000d2aab8915fdd4fb5a6cae64305c6f6e8000000000000000000000000000000000000000000000000000000000000000000000000000000001c3f7e1f00000000000000000000000000000000000000000000000000000000e8b440a6072149d487da26308fdef3610040d301000000000100000000000001d2aab8915fdd4fb5a6cae64305c6f6e8070000000000000001000000000000000a000000000200000000000000840000000000000000e43d0000b701000004000000000000008400000000000000002d3c0000b701000005000000000000000c06000000000000001c3c0000110000000500000000000000840000000000000000653a0000b70100000600000000000000010000000000000000c5390000a000000006000000000000000c0600000000000000b93900000c000000060000000000000054d2c2bf8d0000000094390000250000000700000000000000840000000000000000dd370000b7010000090000000000000084000000000000000026360000b7010000f7ffffffffffffff8400000000000000006f340000b701", 0x27d, 0x2533ee0}, {&(0x7f0000019300)="0000000000000000000000000000000000000000040000000000000000010000000000000040d101000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000004", 0x64, 0x2537560}, {&(0x7f0000019400)="0000000000000000000000040000000000000000000000000000000080d101000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000004", 0x5b, 0x2537720}, {&(0x7f0000019500)="000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41", 0x38, 0x2537840}, {&(0x7f0000019600)="00000600000000000000000000000000000000c0d001000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000006", 0x52, 0x25378e0}, {&(0x7f0000019700)="00000000000000000000000000000000000000000000000000050000000000000084ffffffffffffffff0000000000000000000007000264656661756c74000000000000000002002e2e03000000000000000000000000000000000000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000053bc645f000000000000000053bc645f000000000000000053bc645f000000000000000053bc645f000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed410000000000000000000000000080ffffffff", 0x132, 0x25379e0}, {&(0x7f0000019900)="00000000000000000000060000000000000000010000000000000080d00100000000000000000000000000400000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000600000000000000dc6786415de04bd9b0b94e5ef4b974220000000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000054bc645f00000000931b342053bc645f", 0xc1, 0x2537b60}, {&(0x7f0000019a00)="000000000000000000070064656661756c7401000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41", 0x48, 0x2537c80}, {&(0x7f0000019b00)="000000000000000000000000000000000000060000000000000000000000000000000000d301000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000006", 0x62, 0x2537d20}, {&(0x7f0000019c00)="00000000000000000001000000000000000000000000000000030000000000000000400000000000000000000000000000010000000000000000000000ed41", 0x3f, 0x2537e40}, {&(0x7f0000019d00)="000000000000000000070000000000000000000000000000000080d301000000000000000000000000004000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000007", 0x59, 0x2537ee0}, {&(0x7f0000019e00)="7ccbe5db00000000000000000000000000000000000000000000000000000000e8b440a6072149d487da26308fdef3610080d301000000000100000000000001d2aab8915fdd4fb5a6cae64305c6f6e8070000000000000002000000000000000c000000000000d00000000000a80030000000000000663f0000350000000000d00000000000c000008000000000004e3f0000180000000000500100000000c00000800000000000363f0000180000000040500100000000a90000000000000000153f0000210000000000d00100000000c00000000200000000fd3e0000180000000080d00100000000a90000000000000000dc3e00002100000000c0d00100000000a90000000000000000bb3e0000210000000040d10100000000a900000000000000009a3e0000210000000080d10100000000a90000000000000000793e0000210000000000d30100000000a90000000000000000583e0000210000000040d30100000000a90000000000000000373e0000210000000080d30100000000a90000000000000000163e000021", 0x18e, 0x2538000}, {&(0x7f000001a000)="000000000000000000000000000000000000000000000000000000010000000000000007000000000000000200000000000000b00200000000000000010000000000000007000000000000000200000000000000b00100000000000000010000000000000006000000000000000200000000000000b00400000000000000010000000000000004000000000000000200000000000000b00900000000000000010000000000000004000000000000000200000000000000b0f7ffffffffffffff010000000000000006000000000000000200000000000000b00700000000000000010000000000000006000000000000000200000000000000b0050000000000000000c001000000000000010000000000002400000000000000010000000000000005000000000000000200000000000000b00300000000000000004000000000000000010000000000002200000000000000003000000000000000010000000000000100000000000000010000000000000006000000000000000100000000000000b205000000000000000501000000000000000000000000000001", 0x19d, 0x253be60}], 0x0, &(0x7f00000001c0)=ANY=[@ANYBLOB="636f6d6d6974854e78303030303030303030303030303030332c00"]) openat(r0, &(0x7f0000000040)='./file0\x00', 0x100, 0x1) 07:26:39 executing program 1: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket$packet(0x11, 0xa, 0x300) ioctl$ifreq_SIOCGIFINDEX_vcan(r1, 0x8933, &(0x7f0000000000)={'vxcan0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000200)={&(0x7f0000000080)=@newlink={0x6c, 0x10, 0xffffff1f, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x4c, 0x12, 0x0, 0x1, @sit={{0x8}, {0x40, 0x2, 0x0, 0x1, [@IFLA_IPTUN_LINK={0x8, 0x1, r2}, @IFLA_IPTUN_REMOTE={0x8, 0x3, @empty}, @IFLA_IPTUN_6RD_PREFIX={0x14, 0xb, @empty}, @IFLA_IPTUN_TTL={0x5, 0x4, 0x3}, @IFLA_IPTUN_PMTUDISC={0x5}, @IFLA_IPTUN_6RD_RELAY_PREFIX={0x8, 0xc, 0x5}]}}}]}, 0x6c}}, 0x0) 07:26:39 executing program 4: r0 = syz_mount_image$vfat(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0x2, &(0x7f0000000200)=[{&(0x7f0000000040)="eb3c906d6b66732e66617400020101000240008000f801", 0x17}, {0x0, 0x0, 0x80000007ff}], 0x0, &(0x7f0000000340)=ANY=[@ANYBLOB="6e6f6e756d7461866c3d302c00"]) r1 = openat(r0, &(0x7f0000000080)='./file0/file0\x00', 0x288800, 0x2) mmap(&(0x7f0000ffd000/0x3000)=nil, 0x3000, 0x0, 0x50, r1, 0x199a3000) rmdir(&(0x7f00000000c0)='./file0/file0\x00') 07:26:39 executing program 3: ioctl$RTC_WKALM_SET(0xffffffffffffffff, 0x4028700f, 0x0) perf_event_open(&(0x7f00000002c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xefffffffffffffff, 0xffffffffffffffff, 0x0) perf_event_open(&(0x7f0000000340)={0x0, 0x80, 0x0, 0x0, 0xe7, 0x0, 0x0, 0x0, 0x2001, 0x8, 0x1, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, @perf_bp={&(0x7f0000000080), 0x5}, 0x90a4, 0xeb, 0x1, 0x0, 0x2, 0x8, 0x0, 0x0, 0x5, 0x0, 0xfffffffffffff801}, 0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x2) mremap(&(0x7f0000bcc000/0x3000)=nil, 0x3000, 0x2000, 0x0, &(0x7f00009d9000/0x2000)=nil) semget$private(0x0, 0x0, 0x0) semtimedop(0x0, 0x0, 0x0, &(0x7f0000000140)={0x0, 0x3938700}) r0 = syz_open_dev$usbfs(&(0x7f0000000840), 0x90f, 0x68501) r1 = fcntl$dupfd(r0, 0x0, r0) ioctl$USBDEVFS_CONTROL(r1, 0xc0185500, &(0x7f00000000c0)={0x80, 0x6, 0x100, 0x0, 0x0, 0x0, 0x0}) r2 = syz_open_dev$usbfs(&(0x7f0000000840), 0x90f, 0x0) r3 = fcntl$dupfd(r2, 0x0, r2) ioctl$RTC_WKALM_RD(r3, 0x80287010, &(0x7f0000000100)) ioctl$USBDEVFS_CONTROL(r3, 0xc0185500, &(0x7f00000000c0)={0x80, 0x6, 0x100, 0x0, 0x0, 0x0, 0x0}) syz_kvm_setup_cpu$x86(r1, r3, &(0x7f0000fe5000/0x18000)=nil, &(0x7f00000003c0)=[@text16={0x10, &(0x7f00000001c0)="0f01c30f20d86635080000000f22d82e0f01c2b82c018ec80f00d60f01cf0f35f30fc7b200000f09650fc7a80f00", 0x2e}], 0x1, 0x2, &(0x7f0000000400)=[@cr0], 0x1) r4 = syz_mount_image$msdos(&(0x7f00000000c0), &(0x7f0000000000)='./file0\x00', 0xffc0000b, 0x2, &(0x7f0000000180)=[{&(0x7f0000000040)="040800090000ff01e661", 0xa}, {&(0x7f00000004c0), 0x0, 0x1f}], 0x0, &(0x7f0000000540)=ANY=[]) fstatfs(r4, &(0x7f0000000200)=""/131) 07:26:39 executing program 5: perf_event_open(&(0x7f00000002c0)={0x1, 0x80, 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, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x0, 0x2}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = syz_init_net_socket$netrom(0x6, 0x5, 0x0) connect$netrom(r0, &(0x7f0000000000)={{0x6, @rose}, [@remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x3}, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x3}, @default, @bcast, @bcast, @bcast, @null, @remote={0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0x1}]}, 0x48) listen(r0, 0x0) perf_event_open(0x0, 0x0, 0x0, 0xffffffffffffffff, 0x3) unshare(0x40000000) r1 = openat$vcsa(0xffffffffffffff9c, &(0x7f00000000c0), 0x22042, 0x0) sendmsg$NL80211_CMD_DEL_TX_TS(r1, &(0x7f00000001c0)={&(0x7f0000000100)={0x10, 0x0, 0x0, 0x400}, 0xc, 0x0}, 0x20) close(r0) r2 = socket$nl_generic(0x10, 0x3, 0x10) r3 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_80211(r3, 0x8933, &(0x7f0000000700)={'wlan1\x00', 0x0}) sendmsg$NL80211_CMD_JOIN_MESH(r2, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000000180)=ANY=[@ANYBLOB='P\x00\x00\x00', @ANYRES16, @ANYBLOB="010000000000000000004400000008000300", @ANYRES32=r4, @ANYBLOB="34002380080015003000000008001700000000000500080000000000060003"], 0x50}}, 0x0) sendmsg$NL80211_CMD_REMAIN_ON_CHANNEL(0xffffffffffffffff, &(0x7f0000000140)={&(0x7f0000000180), 0xc, &(0x7f0000000280)={&(0x7f0000000200)={0x58, 0x0, 0x2, 0x70bd28, 0x25dfdbfd, {{}, {@void, @val={0xc, 0x99, {0x9, 0x30}}}}, [@chandef_params=[@NL80211_ATTR_CENTER_FREQ1={0x8, 0xa0, 0x3f}, @NL80211_ATTR_CENTER_FREQ1={0x8, 0xa0, 0x100}], @NL80211_ATTR_DURATION={0x8, 0x57, 0x1}, @NL80211_ATTR_DURATION={0x8}, @chandef_params=[@NL80211_ATTR_CENTER_FREQ1={0x8, 0xa0, 0x3ff}, @NL80211_ATTR_WIPHY_EDMG_BW_CONFIG={0x5, 0x119, 0xf}], @NL80211_ATTR_DURATION={0x8, 0x57, 0x60000000}]}, 0x58}, 0x1, 0x0, 0x0, 0x800}, 0x10) r5 = socket$inet6(0xa, 0x3, 0x6) sendfile(r5, 0xffffffffffffffff, 0x0, 0x9) bpf$PROG_LOAD(0x5, 0x0, 0x0) write$binfmt_elf64(0xffffffffffffffff, &(0x7f0000001980)={{0x7f, 0x45, 0x4c, 0x46, 0x1f, 0x0, 0xe6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x37b, 0x40, 0x0, 0x0, 0xfffb, 0x38, 0x0, 0x0, 0x8}, [{0x4, 0xe61e, 0x0, 0x0, 0x0, 0x0, 0x9f}], "27a639b0410d1e1097b945958921200bbdf92b03a11dc79c80d5c83c8b92", ['\x00', '\x00', '\x00']}, 0x396) ioctl$sock_SIOCADDRT(0xffffffffffffffff, 0x890b, &(0x7f0000000040)={0x0, @l2tp={0x2, 0x0, @remote={0xac, 0x10, 0x3}}, @vsock, @nl=@unspec, 0xf0f4, 0x0, 0x0, 0x0, 0x0, &(0x7f0000000340)='syz_tun\x00'}) 07:26:39 executing program 4: r0 = openat$rtc(0xffffffffffffff9c, &(0x7f0000000040), 0x200040, 0x0) ioctl$RTC_WKALM_SET(r0, 0x4028700f, &(0x7f00000000c0)={0x1, 0x0, {0x25, 0x2c, 0xe, 0x7, 0x6, 0x412c, 0x0, 0x6c, 0x1}}) ioctl$RTC_PIE_ON(r0, 0x7005) ioctl$RTC_WKALM_SET(r0, 0x4028700f, &(0x7f0000000100)={0x1, 0x0, {0x12, 0x37, 0x12, 0x1d, 0x1, 0x5d, 0x4, 0x11c, 0xffffffffffffffff}}) socketpair$tipc(0x1e, 0x2, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) getpeername$tipc(r1, 0x0, &(0x7f0000000080)) 07:26:39 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) r2 = socket$netlink(0x10, 0x3, 0x0) r3 = socket(0x10, 0x3, 0x0) write(r3, 0x0, 0x0) getsockname$packet(r3, &(0x7f00000000c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000080)=ANY=[@ANYBLOB="4800000010000507fbff00200000000000000000", @ANYRES32=r4, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) r5 = syz_open_dev$vcsu(&(0x7f0000000000), 0x400, 0x4a041) sendmsg$nl_route_sched(r5, &(0x7f0000000400)={&(0x7f0000000140)={0x10, 0x0, 0x0, 0x100}, 0xc, &(0x7f00000001c0)={&(0x7f0000000340)=@delchain={0xb8, 0x65, 0x400, 0x70bd2c, 0x25dfdbff, {0x0, 0x0, 0x0, r4, {0x1, 0xb}, {0xa, 0xfff1}, {0xfff1}}, [@TCA_RATE={0x6, 0x5, {0x50, 0x3}}, @filter_kind_options=@f_flower={{0xb}, {0x38, 0x2, [@TCA_FLOWER_KEY_CT_MARK_MASK={0x8, 0x60, 0x8}, @TCA_FLOWER_KEY_ENC_UDP_DST_PORT={0x6}, @TCA_FLOWER_KEY_ENC_IPV4_DST_MASK={0x8, 0x1e, 0xffffff00}, @TCA_FLOWER_KEY_TCP_DST_MASK={0x6}, @TCA_FLOWER_KEY_IPV6_DST_MASK={0x14, 0x11, [0x0, 0xffffffff, 0x0, 0xffffffff]}]}}, @filter_kind_options=@f_flow={{0x9}, {0x3c, 0x2, [@TCA_FLOW_MASK={0x8, 0x6, 0x8}, @TCA_FLOW_KEYS={0x8, 0x1, 0x1ae63}, @TCA_FLOW_BASECLASS={0x8, 0x3, {0x3, 0xc}}, @TCA_FLOW_DIVISOR={0x8, 0x8, 0x2eb4}, @TCA_FLOW_PERTURB={0x8, 0xc, 0x1ff}, @TCA_FLOW_RSHIFT={0x8, 0x4, 0x2401}, @TCA_FLOW_XOR={0x8, 0x7, 0x8000}]}}]}, 0xb8}, 0x1, 0x0, 0x0, 0x1}, 0x8005) sendmsg$nl_route_sched(r1, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000300)=ANY=[@ANYBLOB="5800000024000705000000000000000000000008", @ANYRES32=r4, @ANYBLOB="00000000ffffffff0000000008000100736662"], 0x58}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f00000002c0)={0x0, 0x0, &(0x7f0000000180)={&(0x7f0000001a40)=@newtfilter={0x3c, 0x2c, 0xd27, 0x0, 0x0, {0x0, 0x0, 0x0, r4, {}, {}, {0xfff3}}, [@filter_kind_options=@f_tcindex={{0xc}, {0xc, 0x2, [@TCA_TCINDEX_CLASSID={0x8}]}}]}, 0x3c}}, 0x0) 07:26:39 executing program 5: r0 = creat(&(0x7f0000000180)='./bus\x00', 0x0) ftruncate(r0, 0x800) lseek(r0, 0x0, 0x2) r1 = open(&(0x7f0000000000)='./bus\x00', 0x86000, 0x0) sendfile(r0, r1, 0x0, 0x8400fffffffa) sendmsg$inet6(r1, &(0x7f0000000500)={&(0x7f0000000000)={0xa, 0x4e23, 0x9, @ipv4={'\x00', '\xff\xff', @multicast2}, 0x4}, 0x1c, &(0x7f0000000480)=[{&(0x7f0000000040)="e40c13aa05a8393eccf7f3b02e1a504138e97e84dcb44041e3642a554041513722ae40c071f27b96fcfea65156f3467863ddafe1a86f9aec1a6efa18e2ff48acdbbc794f811df3b35fe18a100c4b8b3de47a496b37e12eeb87cba28a5da004bbc12444be8dec22ad14dcd91de49295e3f82e27926e3ac435d9a424e4e20a659767d6ea835c42568261daafabbf42b58086d2a6cc5a2a216118e19e030623989f7359893ec1325c0952d7bad86abc183119c58d", 0xb3}, {&(0x7f0000000100)="622b6c78ed01c4e7660eb73e316d0f9d6f413864dd7fc1bf7c96fa7aa100382090619335e3c1b195ba4da8d22df4", 0x2e}, {&(0x7f0000000140)="e03e5e43e760721b99b2a27061441e27c3d1f509a5f7fb31855b9707404f8f61049f7b87ffb62a404ca3d7a72e6a5ce8baa828d8bdaffce9a00d9b7f489aed1023f50ac82f40f0721c44828f6d347d31484682d3473ae401a14e6c37a883626249cdb2a66713e87ce8cff68029de49dd4bd8fbaabb778b150999e27ff92457cc9ae16f57926d4e1e2d5e1d17550bc3544ec0f817da4d26b70bf46a7694046a3e9d53ff9c307accff332c49ad8ff8ec7fbd0a2c3354ffd1e851ba4182faec58eafe04ebc016e85463fec189651168638d3fa5e84ca242c4d67de5df29bd521e013f30bad15f123858be8015d573ac21cbf4244638060ff0926d8bfaf6", 0xfc}, {&(0x7f0000000240)="56b309fa44eb2dc0ca90c057de26250d4d6d2b9001b52a096d776ad383a276e2c6c7310d1b565896f3bd214363ff07262752", 0x32}, {&(0x7f0000000280)="8c3c2838c43b83e3fe10954ab2bb19ea5af8156059273ed3faa7bbf93aab10e46b178180c78b047a6d6a88f1b683df816a5cfb124040df53eda30bebeb9b2008f0dbdb9c61f5e2a186d21887a943ccabd9d6c8cc4df217675bad6498affe0cc498d4bf8540dc9fde8947875a504c66496dcd939e1be8a34b1f039e56", 0x7c}, {&(0x7f0000000300)="187e2fc378dbefa5992faceba0de9e943c3fa08a0fcdcb03acb9dc1b4371c9a7751eb6ec0f25220648f2fe8a11a21b7f053135d8a8ceac0c7298f81653dbe3549fb46a78cfbf946b9832b603a3", 0x4d}, {&(0x7f0000000380)="f2f849c570194031c750ef36936e94a8fe4a0fc55f3dea4995a0598116a045e5686c71433b863df75259d0d80e333f1e0fe03dbea4abfc53b0729d776760b7a2e53d4cb8be323fdd841b1fa1f6dee89fdb9befb362092c5532606ba39b3898eef744de331a3269fb66be8b914bc3ac8c8479658d816ed7481fa37c050f8b672220bf1a1c2840389c110ce2bad330d21c8a5ad5bf68dae871600149be888ebac73b048846dbc9c36c0c130679d0a0d31fad8451cf35ed871f4cce8266e8240bb2b52b67abac47d270ce77788a3779da4950b4cbb5", 0xd4}], 0x7}, 0x44000) 07:26:39 executing program 4: pipe(&(0x7f00000000c0)={0xffffffffffffffff, 0xffffffffffffffff}) r2 = socket$inet_udp(0x2, 0x2, 0x0) sendmsg$L2TP_CMD_SESSION_CREATE(r0, &(0x7f0000000200)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x10000}, 0xc, &(0x7f0000000180)={&(0x7f0000000100)={0x54, 0x0, 0x400, 0x70bd2b, 0x25dfdbff, {}, [@L2TP_ATTR_PW_TYPE={0x6, 0x1, 0x8}, @L2TP_ATTR_RECV_TIMEOUT={0xc, 0x16, 0x2}, @L2TP_ATTR_MTU={0x6, 0x1c, 0x9}, @L2TP_ATTR_IP_SADDR={0x8, 0x18, @local}, @L2TP_ATTR_COOKIE={0xc}, @L2TP_ATTR_UDP_DPORT={0x6, 0x1b, 0x4e23}, @L2TP_ATTR_CONN_ID={0x8, 0x9, 0x4}]}, 0x54}, 0x1, 0x0, 0x0, 0x10}, 0x4) close(r2) socket$inet_icmp_raw(0x2, 0x3, 0x1) write$binfmt_misc(r1, &(0x7f0000000140)=ANY=[], 0x4240a2a0) perf_event_open(&(0x7f0000000040)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) bind$inet(r2, &(0x7f00000001c0)={0x2, 0x0, @local}, 0x10) connect$inet(r2, &(0x7f0000000040)={0x2, 0x0, @multicast2}, 0x10) splice(r0, 0x0, r2, 0x0, 0x2ffff, 0x0) 07:26:39 executing program 0: perf_event_open(&(0x7f0000000340)={0x2, 0x80, 0xc8, 0x0, 0x0, 0x0, 0x0, 0x40000, 0x24130, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x100000000000}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) 07:26:39 executing program 1: r0 = socket$inet(0x2, 0x1, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x2, &(0x7f0000000140)=0x6f, 0x4) r1 = creat(&(0x7f0000000180)='./bus\x00', 0x0) ftruncate(r1, 0x800) lseek(r1, 0x0, 0x2) ioctl$EVIOCSREP(r1, 0x40084503, &(0x7f0000000080)=[0x3ca, 0x7]) r2 = open(&(0x7f0000000000)='./bus\x00', 0x86000, 0x0) sendfile(r1, r2, 0x0, 0x8400fffffffa) bind$inet(r1, &(0x7f0000000040)={0x2, 0x4e23, @initdev={0xac, 0x1e, 0x0, 0x0}}, 0x10) r3 = creat(&(0x7f0000000180)='./bus\x00', 0x0) ftruncate(r3, 0x800) lseek(r3, 0x0, 0x2) r4 = open(&(0x7f0000000000)='./bus\x00', 0x86000, 0x0) sendfile(r3, r4, 0x0, 0x8400fffffffa) setsockopt$SO_ATTACH_FILTER(r3, 0x1, 0x1a, &(0x7f0000000000)={0x2, &(0x7f00000001c0)=[{0x6, 0x3, 0x0, 0x1000e4}, {0xfff8, 0x8, 0x7}]}, 0x10) sendto$inet(r0, 0x0, 0x0, 0x2000473d, &(0x7f00000000c0)={0x2, 0x4e23, @dev={0xac, 0x14, 0x14, 0x29}}, 0x10) sendto$inet(r0, &(0x7f0000001300)="f14146be43cd19511d87695769b21075673299af47b8a1cd90c857daa095c43079e85c9e9715fc22988e829852a143009fbe7c85b7047edd739d0bf669493dcb2216ab7d52a218867ce9fe98a560133f285c96efa2ffdfab5a19803df874a000666fcce4074fb78666a30b04fd5b67293a340a3ef6f8028ed020a3c104b471cecbea20e2200813640d44a0e92e71e3995878ed985c86ba8ba072e657d5061a1cc72331754effcf56443481def0b8553b8b80203aa48449b36d9ce94f479735caf774959dea12c92cf0ad8e318c3f8c2b7847b3ae8ab8cc0f2e29acca72dc769dc98374c9879a2a7143a9683797c4f800e38763b86d1aab640fb7905bd2e4ad682e3293cf5651d5b94b57ab7344170d9cdc3af3f5aeb217204e9e7152951ebf7074c3b17191a2aebbefa09cec72fac677b05f00adbc429a32c56a78ee19e73667b0703f07ccfe0e9f2d1cf3a5a63fdb56fa2dc6cbceb0e8c8bfd8d6d438", 0x15d, 0x11, 0x0, 0x0) perf_event_open(&(0x7f0000000200)={0x5, 0x80, 0x3, 0x9, 0xff, 0xf7, 0x0, 0x3, 0x480, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x1, 0x0, 0x1, 0x1, 0x3, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x0, 0x1, 0x0, 0x3ff, 0x2, @perf_config_ext={0x7, 0x2}, 0x123, 0xffff, 0x1f, 0x3, 0x3ff, 0x400, 0xb9, 0x0, 0x5, 0x0, 0x6}, 0x0, 0xf, r2, 0x0) setsockopt$sock_int(r0, 0x1, 0x8, &(0x7f0000000600)=0x1881, 0x4) sendto$inet(r0, &(0x7f00000012c0)="11268a927f", 0xad11, 0x1f4, 0x0, 0x80fa) 07:26:39 executing program 3: ioctl$AUTOFS_DEV_IOCTL_ASKUMOUNT(0xffffffffffffffff, 0xc018937d, &(0x7f0000000040)={{0x1, 0x1, 0x18, 0xffffffffffffffff, {0x4}}, './bus\x00'}) ioctl$SNDRV_TIMER_IOCTL_GSTATUS(r0, 0xc0505405, &(0x7f0000000080)={{0xffffffffffffffff, 0x1, 0x6, 0x2, 0x80000001}, 0x6, 0x8001, 0x594}) pipe(&(0x7f0000000000)) r1 = creat(&(0x7f0000000180)='./bus\x00', 0x0) ftruncate(r1, 0x800) lseek(r1, 0x0, 0x2) r2 = open(&(0x7f0000000000)='./bus\x00', 0x86000, 0x0) sendfile(r1, r2, 0x0, 0x8400fffffffa) perf_event_open(&(0x7f00000003c0)={0x1, 0x80, 0x0, 0x20, 0x0, 0x0, 0x0, 0x1ff, 0x0, 0x0, 0x0, 0x0, 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, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, r2, 0x0) madvise(&(0x7f0000066000/0x1000)=nil, 0x1000, 0xc) sendmsg$nl_route_sched(0xffffffffffffffff, &(0x7f00000001c0)={0x0, 0x0, 0x0}, 0xe6a1d6154d243a9a) mlockall(0x5) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000000)='memory.current\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28011, r3, 0x0) 07:26:39 executing program 1: ioctl$DRM_IOCTL_SET_VERSION(0xffffffffffffffff, 0xc0106407, 0x0) ioctl$BTRFS_IOC_SCRUB_PROGRESS(0xffffffffffffffff, 0xc400941d, 0x0) perf_event_open(&(0x7f0000000100)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c43, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0x7}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) openat(0xffffffffffffff9c, 0x0, 0x0, 0x0) ioctl$BTRFS_IOC_SNAP_CREATE_V2(0xffffffffffffffff, 0x50009417, &(0x7f0000002900)={{}, 0x0, 0x0, @unused=[0x0, 0x0, 0x1], @name="f64477ba0ac5f4ba0df6951cd774faa95c1e4a90ddfd3109a805344a3de8a3e1ded93bfdd5880d35af7b41c901227243887be88833500636d63a4ce14f5600af740c47f2639601d7f5f4402a911550540f241429a2ecb6d457409a470ea1b9d9b057d9fe14fd88b3d8a748d785385eec14c25cbec2a3570ed7d5499d3ab0b77b60cf5861a87375b4a03af817991b8b7bf5f2b33015dc51e8523da70b89d0dfdc067c14e83a295fe0c240ef682dfab70776e50964dd15ec8a0b729266cb6119b83188e35cb34faa3d33671054574dadb43823b235b53eed8f63b39827d32d17f275e5707489df143f400ca5e78524a77b51e37a3e26b5236ad4c524e2586301f44019dd30b4c1003f0820525602e12c08e1d5bba79f42698d60d880da0089659c640442d691b6dc85e8dddea43c5948f8d95412d2dacf148cbf65b818efec6e5a517ecadaa32ca85851ba1e57dc56b24fc66c1306935c6dc0eaf42fff68b6104355b28d6371509609ff099c682cd4a8c8a763269efce823d5547a2ac5ba158990286b19981993dab52e76c381ebc27b093fb3f43b8ccc0c0178107eeda3597d3b91cc4dc5269d16159bac3dfefbb210554c6d476b5c599d3e36eed82a8d4479008148c49923caecc5379846396b42c0a8a3a4920044dcf507c2edb6271e471429b40165eb928d54d01ab079522cc249962899ae119e5421e4a2b1e0029a2072243e85de12827cbed56e47e25420b9fb118db6c154ab294fb887e33cb3b67009236eb38699f6aef61f4a0bf03da30425b4dc7532e6051d9625bfc11e600e1fc88fb15fa2f37252cd209f0b137b13985e2abe07906382e37ca9cc975956f7fd56a8943e271dcc87167ab77f110774625f6c619f426b61a35a3e0e3453d951d0b687a1e261fc26091dd35095432ce72c59110c11f44ce91fc9b0f07a5713d7eb72f01686a658d18da402f5b83a0f03f4ad8d5fa5f6efb1dd716d5636f34ca0b58cc0ac256c5c69e40d75e57ec65e62eb308dc2de06863d7bd8c39a813681e922be2177fb063b74b9919641ba054f42aac30a1b67317ac8e375a70ec2bc03220b9f4f133c81e83afd35e324921a0dfc5227e90a48e9bb276f07ca4801adaeb53a712d9a701275a455678320973893006424414621e93cd8e43e59d2e332c46bbaf69a994deabcc61a5dd63165a8a384b69b1a722c9dc9a995bda2e6c3ee6cde158d9f439b374424822285c91fee5b382405377e4fe5c6603515775337591290d9ffc371a376d4213e28431becd8903399c88fdbb4b43bcc3a96dc3908ad32185686ab8fd6ec977992781b6b0ed234698a3b395d298d39b43e4d8ef725b8a3c514370240ed09684047e67177f29f2020487d3324d3c469448db961ef0f438073eb7c59f9dc77201a1730063a5e032143652cfed46c36920780ba09a7bfa8a9a8c0e554d7692c5718def911534bc1b7b63260ebbd5aa8de42d73b6bd2fcbda7527652a931cfe10d8514343e638e3a18f175e314d12c7057529a5c2970d6be56db148ed943ac0d7bc92db4580a4b355e86b4511f34485e8911e7fe0087126743c4f7dbd99f513e202e676b2be9c8170f25da271a5605f0e36e743baa6805d2a5cc414774eb05e9dc75565460824375fc16b68edc39a38a7bf1b763e804394de6affc287aef7ea7278e995b35e84d84c1cb778145b21f396e7af53c44b2c465c931c033cf7784465ac0cab9050e082c2c05258099a283586b0b9a85f4a5caccf0f1d6d01e1685cfea7261610af6333b2aacccfc886aed29613fe4c821819271db0cb65542857ac40820ac82b0c1e1cfab9d564e45facd59de348a4c4f484798616c42f30d1129b612c24f4d20e9985a1f928203148838561f885ed7cfc0990f233baf975a0fd868e411e3319ee4752501009f1fa9407427d65e3fd5c21bc74f57692503645cb630988646cb2293a11f6495ece0e521890c65904d32b32c9777cc499607c18b697a9538d5f75b41a199d309f1828e96d441c2c1b3b02743b507e0b70d512829246051954f8d954dadddd19c4b169ba68d4750bd4b3b41f9d6b963d75817c4e0ea645ef19d7b0564a1209ded37f7b21f5d4aa78fd6410c3c671abd0605e8f23c18577aa934dda1e07d5bff8aba66abd3cbc19b24093e9a13a466548133778c5f5684a2f4b7ff332f53c6db6548efb36b13b378466d3a79d57a8495bfd5588e33043699261afbc341e768b9aaea7617e0d593faa07cb13c302d18ce0b0fdcfdf000587036b965112dc3bb528868ae6bc6466b7065cbecd85d8c1ecec2e6f4f6136ccc3fb55751280edc7e058aca11c1bf04947270c2b29d1f504971dae79612b503969279c48b964167af68422cabd9eefcc0cd2f94ff673100f775e797cac63ba34f0bef760cbb7278148d94092c857087ad7139944f15a7b5f0a2c97724b6ece4ad8db82877250a11e6de3dfe736dc9d0cdd2d32c47e40b3646ecdf35ace3b70839c0fde436c44fb164317394e22295c79349310c1de1db2d630bfcb335562a7af24f347f3e26e7976631cc02782aac99c5ff9830fcb2f8951df89b99176638b26d74420073488202a68aba406efa118c6f4233ac0fa18e0ed75a907a098d9cb0bf065b0186a86f6c57c49a089846ea1a619855ffdae6a49f9ec809deab33e68a4e8b1ce77caeba2d38bb24112ceec36c4b01ca01a79970a73eeb487dd822eb751757c2bde39b367a70dcf4defc1f4a0b221ff051944b30508aeb18d987bab256e1d1b06032e4dd5702f81406410a3a6279ae4bc4382782c2d07eb3986e883ba12034b704b7e2b7c619858eaa5d463ff94a3edaebdba4bc81de2f7544bfffd7446505a8ca888985a50950dd62c442b8f9cafb73ad0b797956921c3ec4bd0b46f6182998bfa26b8eb8ff0056134edbe371cbb09b70c137fda1fa3d8ae4c7581410f8b69c1335605318330b30934b36c4825afd4a840cafb09cbfac90a232ab1269061876104df01ee90e6214f726dc585e4be40f9a9b994cd6c0d9f81295f79d6fbc555054330a3a6a7a0410f89117479a0295f9566152283fc2f8917d9f5ff3fa05711cc5c4c980d860e8d5bf94b9f87e70b7d373fa13c84e487cebd0dbed1fa37c59d85663c20feba31253c6454e011dc6479d9d389071fb25c4de08fd557707a22f069ced470401c85a48c5592d8dcf1490f66aa1d6330038f46c25bc1249d68bc40266811d0b6ce9205c201eadfc9712959aa832b98a7d1af1e8a728ffe60705ba7180687ef28de426266b492e93f46751bee8d549207f5ac9777ac93ac091ff84d81395cb48e37f373bfe529129e1e3cbe3e4f841979a051241dc76033ffd4357e181485c6115ce324172c4c873a6b2372593f2281d82f40a15494d50574bad80644dc08331b2078ddb703c4190636f54864c072ba05863159d275fc9c9b40f45956c9fe354cfca7c39ff78b1ec623c391d2b6753f75833f162de4c3169b884ccb85a1c6a7f2013e3848317c507813bd158b33c0761adb3acf1fefa2bd84fa9e22e1a4cf3beaab74ad50bf7c1c1c2086c30ad355def42ec11d721e845a2a427d646da05d850a3dc2cd26944071e6cf57c1697b2b16e965702fae4dbd004de69c3f5cd8c10118c752ff829b2636160b6507eaaa8ea40c20b98bf94f485cfb3281f5675ca8c103a04e973d5c108340bcfd96fb4b8524d2613f57cfbfe29d58fe78b966b6e7de6a1eae274051f2efc09f8b605ecfac2b3f3320df6fe7e0bbe8bd04bf7c7ff81e11d824a1d642530c222fb49f12585bd242bf09271a2c8515289190b67bbad5a44d36394a9e95e234c24b25ac9a21c5080147c5a1f6cab8b1bf27bb24a6a1b853c06ba47e889baa590b59c936654f4684040f90bf6197bb535c3d78c258cbd7772dbb1c3a4821541c6dbe4a239906c753280a248c7756beabbc7342532f596b5364f2bc2d06cdbe0c3135cfb4a48eece26991fc8fdae5664aa9ac5ced27a59c19c11a9abc84032dceeca2506602e5efe0b36505438f57e296a048fbcec6bf1aceb081c545e19c18255e3441f89f84cfd8d482f710f30e70adfbfd0d23ff0d2c4be374770159ba8fbc1e8248233c924f8fa0192d28a9c05063602c369376d6bed5098195879402d11ff26dd8e33cc111f003ce7fac5e79fe6c2c1a6d45d86f1cea1a4632b91c333f2323554fdf05ffd44f54ae6a5711fec9d218f7b93db12fe7d654f46bdcde4351e31cd2aa1463d9339083111d09135d911f13e3601e126d7261b48cdd57b335b0c18a4175dd92db85ecfd6f14feb044cdff6d521790fd974c144fcfcdc483f27574df700515099488e0e6a418ea01d9e459847df145666b26eef3a7ca44c15735de5e66c1e810f82ba6e4fbe9aa9c36c0b2c97ad5421ad211ca8c380265f2fb640ec7370bf6a22c9e1efd819f476465e64267cba93f98fd09ca16a7501da53370676d53ce669f1a1405a16394254f16bacd92aab1a4fc0d9368470318bfc3c006766ed524214df58abaf5c31d9ec6dc5fcc528463303fe59215a0509000000f0d3f1929a168915d93ff5b499df268fed09811ac0eb685edde4e5e02c5bab904ee9a719468080d6d5b170985c3dbc4beff3a90219226945be74578a7b2f34b6669b34ec87272766e4fc510cda3f784484ad9532b07f198688fc31336a9a3849279903a92feb1b2b2af4d5c1571b48f3ca4249c9aa4abc6c1f8494c8b129175bc32efa35db45684acff3aee94672bdc7caa921bd7292aa3f86f5962013631dbf0432e71039e7e48d22549c4b0c489bca1a71072098a2b501d700301a9aea6051272177827705dbe75df636c13273b030b7e1a03ca30f61c3b33e5203c1028386cd5977ff310b49aebee56cd5c569807b666a6bf6a93fae058c44b4cbb18ff2aeef1ae00a47cf2b4ffce7698976358ab791cf92c164da065bd997763d25af7acf8baef2a59cf4b58d56d8e678b3b7f8b09685eb6b837deeebc3264a8af0d57ee95def1a87904cee7a65bfb13e844016d39c295ddbc1e5ae183586a0b4376c03ac37b7e3ea2fa0df17cb7d4618d8dbba25e648297f3c0afe1aa890441c7e24ff7d11fc10746af0884fa527b5a599435ef16db46c3136bc6c4071eb3b7cbec2a519d3e34e391a4bbf629d56cb886ffe67699ffb08088a48c1584e675099275488c32268690872e93cfd8fe56a72a83b07ff96bf695797cd6c8e554c31b3657e88238e9dc80d5b251ee37e218e109d6bc5ef92faf1255352b86bca66a8edfb249937bc53dedbb6146178e77b1dcec027d5511216979b9d415ffcec9d51df8b5088c2bd08a4cfa8cecca89b34aeaf8079a0e67c64d89dc0ecb48ec3da491703aff3f817fd723ead975d479772827b63dd4344e6221760bb944a489bc0c4d79954c706a68ebbf7f14afa87572a3b39945efcf0b6b8d1a4d697ffbdfbb05d7373836b090f8d6270ffbde1d3cc1828a05a3b70ef71bbfe2996d33646c4fcb231d5cdfac58ca2a1f4585d23513cc2f716bb37072ac76815feb934d2475fcf893523a8478f03a2a437f4a674eb4d2428a7b5704853056b3113532e555b8224ae1c9bbf97ca2e91f5449c00183b8104357725234653cdb05b3b9f0565a5d91541a173ba2bc922790a2b0c38e0dbbf67b2b43697efb4a8c473777e6b1539791896b8b82178fc738a990ea07929bcf2225f84523b8140a45e4448de0a917fe6ed"}) r0 = openat$ion(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$ION_IOC_ALLOC(r0, 0xc0184900, &(0x7f0000000040)={0x120005, 0x3, 0x0, 0xffffffffffffffff}) ioctl$DMA_BUF_IOCTL_SYNC(r1, 0x40086200, &(0x7f00000000c0)=0x6) ioctl$DMA_BUF_IOCTL_SYNC(r1, 0x40086200, &(0x7f0000000340)=0x2) mmap(&(0x7f00003fd000/0xc00000)=nil, 0xc00000, 0x4, 0x10010, r1, 0x413ba000) r2 = syz_open_dev$dri(&(0x7f00000001c0), 0x1, 0x0) ioctl$DRM_IOCTL_MODE_SETCRTC(r2, 0xc06864a2, &(0x7f0000000000)={0x0, 0x0, 0x1d, 0x0, 0x0, 0x0, 0x5, 0xfffffffc, {0x0, 0x0, 0x0, 0xb1, 0x0, 0x0, 0x1, 0x2, 0x8, 0x8000, 0x0, 0x0, 0x0, 0x8000000, "0000001c00ddffffff00000000fffffdfd0000000000008000"}}) r3 = creat(&(0x7f0000000180)='./bus\x00', 0x0) ftruncate(r3, 0x800) lseek(r3, 0x0, 0x2) r4 = open(&(0x7f0000000000)='./bus\x00', 0x86000, 0x0) sendfile(r3, r4, 0x0, 0x8400fffffffa) ioctl$DRM_IOCTL_GET_STATS(r3, 0x80f86406, &(0x7f0000000200)=""/146) 07:26:39 executing program 4: r0 = openat(0xffffffffffffff9c, &(0x7f00000001c0)='./file0\x00', 0x40, 0x0) r1 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) mount$fuse(0x0, &(0x7f00000020c0)='./file0\x00', &(0x7f0000002100), 0x0, &(0x7f0000000200)=ANY=[@ANYBLOB="62d545e321be1d0205f63dfccf98b3c2f76e1181f2402650a6c3421c104210f72b33fc3429bad3e52dad51dbc033e9ff00"/68, @ANYRESHEX=r1, @ANYBLOB="2c726f6f746d6f303030303130303093c6c79202ac144f69643d00"/42, @ANYRESDEC=0x0, @ANYBLOB=',group_id=', @ANYRESDEC=0x0]) dup3(r0, r1, 0x0) r2 = perf_event_open(&(0x7f00000000c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0, 0x0, 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, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) perf_event_open(&(0x7f00000000c0)={0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, r2, 0x0) r3 = perf_event_open(&(0x7f00000000c0)={0x1, 0x80, 0x0, 0x0, 0xff, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) dup3(r3, 0xffffffffffffffff, 0x0) ioctl$EXT4_IOC_CHECKPOINT(r3, 0x4004662b, &(0x7f0000000040)=0xd949c70de5de8a96) r4 = openat(0xffffffffffffff9c, &(0x7f00000001c0)='./file0\x00', 0x0, 0x0) gettid() write$FUSE_DIRENT(r4, 0x0, 0x0) perf_event_open(&(0x7f0000000140)={0x5, 0x80, 0x2, 0x0, 0x3, 0x0, 0x0, 0x20, 0x4e00, 0xa, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x1, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x1, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, 0x25b, 0x4, @perf_bp={&(0x7f0000000080)}, 0x8810, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x7fff, 0x7f, 0x0, 0x0, 0x0, 0x6}, 0x0, 0x0, 0xffffffffffffffff, 0x3) umount2(&(0x7f0000000000)='./file0\x00', 0x0) 07:26:40 executing program 5: perf_event_open(&(0x7f0000000500)={0x1, 0x80, 0x0, 0x0, 0xfc, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffffffffffffffd, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_config_ext={0x0, 0x10000}, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfffc, 0x0, 0x0, 0x0, 0x1}, 0x0, 0xffffffffffffffff, 0xffffffffffffffff, 0x0) r0 = socket$inet_tcp(0x2, 0x1, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x210000000013, &(0x7f00000000c0)=0x100000001, 0x4) bind$inet(r0, &(0x7f0000000080)={0x2, 0x4e21, @local}, 0x10) setsockopt$inet_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000140)=0x2, 0x4) connect$inet(r0, &(0x7f0000000180)={0x2, 0x4e21, @local}, 0x10) r1 = openat$zero(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) getsockopt$inet_tcp_buf(r1, 0x6, 0x0, &(0x7f0000000240)=""/130, 0x0) setsockopt$inet_tcp_TCP_REPAIR_OPTIONS(0xffffffffffffffff, 0x6, 0x16, &(0x7f0000000100)=[@mss={0x2, 0x2327}, @window={0x3, 0x8, 0x13}, @timestamp, @sack_perm, @mss={0x2, 0x1}], 0x5) socket$inet(0x2, 0x3, 0x6d) setsockopt$inet_IP_IPSEC_POLICY(0xffffffffffffffff, 0x0, 0x10, 0x0, 0x0) sendmsg$inet(r0, &(0x7f00000001c0)={0x0, 0x0, &(0x7f0000000780)=[{&(0x7f0000000280)}, {&(0x7f00000003c0)="5a3edb8f4641c231ad00c0b0159203e1e36045b3640685a85dfa903177ea7a60b4be", 0x22}], 0x2}, 0x0) setsockopt$inet_tcp_TCP_REPAIR(r0, 0x6, 0x13, &(0x7f0000000200), 0x88) sendto$inet(0xffffffffffffffff, &(0x7f0000000680)="4f5bfd03e7c1bb889288aa3048c1206666b5a577d2173eee117e2218957c25c0d1c75c94686b8ba7f0a8f42ede264a2d35a2994e7554ffd82c8b085cb94422600a7c586db911c7c89aa4224e4cab8405ec9ddca152597dd1c7e3dc0f594ba3b13a4827c9a457d4f1e3af5ce753e064c41b9a22a12c6d8e49bc77827036199019bc6b07bd43f8339f9f335386080d67ce3dd9769bf72f547f548a0a80640f75ccdb0defda6d51834414a39107040da12973f6a090ff337a458523267c980286c016a6aa36aa58", 0xc6, 0x4004045, &(0x7f0000000340)={0x2, 0x4e22, @local}, 0x10) sendto$inet(r0, &(0x7f00000004c0)="34e2de4d8d957a8de4e490b6cd20b988d4edef164bd3377aa381b5f50b7ca40a516489f78cd7208982e9bde22b2b7c1c7606d565477f3db9d2b077283644c0f27ab52a863a42863e06944e40a0b3c5d21c8cbe052e7f726263f28aef1bc12a069063d4c30e8f329fdb36859be727fbef4314161e5fb5f01ae00a2634d5cdecca2089c62e32f4c919886b2b88d237e287318739bec0364caf15889f38a312ef6621c0f21709a4bf2b16274cf933f6ad8fcc9c2024bc1b4713f650e860f93ae93b2361956b3e80c38c5fd29b5c1b5d7ce67edc856a8dc0ba54cee53de9a48c131389426bd06ec7c695add357934fc0321f0d3d7982e4fe5a0039decc491a663afd02facb08dd9695f854c7b031d9af8bd7350897996b5208b23030cc0feb84570730eaf24b9f2ac05d0feb3be07a29f887095f36f3c8f0e77e45509acd14a5be4a1572dd4cd1231087b830fa03e071571d4abd694710ef140469cf6df8a59839aafe046a5bffb97e5247be901789eafd726ba090337a2c49207e6b900c7e982472e6aac70e5d52ca2c1bab47b1f6d00f9601e2281686c21f770ae96e0ffec4b30496d012fa00958f794cdbd721bd155cae87", 0x109e8, 0x805, 0x0, 0x6) fcntl$setownex(r0, 0xf, &(0x7f0000000000)={0x0, 0xffffffffffffffff}) socket$inet6(0xa, 0x100000003, 0x3a) openat$procfs(0xffffffffffffff9c, &(0x7f0000000880)='/proc/diskstats\x00', 0x0, 0x0) connect$inet(0xffffffffffffffff, 0x0, 0x0) sendmsg$ETHTOOL_MSG_PRIVFLAGS_SET(0xffffffffffffffff, &(0x7f0000000d00)={0x0, 0x0, &(0x7f0000000cc0)={0x0, 0x80}, 0x1, 0x0, 0x0, 0x4040}, 0x0) 07:26:40 executing program 3: perf_event_open(&(0x7f00000001c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}}, 0x0, 0x0, 0xffffffffffffffff, 0x0) perf_event_open(&(0x7f0000000240)={0x1, 0x80, 0x3, 0x8b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x5}, 0x12000, 0x0, 0x0, 0x9}, 0x0, 0x0, 0xffffffffffffffff, 0x9) r0 = openat$kvm(0xffffffffffffff9c, &(0x7f0000000200), 0x0, 0x0) r1 = ioctl$KVM_CREATE_VM(r0, 0xae01, 0x0) ioctl$KVM_SET_USER_MEMORY_REGION(r1, 0x4020ae46, &(0x7f0000000400)={0x0, 0x0, 0x0, 0x20002000, &(0x7f0000000000/0x2000)=nil}) r2 = ioctl$KVM_CREATE_VCPU(r1, 0xae41, 0x0) ioctl$AUTOFS_DEV_IOCTL_EXPIRE(0xffffffffffffffff, 0xc018937c, &(0x7f0000000000)=ANY=[@ANYBLOB="0100000001000000380000", @ANYRES32=r0, @ANYBLOB="01000000000000002e2f66696c653000"]) syz_kvm_setup_cpu$x86(0xffffffffffffffff, r2, &(0x7f0000000000/0x18000)=nil, &(0x7f0000000040)=[@text64={0x40, &(0x7f0000000100)="c4c235aa1066ba2100b000ee440f070f3235002f0400d4d4910091b8010000000f01d9b90e020000b805000000ba00800000b9800000c00f3235010000000f30420f38c9ee420f928e00000000c48181c6080066baa000ecb0e3ee", 0x5b}], 0x1, 0x0, 0x0, 0x0) ioctl$KVM_RUN(r2, 0xae80, 0x0) ioctl$KVM_NMI(r2, 0xae9a) 07:26:40 executing program 4: r0 = socket$inet_udplite(0x2, 0x2, 0x88) ioctl$sock_SIOCGIFINDEX(r0, 0x8933, &(0x7f0000000340)={'bridge_slave_0\x00'}) mkdir(&(0x7f0000000180)='./file0\x00', 0x0) pipe2$9p(&(0x7f0000000240)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) write$P9_RVERSION(r2, &(0x7f00000002c0)=ANY=[@ANYBLOB="5658c2ad7c285eddacfd4f67d9faf695d8ce0235ad2af60228198bb95b56c15d9a5153e1b4b3e07b6a35340191c69a65ac692c4b4b762b4c471d26fb8e4fe4d99261acc086333bc63376e320e44c5d7f160ece4578d4733969f7"], 0x15) r3 = dup(r2) write$FUSE_BMAP(r3, &(0x7f0000000080)={0x18}, 0x18) perf_event_open(&(0x7f0000000100)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c46, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) write$FUSE_NOTIFY_RETRIEVE(r3, &(0x7f00000000c0)={0x14c}, 0x137) mount$9p_fd(0x0, &(0x7f0000000000)='./file0\x00', &(0x7f0000000200), 0x0, &(0x7f0000000600)=ANY=[@ANYBLOB='trans=fd,rfdno=', @ANYRESHEX=r1, @ANYBLOB=',wfdno=', @ANYRESHEX=r2]) socket$nl_route(0x10, 0x3, 0x0) lchown(&(0x7f0000000580)='./file0\x00', 0x0, 0x0) r4 = open(&(0x7f000054eff8)='./file0\x00', 0x0, 0x0) getdents(r4, 0x0, 0x2) open(0x0, 0x0, 0x0) getdents64(r4, 0x0, 0x34) r5 = socket$netlink(0x10, 0x3, 0x0) socket(0x10, 0x803, 0x0) pipe2(&(0x7f0000000080), 0x0) sendmsg$nl_route(r5, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000140)=ANY=[@ANYBLOB="1c0000002200200026bd7000ffdbdf250200140100000002beec0100"], 0x1c}, 0x1, 0x0, 0x0, 0x8014}, 0x0) 07:26:40 executing program 5: r0 = socket$packet(0x11, 0x3, 0x300) setsockopt$packet_fanout(r0, 0x107, 0x12, &(0x7f0000000000)={0x2, 0x2000}, 0x4) sendmmsg(r0, &(0x7f0000003980)=[{{&(0x7f0000000080)=@phonet={0x23, 0x0, 0x0, 0x7}, 0x80, 0x0}}, {{&(0x7f0000001b00)=@tipc=@id={0x1e, 0x3, 0x0, {0x22}}, 0x80, 0x0}}], 0x2, 0x0) 07:26:40 executing program 4: syz_mount_image$iso9660(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x0, 0x3, &(0x7f0000001500)=[{&(0x7f0000000040)="01434430303101004c494e55582020202020202020202020202020202020202020202020202020204344524f4d2020202020202020202020202020002020202020202020202020200007000000000000bf000000000000bf000000000000000000000000000000000000000000000000000000000000000001000001010000010008080018000000000000181400000000000000000000160000000022001c", 0x9f, 0x1}, {&(0x7f0000010600)="0243443030310100004c0049004e0055005800200020002000200020002000200020002000200020004300440052004f004d002000200020002000200020002000200020002000200000000000000000bf000000000000bf252f", 0x5a, 0x8800}, {&(0x7f0000011100)="88001c0000000000001c00080000000008007809140b2a3a0802000001000001010053500701beef005252050181505824016d4100000000416d03000000000000030000000000000000000000000000000054462a", 0x55, 0xe000}], 0x0, &(0x7f00000001c0)) 07:26:40 executing program 3: r0 = socket$inet_tcp(0x2, 0x1, 0x0) setsockopt$inet_tcp_int(r0, 0x6, 0x210000000013, &(0x7f00000000c0)=0x100000001, 0x4) bind$inet(r0, &(0x7f0000000080)={0x2, 0x4e21, @local}, 0x10) setsockopt$inet_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000000)=0x2, 0x4) setsockopt$sock_linger(r0, 0x1, 0xd, &(0x7f0000000480)={0x1}, 0x8) connect$inet(r0, &(0x7f0000000180)={0x2, 0x4e23, @local}, 0xffffffffffffffd3) setsockopt$inet_tcp_TCP_REPAIR(r0, 0x6, 0x13, &(0x7f00000001c0), 0x4) close(r0) 07:26:40 executing program 5: r0 = openat$hwrng(0xffffffffffffff9c, &(0x7f0000000080), 0x480, 0x0) perf_event_open(&(0x7f00000001c0)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c47, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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, 0x6, 0x0, 0x9}, 0x0, 0xffffffffffffffff, r0, 0x0) r1 = socket$nl_generic(0x10, 0x3, 0x10) io_setup(0x8, &(0x7f0000000000)=0x0) r3 = eventfd2(0x0, 0x0) r4 = creat(&(0x7f0000000180)='./bus\x00', 0x0) ftruncate(r4, 0x800) lseek(r4, 0x0, 0x2) r5 = open(&(0x7f0000000000)='./bus\x00', 0x86000, 0x0) sendfile(r4, r5, 0x0, 0x8400fffffffa) syz_genetlink_get_family_id$mptcp(&(0x7f0000000040), r4) io_submit(r2, 0x1, &(0x7f0000000600)=[&(0x7f0000000100)={0x0, 0x0, 0x0, 0x0, 0x0, r1, 0x0, 0xdd4ad65, 0x0, 0x0, 0x1, r3}]) r6 = dup2(r1, r3) sendmsg$IPSET_CMD_GET_BYINDEX(r6, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f00000002c0)=ANY=[@ANYBLOB="0512a7a13a776235fc6508e7badbe004cdef9801d2e6beec7e89f5e9f9b8a564d3bead3045453d3b7fd85b632f0696d0e0f9e6e573ebf82018f068be38127d6da941537ebcd9621a34c91cacb17644e569f3f6835379315e4c0662c312ad21b7c606e9df6627192a71bf6d5d66bdee8a042f7830ab57ccc3461ac29bb32deabee7682ea15819c8cba0ccf80effc84bf45b4ff2ab4576774f9bb0dba4d72651db26424050965534002af6bdd053533076b18fcc115e6b79f4043549219d5cf81c8fff08ecf7a702bb0a6c365e01b022ee4fd3d25f391f48c692a5b2ee0bb3661b7e621396e0cde82ae0c6d9983da612ee4f7fcc53c5bdd2305e6153ee"], 0x14}}, 0x0) 07:26:40 executing program 0: unshare(0x48040200) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x3, 0x8031, 0xffffffffffffffff, 0x0) openat$incfs(0xffffffffffffffff, 0x0, 0x0, 0x0) openat$sysfs(0xffffffffffffff9c, 0x0, 0x0, 0x0) sendmsg$BATADV_CMD_GET_BLA_BACKBONE(0xffffffffffffffff, 0x0, 0x0) r0 = socket$netlink(0x10, 0x3, 0x0) unshare(0x0) perf_event_open(&(0x7f000001d000)={0x1, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 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) sendmsg$nl_route(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000080)=ANY=[@ANYBLOB="2800000058001b000000000c0000b505bb7e53bc", @ANYRES32=0x0, @ANYBLOB="01560000c3ffffff08001b0000000000"], 0x28}}, 0x0) socket$nl_sock_diag(0x10, 0x3, 0x4) 07:26:40 executing program 3: perf_event_open(&(0x7f0000000100)={0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c4b, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={0x0}, 0x4, 0x5}, 0x0, 0x3, 0xffffffffffffffff, 0x0) clone(0x4000030006dfd, 0x0, 0xfffffffffffffffe, 0x0, 0xffffffffffffffff) recvmmsg(0xffffffffffffffff, &(0x7f0000001b40)=[{{0x0, 0x0, &(0x7f0000001740)=[{0x0}], 0x1}}], 0x1, 0x0, 0x0) r0 = openat$ion(0xffffffffffffff9c, &(0x7f0000000180), 0x0, 0x0) ioctl$ION_IOC_ALLOC(r0, 0xc0184900, &(0x7f0000000040)={0x120005, 0x3}) clone(0x40000, &(0x7f00000001c0)="a6bb5bbd26263a8c96eac0c11bdade11ce66b92f9c16bf9a79444c48f579b2e82e76699c1775b5a1f5b3dffdb9f63b27cce694f83be21e2912cda741a2780c823fdf3ecdd41c558419397d17d2f8814aa36baff9a998139f494490d1949a7718b59f22a3fb40d83a05b999e256d0d5c104401d84c3690713f7765cfce062375b874676a504f52f74a685f221b4875182a768f312cff23b9c3f10421cf57b4a73fceef2482402f44f8524198557baa2f7b4bfb2", &(0x7f0000000000), &(0x7f0000000080), &(0x7f0000000280)="13228f8c475bd0e9e36b514862c340b347bc9ef77c0c86f2e23eb02e3190861a2ddddcfeccf98475d9045935ec469bc2bf34e4ef3a096f13a3558e877cfd879c61025a8f9e7ae0605af39d7373304b430a78bde4d9bcf321a9a43ad8c853f46f88dca2db7ca58d840418eaed16888c54ee6831e4c8c35a2208f560c371a9b46ac698f60adb90444f6cdfe941d557890b3c2e0b15dab7f6e92066c6716ae0ab599ed9a673573026506624a77bc3") write(r0, &(0x7f0000001b80)="839826e17bfebd7320b41492971b7ae9cdaca4b13e0afc05b56e2a600d2f4378c3d927f0feca8684613cdfadde6f7d8260b69195682cec8bf9cfb457295d15b123c5801a79fd6fd1ca570380a38f1f4f4413b642ea54b208fa6f9c720b554036602936d41254114493d1c4216982d263d064cd9902f98d5dec7e932a6b9ddfe49b1f3d0abf63c883e798ddb325a8556e1d7e2bdbaa5f4c9abca2fd2da838438f6584a3bff98a467b7c28880eabc6a6aeca10b01faa3d8781fc2370ef44279910841465012a630821728dc92b4c1fc832e1c1c31883f90dd804c87e26546a38c6e1bb9309f6213f8e8c26c3a09ece13e7f357e677bbfeff76478fc78b50cfde326c0dc4ceb6f0e6203e7d278f1faa4b47ac15633009970312d66ac46d15af07c6c19392eeb9642d4311243b0fbe2bea22fc4f865c625b1093c82288f94eab55092d5ccdad8eefb022218c40686aca34a3be5e465ebed2d7925c7f199b942c145e9cc0da44aa0be4b1cf889dfe75903fe89d9305a779731ecb1febd213eabdd02d1596b8d9b2ec0615202a451e06027ee63b23b10fb4d3f7419d4d27b79551c74df6933490543e66f04f1024213254fb42c1c1aa1b00c18d6253a84dbe1b086e82822f142770bc59b0cf1de1be0bdb8143211c5ddf26841f108a5e1aec14001cc1616bc37462ab23c128b79d445369d07a539d36aa80c69b6288dcbf9e8dabd308ddef0d6d863d442c1b2c3b0c2712086608e30775e92f7358c5aee3dde44ec19b6ed8726735739d08013d29d5b56b116875ff49bee1d30eda8c97d28e4088ce6803cd6d8e8d4ee62584f0eff64fe15bd65c1d1c98fe1bcabf4d09e0a82bf87eb83be53fc25d7b45f7477011b0b60e16e20b4072184ea7119920fae8aa2db90903c1c483037200f88008fe98b083673f31e3a72b20059f78ffe5d5816f7c1cb3a2acbb3d2b0d24a5c298a0ceca47b5a10c60acd61ee406476160ec833076728a5c6cf795bc6f1205203418c9b741ee6b3fe750c81620fe1a462f62474c5ceabf1c635f261c42ee0806a968113f946a6f39408d466dd3af46e06425e4467d96f836fef65c2f34c742178a11eb6a65335a9e188d0fb8aa0dbe41508b1b8033c0228c7a6de431d8f150e5e58eda30fcac81a35c31f1f560424ca2d07f637d3fee32f32408083fe020619b015038715c5370c2c0ea44288c8dc42eb54c7c40c52d13c8e320ebd289e53c093d74980052763f2ace9f154959608d1c620cde275fbed5d7769d2f2b7d7cea23be5b09a7d518db05534720e65f8293c0a390f7e75cd9706c8db154b910b6c19a8b253deb39b0bf7200f21afcfde4b70141b13c63f75c143dcc3af0812ac9b816e9fdebf9c0b65a27ef729f0e308edd240b072cb375121c81d59f2a7b0326133a7074814e4fdbd1fb40146edbf03a30a554d120a7905cb765cd741d9bab3a9f95f18946179b79d9baf7a9125df1c12a96bfd8cf0672d3b6dcce2cb4807404bd8d5e314a265cb40444a8d84c0bb6f702db43007aee30196ee30e1fa653a18404745a6ec4b7e7106885905ab389067b83e978c0eec51c305b4db2cd57ca66d1badf5af158a452ce941babeb96d402fc3d02b821517c4e1411ad0340064bbdf7698f598be1949271264ad6bf5c11ff8b5676ba91e9492fa481ded2c0d5ae3445a817b1928746c8b8afcd89aa4952d5da760ea46cce68e3b868fb5840b5787743dbfe725362f3720d3f1f7e3e533f283c63d811d1a719b3c9b91bec7376110e290fe622a4b8af1bb443ff2801c0301a7c25f80ff2e3fd6b037d7db77d3f7c0095fcc846229b675d31681711a39302a2f39bff8275b9bd8926d546b28d66816ff7e25eae898f11f4de139d2d9743d57e8e4aecf0a67ea6111cd168a3cff58ffabefeac44553f0f599f53ae70558d7903e765699a3fb5414ddf47677ced89e75048930dfa632b53f976cf74dbc18502d824120a6b75718b65755a0f88901c6ec652e1229192514e29d0b86edff436678e099a3a0ebc092182c4644a53dfff3c32602757c6f202469ca06641c817e9623cf9735d632ed34d74db8093ee747dd23811e4b3833d6c21df23e2369a6d890ed9055f3d0a507ac1b247e5b5bdad6ad0bb125f21331a797d318ecf0c630c5ad594a2e9b2771a8b14888c21d1b17cbad0e6dc16b11e4dde1dae2a767e70d2793d61b7973e7a838693c4716e34510224bdcb5a0985fd6d6e7a73e34dc5b8519c97104d1ced65da3c0524115fe83d581247fb92c8ba6171f5cd81e217117c12aae5ca2a64527d64fdd06c100420228df039b4a27d57f2e05650ba279a3f108e4b7ba97adf53e6ca6a9e27b0539da18f41fa0695b2713cb59ccd406ab903e7d59bd366c92e25220c81816897b3c78e8548d8ec927ef4a8d273f032ea49f5a5066805b8b54a9f18b5b71f77f8ed180e20e24f33f6d9ce4fbbd2251b08f62b7e84497fcf75139cd4d5babb35f0d0e577a1b846064294b8c9ece40c33d892bb7519be695c118919b31d63a922b26da2cd38bb8e1b3cb99a45fe6053cc3859ab7bfacf90ab5debbb1eecb5c1d51725cebe254af1803db50991dc76f8a00391ec73a4414cf92e331b56a58622442dff3a392e63abc01f343e921d8a58ba671088e9fd882dc3218bd8ac446f60d0ff5fcf8fbc8fab7bc7f2ab7519cc5a02d42816c3b58f932c4fa2ffccac9edf77906d4ccc7610ba728bd98ddc76dc5f7c3a4e8135e464c0895082a217ba5cadea11d25dd2dc6595926475737a621bda21bb46231d1bfe4bbf52fc18345e14c1d07951c6e32fedb94e4bc345034309b196466cc8da9422ba7445014443c147389b75177fbc9bf20fd2b098a52f2524e38bee5fafdaad094750a07ca274d30d67d19723e59b7456f1ca83694f0cb664004989f435b9b79af7888e9a1dc8184bd42f4ccc4720f9cd07a18f106ef88a0d95e4b74ec03b473323f6df7bc05a0c9e294085b84e9add75fc5f59506635d023b8b0143962469304f84da9d2ab591d3212e4db39c205a4cd6f09dad3a9258a611d8b477dd0a109f9f06212056d2ffbac90cc70097a18e8735bee36d4a06d3b2712c3c555269e680d20088e793f68197b0070dc238bd9472c6052520be4140d87de8f01234f707dc22fbff7b7f2d7773288eb26db69b10e54b3ee3daaeef98aaecee86bb961542eaa97342d9ea9106de13061eae40d581c8e295026b73dfadf8f88a25578ff55576e58d801d5bab1b0a78c7a3fb5ed342285f5d9ce952575e8c440511b8dc9ec037a0ea614238105c4d5dbf836a203569b06ceee615de9d99b3e66dd26784bcc69789c7db52ce544b2464386b59dc562f48e3a668a9844ac3e19d102d2412e675946d10de87303849979456b1db6079b02221f34064417a9b971fe4b3e87b5bcd53478ccf495f196db4c3634b0153bf5ebfa7a2d181b9749a6f44d935d5d7c1f59346d8921512b45f45d6b3fc3ff8f540214cd403ccd0b5df371356881650d886275f082dd2ab828836e58ddefd0b20bff283df6b2a22d0ca4d2345c143c9e1f41a18003903d779b986a255f56b886d864e91d220dbb7b1feccc5e6baf6b19f2bddc187ad3c9cef7578d799a75b24bdcbaed01bd4e74501dcd8bc948c163d308336d4548d6e7c98389aa95baa3e170f8dabdc85a6a5a26c50e756c2264ff7c9778567b13efa6a0aa20d3d9dcf5a535e6be794a4d155b5b0b6995d231e56477736b3bdedae22d0d18baa5ea6925b8dca2be4a115577387fbae999c2cf60536fbe35faaaadcf230c30f58ea04b1786a7ae8addd608dd638d7ca37031ee82715183290ff15aa8d875a4e8cf34d34cacf85a955694c6da8786fc69ad0e7f7926462258fa617713e826288f055611a2436ab256d27eca55874f438aa1f9a05abf71bc05ef8a50fc20d128b8349ea5668e5587929c8fb6d731aab2c2aa2eeab47c56efe585f2ab9c4c23949bed3d3b8f3a45611e1d2e6a85b7dddc7f351d7abdc423c89eeaadf874404cc7505576ef232a14e15de65b82f2c5e154325893007304369ea371f1f5f9146a93a63fd6560672579826a2a6a1ca2ca18039a9762f55f4fa8c5517524b22d00c0cb2f61011e7d2999af86115ad6f08a2f5dcfaf706f6efa4e01cccf12679f83d4390c492f97163a90bc504e80b0ab9fda86e5c6cc6c462521126275a8c35c2a740c2e6f6e78c48d3461163757bf2ed84b4bdb9d106147b1451a166637c39de0c1f75af182c3680c14844772f68bb2a91e09a8e51949857003fe7cf9f7260461d2a90c1d5aab596b55db77f1da26c946a781c05c8fc03e3aeafbb0026b00703779e102eeaf1ea43d15903b2c52f79a7a91606d055bea09cc3a8d60ea00c943edf614ad8130c4b70cf22f0dce1609aa14cf09a85b28a2cc2495682dee9ecbf69607abf58b7e9b8f9dc9a88c094feb17434576005aa86c2206415753e1c796b9924f80eb243ebe1a0d0b57a56d4a1bf73edd9977b3ed174badbcd073ea9ec95398b2b9f71b59ae866e77e9ee5275b809fbd4cb8fce7f7f8eefb22614018d8b1ab631d7c4838616cf949118b71746fe790cd11d59418db4c04bb3e81f03e58a8ff053f5aa822f7bef11dd29cb2bcdab5b998f5b9387e7880a63ff742ef25ff8cc85b866f3ada681a40068a1cbdd77cd6edc2c09ac2af581b061ade6da8d9c67ae238524751d815a8fb3d430550c601388effe04b1fad631730662a54642ad917a0d0391c5ce1f7020b4e197a55d9f593e3816a0243786eccbd2cd4127b2cdd806cca0525382b18198149dbf31194c11d6a1c2224ed436c660fe8c2207a6c304bd409cf449e4039c008818333a4a9a1304876a32e2b2d00af05696f9f274e49e10c3b3d2e0e6b62fb899b38b463c19cb1778dbd833271289f1e058aef8fdb206feb33648c8f53ee69508621c408e2e304532c9dc6f2778e5667869e28debd973ff49d8007e6a600aee59eb4a0979dae604af4e13a52ae19e662d23a9f8dd835d3f3fc28ba4b31efdc2ab104fb2bfa30b88970cae2dc019fcb6c512db2774a0c3e7d2e85a791a93ca1ef4d2b42e323cbb3ff97f50c1857ed90bd4ddeaa69cc00df45ae758f644ce4e4d978aba283cce503a8816ac76ef07a4f024a36e81ac8393cb10d122bd8ee2d04821be3542f1e9971eae4e70bee352efcc83105db1ac29cc595092d500edf2db03768ec75e6a9e5d8f5eb0f9f9a5de1d684b15892d3b03de010aac07b413879717f275a4b8087e9ea2efcd5c2e199972445e01e169d4f810511f14c153a1c2a227cb98e4b848e8c95a343936a3715160ece65fc60e0814d7c284b3a500ade592f271d01f5fd7f7d0a2dcd34fc45b81bbb89b3a6f3498333e7ec769453efed977fcde1701fc6e959d5913fb525a2422addd74d13441303acdc1ca7ec131b3e6e99147edd9e26e6329d0b8f031ac06cf5405d2dcf1c813bcccab93ff29d2e0f16dfae8fe991664481b9783b67ad0eddcc8a23d0bb9ac88358ad5f2ff0a5a2d60bba558d67f4c0969e27fe71a8d4db3109341f61888c2df5987ba93c2b38e304dd2a390b3655a21bfa2ac575554dfe72f75d1662bc509fbfc085a82f086b81915fec259e2cae6bc84421627aac04f3b004369e5339d5785e0856b534220dedf9b3196e20d330ab5f6deb2234153a58a782390b3ed908b7b5d9619e738732ab70d61f905198a00a82b296f3cc7a657e0b8d5e9896bd2844466189456afc4367a7b3a457c26709b4e635aa75a9f9c7c5188cb58558d100fae6594408f6cb447890ac7a64f9", 0x1000) r1 = syz_open_procfs(0x0, &(0x7f0000000040)='status\x00') exit(0x0) preadv(r1, &(0x7f0000000500), 0x37d, 0x0, 0x0) openat$cgroup_subtree(0xffffffffffffffff, 0x0, 0x2, 0x0) perf_event_open(0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0) r2 = syz_open_dev$loop(&(0x7f0000000880), 0x0, 0x62180) getsockopt$inet_tcp_buf(0xffffffffffffffff, 0x6, 0x0, 0x0, &(0x7f00000000c0)) ioctl$LOOP_CHANGE_FD(r2, 0x1268, 0xffffffffffffffff) 07:26:40 executing program 4: perf_event_open(&(0x7f0000000200)={0x0, 0x80, 0x0, 0x0, 0x0, 0x20, 0x0, 0x100, 0x0, 0x0, 0x0, 0x0, 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, 0x0, 0x0, 0x0, 0x0, 0x0, @perf_bp={&(0x7f0000000080)}, 0x60, 0x0, 0x0, 0x3, 0x0, 0x0, 0x4}, 0x0, 0xfffffbffffffffff, 0xffffffffffffffff, 0x2) socket$inet(0x2, 0x4000000000000001, 0x0) mmap(&(0x7f0000fff000/0x1000)=nil, 0x1000, 0x0, 0x110, 0xffffffffffffffff, 0x0) ioctl$BTRFS_IOC_TREE_SEARCH_V2(0xffffffffffffffff, 0xc0709411, 0x0) splice(0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x4ffe0, 0x0) r0 = syz_open_dev$usbfs(&(0x7f0000000180), 0x77, 0x1) ioctl$USBDEVFS_IOCTL(r0, 0x80045505, &(0x7f0000000040)=@usbdevfs_connect={0x1}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, &(0x7f0000051d80)) 07:26:40 executing program 1: ioctl$KVM_CREATE_PIT2(0xffffffffffffffff, 0x4040ae77, &(0x7f0000000000)={0x7a}) fcntl$setstatus(0xffffffffffffffff, 0x4, 0x80800) ioctl$BTRFS_IOC_TREE_SEARCH(0xffffffffffffffff, 0xd0009411, &(0x7f0000000040)={{0x0, 0x201, 0x9, 0x6, 0x101, 0x7, 0xd3b, 0x7, 0x3, 0xfffffffb, 0x1, 0x2, 0x80, 0x800000010, 0x100}}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, &(0x7f0000001040)={0x0, ""/256, 0x0, 0x0}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, &(0x7f0000001240)={0xfff, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, 0x0}], 0x3e, "6669d6cf1f0dfe"}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, &(0x7f0000002240)={0x76a1, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, 0x0}], 0x9, "c332502530daf1"}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, &(0x7f0000003240)={0x9c, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, 0x0}], 0x3, "7e414ee24c9c04"}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, &(0x7f0000004240)={0x0, ""/256, 0x0}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, &(0x7f0000004440)={0x0}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, &(0x7f0000004640)={0x0, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, 0x0}], 0x1f, "5b748dfb49be24"}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, &(0x7f0000005640)={0x20, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, 0x0}], 0x8, "484411edf0568d"}) ioctl$BTRFS_IOC_TREE_SEARCH_V2(0xffffffffffffffff, 0xc0709411, &(0x7f0000006640)={{0x0, 0x0, 0xcdd, 0xffffffff, 0x3, 0x3f, 0x7fff, 0xff, 0x39955649, 0x25, 0x9, 0x2, 0x8001, 0x9, 0x2}, 0x20, [0x0, 0x0, 0x0, 0x0]}) ioctl$BTRFS_IOC_INO_LOOKUP_USER(0xffffffffffffffff, 0xd000943e, &(0x7f0000006700)={0x0, 0x0, "f1c54063091a5ab40137e76d64eaf68ff781fe952ec2925e8d6b94415f311952f3e9d320c98f18e1c4612afd70994e69b0dfbb5a6c076cc8d9abfb374ed31c06f56434fa154e74b26615cf66b1efdafa239e9aec279753f046b4f50fa1991e8e2f09caa1850fd57c5313d313f3420274e8e9a3a3e62ccafa894139ff6f0bd2adb015205aa084947d1e20b37e396f4cbbeee4cf5756dbb31c7e4f6543d0691e12f71db68218aec04781188eeb5cf7f2d09380c79f457f0520970410057771aed3fe6327e7f3858f173f3b740f0b9ac3182e5b0966c732876ec584b8430c29bc8458f4b7ceaad8901426906cdfa510087687a6e968bee10798d2e790abcec2d6f7", "0a2c4b13cfc177a710458e9eb6e9b96ad5c76b5d95fd5a2d7fab65308b3980d7935c9c3a521bda1a02824a38fa5507065447d176fd606cb4bca2443011e34fbd4453d6eb7643a6741afb029e7ca2174544eca73a6f88604819ca3f9dbfc7cb2445b5eb51ff9f4c0aac1005569953ad1e2e525994171ae3ad732a1d8b0cc7fbdb9dc711cc64e1349f9c43eba2916568c23e9a016960e4909254f8e79aaac434933bde56f89cf15b085dd1ece2b4918c1d0a64f5534f3c935e2a7b3158dbf1da11256e2526005899422e8da0e7cdc8ca646a5f21ced3282c2bca9c14c66e9e950b93b604e9a324b47410d48b086c582a4b9ea711681797ad825d4958fe33cf4f3aa8e7cdbb08a126d9ebaa06423b5edac72ab333810cc071edfe7d143c483afdb202b775c00c385e5db0b5b461532c6e9c143e11982bc28bf9f2afc3367cf987d1a35828274b528f86be404fefacc09faa9be4dbb613cbd4ffd45ee04c9041e27a4f5e465c3ba770cead03c0cf9441c5615207484adf6a338e6add2957498326cee8be6a3a597845e11e0d79873cec825648a433daa510dc6cee6f60f197f59962d78c0eb4cf76b3f74344d2e2be495f20bbd331463e51e66aaaf7f07b12bd5c2ea31a3a71a66310a6516c7da540c4957df851391fb0429299b13a5f4e97e2e92404eff39eedf3dbab6439e8cfb4536eed616f692067f38af8457af29e00890ead634d6858ea302699de543c2991b396ee8027edee520cb22c515d59da409e86c1bbb0424ac0473480f999402d6ba344647a343ee48591f0a269da7238ba47e43c47edce26bebc2e6b9f03b83abe23e3f090855fc1fa33e33b54811646386829a9d6e6f8ab788a72e44462fd973649acb741bbbcdc5995d4ef7912344b08141859bdef429b65b9853510b41524ad50897b15ba34679bc62c0184623d8a6a8baac6a91f90a91d4c84f767f00edc93af3bde4e7fc77e3d30beccc183e191a98a6da4d6a72531e58b5b937bb04e8acebfdc8a80fcae518c8a1184d16ff88a6c3ca033440a1e9d00e5e22fdd9ddcf1b3ffa427be065853827d8630a34cd49394e9e6a9cbb8670612c2fbe8c9325ca62f8ca7191158a0b7957d8e501510ad171a6bc5bc5da54eee46ec4fe1b9f24426a20b03f020dc7f1573ed73ff1c0e5fafcb00afd71b7e1ee2093a060176f5e2de91e59382e45856e6bd6c3e8cb4f701eb090d5e8bd85e406762200dcfe55ac452a51230545c0a67056be9777161599f45d134fcaf6fb77bc914b7f384a52d74877877b02d97cf876d5df1b278e5d4eb921d35222dd43de280ba2a4ceb42d352ea4b093645ab85d5a375f14b5856483d9e1e762a8b3c95db0225adfe6bd0825276d26febc0ac1ef1059c191ac671a507970df58ec549eb3708cad16c2f914af63476ef92e9d778e4c4addd51d09f3d8e74e64d627cb4cdbb28c93574ca75752f92dcf309a27dfdfea558f92da6e0baad6e648cbb4a344cca471aa524e0bc92b6eedcb0e9bd0e96c5ff30d986011b1840db088c2f07df147b6c094f99d83905de14023aed1046859f86d593324b7b6893e268a092f6d04cb14016e3051de0f020939fa0fcdeb3c54c9374154d5e2c3e3504f12bd4eb049f55284da06a710aa2860ae9159876e3ae9c015a045a5d5e17662ecf5db3f71a66f6462a8c5d527b9d0ea9b50125b3b233fedcb49d66a06d591a8a5274b30c2ca4304d2de7d690bb53df73e8ca2e6c46f8713598f99d787e04ce5b8aebc8a9afeeba57be214e2a7a87c9b5e89671a37f7d53d2cef7d3f092cfd560c021b53c086722011132d4b9c1ad1a2223222bb1fb7b4bf8588802354d5707d81d4a97e049a22ee431b48da8562e447c2e41173c47e39e57d22b29f64fb51d222a7ce32ec72d34c6e41208639ef80af3dbacb3ee0e3768fdea907f3c250d9972fde8e4b9c8ad8cb249d17cfb7dd70fc36f0fbaa44f700346bea5341a2d8e083bff645d598402b39380c3f606507065d810f41bf5c784b5c816c09f877f6a51520a98ecb4f40290a53b6005d05240f5f81362e0984f714db3b2691811497d8918b6148dfd12f39b61fdc16c4cfb31abbf9d82c8101794a99c37a55938ea5a99b0a7e4799d24c2c186ed8b7d42a6f28b46d23b186078375c1849719933fe6519e7ea0bc345e161fe0dfd1be316c4e4b9206af66761c1de0a97f35c8b2b01fe4c39984ead6846d77e70a657f3d2b7a0cdda47080b43ff3ba7cbfd4b7afe4e5ec65171bc0660277feb68293e5bbb4046e99412bd65baa6acf2e1a336e2a8a02d6cf1413d2867bbc95f31335e5af4b254a07665078b61b7c753e4ac76775cb52b45734f2a5aeef019b71eece285f1ade37ce4ebe8226bf04a01e36d06c4121f904b6d643ffcfb0942f0be17af99d88d5e7f538cf8a93339948866396dab8039e6235e98a558b0e401b16497b886f9026a1028b8b2f241c25e870f764a20988b30369deb716dcdaf6cbdf63ca21664da706482c6405b5d4bc0c31b8b47e8dc5a0c215aa3863233c66e7d86a4a6c315d00d0fcfe810bf7679df3eb2ab64bc506fde6f0b951d039306f22c387fcaed467ee0723403c6baf461b80c166a43cf71d685fb57c510b1bb31b99266ec4c76f5851713afe8e36085de7a52ba5ffc2fed8a16a6a9b5c8fa6e22c8ad031478efa355bb4f90136dee24e307c2b8b93594a84cb92dbdc0fce7d403e5ac8598391fce8afaa774b46767a1d18e71894a15d8d5a6cb06a661ce16ea992510e5f67669620a2984261a182d0a337140da4e97ecbee626d07c3c70b272e1c546d137b569295848aa926d524aa820e8476f09ccd2b4870ba60f8d150c774376f207d36c507009f0084691066635516434d4b7dc2a96cf2cc36f1bb2f44f60dc65fe7c91173b1d500434bc831e82a413222ff0bdb80d925925c5e3760ed16a14413b7318b0b7821b9d0c8d5d2e1a28b08e64ddd802d7a117911a197d64deb6233ef9a2e886766462ccce92de702af28ed1dbd8867f755b9ffefebaac2841e7dc884fd64212f3d1443711a01c29bc4c2d5fa1609fa4f0a2a2f4e8dfc1d535fc61786810ad084c48199375c6cb40e60fabb0aad013386d2c514b1931bbc78f20bdf69ac8a5d1191b8f5f1864c689bc968b06b41bd91e0a8f771ac6644380e9d493a37439a98c9e13879c3584c8d2693a35a9f248af111f559ebcf9bdc7413ac2d80633528fbd809803ef91f8b081fdc1445a5f0d977f6f01545d6c868e02707841234c8451b4b7f44e805068c5e62ee3e8429f6c2711512240ae9dda153402835677bae777b7bb77a282dd78d6b7d130f224b78594b13be7b9b8887efb2add87e5a7ca06f43ddd47059a575a74dbb09f793fc9418bc4e08285bc7054c51237986f1576829b9b50826a6fe70e7a23a121258f33b4929382d1414fcc2fa3b030ae7965de6b4de522d114d7f8af99b537ed0878e2ace01fdfd2437059857786729fa2129df64608bd85400034fc9141a60973785696f7925b30c13915e05e35ac84448f1b2d0b7c74c5df082e33526763f0964b5da9cd51d85740445d326b9cd64fe6ba422b687d9c19fc127160246912c8336251492b64634b9eaa50600e9a1a22d12a50d577fa8a99867b7784b39835e1b81c71e3700f9bddc4cbbdc11a37c7f32aba7a54d5516a99ccd21bef24bd54ebcbc68186ba2b3fc61eb210f3844efa4722f9f724d605ba2bef004a8fe4307b42bcb95ea6308b0c090b75b60a4fc43b8c0578bb5a58c7e13087b979f47248b64abb9f05333aa92eaaa82f535d1d4b8db66261024c6449169d6f4edd2a5dbed8e03cdd43b66d24863a622ef07513786c5a2c021acb335683419e110338f6a17900717eea2476bb635d833ebbe025d2288292c24e99a9ea649f67d3d9320a1a82dae4e5efbad1fb1f16b9c7e7ef098863c469fe5c0bb21999f1ebb60b287252ab8100908a5663d6aaed6516432c28b38ad0bfcd2af61b457ff3abb70f17eacb31a629864629f3818a01b34ddfba049d6dc8852c551b6f0f23227afa4f85938471fc9d1c032a66f5a60855c68fe3315f7f2df2ff1810433bc342b5afaac074820f3fa181078fa346060f895c86d89154a8bd65083eaf5be77f5a8a5bde7bf07da824cfa4e5e36ca9e921de24948e2875cc0dc275877ceaf621d02d86a82914ee7b7fdb19e797fd9f31d056f8ccd9553b45be8707e337f34a6c8cd4b9896551c317e599f643a68f13d908fe0f66c94a2d3ae815e70086c0c73ecdcc6b4d3503c7f34e11c677e02c2bbca6ef34027de23ac9fb40c2503ca0f3cc33eeb17781a540756c3c4cab3c2a91ecdd62453b82afe4f24e939d87d15e215beaed9913d46dcebdfd48166422897675412cc0986e4c9750753544b351a667466a0ae2803222678e0314e2d6226c47676467d72cbb2169d358b7df486ba7020fa31bc727b44d4428b39043494474a68662ed0610b95b8fa4e16af2577e8a2ddf8d8b01e13a71c73661d9d7ecaebff6c54425471cf8b3b871d2de4af8bb34d743b6f4fa14b94c7d6197d344fb41a729bc3f833d792d780f359e79d23ebd9cb8cb21d0a087b109d07d0178e6ae14c2005477028bc3d9298c501c5e54519c6d714460c27703d9110078f5881a1b3b2fee72e6fd1fc96a80917d56af1412db2a43c92bf4cd5f5f3bbb1b05d88379bd60262d2f61de278afa119aa26f5717de93aed38aef667d312428e563cc7ec2fe8dc27edf29a97a39a7965150c096af0d0dee16dd1406f3a389ce71345a24fe844dc57e0032f2d18aba862cf70270ed883c0639521a72009f0dcdebd3e94135ac4152f074ba5ff34f67d714e880ba3a6489f49a321afd1dfb858c35ce67b01b4aff142f93da6bbce6d8de8fbb8e2ff25bbee319403f75ccb07d25b50eeee1745fb0dbdf997c83de4518cbaa5396ec543f7c6b6c72ef2dfeeeaf874fd71f8062e103a2c7547d57791906b28ee309b69509fc425aded2e007b457d1b020c14337be465793238557062b4fdd0e3a6b0f97063150bf9f6ca549de58fc11587096ab107a5b132023c1a6b49a8079a20cbbbb6d08cdb302e8eb44784e11f73399b2fda7f26cb7d199552fc75e5f11fb4acc0482c6cc904b4b76de7d009be463163777dc39c99506111683d6dd52c9b1f7ab609e781af96cb1a97376cb30f36943adad181a28e49b9855f4af83ff1c7f71711394cd9d3cde0ecd33611e25d45cfee4ddc4dafe35c6f3b36b6992d5026b121a02c2b2457e39755b9dde4d66e1a39e64525fa3254780176b30ee19507d6ced364d1c61bf7efb60a3382b8a407e3a96df30c9e603ce5a7800e65a7e5468b9c977ffec0fe33053555e92eae03c1468baf5655500c2878025efd9ba6dc8a38f6abafe6c95890d881e9a1052a8b074"}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, &(0x7f0000007700)={0x40, [{}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {}, {0x0, 0x0}], 0x81, "26af45818a43f1"}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, &(0x7f0000008700)={0x0}) ioctl$BTRFS_IOC_TREE_SEARCH_V2(0xffffffffffffffff, 0xc0709411, &(0x7f0000008900)={{0x0, 0x7, 0x5, 0x3ff, 0x1f, 0x3, 0x7, 0x80000001, 0x0, 0x2, 0x7, 0x7, 0x0, 0x1000, 0x80000000}, 0x8, [0x0]}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, &(0x7f0000008980)={0x0, ""/256, 0x0}) ioctl$BTRFS_IOC_GET_SUBVOL_INFO(0xffffffffffffffff, 0x81f8943c, &(0x7f0000008b80)={0x0, ""/256, 0x0, 0x0}) ioctl$BTRFS_IOC_TREE_SEARCH_V2(0xffffffffffffffff, 0xc0709411, &(0x7f0000008d80)={{0x0, 0xf1e, 0x9, 0x8, 0x0, 0x7, 0x1f, 0xecc, 0x7cb, 0x2, 0x2, 0x3, 0x0, 0x8, 0x2b}}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, &(0x7f000006e300)={0x1ff, [{}, {}, {r0, r1}, {0x0, r2}, {}, {0x0, r3}, {}, {}, {}, {}, {0x0, r4}, {}, {r5}, {r6}, {}, {0x0, r7}, {}, {}, {0x0, r8}, {}, {}, {r9}, {}, {r10, r11}, {r12}, {r13}, {}, {}, {r14, r15}, {r16}], 0x6, "13ba550496f64a"}) 07:26:40 executing program 5: r0 = socket$inet6(0xa, 0x400000000001, 0x0) r1 = socket$inet6_sctp(0xa, 0x801, 0x84) dup3(r1, r0, 0x0) r2 = socket$inet_sctp(0x2, 0x1, 0x84) getsockopt$inet_sctp_SCTP_MAX_BURST(r2, 0x84, 0xd, &(0x7f0000000000)=@assoc_value={0x0}, &(0x7f0000000040)=0x8) setsockopt$inet_sctp6_SCTP_DEFAULT_SEND_PARAM(r0, 0x84, 0xa, &(0x7f00000001c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, r3}, 0x20) getsockopt$inet_sctp6_SCTP_PR_SUPPORTED(0xffffffffffffffff, 0x84, 0x71, &(0x7f0000000080)={r3, 0xca}, &(0x7f0000000140)=0x8) r4 = syz_mount_image$v7(&(0x7f0000000000), &(0x7f0000000200)='./file0\x00', 0x0, 0x1, &(0x7f0000000540)=[{&(0x7f00000000c0)="05f657284232f553cbc95da35f91c806f7cc665c10c9c7489fdd9e35c97fe79d9bd115a9d6b06d80a613d18144b1d1cb7d187550196df40e312566addb7ca48b20412640a32a8cebf0", 0x49, 0x400}], 0x0, &(0x7f0000000080)=ANY=[]) mknodat$null(r4, &(0x7f0000000040)='./file1\x00', 0x10, 0x103)