[ 29.307901][ T3186] 8021q: adding VLAN 0 to HW filter on device bond0 [ 29.326279][ T3186] eql: remember to turn off Van-Jacobson compression on your slave devices Starting sshd: OK syzkaller syzkaller login: [ 44.392475][ T27] kauditd_printk_skb: 37 callbacks suppressed [ 44.392491][ T27] audit: type=1400 audit(1664590882.367:73): avc: denied { transition } for pid=3589 comm="sshd" path="/bin/sh" dev="sda1" ino=73 scontext=system_u:system_r:initrc_t tcontext=root:sysadm_r:sysadm_t tclass=process permissive=1 [ 44.421664][ T27] audit: type=1400 audit(1664590882.367:74): avc: denied { write } for pid=3589 comm="sh" path="pipe:[28424]" dev="pipefs" ino=28424 scontext=root:sysadm_r:sysadm_t tcontext=system_u:system_r:initrc_t tclass=fifo_file permissive=1 Warning: Permanently added '10.128.10.12' (ECDSA) to the list of known hosts. 2022/10/01 02:21:30 fuzzer started 2022/10/01 02:21:30 dialing manager at 10.128.0.169:35463 [ 53.197040][ T27] audit: type=1400 audit(1664590891.167:75): avc: denied { mounton } for pid=3606 comm="syz-executor" path="/syzcgroup/unified" dev="sda1" ino=1136 scontext=root:sysadm_r:sysadm_t tcontext=root:object_r:root_t tclass=dir permissive=1 [ 53.208612][ T3606] cgroup: Unknown subsys name 'net' [ 53.225108][ T27] audit: type=1400 audit(1664590891.167:76): avc: denied { mount } for pid=3606 comm="syz-executor" name="/" dev="cgroup2" ino=1 scontext=root:sysadm_r:sysadm_t tcontext=system_u:object_r:cgroup_t tclass=filesystem permissive=1 [ 53.248054][ T27] audit: type=1400 audit(1664590891.197:77): avc: denied { unmount } for pid=3606 comm="syz-executor" scontext=root:sysadm_r:sysadm_t tcontext=system_u:object_r:cgroup_t tclass=filesystem permissive=1 [ 53.368521][ T3606] cgroup: Unknown subsys name 'rlimit' 2022/10/01 02:21:31 syscalls: 3715 2022/10/01 02:21:31 code coverage: enabled 2022/10/01 02:21:31 comparison tracing: enabled 2022/10/01 02:21:31 extra coverage: enabled 2022/10/01 02:21:31 delay kcov mmap: enabled 2022/10/01 02:21:31 setuid sandbox: enabled 2022/10/01 02:21:31 namespace sandbox: enabled 2022/10/01 02:21:31 Android sandbox: enabled 2022/10/01 02:21:31 fault injection: enabled 2022/10/01 02:21:31 leak checking: CONFIG_DEBUG_KMEMLEAK is not enabled 2022/10/01 02:21:31 net packet injection: enabled 2022/10/01 02:21:31 net device setup: enabled 2022/10/01 02:21:31 concurrency sanitizer: /sys/kernel/debug/kcsan does not exist 2022/10/01 02:21:31 devlink PCI setup: PCI device 0000:00:10.0 is not available 2022/10/01 02:21:31 NIC VF setup: PCI device 0000:00:11.0 is not available 2022/10/01 02:21:31 USB emulation: enabled 2022/10/01 02:21:31 hci packet injection: enabled 2022/10/01 02:21:31 wifi device emulation: failed to parse kernel version (6.0.0-rc7-syzkaller-00162-g5a77386984b5) 2022/10/01 02:21:31 802.15.4 emulation: enabled 2022/10/01 02:21:31 fetching corpus: 0, signal 0/2000 (executing program) [ 53.487520][ T27] audit: type=1400 audit(1664590891.457:78): avc: denied { mounton } for pid=3606 comm="syz-executor" path="/proc/sys/fs/binfmt_misc" dev="binfmt_misc" ino=1 scontext=root:sysadm_r:sysadm_t tcontext=system_u:object_r:binfmt_misc_fs_t tclass=dir permissive=1 [ 53.513241][ T27] audit: type=1400 audit(1664590891.457:79): avc: denied { mount } for pid=3606 comm="syz-executor" name="/" dev="binfmt_misc" ino=1 scontext=root:sysadm_r:sysadm_t tcontext=system_u:object_r:binfmt_misc_fs_t tclass=filesystem permissive=1 [ 53.548452][ T27] audit: type=1400 audit(1664590891.457:80): avc: denied { setattr } for pid=3606 comm="syz-executor" name="raw-gadget" dev="devtmpfs" ino=730 scontext=root:sysadm_r:sysadm_t tcontext=system_u:object_r:device_t tclass=chr_file permissive=1 [ 53.581949][ T27] audit: type=1400 audit(1664590891.457:81): avc: denied { create } for pid=3606 comm="syz-executor" scontext=root:sysadm_r:sysadm_t tcontext=root:sysadm_r:sysadm_t tclass=netlink_generic_socket permissive=1 [ 53.602664][ T27] audit: type=1400 audit(1664590891.457:82): avc: denied { write } for pid=3606 comm="syz-executor" scontext=root:sysadm_r:sysadm_t tcontext=root:sysadm_r:sysadm_t tclass=netlink_generic_socket permissive=1 [ 53.623862][ T27] audit: type=1400 audit(1664590891.457:83): avc: denied { read } for pid=3606 comm="syz-executor" scontext=root:sysadm_r:sysadm_t tcontext=root:sysadm_r:sysadm_t tclass=netlink_generic_socket permissive=1 2022/10/01 02:21:31 fetching corpus: 50, signal 48124/51915 (executing program) 2022/10/01 02:21:32 fetching corpus: 100, signal 64061/69674 (executing program) 2022/10/01 02:21:32 fetching corpus: 150, signal 84424/91735 (executing program) 2022/10/01 02:21:32 fetching corpus: 200, signal 99342/108303 (executing program) 2022/10/01 02:21:32 fetching corpus: 250, signal 109550/120163 (executing program) 2022/10/01 02:21:32 fetching corpus: 300, signal 116535/128826 (executing program) 2022/10/01 02:21:32 fetching corpus: 350, signal 122994/136945 (executing program) 2022/10/01 02:21:33 fetching corpus: 400, signal 133191/148711 (executing program) 2022/10/01 02:21:33 fetching corpus: 450, signal 138152/155300 (executing program) 2022/10/01 02:21:33 fetching corpus: 500, signal 144790/163496 (executing program) 2022/10/01 02:21:33 fetching corpus: 550, signal 151916/172163 (executing program) 2022/10/01 02:21:33 fetching corpus: 600, signal 157580/179426 (executing program) 2022/10/01 02:21:34 fetching corpus: 650, signal 163764/187130 (executing program) 2022/10/01 02:21:34 fetching corpus: 700, signal 169188/194083 (executing program) 2022/10/01 02:21:34 fetching corpus: 750, signal 173710/200136 (executing program) 2022/10/01 02:21:34 fetching corpus: 800, signal 178135/206071 (executing program) 2022/10/01 02:21:34 fetching corpus: 850, signal 181913/211345 (executing program) 2022/10/01 02:21:34 fetching corpus: 900, signal 185550/216497 (executing program) 2022/10/01 02:21:34 fetching corpus: 950, signal 189554/221974 (executing program) 2022/10/01 02:21:35 fetching corpus: 1000, signal 194146/227964 (executing program) 2022/10/01 02:21:35 fetching corpus: 1050, signal 199279/234492 (executing program) 2022/10/01 02:21:35 fetching corpus: 1100, signal 203830/240408 (executing program) 2022/10/01 02:21:35 fetching corpus: 1150, signal 207860/245835 (executing program) 2022/10/01 02:21:35 fetching corpus: 1200, signal 211930/251266 (executing program) 2022/10/01 02:21:35 fetching corpus: 1250, signal 215997/256665 (executing program) 2022/10/01 02:21:36 fetching corpus: 1300, signal 221506/263417 (executing program) 2022/10/01 02:21:36 fetching corpus: 1350, signal 224882/268133 (executing program) 2022/10/01 02:21:36 fetching corpus: 1400, signal 228281/272873 (executing program) 2022/10/01 02:21:36 fetching corpus: 1450, signal 232860/278705 (executing program) 2022/10/01 02:21:36 fetching corpus: 1500, signal 237771/284821 (executing program) 2022/10/01 02:21:36 fetching corpus: 1550, signal 241435/289754 (executing program) 2022/10/01 02:21:37 fetching corpus: 1600, signal 244795/294393 (executing program) 2022/10/01 02:21:37 fetching corpus: 1650, signal 247637/298513 (executing program) 2022/10/01 02:21:37 fetching corpus: 1700, signal 250095/302271 (executing program) 2022/10/01 02:21:37 fetching corpus: 1750, signal 253397/306820 (executing program) 2022/10/01 02:21:37 fetching corpus: 1800, signal 256803/311466 (executing program) 2022/10/01 02:21:37 fetching corpus: 1850, signal 259597/315522 (executing program) 2022/10/01 02:21:37 fetching corpus: 1900, signal 262062/319274 (executing program) 2022/10/01 02:21:37 fetching corpus: 1950, signal 264596/323051 (executing program) 2022/10/01 02:21:38 fetching corpus: 2000, signal 266565/326333 (executing program) 2022/10/01 02:21:38 fetching corpus: 2050, signal 268766/329784 (executing program) 2022/10/01 02:21:38 fetching corpus: 2100, signal 271909/334143 (executing program) 2022/10/01 02:21:38 fetching corpus: 2150, signal 274202/337652 (executing program) 2022/10/01 02:21:38 fetching corpus: 2200, signal 276350/341101 (executing program) 2022/10/01 02:21:38 fetching corpus: 2250, signal 279548/345407 (executing program) 2022/10/01 02:21:39 fetching corpus: 2300, signal 281775/348847 (executing program) 2022/10/01 02:21:39 fetching corpus: 2350, signal 285405/353578 (executing program) 2022/10/01 02:21:39 fetching corpus: 2400, signal 287697/357056 (executing program) 2022/10/01 02:21:39 fetching corpus: 2450, signal 289642/360213 (executing program) 2022/10/01 02:21:39 fetching corpus: 2500, signal 291844/363568 (executing program) 2022/10/01 02:21:39 fetching corpus: 2550, signal 295339/368086 (executing program) 2022/10/01 02:21:40 fetching corpus: 2600, signal 297756/371665 (executing program) 2022/10/01 02:21:40 fetching corpus: 2650, signal 299897/374926 (executing program) 2022/10/01 02:21:40 fetching corpus: 2700, signal 304087/380046 (executing program) 2022/10/01 02:21:40 fetching corpus: 2750, signal 307228/384188 (executing program) 2022/10/01 02:21:40 fetching corpus: 2800, signal 309899/387930 (executing program) 2022/10/01 02:21:41 fetching corpus: 2850, signal 313339/392321 (executing program) 2022/10/01 02:21:41 fetching corpus: 2900, signal 315550/395649 (executing program) 2022/10/01 02:21:41 fetching corpus: 2950, signal 317150/398456 (executing program) 2022/10/01 02:21:41 fetching corpus: 3000, signal 318941/401381 (executing program) 2022/10/01 02:21:41 fetching corpus: 3050, signal 320857/404412 (executing program) 2022/10/01 02:21:41 fetching corpus: 3100, signal 322754/407445 (executing program) 2022/10/01 02:21:42 fetching corpus: 3150, signal 324674/410453 (executing program) 2022/10/01 02:21:42 fetching corpus: 3200, signal 326217/413156 (executing program) 2022/10/01 02:21:42 fetching corpus: 3250, signal 328102/416126 (executing program) 2022/10/01 02:21:42 fetching corpus: 3300, signal 329888/419038 (executing program) 2022/10/01 02:21:42 fetching corpus: 3350, signal 331570/421824 (executing program) 2022/10/01 02:21:42 fetching corpus: 3400, signal 333799/425103 (executing program) 2022/10/01 02:21:42 fetching corpus: 3450, signal 335015/427459 (executing program) 2022/10/01 02:21:43 fetching corpus: 3500, signal 336495/430060 (executing program) 2022/10/01 02:21:43 fetching corpus: 3550, signal 338221/432864 (executing program) 2022/10/01 02:21:43 fetching corpus: 3600, signal 341624/437109 (executing program) 2022/10/01 02:21:43 fetching corpus: 3650, signal 343178/439780 (executing program) 2022/10/01 02:21:43 fetching corpus: 3700, signal 344518/442164 (executing program) 2022/10/01 02:21:43 fetching corpus: 3750, signal 346085/444784 (executing program) 2022/10/01 02:21:44 fetching corpus: 3800, signal 348207/447842 (executing program) 2022/10/01 02:21:44 fetching corpus: 3850, signal 350143/450753 (executing program) 2022/10/01 02:21:44 fetching corpus: 3900, signal 351344/453035 (executing program) 2022/10/01 02:21:44 fetching corpus: 3950, signal 353119/455870 (executing program) 2022/10/01 02:21:44 fetching corpus: 4000, signal 354303/458159 (executing program) 2022/10/01 02:21:45 fetching corpus: 4050, signal 356441/461254 (executing program) 2022/10/01 02:21:45 fetching corpus: 4100, signal 358073/463891 (executing program) 2022/10/01 02:21:45 fetching corpus: 4150, signal 360274/467034 (executing program) 2022/10/01 02:21:45 fetching corpus: 4200, signal 361667/469480 (executing program) 2022/10/01 02:21:45 fetching corpus: 4250, signal 363940/472626 (executing program) 2022/10/01 02:21:45 fetching corpus: 4300, signal 365145/474899 (executing program) 2022/10/01 02:21:46 fetching corpus: 4350, signal 366717/477430 (executing program) 2022/10/01 02:21:46 fetching corpus: 4400, signal 368688/480331 (executing program) 2022/10/01 02:21:46 fetching corpus: 4450, signal 370146/482768 (executing program) 2022/10/01 02:21:46 fetching corpus: 4500, signal 372018/485512 (executing program) 2022/10/01 02:21:46 fetching corpus: 4550, signal 373159/487655 (executing program) 2022/10/01 02:21:47 fetching corpus: 4600, signal 374459/489950 (executing program) 2022/10/01 02:21:47 fetching corpus: 4650, signal 376269/492681 (executing program) 2022/10/01 02:21:47 fetching corpus: 4700, signal 377528/494903 (executing program) 2022/10/01 02:21:47 fetching corpus: 4750, signal 378854/497201 (executing program) 2022/10/01 02:21:47 fetching corpus: 4800, signal 380074/499418 (executing program) 2022/10/01 02:21:47 fetching corpus: 4850, signal 381372/501709 (executing program) 2022/10/01 02:21:47 fetching corpus: 4900, signal 382633/503916 (executing program) 2022/10/01 02:21:47 fetching corpus: 4950, signal 383504/505862 (executing program) 2022/10/01 02:21:48 fetching corpus: 5000, signal 384562/507910 (executing program) 2022/10/01 02:21:48 fetching corpus: 5050, signal 386096/510358 (executing program) 2022/10/01 02:21:48 fetching corpus: 5100, signal 387725/512873 (executing program) 2022/10/01 02:21:48 fetching corpus: 5150, signal 388821/514932 (executing program) 2022/10/01 02:21:48 fetching corpus: 5200, signal 390293/517265 (executing program) 2022/10/01 02:21:48 fetching corpus: 5250, signal 391737/519628 (executing program) 2022/10/01 02:21:48 fetching corpus: 5300, signal 392821/521694 (executing program) 2022/10/01 02:21:48 fetching corpus: 5350, signal 394100/523880 (executing program) 2022/10/01 02:21:49 fetching corpus: 5400, signal 395245/525992 (executing program) [ 71.114654][ T1238] ieee802154 phy0 wpan0: encryption failed: -22 [ 71.121337][ T1238] ieee802154 phy1 wpan1: encryption failed: -22 2022/10/01 02:21:49 fetching corpus: 5450, signal 396227/527943 (executing program) 2022/10/01 02:21:49 fetching corpus: 5500, signal 397674/530243 (executing program) 2022/10/01 02:21:50 fetching corpus: 5550, signal 399066/532474 (executing program) 2022/10/01 02:21:50 fetching corpus: 5600, signal 400671/534867 (executing program) 2022/10/01 02:21:50 fetching corpus: 5650, signal 401889/536952 (executing program) 2022/10/01 02:21:50 fetching corpus: 5700, signal 403243/539182 (executing program) 2022/10/01 02:21:50 fetching corpus: 5750, signal 404499/541316 (executing program) 2022/10/01 02:21:50 fetching corpus: 5800, signal 405424/543240 (executing program) 2022/10/01 02:21:51 fetching corpus: 5850, signal 406689/545362 (executing program) 2022/10/01 02:21:51 fetching corpus: 5900, signal 407362/547058 (executing program) 2022/10/01 02:21:51 fetching corpus: 5950, signal 408322/548925 (executing program) 2022/10/01 02:21:51 fetching corpus: 6000, signal 409550/551013 (executing program) 2022/10/01 02:21:51 fetching corpus: 6050, signal 410798/553072 (executing program) 2022/10/01 02:21:51 fetching corpus: 6100, signal 411948/555067 (executing program) 2022/10/01 02:21:51 fetching corpus: 6150, signal 413060/557068 (executing program) 2022/10/01 02:21:51 fetching corpus: 6200, signal 413987/558966 (executing program) 2022/10/01 02:21:52 fetching corpus: 6250, signal 415181/560971 (executing program) 2022/10/01 02:21:52 fetching corpus: 6300, signal 416862/563347 (executing program) 2022/10/01 02:21:52 fetching corpus: 6350, signal 418092/565453 (executing program) 2022/10/01 02:21:52 fetching corpus: 6400, signal 419223/567457 (executing program) 2022/10/01 02:21:52 fetching corpus: 6450, signal 420286/569408 (executing program) 2022/10/01 02:21:52 fetching corpus: 6500, signal 421174/571217 (executing program) 2022/10/01 02:21:53 fetching corpus: 6550, signal 421954/572955 (executing program) 2022/10/01 02:21:53 fetching corpus: 6600, signal 423471/575192 (executing program) 2022/10/01 02:21:53 fetching corpus: 6650, signal 424380/577005 (executing program) 2022/10/01 02:21:53 fetching corpus: 6700, signal 425247/578705 (executing program) 2022/10/01 02:21:53 fetching corpus: 6750, signal 426479/580748 (executing program) 2022/10/01 02:21:53 fetching corpus: 6800, signal 427853/582874 (executing program) 2022/10/01 02:21:54 fetching corpus: 6850, signal 429434/585185 (executing program) 2022/10/01 02:21:54 fetching corpus: 6900, signal 430423/587039 (executing program) [ 76.240490][ T6] cfg80211: failed to load regulatory.db 2022/10/01 02:21:54 fetching corpus: 6950, signal 431501/588929 (executing program) 2022/10/01 02:21:54 fetching corpus: 7000, signal 432627/590847 (executing program) 2022/10/01 02:21:54 fetching corpus: 7050, signal 433966/592949 (executing program) 2022/10/01 02:21:54 fetching corpus: 7100, signal 435147/594897 (executing program) 2022/10/01 02:21:55 fetching corpus: 7150, signal 436450/596930 (executing program) 2022/10/01 02:21:55 fetching corpus: 7200, signal 437715/598984 (executing program) 2022/10/01 02:21:55 fetching corpus: 7250, signal 438780/600817 (executing program) 2022/10/01 02:21:55 fetching corpus: 7300, signal 439400/602348 (executing program) 2022/10/01 02:21:55 fetching corpus: 7350, signal 440083/603920 (executing program) 2022/10/01 02:21:55 fetching corpus: 7400, signal 441081/605735 (executing program) 2022/10/01 02:21:56 fetching corpus: 7450, signal 441760/607324 (executing program) 2022/10/01 02:21:56 fetching corpus: 7500, signal 442546/608978 (executing program) 2022/10/01 02:21:56 fetching corpus: 7550, signal 443378/610707 (executing program) 2022/10/01 02:21:56 fetching corpus: 7600, signal 444196/612407 (executing program) 2022/10/01 02:21:56 fetching corpus: 7650, signal 445752/614589 (executing program) 2022/10/01 02:21:56 fetching corpus: 7700, signal 446653/616298 (executing program) 2022/10/01 02:21:57 fetching corpus: 7750, signal 447596/618011 (executing program) 2022/10/01 02:21:57 fetching corpus: 7800, signal 448616/619795 (executing program) 2022/10/01 02:21:57 fetching corpus: 7850, signal 449284/621332 (executing program) 2022/10/01 02:21:57 fetching corpus: 7900, signal 449943/622868 (executing program) 2022/10/01 02:21:57 fetching corpus: 7950, signal 450990/624686 (executing program) 2022/10/01 02:21:57 fetching corpus: 8000, signal 452012/626449 (executing program) 2022/10/01 02:21:57 fetching corpus: 8050, signal 453015/628208 (executing program) 2022/10/01 02:21:58 fetching corpus: 8100, signal 456130/631359 (executing program) 2022/10/01 02:21:58 fetching corpus: 8150, signal 456778/632901 (executing program) 2022/10/01 02:21:58 fetching corpus: 8200, signal 457770/634608 (executing program) 2022/10/01 02:21:58 fetching corpus: 8250, signal 459175/636615 (executing program) 2022/10/01 02:21:58 fetching corpus: 8300, signal 460180/638336 (executing program) 2022/10/01 02:21:58 fetching corpus: 8350, signal 461166/640074 (executing program) 2022/10/01 02:21:59 fetching corpus: 8400, signal 461825/641601 (executing program) 2022/10/01 02:21:59 fetching corpus: 8450, signal 462866/643367 (executing program) 2022/10/01 02:21:59 fetching corpus: 8500, signal 463857/645104 (executing program) 2022/10/01 02:21:59 fetching corpus: 8550, signal 465890/647449 (executing program) 2022/10/01 02:21:59 fetching corpus: 8600, signal 466672/649007 (executing program) 2022/10/01 02:21:59 fetching corpus: 8650, signal 467523/650597 (executing program) 2022/10/01 02:21:59 fetching corpus: 8700, signal 468280/652132 (executing program) 2022/10/01 02:22:00 fetching corpus: 8750, signal 469547/653980 (executing program) 2022/10/01 02:22:00 fetching corpus: 8800, signal 470185/655405 (executing program) 2022/10/01 02:22:00 fetching corpus: 8850, signal 470947/656933 (executing program) 2022/10/01 02:22:00 fetching corpus: 8900, signal 471633/658388 (executing program) 2022/10/01 02:22:00 fetching corpus: 8950, signal 472375/659875 (executing program) 2022/10/01 02:22:00 fetching corpus: 9000, signal 473167/661425 (executing program) 2022/10/01 02:22:01 fetching corpus: 9050, signal 473909/662928 (executing program) 2022/10/01 02:22:01 fetching corpus: 9100, signal 475073/664701 (executing program) 2022/10/01 02:22:01 fetching corpus: 9150, signal 476454/666583 (executing program) 2022/10/01 02:22:01 fetching corpus: 9200, signal 477023/667965 (executing program) 2022/10/01 02:22:01 fetching corpus: 9250, signal 478048/669620 (executing program) 2022/10/01 02:22:01 fetching corpus: 9300, signal 480627/672220 (executing program) 2022/10/01 02:22:01 fetching corpus: 9350, signal 482019/674125 (executing program) 2022/10/01 02:22:02 fetching corpus: 9400, signal 482880/675699 (executing program) 2022/10/01 02:22:02 fetching corpus: 9450, signal 483824/677357 (executing program) 2022/10/01 02:22:02 fetching corpus: 9500, signal 484746/678981 (executing program) 2022/10/01 02:22:02 fetching corpus: 9550, signal 485606/680567 (executing program) 2022/10/01 02:22:02 fetching corpus: 9600, signal 486444/682105 (executing program) 2022/10/01 02:22:02 fetching corpus: 9650, signal 487743/683912 (executing program) 2022/10/01 02:22:02 fetching corpus: 9700, signal 488461/685343 (executing program) 2022/10/01 02:22:03 fetching corpus: 9750, signal 489420/686974 (executing program) 2022/10/01 02:22:03 fetching corpus: 9800, signal 490450/688541 (executing program) 2022/10/01 02:22:03 fetching corpus: 9850, signal 491008/689904 (executing program) 2022/10/01 02:22:03 fetching corpus: 9900, signal 491647/691280 (executing program) 2022/10/01 02:22:03 fetching corpus: 9950, signal 492431/692791 (executing program) 2022/10/01 02:22:03 fetching corpus: 10000, signal 493174/694227 (executing program) 2022/10/01 02:22:03 fetching corpus: 10050, signal 493697/695513 (executing program) 2022/10/01 02:22:03 fetching corpus: 10100, signal 494389/696937 (executing program) 2022/10/01 02:22:04 fetching corpus: 10150, signal 495101/698322 (executing program) 2022/10/01 02:22:04 fetching corpus: 10200, signal 496148/699939 (executing program) 2022/10/01 02:22:04 fetching corpus: 10250, signal 497268/701557 (executing program) 2022/10/01 02:22:04 fetching corpus: 10300, signal 498341/703181 (executing program) 2022/10/01 02:22:04 fetching corpus: 10350, signal 498848/704432 (executing program) 2022/10/01 02:22:05 fetching corpus: 10400, signal 499881/706020 (executing program) 2022/10/01 02:22:05 fetching corpus: 10450, signal 500993/707591 (executing program) 2022/10/01 02:22:05 fetching corpus: 10500, signal 501555/708895 (executing program) 2022/10/01 02:22:05 fetching corpus: 10550, signal 502305/710288 (executing program) 2022/10/01 02:22:05 fetching corpus: 10600, signal 503036/711684 (executing program) 2022/10/01 02:22:05 fetching corpus: 10650, signal 503712/713029 (executing program) 2022/10/01 02:22:05 fetching corpus: 10700, signal 504619/714489 (executing program) 2022/10/01 02:22:06 fetching corpus: 10750, signal 505315/715878 (executing program) 2022/10/01 02:22:06 fetching corpus: 10800, signal 506124/717315 (executing program) 2022/10/01 02:22:06 fetching corpus: 10850, signal 507072/718807 (executing program) 2022/10/01 02:22:06 fetching corpus: 10900, signal 507733/720123 (executing program) 2022/10/01 02:22:06 fetching corpus: 10950, signal 508762/721690 (executing program) 2022/10/01 02:22:06 fetching corpus: 11000, signal 509553/723092 (executing program) 2022/10/01 02:22:06 fetching corpus: 11050, signal 510318/724506 (executing program) 2022/10/01 02:22:07 fetching corpus: 11100, signal 510808/725749 (executing program) 2022/10/01 02:22:07 fetching corpus: 11150, signal 511395/727021 (executing program) 2022/10/01 02:22:07 fetching corpus: 11200, signal 512108/728325 (executing program) 2022/10/01 02:22:07 fetching corpus: 11250, signal 512936/729735 (executing program) 2022/10/01 02:22:07 fetching corpus: 11300, signal 513769/731130 (executing program) 2022/10/01 02:22:07 fetching corpus: 11350, signal 514740/732580 (executing program) 2022/10/01 02:22:07 fetching corpus: 11400, signal 515564/734001 (executing program) 2022/10/01 02:22:08 fetching corpus: 11450, signal 516083/735243 (executing program) 2022/10/01 02:22:08 fetching corpus: 11500, signal 518221/737319 (executing program) 2022/10/01 02:22:08 fetching corpus: 11550, signal 518789/738587 (executing program) 2022/10/01 02:22:08 fetching corpus: 11600, signal 519608/739942 (executing program) 2022/10/01 02:22:08 fetching corpus: 11650, signal 520300/741236 (executing program) 2022/10/01 02:22:08 fetching corpus: 11700, signal 520830/742419 (executing program) 2022/10/01 02:22:08 fetching corpus: 11750, signal 521518/743728 (executing program) 2022/10/01 02:22:09 fetching corpus: 11800, signal 522083/744978 (executing program) 2022/10/01 02:22:09 fetching corpus: 11850, signal 522841/746347 (executing program) 2022/10/01 02:22:09 fetching corpus: 11900, signal 523533/747634 (executing program) 2022/10/01 02:22:09 fetching corpus: 11950, signal 524237/748901 (executing program) 2022/10/01 02:22:09 fetching corpus: 12000, signal 524906/750147 (executing program) 2022/10/01 02:22:09 fetching corpus: 12050, signal 525380/751336 (executing program) 2022/10/01 02:22:10 fetching corpus: 12100, signal 526217/752689 (executing program) 2022/10/01 02:22:10 fetching corpus: 12150, signal 526873/753923 (executing program) 2022/10/01 02:22:10 fetching corpus: 12200, signal 527508/755182 (executing program) 2022/10/01 02:22:10 fetching corpus: 12250, signal 529446/757046 (executing program) 2022/10/01 02:22:10 fetching corpus: 12300, signal 530159/758357 (executing program) 2022/10/01 02:22:10 fetching corpus: 12350, signal 530998/759682 (executing program) 2022/10/01 02:22:10 fetching corpus: 12400, signal 531619/760911 (executing program) 2022/10/01 02:22:11 fetching corpus: 12450, signal 532264/762149 (executing program) 2022/10/01 02:22:11 fetching corpus: 12500, signal 533056/763493 (executing program) 2022/10/01 02:22:11 fetching corpus: 12550, signal 533725/764717 (executing program) 2022/10/01 02:22:11 fetching corpus: 12600, signal 534415/765969 (executing program) 2022/10/01 02:22:11 fetching corpus: 12650, signal 534984/767154 (executing program) 2022/10/01 02:22:11 fetching corpus: 12700, signal 535685/768389 (executing program) 2022/10/01 02:22:12 fetching corpus: 12750, signal 536327/769610 (executing program) 2022/10/01 02:22:12 fetching corpus: 12800, signal 537101/770936 (executing program) 2022/10/01 02:22:12 fetching corpus: 12850, signal 538192/772347 (executing program) 2022/10/01 02:22:12 fetching corpus: 12900, signal 538704/773441 (executing program) 2022/10/01 02:22:12 fetching corpus: 12949, signal 539521/774749 (executing program) 2022/10/01 02:22:12 fetching corpus: 12999, signal 540302/776025 (executing program) 2022/10/01 02:22:12 fetching corpus: 13049, signal 541076/777285 (executing program) 2022/10/01 02:22:13 fetching corpus: 13099, signal 541737/778490 (executing program) 2022/10/01 02:22:13 fetching corpus: 13149, signal 542096/779494 (executing program) 2022/10/01 02:22:13 fetching corpus: 13199, signal 542693/780666 (executing program) 2022/10/01 02:22:13 fetching corpus: 13249, signal 543461/781918 (executing program) 2022/10/01 02:22:13 fetching corpus: 13299, signal 544025/783095 (executing program) 2022/10/01 02:22:14 fetching corpus: 13349, signal 544742/784291 (executing program) 2022/10/01 02:22:14 fetching corpus: 13399, signal 545466/785504 (executing program) 2022/10/01 02:22:14 fetching corpus: 13449, signal 546201/786703 (executing program) 2022/10/01 02:22:14 fetching corpus: 13499, signal 546768/787875 (executing program) 2022/10/01 02:22:15 fetching corpus: 13549, signal 547368/789008 (executing program) 2022/10/01 02:22:15 fetching corpus: 13599, signal 547988/790167 (executing program) 2022/10/01 02:22:15 fetching corpus: 13649, signal 548727/791410 (executing program) 2022/10/01 02:22:15 fetching corpus: 13699, signal 549734/792787 (executing program) 2022/10/01 02:22:15 fetching corpus: 13749, signal 550221/793874 (executing program) 2022/10/01 02:22:16 fetching corpus: 13799, signal 551073/795165 (executing program) 2022/10/01 02:22:16 fetching corpus: 13849, signal 551645/796302 (executing program) 2022/10/01 02:22:16 fetching corpus: 13899, signal 552055/797350 (executing program) 2022/10/01 02:22:16 fetching corpus: 13949, signal 552710/798517 (executing program) 2022/10/01 02:22:16 fetching corpus: 13999, signal 553327/799665 (executing program) 2022/10/01 02:22:16 fetching corpus: 14049, signal 553801/800763 (executing program) 2022/10/01 02:22:17 fetching corpus: 14099, signal 554544/801965 (executing program) 2022/10/01 02:22:17 fetching corpus: 14149, signal 555066/803089 (executing program) 2022/10/01 02:22:17 fetching corpus: 14199, signal 556050/804376 (executing program) 2022/10/01 02:22:17 fetching corpus: 14249, signal 556571/805484 (executing program) 2022/10/01 02:22:18 fetching corpus: 14299, signal 557177/806616 (executing program) 2022/10/01 02:22:18 fetching corpus: 14349, signal 557874/807771 (executing program) 2022/10/01 02:22:18 fetching corpus: 14399, signal 558396/808857 (executing program) 2022/10/01 02:22:18 fetching corpus: 14449, signal 558849/809939 (executing program) 2022/10/01 02:22:18 fetching corpus: 14499, signal 559413/810993 (executing program) 2022/10/01 02:22:18 fetching corpus: 14549, signal 559912/812073 (executing program) 2022/10/01 02:22:19 fetching corpus: 14599, signal 560364/813119 (executing program) 2022/10/01 02:22:19 fetching corpus: 14649, signal 561026/814224 (executing program) 2022/10/01 02:22:19 fetching corpus: 14699, signal 561523/815302 (executing program) 2022/10/01 02:22:19 fetching corpus: 14749, signal 564736/817442 (executing program) 2022/10/01 02:22:19 fetching corpus: 14799, signal 565089/818450 (executing program) 2022/10/01 02:22:20 fetching corpus: 14849, signal 565532/819457 (executing program) 2022/10/01 02:22:20 fetching corpus: 14899, signal 566254/820578 (executing program) 2022/10/01 02:22:20 fetching corpus: 14949, signal 566752/821645 (executing program) 2022/10/01 02:22:20 fetching corpus: 14999, signal 567513/822801 (executing program) 2022/10/01 02:22:20 fetching corpus: 15049, signal 568165/823940 (executing program) 2022/10/01 02:22:21 fetching corpus: 15099, signal 568817/825038 (executing program) 2022/10/01 02:22:21 fetching corpus: 15149, signal 569434/826093 (executing program) 2022/10/01 02:22:21 fetching corpus: 15199, signal 569915/827160 (executing program) 2022/10/01 02:22:21 fetching corpus: 15248, signal 570350/828172 (executing program) 2022/10/01 02:22:22 fetching corpus: 15298, signal 570756/829180 (executing program) 2022/10/01 02:22:22 fetching corpus: 15348, signal 571249/830226 (executing program) 2022/10/01 02:22:22 fetching corpus: 15398, signal 571856/831292 (executing program) 2022/10/01 02:22:22 fetching corpus: 15448, signal 572461/832372 (executing program) 2022/10/01 02:22:22 fetching corpus: 15498, signal 573016/833454 (executing program) 2022/10/01 02:22:23 fetching corpus: 15548, signal 573473/834458 (executing program) 2022/10/01 02:22:23 fetching corpus: 15598, signal 574016/835519 (executing program) 2022/10/01 02:22:23 fetching corpus: 15648, signal 574511/836538 (executing program) 2022/10/01 02:22:23 fetching corpus: 15698, signal 575568/837741 (executing program) 2022/10/01 02:22:24 fetching corpus: 15748, signal 576399/838893 (executing program) 2022/10/01 02:22:24 fetching corpus: 15798, signal 576868/839904 (executing program) 2022/10/01 02:22:24 fetching corpus: 15848, signal 577722/841079 (executing program) 2022/10/01 02:22:24 fetching corpus: 15898, signal 578373/842137 (executing program) 2022/10/01 02:22:25 fetching corpus: 15948, signal 579076/843247 (executing program) 2022/10/01 02:22:25 fetching corpus: 15998, signal 579413/844199 (executing program) 2022/10/01 02:22:25 fetching corpus: 16048, signal 580051/845208 (executing program) 2022/10/01 02:22:25 fetching corpus: 16098, signal 580547/846173 (executing program) 2022/10/01 02:22:25 fetching corpus: 16148, signal 581272/847251 (executing program) 2022/10/01 02:22:25 fetching corpus: 16198, signal 581642/848212 (executing program) 2022/10/01 02:22:26 fetching corpus: 16248, signal 582595/849356 (executing program) 2022/10/01 02:22:26 fetching corpus: 16298, signal 582965/850303 (executing program) 2022/10/01 02:22:26 fetching corpus: 16348, signal 583645/851345 (executing program) 2022/10/01 02:22:26 fetching corpus: 16398, signal 584152/852318 (executing program) 2022/10/01 02:22:26 fetching corpus: 16448, signal 586922/854025 (executing program) 2022/10/01 02:22:27 fetching corpus: 16498, signal 587584/855036 (executing program) 2022/10/01 02:22:27 fetching corpus: 16548, signal 588130/856042 (executing program) 2022/10/01 02:22:27 fetching corpus: 16598, signal 588731/857022 (executing program) 2022/10/01 02:22:27 fetching corpus: 16648, signal 589563/858120 (executing program) 2022/10/01 02:22:27 fetching corpus: 16698, signal 590023/859086 (executing program) 2022/10/01 02:22:28 fetching corpus: 16748, signal 590712/860071 (executing program) 2022/10/01 02:22:28 fetching corpus: 16798, signal 591383/861096 (executing program) 2022/10/01 02:22:28 fetching corpus: 16848, signal 591894/862072 (executing program) 2022/10/01 02:22:28 fetching corpus: 16898, signal 592502/863098 (executing program) 2022/10/01 02:22:28 fetching corpus: 16948, signal 593084/864083 (executing program) 2022/10/01 02:22:29 fetching corpus: 16998, signal 593700/865086 (executing program) 2022/10/01 02:22:29 fetching corpus: 17048, signal 594240/866017 (executing program) 2022/10/01 02:22:29 fetching corpus: 17098, signal 594714/866968 (executing program) 2022/10/01 02:22:29 fetching corpus: 17148, signal 595272/867956 (executing program) 2022/10/01 02:22:29 fetching corpus: 17198, signal 595675/868886 (executing program) 2022/10/01 02:22:30 fetching corpus: 17248, signal 596116/869795 (executing program) 2022/10/01 02:22:30 fetching corpus: 17298, signal 596781/870760 (executing program) 2022/10/01 02:22:30 fetching corpus: 17348, signal 597187/871675 (executing program) 2022/10/01 02:22:30 fetching corpus: 17398, signal 597687/872583 (executing program) 2022/10/01 02:22:30 fetching corpus: 17448, signal 598300/873610 (executing program) 2022/10/01 02:22:30 fetching corpus: 17498, signal 599229/874656 (executing program) 2022/10/01 02:22:31 fetching corpus: 17548, signal 599817/875641 (executing program) 2022/10/01 02:22:31 fetching corpus: 17598, signal 600411/876552 (executing program) 2022/10/01 02:22:31 fetching corpus: 17648, signal 600892/877448 (executing program) 2022/10/01 02:22:31 fetching corpus: 17698, signal 601454/878406 (executing program) 2022/10/01 02:22:31 fetching corpus: 17748, signal 602022/879364 (executing program) 2022/10/01 02:22:32 fetching corpus: 17798, signal 602613/880295 (executing program) 2022/10/01 02:22:32 fetching corpus: 17848, signal 603148/881202 (executing program) 2022/10/01 02:22:32 fetching corpus: 17898, signal 603772/882166 (executing program) 2022/10/01 02:22:32 fetching corpus: 17948, signal 604470/883163 (executing program) 2022/10/01 02:22:32 fetching corpus: 17998, signal 604888/884042 (executing program) 2022/10/01 02:22:32 fetching corpus: 18048, signal 605896/885114 (executing program) 2022/10/01 02:22:33 fetching corpus: 18098, signal 606218/885960 (executing program) 2022/10/01 02:22:33 fetching corpus: 18148, signal 606926/886890 (executing program) 2022/10/01 02:22:33 fetching corpus: 18198, signal 607561/887811 (executing program) 2022/10/01 02:22:33 fetching corpus: 18248, signal 608082/888701 (executing program) 2022/10/01 02:22:33 fetching corpus: 18298, signal 608651/889575 (executing program) 2022/10/01 02:22:33 fetching corpus: 18348, signal 609367/890489 (executing program) 2022/10/01 02:22:34 fetching corpus: 18398, signal 609933/891384 (executing program) 2022/10/01 02:22:34 fetching corpus: 18448, signal 610357/892284 (executing program) 2022/10/01 02:22:34 fetching corpus: 18498, signal 610882/893160 (executing program) 2022/10/01 02:22:34 fetching corpus: 18548, signal 611440/894039 (executing program) 2022/10/01 02:22:34 fetching corpus: 18598, signal 612050/894976 (executing program) 2022/10/01 02:22:34 fetching corpus: 18648, signal 612336/895776 (executing program) 2022/10/01 02:22:34 fetching corpus: 18698, signal 612829/896673 (executing program) 2022/10/01 02:22:35 fetching corpus: 18748, signal 613345/897539 (executing program) 2022/10/01 02:22:35 fetching corpus: 18798, signal 613974/898465 (executing program) 2022/10/01 02:22:35 fetching corpus: 18848, signal 614654/899337 (executing program) 2022/10/01 02:22:35 fetching corpus: 18898, signal 615263/900181 (executing program) 2022/10/01 02:22:35 fetching corpus: 18948, signal 615744/901063 (executing program) 2022/10/01 02:22:36 fetching corpus: 18998, signal 616186/901890 (executing program) 2022/10/01 02:22:36 fetching corpus: 19048, signal 616632/902768 (executing program) 2022/10/01 02:22:36 fetching corpus: 19098, signal 617109/903589 (executing program) 2022/10/01 02:22:36 fetching corpus: 19148, signal 617805/904461 (executing program) 2022/10/01 02:22:36 fetching corpus: 19198, signal 618483/905312 (executing program) 2022/10/01 02:22:36 fetching corpus: 19248, signal 619047/906154 (executing program) 2022/10/01 02:22:36 fetching corpus: 19298, signal 619509/906989 (executing program) 2022/10/01 02:22:37 fetching corpus: 19348, signal 619907/907811 (executing program) 2022/10/01 02:22:37 fetching corpus: 19398, signal 620521/908683 (executing program) 2022/10/01 02:22:37 fetching corpus: 19448, signal 620883/909499 (executing program) 2022/10/01 02:22:37 fetching corpus: 19498, signal 621449/910370 (executing program) 2022/10/01 02:22:37 fetching corpus: 19548, signal 621822/911172 (executing program) 2022/10/01 02:22:37 fetching corpus: 19598, signal 622426/912002 (executing program) 2022/10/01 02:22:37 fetching corpus: 19648, signal 622856/912868 (executing program) 2022/10/01 02:22:38 fetching corpus: 19698, signal 623450/913748 (executing program) 2022/10/01 02:22:38 fetching corpus: 19748, signal 623992/914618 (executing program) 2022/10/01 02:22:38 fetching corpus: 19798, signal 624583/915491 (executing program) 2022/10/01 02:22:38 fetching corpus: 19848, signal 625028/916291 (executing program) 2022/10/01 02:22:38 fetching corpus: 19898, signal 625587/917068 (executing program) 2022/10/01 02:22:38 fetching corpus: 19948, signal 625887/917846 (executing program) 2022/10/01 02:22:39 fetching corpus: 19998, signal 626164/918665 (executing program) 2022/10/01 02:22:39 fetching corpus: 20048, signal 626623/919478 (executing program) 2022/10/01 02:22:39 fetching corpus: 20098, signal 627181/920312 (executing program) 2022/10/01 02:22:39 fetching corpus: 20147, signal 633719/922169 (executing program) 2022/10/01 02:22:39 fetching corpus: 20197, signal 635549/923192 (executing program) 2022/10/01 02:22:39 fetching corpus: 20247, signal 636335/923993 (executing program) 2022/10/01 02:22:39 fetching corpus: 20297, signal 636801/924763 (executing program) 2022/10/01 02:22:40 fetching corpus: 20347, signal 637258/925549 (executing program) 2022/10/01 02:22:40 fetching corpus: 20397, signal 637676/926324 (executing program) 2022/10/01 02:22:40 fetching corpus: 20447, signal 638349/927103 (executing program) 2022/10/01 02:22:40 fetching corpus: 20497, signal 638705/927855 (executing program) 2022/10/01 02:22:40 fetching corpus: 20547, signal 639095/928599 (executing program) 2022/10/01 02:22:40 fetching corpus: 20597, signal 639387/929345 (executing program) 2022/10/01 02:22:40 fetching corpus: 20647, signal 639752/930110 (executing program) 2022/10/01 02:22:41 fetching corpus: 20697, signal 640388/930887 (executing program) 2022/10/01 02:22:41 fetching corpus: 20747, signal 640834/931677 (executing program) 2022/10/01 02:22:41 fetching corpus: 20797, signal 641312/932420 (executing program) 2022/10/01 02:22:41 fetching corpus: 20847, signal 641699/933202 (executing program) 2022/10/01 02:22:41 fetching corpus: 20897, signal 642162/933973 (executing program) 2022/10/01 02:22:41 fetching corpus: 20947, signal 642640/934729 (executing program) 2022/10/01 02:22:41 fetching corpus: 20997, signal 642934/935456 (executing program) 2022/10/01 02:22:42 fetching corpus: 21047, signal 643290/936229 (executing program) 2022/10/01 02:22:42 fetching corpus: 21097, signal 643633/937008 (executing program) 2022/10/01 02:22:42 fetching corpus: 21147, signal 644198/937775 (executing program) 2022/10/01 02:22:42 fetching corpus: 21197, signal 644571/938512 (executing program) 2022/10/01 02:22:42 fetching corpus: 21247, signal 644999/939270 (executing program) 2022/10/01 02:22:42 fetching corpus: 21297, signal 645510/939991 (executing program) 2022/10/01 02:22:42 fetching corpus: 21347, signal 645951/940771 (executing program) 2022/10/01 02:22:43 fetching corpus: 21397, signal 646456/941551 (executing program) 2022/10/01 02:22:43 fetching corpus: 21447, signal 646949/942307 (executing program) 2022/10/01 02:22:43 fetching corpus: 21497, signal 647234/943053 (executing program) 2022/10/01 02:22:43 fetching corpus: 21547, signal 648259/943862 (executing program) 2022/10/01 02:22:43 fetching corpus: 21597, signal 648697/944641 (executing program) 2022/10/01 02:22:43 fetching corpus: 21647, signal 649261/945370 (executing program) 2022/10/01 02:22:44 fetching corpus: 21697, signal 649737/946122 (executing program) 2022/10/01 02:22:44 fetching corpus: 21747, signal 650544/946908 (executing program) 2022/10/01 02:22:44 fetching corpus: 21797, signal 651109/947708 (executing program) 2022/10/01 02:22:44 fetching corpus: 21847, signal 651534/948444 (executing program) 2022/10/01 02:22:44 fetching corpus: 21897, signal 651959/949178 (executing program) 2022/10/01 02:22:44 fetching corpus: 21947, signal 652551/949928 (executing program) 2022/10/01 02:22:44 fetching corpus: 21997, signal 652835/950662 (executing program) 2022/10/01 02:22:45 fetching corpus: 22047, signal 653247/951386 (executing program) 2022/10/01 02:22:45 fetching corpus: 22097, signal 653714/952121 (executing program) 2022/10/01 02:22:45 fetching corpus: 22147, signal 654107/952842 (executing program) 2022/10/01 02:22:45 fetching corpus: 22197, signal 654451/953524 (executing program) 2022/10/01 02:22:45 fetching corpus: 22247, signal 654679/954225 (executing program) 2022/10/01 02:22:45 fetching corpus: 22297, signal 655061/954917 (executing program) 2022/10/01 02:22:45 fetching corpus: 22347, signal 655391/955563 (executing program) 2022/10/01 02:22:45 fetching corpus: 22397, signal 655862/956236 (executing program) 2022/10/01 02:22:46 fetching corpus: 22447, signal 656268/956930 (executing program) 2022/10/01 02:22:46 fetching corpus: 22497, signal 656658/957631 (executing program) 2022/10/01 02:22:46 fetching corpus: 22547, signal 656967/958337 (executing program) 2022/10/01 02:22:46 fetching corpus: 22597, signal 657427/959054 (executing program) 2022/10/01 02:22:46 fetching corpus: 22647, signal 657863/959766 (executing program) 2022/10/01 02:22:46 fetching corpus: 22697, signal 658263/960445 (executing program) 2022/10/01 02:22:47 fetching corpus: 22747, signal 658606/961108 (executing program) 2022/10/01 02:22:47 fetching corpus: 22797, signal 658939/961755 (executing program) 2022/10/01 02:22:47 fetching corpus: 22847, signal 659311/962458 (executing program) 2022/10/01 02:22:47 fetching corpus: 22897, signal 659642/963093 (executing program) 2022/10/01 02:22:47 fetching corpus: 22947, signal 660036/963814 (executing program) 2022/10/01 02:22:47 fetching corpus: 22997, signal 660326/964501 (executing program) 2022/10/01 02:22:47 fetching corpus: 23047, signal 661254/965241 (executing program) 2022/10/01 02:22:48 fetching corpus: 23097, signal 661768/965894 (executing program) 2022/10/01 02:22:48 fetching corpus: 23147, signal 662264/966557 (executing program) 2022/10/01 02:22:48 fetching corpus: 23197, signal 662971/967263 (executing program) 2022/10/01 02:22:48 fetching corpus: 23247, signal 663288/967970 (executing program) 2022/10/01 02:22:48 fetching corpus: 23297, signal 663650/968643 (executing program) 2022/10/01 02:22:48 fetching corpus: 23347, signal 664082/969354 (executing program) 2022/10/01 02:22:48 fetching corpus: 23397, signal 664513/970050 (executing program) 2022/10/01 02:22:49 fetching corpus: 23447, signal 665295/970728 (executing program) 2022/10/01 02:22:49 fetching corpus: 23497, signal 665577/971371 (executing program) 2022/10/01 02:22:49 fetching corpus: 23547, signal 665994/972052 (executing program) 2022/10/01 02:22:49 fetching corpus: 23597, signal 666404/972714 (executing program) 2022/10/01 02:22:49 fetching corpus: 23647, signal 666660/973348 (executing program) 2022/10/01 02:22:49 fetching corpus: 23697, signal 667152/974047 (executing program) 2022/10/01 02:22:50 fetching corpus: 23747, signal 667644/974704 (executing program) 2022/10/01 02:22:50 fetching corpus: 23797, signal 668143/975362 (executing program) 2022/10/01 02:22:50 fetching corpus: 23847, signal 668448/976020 (executing program) 2022/10/01 02:22:50 fetching corpus: 23897, signal 668783/976697 (executing program) [ 132.553286][ T1238] ieee802154 phy0 wpan0: encryption failed: -22 [ 132.559621][ T1238] ieee802154 phy1 wpan1: encryption failed: -22 2022/10/01 02:22:50 fetching corpus: 23947, signal 669089/977340 (executing program) 2022/10/01 02:22:50 fetching corpus: 23997, signal 669557/978027 (executing program) 2022/10/01 02:22:51 fetching corpus: 24047, signal 669973/978699 (executing program) 2022/10/01 02:22:51 fetching corpus: 24097, signal 670441/979372 (executing program) 2022/10/01 02:22:51 fetching corpus: 24147, signal 670828/980011 (executing program) 2022/10/01 02:22:51 fetching corpus: 24197, signal 671312/980657 (executing program) 2022/10/01 02:22:51 fetching corpus: 24247, signal 671630/981295 (executing program) 2022/10/01 02:22:51 fetching corpus: 24297, signal 671926/981929 (executing program) 2022/10/01 02:22:51 fetching corpus: 24347, signal 672274/982596 (executing program) 2022/10/01 02:22:51 fetching corpus: 24397, signal 672556/983241 (executing program) 2022/10/01 02:22:51 fetching corpus: 24447, signal 672902/983899 (executing program) 2022/10/01 02:22:52 fetching corpus: 24497, signal 673438/984519 (executing program) 2022/10/01 02:22:52 fetching corpus: 24547, signal 673848/985223 (executing program) 2022/10/01 02:22:52 fetching corpus: 24597, signal 674282/985860 (executing program) 2022/10/01 02:22:52 fetching corpus: 24647, signal 674574/985864 (executing program) 2022/10/01 02:22:52 fetching corpus: 24697, signal 674830/985864 (executing program) 2022/10/01 02:22:52 fetching corpus: 24747, signal 675124/985864 (executing program) 2022/10/01 02:22:52 fetching corpus: 24797, signal 675532/985864 (executing program) 2022/10/01 02:22:53 fetching corpus: 24847, signal 676081/985864 (executing program) 2022/10/01 02:22:53 fetching corpus: 24897, signal 676418/985864 (executing program) 2022/10/01 02:22:53 fetching corpus: 24947, signal 676701/985864 (executing program) 2022/10/01 02:22:53 fetching corpus: 24997, signal 677236/985864 (executing program) 2022/10/01 02:22:53 fetching corpus: 25047, signal 677834/985864 (executing program) 2022/10/01 02:22:53 fetching corpus: 25097, signal 678357/985864 (executing program) 2022/10/01 02:22:53 fetching corpus: 25147, signal 678744/985885 (executing program) 2022/10/01 02:22:53 fetching corpus: 25197, signal 679109/985885 (executing program) 2022/10/01 02:22:54 fetching corpus: 25247, signal 679372/985885 (executing program) 2022/10/01 02:22:54 fetching corpus: 25297, signal 679643/985885 (executing program) 2022/10/01 02:22:54 fetching corpus: 25347, signal 680053/985885 (executing program) 2022/10/01 02:22:54 fetching corpus: 25397, signal 680406/985888 (executing program) 2022/10/01 02:22:54 fetching corpus: 25447, signal 680753/985893 (executing program) 2022/10/01 02:22:54 fetching corpus: 25497, signal 681136/985893 (executing program) 2022/10/01 02:22:55 fetching corpus: 25547, signal 681459/985893 (executing program) 2022/10/01 02:22:55 fetching corpus: 25597, signal 681940/985894 (executing program) 2022/10/01 02:22:55 fetching corpus: 25647, signal 682419/985894 (executing program) 2022/10/01 02:22:55 fetching corpus: 25697, signal 682680/985894 (executing program) 2022/10/01 02:22:55 fetching corpus: 25747, signal 683070/985896 (executing program) 2022/10/01 02:22:55 fetching corpus: 25797, signal 683462/985922 (executing program) 2022/10/01 02:22:55 fetching corpus: 25847, signal 683808/985923 (executing program) 2022/10/01 02:22:56 fetching corpus: 25897, signal 684161/985923 (executing program) 2022/10/01 02:22:56 fetching corpus: 25947, signal 684695/985923 (executing program) 2022/10/01 02:22:56 fetching corpus: 25997, signal 685047/985923 (executing program) 2022/10/01 02:22:56 fetching corpus: 26047, signal 686143/985923 (executing program) 2022/10/01 02:22:56 fetching corpus: 26097, signal 686600/985923 (executing program) 2022/10/01 02:22:56 fetching corpus: 26147, signal 686790/985929 (executing program) 2022/10/01 02:22:56 fetching corpus: 26197, signal 687113/985929 (executing program) 2022/10/01 02:22:56 fetching corpus: 26247, signal 687473/985929 (executing program) 2022/10/01 02:22:57 fetching corpus: 26297, signal 687858/985929 (executing program) 2022/10/01 02:22:57 fetching corpus: 26347, signal 688240/985929 (executing program) 2022/10/01 02:22:57 fetching corpus: 26397, signal 688578/985930 (executing program) 2022/10/01 02:22:57 fetching corpus: 26447, signal 688888/985931 (executing program) 2022/10/01 02:22:57 fetching corpus: 26497, signal 689183/985931 (executing program) 2022/10/01 02:22:57 fetching corpus: 26547, signal 689544/985931 (executing program) 2022/10/01 02:22:57 fetching corpus: 26597, signal 689957/985931 (executing program) 2022/10/01 02:22:58 fetching corpus: 26647, signal 690378/985939 (executing program) 2022/10/01 02:22:58 fetching corpus: 26697, signal 690676/985942 (executing program) 2022/10/01 02:22:58 fetching corpus: 26747, signal 690993/985942 (executing program) 2022/10/01 02:22:58 fetching corpus: 26797, signal 691821/985942 (executing program) 2022/10/01 02:22:58 fetching corpus: 26847, signal 692220/985942 (executing program) 2022/10/01 02:22:58 fetching corpus: 26897, signal 692651/985950 (executing program) 2022/10/01 02:22:58 fetching corpus: 26947, signal 693058/985950 (executing program) 2022/10/01 02:22:58 fetching corpus: 26997, signal 693545/985950 (executing program) 2022/10/01 02:22:59 fetching corpus: 27047, signal 693965/985950 (executing program) 2022/10/01 02:22:59 fetching corpus: 27097, signal 694261/985984 (executing program) 2022/10/01 02:22:59 fetching corpus: 27147, signal 694530/985984 (executing program) 2022/10/01 02:23:00 fetching corpus: 27197, signal 694880/985984 (executing program) 2022/10/01 02:23:00 fetching corpus: 27247, signal 695262/985985 (executing program) 2022/10/01 02:23:00 fetching corpus: 27297, signal 695607/985985 (executing program) 2022/10/01 02:23:00 fetching corpus: 27347, signal 696027/985985 (executing program) 2022/10/01 02:23:00 fetching corpus: 27397, signal 696396/985985 (executing program) 2022/10/01 02:23:00 fetching corpus: 27447, signal 696726/985985 (executing program) 2022/10/01 02:23:00 fetching corpus: 27497, signal 697016/985985 (executing program) 2022/10/01 02:23:00 fetching corpus: 27547, signal 697313/985985 (executing program) 2022/10/01 02:23:01 fetching corpus: 27597, signal 697643/985986 (executing program) 2022/10/01 02:23:01 fetching corpus: 27647, signal 697885/985986 (executing program) 2022/10/01 02:23:01 fetching corpus: 27697, signal 698309/985986 (executing program) 2022/10/01 02:23:01 fetching corpus: 27747, signal 698668/985986 (executing program) 2022/10/01 02:23:01 fetching corpus: 27797, signal 699055/986039 (executing program) 2022/10/01 02:23:01 fetching corpus: 27847, signal 699434/986039 (executing program) 2022/10/01 02:23:01 fetching corpus: 27897, signal 699739/986039 (executing program) 2022/10/01 02:23:02 fetching corpus: 27947, signal 700315/986039 (executing program) 2022/10/01 02:23:02 fetching corpus: 27997, signal 700562/986039 (executing program) 2022/10/01 02:23:02 fetching corpus: 28047, signal 700914/986039 (executing program) 2022/10/01 02:23:02 fetching corpus: 28097, signal 701300/986039 (executing program) 2022/10/01 02:23:02 fetching corpus: 28147, signal 701657/986039 (executing program) 2022/10/01 02:23:02 fetching corpus: 28197, signal 702201/986042 (executing program) 2022/10/01 02:23:02 fetching corpus: 28247, signal 702434/986042 (executing program) 2022/10/01 02:23:02 fetching corpus: 28297, signal 702705/986042 (executing program) 2022/10/01 02:23:03 fetching corpus: 28347, signal 703127/986042 (executing program) 2022/10/01 02:23:03 fetching corpus: 28397, signal 703480/986077 (executing program) 2022/10/01 02:23:03 fetching corpus: 28447, signal 703846/986078 (executing program) 2022/10/01 02:23:03 fetching corpus: 28497, signal 704194/986078 (executing program) 2022/10/01 02:23:03 fetching corpus: 28547, signal 704547/986078 (executing program) 2022/10/01 02:23:03 fetching corpus: 28597, signal 704816/986078 (executing program) 2022/10/01 02:23:03 fetching corpus: 28647, signal 705059/986078 (executing program) 2022/10/01 02:23:04 fetching corpus: 28697, signal 705298/986078 (executing program) 2022/10/01 02:23:04 fetching corpus: 28747, signal 705659/986079 (executing program) 2022/10/01 02:23:04 fetching corpus: 28797, signal 705943/986079 (executing program) 2022/10/01 02:23:04 fetching corpus: 28847, signal 706292/986079 (executing program) 2022/10/01 02:23:04 fetching corpus: 28897, signal 706538/986953 (executing program) 2022/10/01 02:23:04 fetching corpus: 28947, signal 706825/986953 (executing program) 2022/10/01 02:23:05 fetching corpus: 28997, signal 707178/986953 (executing program) 2022/10/01 02:23:05 fetching corpus: 29047, signal 707610/986953 (executing program) 2022/10/01 02:23:05 fetching corpus: 29097, signal 707878/986953 (executing program) 2022/10/01 02:23:05 fetching corpus: 29147, signal 708311/986953 (executing program) 2022/10/01 02:23:05 fetching corpus: 29197, signal 708627/986953 (executing program) 2022/10/01 02:23:05 fetching corpus: 29247, signal 708987/986953 (executing program) 2022/10/01 02:23:05 fetching corpus: 29297, signal 709245/986953 (executing program) 2022/10/01 02:23:05 fetching corpus: 29347, signal 709699/986953 (executing program) 2022/10/01 02:23:05 fetching corpus: 29397, signal 709982/986953 (executing program) 2022/10/01 02:23:06 fetching corpus: 29447, signal 710374/986953 (executing program) 2022/10/01 02:23:06 fetching corpus: 29497, signal 710630/986954 (executing program) 2022/10/01 02:23:06 fetching corpus: 29547, signal 710953/986954 (executing program) 2022/10/01 02:23:06 fetching corpus: 29597, signal 711254/986957 (executing program) 2022/10/01 02:23:06 fetching corpus: 29647, signal 711605/986957 (executing program) 2022/10/01 02:23:06 fetching corpus: 29697, signal 712005/986958 (executing program) 2022/10/01 02:23:07 fetching corpus: 29747, signal 712334/986958 (executing program) 2022/10/01 02:23:07 fetching corpus: 29797, signal 712655/986958 (executing program) 2022/10/01 02:23:07 fetching corpus: 29847, signal 712881/986958 (executing program) 2022/10/01 02:23:07 fetching corpus: 29897, signal 713396/986958 (executing program) 2022/10/01 02:23:07 fetching corpus: 29947, signal 713890/986958 (executing program) 2022/10/01 02:23:07 fetching corpus: 29997, signal 714130/986958 (executing program) 2022/10/01 02:23:07 fetching corpus: 30047, signal 714376/986958 (executing program) 2022/10/01 02:23:07 fetching corpus: 30097, signal 714643/986958 (executing program) 2022/10/01 02:23:08 fetching corpus: 30147, signal 714899/986958 (executing program) 2022/10/01 02:23:08 fetching corpus: 30197, signal 715258/986958 (executing program) 2022/10/01 02:23:08 fetching corpus: 30247, signal 715475/986958 (executing program) 2022/10/01 02:23:08 fetching corpus: 30297, signal 715748/986958 (executing program) 2022/10/01 02:23:08 fetching corpus: 30347, signal 716171/986958 (executing program) 2022/10/01 02:23:08 fetching corpus: 30397, signal 716442/986958 (executing program) 2022/10/01 02:23:08 fetching corpus: 30447, signal 716897/986959 (executing program) 2022/10/01 02:23:09 fetching corpus: 30497, signal 717333/986959 (executing program) 2022/10/01 02:23:09 fetching corpus: 30547, signal 717655/986959 (executing program) 2022/10/01 02:23:09 fetching corpus: 30597, signal 718006/986959 (executing program) 2022/10/01 02:23:09 fetching corpus: 30647, signal 718397/986963 (executing program) 2022/10/01 02:23:09 fetching corpus: 30697, signal 718656/986963 (executing program) 2022/10/01 02:23:09 fetching corpus: 30747, signal 718957/986963 (executing program) 2022/10/01 02:23:09 fetching corpus: 30797, signal 719354/986963 (executing program) 2022/10/01 02:23:10 fetching corpus: 30847, signal 719777/986963 (executing program) 2022/10/01 02:23:10 fetching corpus: 30897, signal 720098/986965 (executing program) 2022/10/01 02:23:10 fetching corpus: 30947, signal 720338/986965 (executing program) 2022/10/01 02:23:10 fetching corpus: 30997, signal 720618/986965 (executing program) 2022/10/01 02:23:10 fetching corpus: 31047, signal 721576/986978 (executing program) 2022/10/01 02:23:10 fetching corpus: 31097, signal 721818/987046 (executing program) 2022/10/01 02:23:10 fetching corpus: 31147, signal 722091/987046 (executing program) 2022/10/01 02:23:11 fetching corpus: 31197, signal 722414/987046 (executing program) 2022/10/01 02:23:11 fetching corpus: 31247, signal 722877/987046 (executing program) 2022/10/01 02:23:11 fetching corpus: 31297, signal 723388/987046 (executing program) 2022/10/01 02:23:11 fetching corpus: 31347, signal 723654/987046 (executing program) 2022/10/01 02:23:11 fetching corpus: 31397, signal 723947/987052 (executing program) 2022/10/01 02:23:12 fetching corpus: 31447, signal 724224/987052 (executing program) 2022/10/01 02:23:12 fetching corpus: 31497, signal 724696/987052 (executing program) 2022/10/01 02:23:12 fetching corpus: 31547, signal 725015/987052 (executing program) 2022/10/01 02:23:12 fetching corpus: 31597, signal 725283/987052 (executing program) 2022/10/01 02:23:12 fetching corpus: 31647, signal 725504/987053 (executing program) 2022/10/01 02:23:12 fetching corpus: 31697, signal 725797/987053 (executing program) 2022/10/01 02:23:12 fetching corpus: 31747, signal 726249/987053 (executing program) 2022/10/01 02:23:13 fetching corpus: 31797, signal 726591/987053 (executing program) 2022/10/01 02:23:13 fetching corpus: 31847, signal 727010/987054 (executing program) 2022/10/01 02:23:13 fetching corpus: 31897, signal 727424/987087 (executing program) 2022/10/01 02:23:13 fetching corpus: 31947, signal 727711/987087 (executing program) 2022/10/01 02:23:13 fetching corpus: 31997, signal 728014/987087 (executing program) 2022/10/01 02:23:13 fetching corpus: 32047, signal 728344/987087 (executing program) 2022/10/01 02:23:13 fetching corpus: 32097, signal 728665/987087 (executing program) 2022/10/01 02:23:14 fetching corpus: 32147, signal 728974/987087 (executing program) 2022/10/01 02:23:14 fetching corpus: 32197, signal 729225/987087 (executing program) 2022/10/01 02:23:14 fetching corpus: 32247, signal 729461/987087 (executing program) 2022/10/01 02:23:14 fetching corpus: 32297, signal 729887/987087 (executing program) 2022/10/01 02:23:14 fetching corpus: 32347, signal 730235/987087 (executing program) 2022/10/01 02:23:14 fetching corpus: 32397, signal 730535/987087 (executing program) 2022/10/01 02:23:14 fetching corpus: 32447, signal 730937/987087 (executing program) 2022/10/01 02:23:15 fetching corpus: 32497, signal 731242/987087 (executing program) 2022/10/01 02:23:15 fetching corpus: 32547, signal 731488/987087 (executing program) 2022/10/01 02:23:15 fetching corpus: 32597, signal 731891/987087 (executing program) 2022/10/01 02:23:15 fetching corpus: 32647, signal 732226/987087 (executing program) 2022/10/01 02:23:15 fetching corpus: 32697, signal 732650/987095 (executing program) 2022/10/01 02:23:15 fetching corpus: 32747, signal 732991/987095 (executing program) 2022/10/01 02:23:16 fetching corpus: 32797, signal 733366/987130 (executing program) 2022/10/01 02:23:16 fetching corpus: 32847, signal 733760/987130 (executing program) 2022/10/01 02:23:16 fetching corpus: 32897, signal 734243/987130 (executing program) 2022/10/01 02:23:16 fetching corpus: 32947, signal 734522/987130 (executing program) 2022/10/01 02:23:16 fetching corpus: 32997, signal 734974/987130 (executing program) 2022/10/01 02:23:16 fetching corpus: 33047, signal 735312/987130 (executing program) 2022/10/01 02:23:17 fetching corpus: 33097, signal 735676/987130 (executing program) 2022/10/01 02:23:17 fetching corpus: 33147, signal 736020/987130 (executing program) 2022/10/01 02:23:17 fetching corpus: 33197, signal 736305/987130 (executing program) 2022/10/01 02:23:17 fetching corpus: 33247, signal 736552/987130 (executing program) 2022/10/01 02:23:17 fetching corpus: 33297, signal 737163/987130 (executing program) 2022/10/01 02:23:17 fetching corpus: 33347, signal 737627/987130 (executing program) 2022/10/01 02:23:18 fetching corpus: 33397, signal 737946/987130 (executing program) 2022/10/01 02:23:18 fetching corpus: 33447, signal 738148/987130 (executing program) 2022/10/01 02:23:18 fetching corpus: 33497, signal 738687/987130 (executing program) 2022/10/01 02:23:18 fetching corpus: 33547, signal 739026/987130 (executing program) 2022/10/01 02:23:19 fetching corpus: 33597, signal 739338/987133 (executing program) 2022/10/01 02:23:19 fetching corpus: 33647, signal 739693/987133 (executing program) 2022/10/01 02:23:19 fetching corpus: 33697, signal 739997/987133 (executing program) 2022/10/01 02:23:19 fetching corpus: 33747, signal 740252/987151 (executing program) 2022/10/01 02:23:19 fetching corpus: 33797, signal 740532/987151 (executing program) 2022/10/01 02:23:19 fetching corpus: 33847, signal 740941/987151 (executing program) 2022/10/01 02:23:19 fetching corpus: 33897, signal 741431/987151 (executing program) 2022/10/01 02:23:20 fetching corpus: 33947, signal 741867/987151 (executing program) 2022/10/01 02:23:20 fetching corpus: 33997, signal 742155/987151 (executing program) 2022/10/01 02:23:20 fetching corpus: 34047, signal 742515/987151 (executing program) 2022/10/01 02:23:20 fetching corpus: 34097, signal 742822/987151 (executing program) 2022/10/01 02:23:20 fetching corpus: 34147, signal 743291/987151 (executing program) 2022/10/01 02:23:20 fetching corpus: 34196, signal 743654/987152 (executing program) 2022/10/01 02:23:20 fetching corpus: 34246, signal 743996/987152 (executing program) 2022/10/01 02:23:20 fetching corpus: 34296, signal 744264/987152 (executing program) 2022/10/01 02:23:21 fetching corpus: 34346, signal 744553/987152 (executing program) 2022/10/01 02:23:21 fetching corpus: 34396, signal 744796/987152 (executing program) 2022/10/01 02:23:21 fetching corpus: 34446, signal 745151/987152 (executing program) 2022/10/01 02:23:21 fetching corpus: 34496, signal 745420/987152 (executing program) 2022/10/01 02:23:21 fetching corpus: 34546, signal 745941/987152 (executing program) 2022/10/01 02:23:21 fetching corpus: 34596, signal 746215/987152 (executing program) 2022/10/01 02:23:21 fetching corpus: 34646, signal 746493/987153 (executing program) 2022/10/01 02:23:22 fetching corpus: 34696, signal 746920/987153 (executing program) 2022/10/01 02:23:22 fetching corpus: 34746, signal 747209/987198 (executing program) 2022/10/01 02:23:22 fetching corpus: 34796, signal 747511/987198 (executing program) 2022/10/01 02:23:22 fetching corpus: 34846, signal 747741/987198 (executing program) 2022/10/01 02:23:22 fetching corpus: 34896, signal 748110/987198 (executing program) 2022/10/01 02:23:22 fetching corpus: 34946, signal 748468/987198 (executing program) 2022/10/01 02:23:23 fetching corpus: 34996, signal 748836/987198 (executing program) 2022/10/01 02:23:23 fetching corpus: 35046, signal 749136/987198 (executing program) 2022/10/01 02:23:23 fetching corpus: 35096, signal 749385/987198 (executing program) 2022/10/01 02:23:23 fetching corpus: 35146, signal 750037/987200 (executing program) 2022/10/01 02:23:23 fetching corpus: 35196, signal 750263/987200 (executing program) 2022/10/01 02:23:23 fetching corpus: 35246, signal 750603/987200 (executing program) 2022/10/01 02:23:23 fetching corpus: 35296, signal 750864/987200 (executing program) 2022/10/01 02:23:24 fetching corpus: 35346, signal 751134/987200 (executing program) 2022/10/01 02:23:24 fetching corpus: 35396, signal 751462/987202 (executing program) 2022/10/01 02:23:24 fetching corpus: 35446, signal 751805/987202 (executing program) 2022/10/01 02:23:24 fetching corpus: 35496, signal 752237/987202 (executing program) 2022/10/01 02:23:24 fetching corpus: 35546, signal 752688/987205 (executing program) 2022/10/01 02:23:24 fetching corpus: 35596, signal 753075/987205 (executing program) 2022/10/01 02:23:25 fetching corpus: 35646, signal 753435/987205 (executing program) 2022/10/01 02:23:25 fetching corpus: 35696, signal 753782/987226 (executing program) 2022/10/01 02:23:25 fetching corpus: 35746, signal 754364/987226 (executing program) 2022/10/01 02:23:25 fetching corpus: 35796, signal 754669/987229 (executing program) 2022/10/01 02:23:26 fetching corpus: 35846, signal 754939/987229 (executing program) 2022/10/01 02:23:26 fetching corpus: 35896, signal 755264/987231 (executing program) 2022/10/01 02:23:26 fetching corpus: 35946, signal 755580/987231 (executing program) 2022/10/01 02:23:26 fetching corpus: 35996, signal 755830/987231 (executing program) 2022/10/01 02:23:26 fetching corpus: 36046, signal 756101/987231 (executing program) 2022/10/01 02:23:26 fetching corpus: 36096, signal 756519/987231 (executing program) 2022/10/01 02:23:26 fetching corpus: 36146, signal 756683/987231 (executing program) 2022/10/01 02:23:27 fetching corpus: 36196, signal 756906/987232 (executing program) 2022/10/01 02:23:27 fetching corpus: 36246, signal 757257/987232 (executing program) 2022/10/01 02:23:27 fetching corpus: 36296, signal 757504/987250 (executing program) 2022/10/01 02:23:27 fetching corpus: 36346, signal 757879/987252 (executing program) 2022/10/01 02:23:27 fetching corpus: 36396, signal 758164/987261 (executing program) 2022/10/01 02:23:28 fetching corpus: 36446, signal 758504/987261 (executing program) 2022/10/01 02:23:28 fetching corpus: 36496, signal 758757/987261 (executing program) 2022/10/01 02:23:28 fetching corpus: 36546, signal 759057/987261 (executing program) 2022/10/01 02:23:28 fetching corpus: 36596, signal 759412/987261 (executing program) 2022/10/01 02:23:28 fetching corpus: 36646, signal 759617/987261 (executing program) 2022/10/01 02:23:28 fetching corpus: 36696, signal 759966/987261 (executing program) 2022/10/01 02:23:28 fetching corpus: 36746, signal 760313/987261 (executing program) 2022/10/01 02:23:29 fetching corpus: 36796, signal 760670/987262 (executing program) 2022/10/01 02:23:29 fetching corpus: 36846, signal 760939/987262 (executing program) 2022/10/01 02:23:29 fetching corpus: 36896, signal 761270/987262 (executing program) 2022/10/01 02:23:29 fetching corpus: 36946, signal 761431/987262 (executing program) 2022/10/01 02:23:29 fetching corpus: 36996, signal 761834/987262 (executing program) 2022/10/01 02:23:29 fetching corpus: 37046, signal 762214/987262 (executing program) 2022/10/01 02:23:30 fetching corpus: 37096, signal 762565/987262 (executing program) 2022/10/01 02:23:30 fetching corpus: 37146, signal 762845/987262 (executing program) 2022/10/01 02:23:30 fetching corpus: 37196, signal 763107/987262 (executing program) 2022/10/01 02:23:30 fetching corpus: 37246, signal 763443/987262 (executing program) 2022/10/01 02:23:30 fetching corpus: 37296, signal 763638/987262 (executing program) 2022/10/01 02:23:30 fetching corpus: 37346, signal 763904/987262 (executing program) 2022/10/01 02:23:30 fetching corpus: 37396, signal 764158/987262 (executing program) 2022/10/01 02:23:31 fetching corpus: 37446, signal 764613/987293 (executing program) 2022/10/01 02:23:31 fetching corpus: 37496, signal 764841/987294 (executing program) 2022/10/01 02:23:31 fetching corpus: 37546, signal 765106/987294 (executing program) 2022/10/01 02:23:31 fetching corpus: 37596, signal 765434/987294 (executing program) 2022/10/01 02:23:31 fetching corpus: 37646, signal 765824/987294 (executing program) 2022/10/01 02:23:31 fetching corpus: 37696, signal 766249/987294 (executing program) 2022/10/01 02:23:31 fetching corpus: 37746, signal 766492/987294 (executing program) 2022/10/01 02:23:32 fetching corpus: 37796, signal 766802/987294 (executing program) 2022/10/01 02:23:32 fetching corpus: 37846, signal 767019/987296 (executing program) 2022/10/01 02:23:32 fetching corpus: 37896, signal 767318/987298 (executing program) 2022/10/01 02:23:32 fetching corpus: 37946, signal 767577/987298 (executing program) 2022/10/01 02:23:33 fetching corpus: 37996, signal 767863/987298 (executing program) 2022/10/01 02:23:33 fetching corpus: 38046, signal 768221/987298 (executing program) 2022/10/01 02:23:33 fetching corpus: 38096, signal 768516/987298 (executing program) 2022/10/01 02:23:33 fetching corpus: 38146, signal 768744/987298 (executing program) 2022/10/01 02:23:33 fetching corpus: 38196, signal 768915/987298 (executing program) 2022/10/01 02:23:33 fetching corpus: 38246, signal 769167/987298 (executing program) 2022/10/01 02:23:34 fetching corpus: 38296, signal 769359/987298 (executing program) 2022/10/01 02:23:34 fetching corpus: 38346, signal 769607/987298 (executing program) 2022/10/01 02:23:34 fetching corpus: 38396, signal 769860/987298 (executing program) 2022/10/01 02:23:34 fetching corpus: 38446, signal 770096/987298 (executing program) 2022/10/01 02:23:34 fetching corpus: 38496, signal 770454/987298 (executing program) 2022/10/01 02:23:34 fetching corpus: 38546, signal 770896/987331 (executing program) 2022/10/01 02:23:34 fetching corpus: 38596, signal 771114/987331 (executing program) 2022/10/01 02:23:35 fetching corpus: 38646, signal 771437/987331 (executing program) 2022/10/01 02:23:35 fetching corpus: 38696, signal 771793/987331 (executing program) 2022/10/01 02:23:35 fetching corpus: 38746, signal 772136/987331 (executing program) 2022/10/01 02:23:35 fetching corpus: 38796, signal 772360/987331 (executing program) 2022/10/01 02:23:35 fetching corpus: 38845, signal 772663/987345 (executing program) 2022/10/01 02:23:35 fetching corpus: 38895, signal 772869/987345 (executing program) 2022/10/01 02:23:35 fetching corpus: 38945, signal 773131/987345 (executing program) 2022/10/01 02:23:36 fetching corpus: 38995, signal 773317/987345 (executing program) 2022/10/01 02:23:36 fetching corpus: 39045, signal 773568/987345 (executing program) 2022/10/01 02:23:36 fetching corpus: 39095, signal 773785/987345 (executing program) 2022/10/01 02:23:36 fetching corpus: 39145, signal 774149/987345 (executing program) 2022/10/01 02:23:36 fetching corpus: 39195, signal 774476/987347 (executing program) 2022/10/01 02:23:36 fetching corpus: 39245, signal 774683/987347 (executing program) 2022/10/01 02:23:36 fetching corpus: 39295, signal 775019/987347 (executing program) 2022/10/01 02:23:36 fetching corpus: 39345, signal 775339/987347 (executing program) 2022/10/01 02:23:37 fetching corpus: 39395, signal 775674/987373 (executing program) 2022/10/01 02:23:37 fetching corpus: 39445, signal 776041/987375 (executing program) 2022/10/01 02:23:37 fetching corpus: 39495, signal 776237/987375 (executing program) 2022/10/01 02:23:37 fetching corpus: 39545, signal 776418/987375 (executing program) 2022/10/01 02:23:37 fetching corpus: 39595, signal 776663/987375 (executing program) 2022/10/01 02:23:37 fetching corpus: 39645, signal 777177/987375 (executing program) 2022/10/01 02:23:38 fetching corpus: 39695, signal 777479/987375 (executing program) 2022/10/01 02:23:38 fetching corpus: 39745, signal 777808/987375 (executing program) 2022/10/01 02:23:38 fetching corpus: 39795, signal 777989/987376 (executing program) 2022/10/01 02:23:38 fetching corpus: 39845, signal 778228/987376 (executing program) 2022/10/01 02:23:38 fetching corpus: 39895, signal 778534/987381 (executing program) 2022/10/01 02:23:38 fetching corpus: 39945, signal 778839/987381 (executing program) 2022/10/01 02:23:39 fetching corpus: 39995, signal 779093/987383 (executing program) 2022/10/01 02:23:39 fetching corpus: 40045, signal 779296/987383 (executing program) 2022/10/01 02:23:39 fetching corpus: 40095, signal 779565/987383 (executing program) 2022/10/01 02:23:39 fetching corpus: 40145, signal 779817/987432 (executing program) 2022/10/01 02:23:39 fetching corpus: 40195, signal 780031/987432 (executing program) 2022/10/01 02:23:40 fetching corpus: 40245, signal 780217/987435 (executing program) 2022/10/01 02:23:40 fetching corpus: 40295, signal 780478/987435 (executing program) 2022/10/01 02:23:40 fetching corpus: 40345, signal 780815/987435 (executing program) 2022/10/01 02:23:40 fetching corpus: 40395, signal 781125/987447 (executing program) 2022/10/01 02:23:40 fetching corpus: 40445, signal 781394/987447 (executing program) 2022/10/01 02:23:40 fetching corpus: 40495, signal 781647/987447 (executing program) 2022/10/01 02:23:40 fetching corpus: 40545, signal 781913/987463 (executing program) 2022/10/01 02:23:40 fetching corpus: 40595, signal 782236/987463 (executing program) 2022/10/01 02:23:41 fetching corpus: 40645, signal 782563/987463 (executing program) 2022/10/01 02:23:41 fetching corpus: 40695, signal 782896/987463 (executing program) 2022/10/01 02:23:41 fetching corpus: 40745, signal 783180/987463 (executing program) 2022/10/01 02:23:41 fetching corpus: 40795, signal 783556/987463 (executing program) 2022/10/01 02:23:41 fetching corpus: 40845, signal 783847/987463 (executing program) 2022/10/01 02:23:41 fetching corpus: 40895, signal 784033/987463 (executing program) 2022/10/01 02:23:41 fetching corpus: 40945, signal 784379/987464 (executing program) 2022/10/01 02:23:42 fetching corpus: 40995, signal 784614/987464 (executing program) 2022/10/01 02:23:42 fetching corpus: 41045, signal 784965/987464 (executing program) 2022/10/01 02:23:42 fetching corpus: 41095, signal 785293/987466 (executing program) 2022/10/01 02:23:42 fetching corpus: 41145, signal 785700/987466 (executing program) 2022/10/01 02:23:42 fetching corpus: 41195, signal 786025/987467 (executing program) 2022/10/01 02:23:42 fetching corpus: 41245, signal 786233/987467 (executing program) 2022/10/01 02:23:42 fetching corpus: 41295, signal 786477/987467 (executing program) 2022/10/01 02:23:43 fetching corpus: 41345, signal 786786/987501 (executing program) 2022/10/01 02:23:43 fetching corpus: 41395, signal 786993/987501 (executing program) 2022/10/01 02:23:43 fetching corpus: 41445, signal 787179/987501 (executing program) 2022/10/01 02:23:43 fetching corpus: 41495, signal 787420/987503 (executing program) 2022/10/01 02:23:43 fetching corpus: 41545, signal 787877/987503 (executing program) 2022/10/01 02:23:43 fetching corpus: 41595, signal 788114/987503 (executing program) 2022/10/01 02:23:43 fetching corpus: 41645, signal 788420/987503 (executing program) 2022/10/01 02:23:43 fetching corpus: 41695, signal 788674/987506 (executing program) 2022/10/01 02:23:44 fetching corpus: 41745, signal 788849/987506 (executing program) 2022/10/01 02:23:44 fetching corpus: 41795, signal 789288/987506 (executing program) 2022/10/01 02:23:44 fetching corpus: 41845, signal 789512/987506 (executing program) 2022/10/01 02:23:44 fetching corpus: 41895, signal 789769/987506 (executing program) 2022/10/01 02:23:44 fetching corpus: 41945, signal 789999/987506 (executing program) 2022/10/01 02:23:44 fetching corpus: 41995, signal 790192/987506 (executing program) 2022/10/01 02:23:44 fetching corpus: 42045, signal 790549/987506 (executing program) 2022/10/01 02:23:45 fetching corpus: 42095, signal 790759/987506 (executing program) 2022/10/01 02:23:45 fetching corpus: 42145, signal 791027/987506 (executing program) 2022/10/01 02:23:45 fetching corpus: 42195, signal 791226/987507 (executing program) 2022/10/01 02:23:45 fetching corpus: 42245, signal 791500/987507 (executing program) 2022/10/01 02:23:45 fetching corpus: 42295, signal 791703/987507 (executing program) 2022/10/01 02:23:45 fetching corpus: 42345, signal 791941/987511 (executing program) 2022/10/01 02:23:45 fetching corpus: 42395, signal 792195/987511 (executing program) 2022/10/01 02:23:46 fetching corpus: 42445, signal 792466/987511 (executing program) 2022/10/01 02:23:46 fetching corpus: 42495, signal 792700/987512 (executing program) 2022/10/01 02:23:46 fetching corpus: 42545, signal 792974/987520 (executing program) 2022/10/01 02:23:47 fetching corpus: 42595, signal 793307/987520 (executing program) 2022/10/01 02:23:47 fetching corpus: 42645, signal 793574/987520 (executing program) 2022/10/01 02:23:47 fetching corpus: 42695, signal 793830/987520 (executing program) 2022/10/01 02:23:47 fetching corpus: 42745, signal 794213/987520 (executing program) 2022/10/01 02:23:47 fetching corpus: 42795, signal 794396/987532 (executing program) 2022/10/01 02:23:48 fetching corpus: 42845, signal 794811/987532 (executing program) 2022/10/01 02:23:48 fetching corpus: 42895, signal 795012/987533 (executing program) 2022/10/01 02:23:48 fetching corpus: 42945, signal 795284/987533 (executing program) 2022/10/01 02:23:48 fetching corpus: 42995, signal 795501/987533 (executing program) 2022/10/01 02:23:48 fetching corpus: 43045, signal 795765/987533 (executing program) 2022/10/01 02:23:48 fetching corpus: 43095, signal 796098/987533 (executing program) 2022/10/01 02:23:48 fetching corpus: 43145, signal 796341/987533 (executing program) 2022/10/01 02:23:48 fetching corpus: 43195, signal 796614/987533 (executing program) 2022/10/01 02:23:48 fetching corpus: 43245, signal 796875/987533 (executing program) 2022/10/01 02:23:49 fetching corpus: 43295, signal 797074/987536 (executing program) 2022/10/01 02:23:49 fetching corpus: 43345, signal 797645/987536 (executing program) 2022/10/01 02:23:49 fetching corpus: 43395, signal 797776/987536 (executing program) 2022/10/01 02:23:49 fetching corpus: 43445, signal 797994/987536 (executing program) 2022/10/01 02:23:49 fetching corpus: 43495, signal 798239/987536 (executing program) 2022/10/01 02:23:49 fetching corpus: 43545, signal 798569/987536 (executing program) 2022/10/01 02:23:49 fetching corpus: 43595, signal 798752/987536 (executing program) 2022/10/01 02:23:49 fetching corpus: 43645, signal 799127/987536 (executing program) 2022/10/01 02:23:49 fetching corpus: 43695, signal 799358/987536 (executing program) 2022/10/01 02:23:50 fetching corpus: 43745, signal 799543/987536 (executing program) 2022/10/01 02:23:50 fetching corpus: 43795, signal 799777/987536 (executing program) 2022/10/01 02:23:50 fetching corpus: 43845, signal 799988/987536 (executing program) 2022/10/01 02:23:50 fetching corpus: 43895, signal 800298/987537 (executing program) 2022/10/01 02:23:50 fetching corpus: 43945, signal 800675/987537 (executing program) 2022/10/01 02:23:50 fetching corpus: 43995, signal 800874/987546 (executing program) 2022/10/01 02:23:50 fetching corpus: 44045, signal 801078/987546 (executing program) 2022/10/01 02:23:51 fetching corpus: 44095, signal 801356/987546 (executing program) 2022/10/01 02:23:51 fetching corpus: 44145, signal 801615/987546 (executing program) 2022/10/01 02:23:51 fetching corpus: 44195, signal 802054/987546 (executing program) 2022/10/01 02:23:51 fetching corpus: 44245, signal 802314/987546 (executing program) [ 193.993285][ T1238] ieee802154 phy0 wpan0: encryption failed: -22 [ 193.999625][ T1238] ieee802154 phy1 wpan1: encryption failed: -22 2022/10/01 02:23:52 fetching corpus: 44295, signal 802630/987547 (executing program) 2022/10/01 02:23:52 fetching corpus: 44345, signal 802892/987547 (executing program) 2022/10/01 02:23:52 fetching corpus: 44395, signal 803132/987563 (executing program) 2022/10/01 02:23:52 fetching corpus: 44445, signal 803424/987578 (executing program) 2022/10/01 02:23:52 fetching corpus: 44495, signal 803683/987578 (executing program) 2022/10/01 02:23:52 fetching corpus: 44545, signal 803966/987578 (executing program) 2022/10/01 02:23:52 fetching corpus: 44595, signal 804228/987578 (executing program) 2022/10/01 02:23:53 fetching corpus: 44645, signal 804579/987578 (executing program) 2022/10/01 02:23:53 fetching corpus: 44695, signal 804930/987578 (executing program) 2022/10/01 02:23:53 fetching corpus: 44745, signal 805179/987579 (executing program) 2022/10/01 02:23:53 fetching corpus: 44795, signal 805460/987579 (executing program) 2022/10/01 02:23:53 fetching corpus: 44845, signal 805694/987579 (executing program) 2022/10/01 02:23:53 fetching corpus: 44895, signal 805951/987579 (executing program) 2022/10/01 02:23:53 fetching corpus: 44945, signal 806207/987579 (executing program) 2022/10/01 02:23:54 fetching corpus: 44995, signal 806434/987579 (executing program) 2022/10/01 02:23:54 fetching corpus: 45045, signal 806600/987640 (executing program) 2022/10/01 02:23:54 fetching corpus: 45095, signal 806993/987640 (executing program) 2022/10/01 02:23:54 fetching corpus: 45145, signal 807306/987640 (executing program) 2022/10/01 02:23:54 fetching corpus: 45195, signal 807635/987640 (executing program) 2022/10/01 02:23:54 fetching corpus: 45245, signal 807830/987640 (executing program) 2022/10/01 02:23:54 fetching corpus: 45295, signal 807990/987640 (executing program) 2022/10/01 02:23:54 fetching corpus: 45345, signal 808187/987643 (executing program) 2022/10/01 02:23:55 fetching corpus: 45395, signal 808345/987644 (executing program) 2022/10/01 02:23:55 fetching corpus: 45445, signal 808634/987644 (executing program) 2022/10/01 02:23:55 fetching corpus: 45495, signal 809065/987644 (executing program) 2022/10/01 02:23:55 fetching corpus: 45545, signal 809254/987644 (executing program) 2022/10/01 02:23:55 fetching corpus: 45595, signal 809463/987644 (executing program) 2022/10/01 02:23:55 fetching corpus: 45645, signal 809770/987644 (executing program) 2022/10/01 02:23:56 fetching corpus: 45695, signal 809991/987644 (executing program) 2022/10/01 02:23:56 fetching corpus: 45745, signal 810160/987644 (executing program) 2022/10/01 02:23:56 fetching corpus: 45795, signal 810594/987644 (executing program) 2022/10/01 02:23:56 fetching corpus: 45845, signal 810790/987644 (executing program) 2022/10/01 02:23:56 fetching corpus: 45895, signal 811233/987644 (executing program) 2022/10/01 02:23:56 fetching corpus: 45945, signal 811503/987652 (executing program) 2022/10/01 02:23:56 fetching corpus: 45995, signal 811728/987652 (executing program) 2022/10/01 02:23:56 fetching corpus: 46045, signal 812048/987652 (executing program) 2022/10/01 02:23:57 fetching corpus: 46095, signal 812221/987655 (executing program) 2022/10/01 02:23:57 fetching corpus: 46144, signal 812390/987655 (executing program) 2022/10/01 02:23:57 fetching corpus: 46194, signal 812640/987655 (executing program) 2022/10/01 02:23:57 fetching corpus: 46244, signal 812889/987655 (executing program) 2022/10/01 02:23:57 fetching corpus: 46294, signal 813091/987655 (executing program) 2022/10/01 02:23:57 fetching corpus: 46344, signal 813290/987656 (executing program) 2022/10/01 02:23:57 fetching corpus: 46394, signal 813625/987656 (executing program) 2022/10/01 02:23:58 fetching corpus: 46443, signal 813881/987671 (executing program) 2022/10/01 02:23:58 fetching corpus: 46493, signal 814286/987671 (executing program) 2022/10/01 02:23:58 fetching corpus: 46543, signal 814882/987671 (executing program) 2022/10/01 02:23:58 fetching corpus: 46593, signal 815156/987671 (executing program) 2022/10/01 02:23:58 fetching corpus: 46643, signal 815318/987671 (executing program) 2022/10/01 02:23:58 fetching corpus: 46693, signal 815559/987671 (executing program) 2022/10/01 02:23:59 fetching corpus: 46743, signal 815785/987678 (executing program) 2022/10/01 02:23:59 fetching corpus: 46793, signal 816022/987678 (executing program) 2022/10/01 02:23:59 fetching corpus: 46843, signal 816324/987678 (executing program) 2022/10/01 02:23:59 fetching corpus: 46893, signal 816524/987678 (executing program) 2022/10/01 02:23:59 fetching corpus: 46943, signal 816861/987678 (executing program) 2022/10/01 02:23:59 fetching corpus: 46993, signal 817292/987678 (executing program) 2022/10/01 02:24:00 fetching corpus: 47043, signal 819326/987678 (executing program) 2022/10/01 02:24:00 fetching corpus: 47093, signal 820223/987680 (executing program) 2022/10/01 02:24:00 fetching corpus: 47143, signal 820566/987680 (executing program) 2022/10/01 02:24:00 fetching corpus: 47193, signal 820772/987680 (executing program) 2022/10/01 02:24:00 fetching corpus: 47243, signal 821031/987680 (executing program) 2022/10/01 02:24:00 fetching corpus: 47293, signal 821769/987680 (executing program) 2022/10/01 02:24:00 fetching corpus: 47343, signal 822047/987681 (executing program) 2022/10/01 02:24:01 fetching corpus: 47393, signal 822305/987681 (executing program) 2022/10/01 02:24:01 fetching corpus: 47443, signal 822523/987699 (executing program) 2022/10/01 02:24:01 fetching corpus: 47493, signal 822724/987699 (executing program) 2022/10/01 02:24:01 fetching corpus: 47543, signal 822985/987699 (executing program) 2022/10/01 02:24:01 fetching corpus: 47593, signal 823215/987699 (executing program) 2022/10/01 02:24:01 fetching corpus: 47643, signal 823477/987699 (executing program) 2022/10/01 02:24:01 fetching corpus: 47693, signal 823646/987699 (executing program) 2022/10/01 02:24:01 fetching corpus: 47743, signal 823905/987699 (executing program) 2022/10/01 02:24:02 fetching corpus: 47793, signal 824181/987699 (executing program) 2022/10/01 02:24:02 fetching corpus: 47843, signal 824475/987699 (executing program) 2022/10/01 02:24:02 fetching corpus: 47893, signal 824753/987699 (executing program) 2022/10/01 02:24:02 fetching corpus: 47943, signal 825013/987699 (executing program) 2022/10/01 02:24:02 fetching corpus: 47993, signal 825193/987699 (executing program) 2022/10/01 02:24:02 fetching corpus: 48043, signal 825548/987699 (executing program) 2022/10/01 02:24:03 fetching corpus: 48093, signal 825777/987699 (executing program) 2022/10/01 02:24:03 fetching corpus: 48143, signal 825983/987699 (executing program) 2022/10/01 02:24:03 fetching corpus: 48193, signal 826203/987699 (executing program) 2022/10/01 02:24:03 fetching corpus: 48243, signal 826434/987699 (executing program) 2022/10/01 02:24:03 fetching corpus: 48293, signal 826702/987699 (executing program) 2022/10/01 02:24:03 fetching corpus: 48343, signal 827060/987699 (executing program) 2022/10/01 02:24:03 fetching corpus: 48393, signal 827304/987699 (executing program) 2022/10/01 02:24:04 fetching corpus: 48443, signal 827460/987720 (executing program) 2022/10/01 02:24:04 fetching corpus: 48493, signal 827680/987720 (executing program) 2022/10/01 02:24:04 fetching corpus: 48543, signal 827940/987720 (executing program) 2022/10/01 02:24:04 fetching corpus: 48593, signal 828127/987721 (executing program) 2022/10/01 02:24:04 fetching corpus: 48643, signal 828469/987721 (executing program) 2022/10/01 02:24:04 fetching corpus: 48693, signal 828719/987721 (executing program) 2022/10/01 02:24:05 fetching corpus: 48743, signal 828961/987721 (executing program) 2022/10/01 02:24:05 fetching corpus: 48793, signal 829189/987721 (executing program) 2022/10/01 02:24:05 fetching corpus: 48843, signal 829462/987721 (executing program) 2022/10/01 02:24:05 fetching corpus: 48893, signal 829734/987721 (executing program) 2022/10/01 02:24:05 fetching corpus: 48943, signal 829924/987722 (executing program) 2022/10/01 02:24:05 fetching corpus: 48993, signal 830276/987722 (executing program) 2022/10/01 02:24:05 fetching corpus: 49043, signal 830465/987722 (executing program) 2022/10/01 02:24:06 fetching corpus: 49093, signal 830644/987722 (executing program) 2022/10/01 02:24:06 fetching corpus: 49143, signal 830963/987722 (executing program) 2022/10/01 02:24:06 fetching corpus: 49193, signal 831187/987722 (executing program) 2022/10/01 02:24:06 fetching corpus: 49243, signal 833251/987733 (executing program) 2022/10/01 02:24:07 fetching corpus: 49293, signal 833568/987739 (executing program) 2022/10/01 02:24:07 fetching corpus: 49343, signal 833879/987739 (executing program) 2022/10/01 02:24:07 fetching corpus: 49393, signal 834163/987739 (executing program) 2022/10/01 02:24:07 fetching corpus: 49443, signal 834425/987739 (executing program) 2022/10/01 02:24:07 fetching corpus: 49493, signal 834703/987739 (executing program) 2022/10/01 02:24:07 fetching corpus: 49543, signal 834949/987739 (executing program) 2022/10/01 02:24:07 fetching corpus: 49593, signal 835113/987739 (executing program) 2022/10/01 02:24:08 fetching corpus: 49643, signal 835374/987739 (executing program) 2022/10/01 02:24:08 fetching corpus: 49693, signal 835634/987739 (executing program) 2022/10/01 02:24:08 fetching corpus: 49743, signal 835808/987739 (executing program) 2022/10/01 02:24:08 fetching corpus: 49792, signal 835996/987741 (executing program) 2022/10/01 02:24:08 fetching corpus: 49842, signal 836204/987741 (executing program) 2022/10/01 02:24:08 fetching corpus: 49892, signal 836376/987741 (executing program) 2022/10/01 02:24:08 fetching corpus: 49942, signal 836664/987741 (executing program) 2022/10/01 02:24:08 fetching corpus: 49992, signal 836817/987741 (executing program) 2022/10/01 02:24:09 fetching corpus: 50042, signal 837025/987741 (executing program) 2022/10/01 02:24:09 fetching corpus: 50092, signal 837212/987741 (executing program) 2022/10/01 02:24:09 fetching corpus: 50142, signal 837479/987741 (executing program) 2022/10/01 02:24:09 fetching corpus: 50146, signal 837489/987741 (executing program) 2022/10/01 02:24:09 fetching corpus: 50146, signal 837489/987741 (executing program) 2022/10/01 02:24:11 starting 6 fuzzer processes 02:24:11 executing program 0: socket$l2tp6(0xa, 0x2, 0x73) socket$nl_rdma(0x10, 0x3, 0x14) socket$l2tp6(0xa, 0x2, 0x73) socket$l2tp6(0xa, 0x2, 0x73) openat$dlm_plock(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) openat$binder_debug(0xffffffffffffff9c, &(0x7f0000000000)='/sys/kernel/debug/binder/state\x00', 0x0, 0x0) select(0x40, &(0x7f0000000100)={0x98}, 0x0, 0x0, &(0x7f00000001c0)={0x0, 0x2710}) 02:24:11 executing program 1: r0 = socket$inet(0x2, 0x3, 0x5) getsockopt$inet_sctp_SCTP_NODELAY(r0, 0x84, 0x3, 0x0, 0x0) 02:24:11 executing program 2: r0 = socket$l2tp6(0xa, 0x2, 0x73) ioctl$sock_SIOCGIFINDEX_80211(r0, 0x4020940d, 0x0) 02:24:11 executing program 5: socket$l2tp6(0xa, 0x2, 0x73) socket$tipc(0x1e, 0x5, 0x0) socket$nl_rdma(0x10, 0x3, 0x14) socket$l2tp6(0xa, 0x2, 0x73) socket$l2tp6(0xa, 0x2, 0x73) openat$binder_debug(0xffffffffffffff9c, &(0x7f0000000000)='/sys/kernel/debug/binder/state\x00', 0x0, 0x0) select(0x40, &(0x7f0000000100)={0x98}, 0x0, 0x0, &(0x7f00000001c0)={0x0, 0x2710}) 02:24:11 executing program 3: r0 = socket$l2tp(0x2, 0x2, 0x73) getsockopt$IP_VS_SO_GET_DAEMON(r0, 0x0, 0x487, &(0x7f00000000c0), &(0x7f0000000100)=0x30) 02:24:11 executing program 4: r0 = socket$l2tp6(0xa, 0x2, 0x73) sendmmsg$sock(r0, &(0x7f0000002240)=[{{&(0x7f00000000c0)=@in6={0xa, 0x0, 0x0, @local}, 0x1b, &(0x7f0000000380)=[{0x0}, {&(0x7f0000000040)="d7", 0x1}], 0x2}}], 0x1, 0x0) [ 213.640753][ T27] audit: type=1400 audit(1664591051.607:84): avc: denied { execmem } for pid=3626 comm="syz-executor.0" scontext=root:sysadm_r:sysadm_t tcontext=root:sysadm_r:sysadm_t tclass=process permissive=1 [ 213.973259][ T27] audit: type=1400 audit(1664591051.947:85): avc: denied { mounton } for pid=3636 comm="syz-executor.0" path="/sys/fs/fuse/connections" dev="fusectl" ino=1 scontext=root:sysadm_r:sysadm_t tcontext=system_u:object_r:fusefs_t tclass=dir permissive=1 [ 214.023414][ T27] audit: type=1400 audit(1664591051.967:86): avc: denied { mount } for pid=3636 comm="syz-executor.0" name="/" dev="fusectl" ino=1 scontext=root:sysadm_r:sysadm_t tcontext=system_u:object_r:fusefs_t tclass=filesystem permissive=1 [ 214.046605][ T27] audit: type=1400 audit(1664591051.967:87): avc: denied { create } for pid=3636 comm="syz-executor.0" scontext=root:sysadm_r:sysadm_t tcontext=root:sysadm_r:sysadm_t tclass=bluetooth_socket permissive=1 [ 214.067130][ T27] audit: type=1400 audit(1664591051.967:88): avc: denied { read write } for pid=3636 comm="syz-executor.0" name="vhci" dev="devtmpfs" ino=1074 scontext=root:sysadm_r:sysadm_t tcontext=system_u:object_r:vhost_device_t tclass=chr_file permissive=1 [ 214.091099][ T27] audit: type=1400 audit(1664591051.967:89): avc: denied { open } for pid=3636 comm="syz-executor.0" path="/dev/vhci" dev="devtmpfs" ino=1074 scontext=root:sysadm_r:sysadm_t tcontext=system_u:object_r:vhost_device_t tclass=chr_file permissive=1 [ 215.046658][ T27] audit: type=1400 audit(1664591053.007:90): avc: denied { ioctl } for pid=3638 comm="syz-executor.2" path="socket:[1958]" dev="sockfs" ino=1958 ioctlcmd=0x48c9 scontext=root:sysadm_r:sysadm_t tcontext=root:sysadm_r:sysadm_t tclass=bluetooth_socket permissive=1 [ 215.095027][ T3653] Bluetooth: hci0: unexpected cc 0x0c03 length: 249 > 1 [ 215.097233][ T3654] Bluetooth: hci1: unexpected cc 0x0c03 length: 249 > 1 [ 215.103204][ T3653] Bluetooth: hci2: unexpected cc 0x0c03 length: 249 > 1 [ 215.110862][ T3654] Bluetooth: hci3: unexpected cc 0x0c03 length: 249 > 1 [ 215.119555][ T3653] Bluetooth: hci0: unexpected cc 0x1003 length: 249 > 9 [ 215.130755][ T3654] Bluetooth: hci1: unexpected cc 0x1003 length: 249 > 9 [ 215.135462][ T3655] Bluetooth: hci2: unexpected cc 0x1003 length: 249 > 9 [ 215.139556][ T3654] Bluetooth: hci4: unexpected cc 0x0c03 length: 249 > 1 [ 215.145902][ T3655] Bluetooth: hci3: unexpected cc 0x1003 length: 249 > 9 [ 215.159892][ T3654] Bluetooth: hci0: unexpected cc 0x1001 length: 249 > 9 [ 215.160443][ T3655] Bluetooth: hci1: unexpected cc 0x1001 length: 249 > 9 [ 215.168005][ T3654] Bluetooth: hci3: unexpected cc 0x1001 length: 249 > 9 [ 215.175007][ T3655] Bluetooth: hci4: unexpected cc 0x1003 length: 249 > 9 [ 215.181025][ T3654] Bluetooth: hci2: unexpected cc 0x1001 length: 249 > 9 [ 215.189905][ T3655] Bluetooth: hci0: unexpected cc 0x0c23 length: 249 > 4 [ 215.195371][ T3654] Bluetooth: hci4: unexpected cc 0x1001 length: 249 > 9 [ 215.202980][ T3655] Bluetooth: hci0: unexpected cc 0x0c25 length: 249 > 3 [ 215.210680][ T3654] Bluetooth: hci2: unexpected cc 0x0c23 length: 249 > 4 [ 215.220239][ T3655] Bluetooth: hci0: unexpected cc 0x0c38 length: 249 > 2 [ 215.224987][ T3654] Bluetooth: hci3: unexpected cc 0x0c23 length: 249 > 4 [ 215.237906][ T3654] Bluetooth: hci4: unexpected cc 0x0c23 length: 249 > 4 [ 215.245706][ T48] Bluetooth: hci2: unexpected cc 0x0c25 length: 249 > 3 [ 215.248275][ T3654] Bluetooth: hci3: unexpected cc 0x0c25 length: 249 > 3 [ 215.254113][ T27] audit: type=1400 audit(1664591053.227:91): avc: denied { read } for pid=3638 comm="syz-executor.2" dev="nsfs" ino=4026531840 scontext=root:sysadm_r:sysadm_t tcontext=system_u:object_r:nsfs_t tclass=file permissive=1 [ 215.260866][ T3654] Bluetooth: hci4: unexpected cc 0x0c25 length: 249 > 3 [ 215.282695][ T3657] Bluetooth: hci2: unexpected cc 0x0c38 length: 249 > 2 [ 215.289122][ T3654] Bluetooth: hci3: unexpected cc 0x0c38 length: 249 > 2 [ 215.301641][ T27] audit: type=1400 audit(1664591053.267:92): avc: denied { open } for pid=3638 comm="syz-executor.2" path="net:[4026531840]" dev="nsfs" ino=4026531840 scontext=root:sysadm_r:sysadm_t tcontext=system_u:object_r:nsfs_t tclass=file permissive=1 [ 215.303080][ T3654] Bluetooth: hci4: unexpected cc 0x0c38 length: 249 > 2 [ 215.368192][ T3652] Bluetooth: hci1: unexpected cc 0x0c23 length: 249 > 4 [ 215.376063][ T3652] Bluetooth: hci1: unexpected cc 0x0c25 length: 249 > 3 [ 215.383983][ T3652] Bluetooth: hci1: unexpected cc 0x0c38 length: 249 > 2 [ 215.425545][ T27] audit: type=1400 audit(1664591053.267:93): avc: denied { mounton } for pid=3638 comm="syz-executor.2" path="/" dev="sda1" ino=2 scontext=root:sysadm_r:sysadm_t tcontext=system_u:object_r:root_t tclass=dir permissive=1 [ 215.764051][ T3641] chnl_net:caif_netlink_parms(): no params data found [ 215.799669][ T3637] chnl_net:caif_netlink_parms(): no params data found [ 215.811661][ T3638] chnl_net:caif_netlink_parms(): no params data found [ 215.838853][ T3639] chnl_net:caif_netlink_parms(): no params data found [ 215.974092][ T3641] bridge0: port 1(bridge_slave_0) entered blocking state [ 215.981246][ T3641] bridge0: port 1(bridge_slave_0) entered disabled state [ 215.994135][ T3641] device bridge_slave_0 entered promiscuous mode [ 216.008573][ T3641] bridge0: port 2(bridge_slave_1) entered blocking state [ 216.015748][ T3641] bridge0: port 2(bridge_slave_1) entered disabled state [ 216.024755][ T3641] device bridge_slave_1 entered promiscuous mode [ 216.056031][ T3636] chnl_net:caif_netlink_parms(): no params data found [ 216.133909][ T3637] bridge0: port 1(bridge_slave_0) entered blocking state [ 216.140990][ T3637] bridge0: port 1(bridge_slave_0) entered disabled state [ 216.150478][ T3637] device bridge_slave_0 entered promiscuous mode [ 216.159808][ T3639] bridge0: port 1(bridge_slave_0) entered blocking state [ 216.167022][ T3639] bridge0: port 1(bridge_slave_0) entered disabled state [ 216.175640][ T3639] device bridge_slave_0 entered promiscuous mode [ 216.189614][ T3638] bridge0: port 1(bridge_slave_0) entered blocking state [ 216.196907][ T3638] bridge0: port 1(bridge_slave_0) entered disabled state [ 216.205307][ T3638] device bridge_slave_0 entered promiscuous mode [ 216.216242][ T3641] bond0: (slave bond_slave_0): Enslaving as an active interface with an up link [ 216.225962][ T3637] bridge0: port 2(bridge_slave_1) entered blocking state [ 216.236801][ T3637] bridge0: port 2(bridge_slave_1) entered disabled state [ 216.244720][ T3637] device bridge_slave_1 entered promiscuous mode [ 216.251592][ T3639] bridge0: port 2(bridge_slave_1) entered blocking state [ 216.258663][ T3639] bridge0: port 2(bridge_slave_1) entered disabled state [ 216.267584][ T3639] device bridge_slave_1 entered promiscuous mode [ 216.278110][ T3638] bridge0: port 2(bridge_slave_1) entered blocking state [ 216.285483][ T3638] bridge0: port 2(bridge_slave_1) entered disabled state [ 216.293696][ T3638] device bridge_slave_1 entered promiscuous mode [ 216.302529][ T3641] bond0: (slave bond_slave_1): Enslaving as an active interface with an up link [ 216.373524][ T3639] bond0: (slave bond_slave_0): Enslaving as an active interface with an up link [ 216.392663][ T3641] team0: Port device team_slave_0 added [ 216.400519][ T3637] bond0: (slave bond_slave_0): Enslaving as an active interface with an up link [ 216.420187][ T3637] bond0: (slave bond_slave_1): Enslaving as an active interface with an up link [ 216.430711][ T3639] bond0: (slave bond_slave_1): Enslaving as an active interface with an up link [ 216.443436][ T3638] bond0: (slave bond_slave_0): Enslaving as an active interface with an up link [ 216.454112][ T3641] team0: Port device team_slave_1 added [ 216.489909][ T3638] bond0: (slave bond_slave_1): Enslaving as an active interface with an up link [ 216.508388][ T3636] bridge0: port 1(bridge_slave_0) entered blocking state [ 216.515610][ T3636] bridge0: port 1(bridge_slave_0) entered disabled state [ 216.523895][ T3636] device bridge_slave_0 entered promiscuous mode [ 216.542182][ T3639] team0: Port device team_slave_0 added [ 216.560605][ T3636] bridge0: port 2(bridge_slave_1) entered blocking state [ 216.571249][ T3636] bridge0: port 2(bridge_slave_1) entered disabled state [ 216.579259][ T3636] device bridge_slave_1 entered promiscuous mode [ 216.591785][ T3637] team0: Port device team_slave_0 added [ 216.599072][ T3639] team0: Port device team_slave_1 added [ 216.618836][ T3641] batman_adv: batadv0: Adding interface: batadv_slave_0 [ 216.625922][ T3641] batman_adv: batadv0: The MTU of interface batadv_slave_0 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1560 would solve the problem. [ 216.652769][ T3641] batman_adv: batadv0: Not using interface batadv_slave_0 (retrying later): interface not active [ 216.669711][ T3641] batman_adv: batadv0: Adding interface: batadv_slave_1 [ 216.676778][ T3641] batman_adv: batadv0: The MTU of interface batadv_slave_1 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1560 would solve the problem. [ 216.702827][ T3641] batman_adv: batadv0: Not using interface batadv_slave_1 (retrying later): interface not active [ 216.724491][ T3637] team0: Port device team_slave_1 added [ 216.741154][ T3638] team0: Port device team_slave_0 added [ 216.781185][ T3638] team0: Port device team_slave_1 added [ 216.799092][ T3636] bond0: (slave bond_slave_0): Enslaving as an active interface with an up link [ 216.817751][ T3639] batman_adv: batadv0: Adding interface: batadv_slave_0 [ 216.824966][ T3639] batman_adv: batadv0: The MTU of interface batadv_slave_0 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1560 would solve the problem. [ 216.851680][ T3639] batman_adv: batadv0: Not using interface batadv_slave_0 (retrying later): interface not active [ 216.887626][ T3636] bond0: (slave bond_slave_1): Enslaving as an active interface with an up link [ 216.897364][ T3637] batman_adv: batadv0: Adding interface: batadv_slave_0 [ 216.904877][ T3637] batman_adv: batadv0: The MTU of interface batadv_slave_0 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1560 would solve the problem. [ 216.931013][ T3637] batman_adv: batadv0: Not using interface batadv_slave_0 (retrying later): interface not active [ 216.943199][ T3639] batman_adv: batadv0: Adding interface: batadv_slave_1 [ 216.950165][ T3639] batman_adv: batadv0: The MTU of interface batadv_slave_1 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1560 would solve the problem. [ 216.976133][ T3639] batman_adv: batadv0: Not using interface batadv_slave_1 (retrying later): interface not active [ 216.996749][ T3638] batman_adv: batadv0: Adding interface: batadv_slave_0 [ 217.003955][ T3638] batman_adv: batadv0: The MTU of interface batadv_slave_0 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1560 would solve the problem. [ 217.029924][ T3638] batman_adv: batadv0: Not using interface batadv_slave_0 (retrying later): interface not active [ 217.049522][ T3637] batman_adv: batadv0: Adding interface: batadv_slave_1 [ 217.056658][ T3637] batman_adv: batadv0: The MTU of interface batadv_slave_1 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1560 would solve the problem. [ 217.083327][ T3637] batman_adv: batadv0: Not using interface batadv_slave_1 (retrying later): interface not active [ 217.101879][ T3641] device hsr_slave_0 entered promiscuous mode [ 217.109265][ T3641] device hsr_slave_1 entered promiscuous mode [ 217.117666][ T3638] batman_adv: batadv0: Adding interface: batadv_slave_1 [ 217.124835][ T3638] batman_adv: batadv0: The MTU of interface batadv_slave_1 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1560 would solve the problem. [ 217.150917][ T3638] batman_adv: batadv0: Not using interface batadv_slave_1 (retrying later): interface not active [ 217.200603][ T3636] team0: Port device team_slave_0 added [ 217.235694][ T3636] team0: Port device team_slave_1 added [ 217.261717][ T3639] device hsr_slave_0 entered promiscuous mode [ 217.268524][ T3639] device hsr_slave_1 entered promiscuous mode [ 217.273015][ T141] Bluetooth: hci0: command 0x0409 tx timeout [ 217.281378][ T3639] debugfs: Directory 'hsr0' with parent 'hsr' already present! [ 217.289442][ T3639] Cannot create hsr debugfs directory [ 217.297472][ T3637] device hsr_slave_0 entered promiscuous mode [ 217.307154][ T3637] device hsr_slave_1 entered promiscuous mode [ 217.313867][ T3637] debugfs: Directory 'hsr0' with parent 'hsr' already present! [ 217.321451][ T3637] Cannot create hsr debugfs directory [ 217.351682][ T141] Bluetooth: hci3: command 0x0409 tx timeout [ 217.358411][ T141] Bluetooth: hci4: command 0x0409 tx timeout [ 217.364950][ T141] Bluetooth: hci2: command 0x0409 tx timeout [ 217.395054][ T3638] device hsr_slave_0 entered promiscuous mode [ 217.402199][ T3638] device hsr_slave_1 entered promiscuous mode [ 217.408765][ T3638] debugfs: Directory 'hsr0' with parent 'hsr' already present! [ 217.416393][ T3638] Cannot create hsr debugfs directory [ 217.439368][ T141] Bluetooth: hci1: command 0x0409 tx timeout [ 217.441771][ T3654] Bluetooth: hci5: Opcode 0x c03 failed: -110 [ 217.472847][ T3636] batman_adv: batadv0: Adding interface: batadv_slave_0 [ 217.479828][ T3636] batman_adv: batadv0: The MTU of interface batadv_slave_0 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1560 would solve the problem. [ 217.512507][ T3636] batman_adv: batadv0: Not using interface batadv_slave_0 (retrying later): interface not active [ 217.586644][ T3636] batman_adv: batadv0: Adding interface: batadv_slave_1 [ 217.601551][ T3636] batman_adv: batadv0: The MTU of interface batadv_slave_1 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1560 would solve the problem. [ 217.651554][ T3636] batman_adv: batadv0: Not using interface batadv_slave_1 (retrying later): interface not active [ 217.846293][ T3636] device hsr_slave_0 entered promiscuous mode [ 217.853758][ T3636] device hsr_slave_1 entered promiscuous mode [ 217.871608][ T3636] debugfs: Directory 'hsr0' with parent 'hsr' already present! [ 217.879212][ T3636] Cannot create hsr debugfs directory [ 218.248863][ T3641] netdevsim netdevsim5 netdevsim0: renamed from eth0 [ 218.288803][ T3641] netdevsim netdevsim5 netdevsim1: renamed from eth1 [ 218.327016][ T3641] netdevsim netdevsim5 netdevsim2: renamed from eth2 [ 218.366708][ T3641] netdevsim netdevsim5 netdevsim3: renamed from eth3 [ 218.418489][ T3637] netdevsim netdevsim1 netdevsim0: renamed from eth0 [ 218.445562][ T3637] netdevsim netdevsim1 netdevsim1: renamed from eth1 [ 218.494207][ T3637] netdevsim netdevsim1 netdevsim2: renamed from eth2 [ 218.529507][ T3637] netdevsim netdevsim1 netdevsim3: renamed from eth3 [ 218.558972][ T3639] netdevsim netdevsim3 netdevsim0: renamed from eth0 [ 218.571207][ T3639] netdevsim netdevsim3 netdevsim1: renamed from eth1 [ 218.608977][ T3639] netdevsim netdevsim3 netdevsim2: renamed from eth2 [ 218.656017][ T3639] netdevsim netdevsim3 netdevsim3: renamed from eth3 [ 218.770780][ T3638] netdevsim netdevsim2 netdevsim0: renamed from eth0 [ 218.790367][ T3638] netdevsim netdevsim2 netdevsim1: renamed from eth1 [ 218.809868][ T3638] netdevsim netdevsim2 netdevsim2: renamed from eth2 [ 218.834067][ T3641] 8021q: adding VLAN 0 to HW filter on device bond0 [ 218.854315][ T3638] netdevsim netdevsim2 netdevsim3: renamed from eth3 [ 219.011757][ T3637] 8021q: adding VLAN 0 to HW filter on device bond0 [ 219.056589][ T3641] 8021q: adding VLAN 0 to HW filter on device team0 [ 219.072155][ T26] IPv6: ADDRCONF(NETDEV_CHANGE): veth1: link becomes ready [ 219.082604][ T26] IPv6: ADDRCONF(NETDEV_CHANGE): veth0: link becomes ready [ 219.099817][ T3637] 8021q: adding VLAN 0 to HW filter on device team0 [ 219.130858][ T141] IPv6: ADDRCONF(NETDEV_CHANGE): veth1: link becomes ready [ 219.141057][ T141] IPv6: ADDRCONF(NETDEV_CHANGE): veth0: link becomes ready [ 219.150601][ T141] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_bridge: link becomes ready [ 219.160278][ T141] IPv6: ADDRCONF(NETDEV_CHANGE): bridge_slave_0: link becomes ready [ 219.169561][ T141] bridge0: port 1(bridge_slave_0) entered blocking state [ 219.176983][ T141] bridge0: port 1(bridge_slave_0) entered forwarding state [ 219.186106][ T141] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_bridge: link becomes ready [ 219.195410][ T141] IPv6: ADDRCONF(NETDEV_CHANGE): bridge_slave_1: link becomes ready [ 219.204308][ T141] bridge0: port 2(bridge_slave_1) entered blocking state [ 219.211406][ T141] bridge0: port 2(bridge_slave_1) entered forwarding state [ 219.233965][ T3636] netdevsim netdevsim0 netdevsim0: renamed from eth0 [ 219.276401][ T141] IPv6: ADDRCONF(NETDEV_CHANGE): bridge0: link becomes ready [ 219.288251][ T141] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_bond: link becomes ready [ 219.300434][ T141] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_bridge: link becomes ready [ 219.309579][ T141] IPv6: ADDRCONF(NETDEV_CHANGE): bridge_slave_0: link becomes ready [ 219.319108][ T141] bridge0: port 1(bridge_slave_0) entered blocking state [ 219.326267][ T141] bridge0: port 1(bridge_slave_0) entered forwarding state [ 219.334609][ T141] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_bond: link becomes ready [ 219.344221][ T141] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_bridge: link becomes ready [ 219.356793][ T141] IPv6: ADDRCONF(NETDEV_CHANGE): bridge_slave_1: link becomes ready [ 219.365790][ T141] bridge0: port 2(bridge_slave_1) entered blocking state [ 219.372956][ T141] bridge0: port 2(bridge_slave_1) entered forwarding state [ 219.382297][ T141] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_team: link becomes ready [ 219.391358][ T141] IPv6: ADDRCONF(NETDEV_CHANGE): team_slave_0: link becomes ready [ 219.407638][ T3636] netdevsim netdevsim0 netdevsim1: renamed from eth1 [ 219.408423][ T26] Bluetooth: hci0: command 0x041b tx timeout [ 219.431696][ T3691] Bluetooth: hci2: command 0x041b tx timeout [ 219.438119][ T3691] Bluetooth: hci4: command 0x041b tx timeout [ 219.455541][ T3639] 8021q: adding VLAN 0 to HW filter on device bond0 [ 219.465223][ T3691] Bluetooth: hci3: command 0x041b tx timeout [ 219.476964][ T3659] IPv6: ADDRCONF(NETDEV_CHANGE): bridge0: link becomes ready [ 219.489786][ T3659] IPv6: ADDRCONF(NETDEV_CHANGE): team0: link becomes ready [ 219.498529][ T3659] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_team: link becomes ready [ 219.514303][ T3659] IPv6: ADDRCONF(NETDEV_CHANGE): team_slave_1: link becomes ready [ 219.527555][ T3659] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_bond: link becomes ready [ 219.539720][ T3659] Bluetooth: hci1: command 0x041b tx timeout [ 219.546344][ T3636] netdevsim netdevsim0 netdevsim2: renamed from eth2 [ 219.569319][ T3641] hsr0: Slave A (hsr_slave_0) is not up; please bring it up to get a fully working HSR network [ 219.580844][ T3641] hsr0: Slave B (hsr_slave_1) is not up; please bring it up to get a fully working HSR network [ 219.599779][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_hsr: link becomes ready [ 219.609007][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): hsr_slave_0: link becomes ready [ 219.619326][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_hsr: link becomes ready [ 219.628899][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): hsr_slave_1: link becomes ready [ 219.639720][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): hsr0: link becomes ready [ 219.648012][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_bond: link becomes ready [ 219.662276][ T3636] netdevsim netdevsim0 netdevsim3: renamed from eth3 [ 219.712928][ T26] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_team: link becomes ready [ 219.714032][ T27] kauditd_printk_skb: 1 callbacks suppressed [ 219.714045][ T27] audit: type=1400 audit(1664591057.687:95): avc: denied { sys_module } for pid=3641 comm="syz-executor.5" capability=16 scontext=root:sysadm_r:sysadm_t tcontext=root:sysadm_r:sysadm_t tclass=capability permissive=1 [ 219.732545][ T26] IPv6: ADDRCONF(NETDEV_CHANGE): team_slave_0: link becomes ready [ 219.778791][ T26] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_team: link becomes ready [ 219.789280][ T26] IPv6: ADDRCONF(NETDEV_CHANGE): team_slave_1: link becomes ready [ 219.807847][ T26] IPv6: ADDRCONF(NETDEV_CHANGE): veth1: link becomes ready [ 219.816091][ T26] IPv6: ADDRCONF(NETDEV_CHANGE): veth0: link becomes ready [ 219.830714][ T26] IPv6: ADDRCONF(NETDEV_CHANGE): team0: link becomes ready [ 219.873235][ T3659] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_hsr: link becomes ready [ 219.902292][ T3659] IPv6: ADDRCONF(NETDEV_CHANGE): hsr_slave_0: link becomes ready [ 219.912675][ T3639] 8021q: adding VLAN 0 to HW filter on device team0 [ 219.949688][ T3637] hsr0: Slave B (hsr_slave_1) is not up; please bring it up to get a fully working HSR network [ 219.965686][ T3637] IPv6: ADDRCONF(NETDEV_CHANGE): hsr0: link becomes ready [ 219.977432][ T26] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_hsr: link becomes ready [ 219.986933][ T26] IPv6: ADDRCONF(NETDEV_CHANGE): hsr_slave_1: link becomes ready [ 220.039995][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_bridge: link becomes ready [ 220.059896][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): bridge_slave_0: link becomes ready [ 220.080198][ T921] bridge0: port 1(bridge_slave_0) entered blocking state [ 220.087368][ T921] bridge0: port 1(bridge_slave_0) entered forwarding state [ 220.101073][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_bridge: link becomes ready [ 220.112640][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): bridge_slave_1: link becomes ready [ 220.121211][ T921] bridge0: port 2(bridge_slave_1) entered blocking state [ 220.128384][ T921] bridge0: port 2(bridge_slave_1) entered forwarding state [ 220.137070][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_bond: link becomes ready [ 220.145857][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan1: link becomes ready [ 220.154574][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan0: link becomes ready [ 220.167239][ T3638] 8021q: adding VLAN 0 to HW filter on device bond0 [ 220.204570][ T3641] 8021q: adding VLAN 0 to HW filter on device batadv0 [ 220.219081][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): bridge0: link becomes ready [ 220.227566][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_bond: link becomes ready [ 220.238187][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_team: link becomes ready [ 220.247725][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): team_slave_0: link becomes ready [ 220.256949][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_team: link becomes ready [ 220.266546][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): team_slave_1: link becomes ready [ 220.275671][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_hsr: link becomes ready [ 220.284856][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): hsr_slave_0: link becomes ready [ 220.319532][ T3638] 8021q: adding VLAN 0 to HW filter on device team0 [ 220.341106][ T3639] hsr0: Slave B (hsr_slave_1) is not up; please bring it up to get a fully working HSR network [ 220.355585][ T3639] IPv6: ADDRCONF(NETDEV_CHANGE): hsr0: link becomes ready [ 220.364357][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): team0: link becomes ready [ 220.372675][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): veth1: link becomes ready [ 220.380342][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): veth0: link becomes ready [ 220.388608][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_hsr: link becomes ready [ 220.397883][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): hsr_slave_1: link becomes ready [ 220.427477][ T3636] 8021q: adding VLAN 0 to HW filter on device bond0 [ 220.462094][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_bridge: link becomes ready [ 220.470904][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): bridge_slave_0: link becomes ready [ 220.492809][ T3688] bridge0: port 1(bridge_slave_0) entered blocking state [ 220.499930][ T3688] bridge0: port 1(bridge_slave_0) entered forwarding state [ 220.508021][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_bridge: link becomes ready [ 220.516959][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): bridge_slave_1: link becomes ready [ 220.525664][ T3688] bridge0: port 2(bridge_slave_1) entered blocking state [ 220.532807][ T3688] bridge0: port 2(bridge_slave_1) entered forwarding state [ 220.541665][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_bond: link becomes ready [ 220.550620][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_bond: link becomes ready [ 220.560070][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): bridge0: link becomes ready [ 220.585368][ T3636] 8021q: adding VLAN 0 to HW filter on device team0 [ 220.607013][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan1: link becomes ready [ 220.622146][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan0: link becomes ready [ 220.629796][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth1: link becomes ready [ 220.652295][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth0: link becomes ready [ 220.660245][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_team: link becomes ready [ 220.679064][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): team_slave_0: link becomes ready [ 220.700945][ T3637] 8021q: adding VLAN 0 to HW filter on device batadv0 [ 220.721869][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): team0: link becomes ready [ 220.729676][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_team: link becomes ready [ 220.739069][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): team_slave_1: link becomes ready [ 220.747624][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_hsr: link becomes ready [ 220.756927][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): hsr_slave_0: link becomes ready [ 220.789843][ T3638] hsr0: Slave B (hsr_slave_1) is not up; please bring it up to get a fully working HSR network [ 220.802840][ T3638] IPv6: ADDRCONF(NETDEV_CHANGE): hsr0: link becomes ready [ 220.810579][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_bridge: link becomes ready [ 220.819700][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): bridge_slave_0: link becomes ready [ 220.828572][ T3688] bridge0: port 1(bridge_slave_0) entered blocking state [ 220.835689][ T3688] bridge0: port 1(bridge_slave_0) entered forwarding state [ 220.843571][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_bridge: link becomes ready [ 220.852761][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): bridge_slave_1: link becomes ready [ 220.861103][ T3688] bridge0: port 2(bridge_slave_1) entered blocking state [ 220.868219][ T3688] bridge0: port 2(bridge_slave_1) entered forwarding state [ 220.876719][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan1: link becomes ready [ 220.884714][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan0: link becomes ready [ 220.892265][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_hsr: link becomes ready [ 220.900594][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): hsr_slave_1: link becomes ready [ 220.909307][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_virt_wifi: link becomes ready [ 220.918824][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_virt_wifi: link becomes ready [ 220.931071][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): bridge0: link becomes ready [ 220.939151][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_virt_wifi: link becomes ready [ 220.948049][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_virt_wifi: link becomes ready [ 220.981343][ T3639] 8021q: adding VLAN 0 to HW filter on device batadv0 [ 221.003730][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_bond: link becomes ready [ 221.013566][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_bond: link becomes ready [ 221.023968][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_team: link becomes ready [ 221.044381][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): team_slave_0: link becomes ready [ 221.093764][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): team0: link becomes ready [ 221.101967][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_vlan: link becomes ready [ 221.122227][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_vlan: link becomes ready [ 221.131032][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_team: link becomes ready [ 221.144238][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): team_slave_1: link becomes ready [ 221.153666][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_hsr: link becomes ready [ 221.162322][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): hsr_slave_0: link becomes ready [ 221.170830][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_hsr: link becomes ready [ 221.179941][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): hsr_slave_1: link becomes ready [ 221.188548][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_virt_wifi: link becomes ready [ 221.197730][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_virt_wifi: link becomes ready [ 221.208226][ T3637] device veth0_vlan entered promiscuous mode [ 221.225972][ T3641] device veth0_vlan entered promiscuous mode [ 221.246715][ T3641] device veth1_vlan entered promiscuous mode [ 221.264562][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): vlan0: link becomes ready [ 221.273762][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): vlan1: link becomes ready [ 221.282488][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_vlan: link becomes ready [ 221.291161][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_vlan: link becomes ready [ 221.300433][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): macvlan0: link becomes ready [ 221.316402][ T3637] device veth1_vlan entered promiscuous mode [ 221.328943][ T3636] IPv6: ADDRCONF(NETDEV_CHANGE): hsr0: link becomes ready [ 221.350702][ T3639] device veth0_vlan entered promiscuous mode [ 221.358176][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): macvlan0: link becomes ready [ 221.367208][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): vlan0: link becomes ready [ 221.376247][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): vlan1: link becomes ready [ 221.386865][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): macvlan1: link becomes ready [ 221.395563][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_vlan: link becomes ready [ 221.404332][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_vlan: link becomes ready [ 221.432353][ T3688] Bluetooth: hci0: command 0x040f tx timeout [ 221.450197][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): macvlan1: link becomes ready [ 221.459614][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): vlan0: link becomes ready [ 221.468088][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): vlan1: link becomes ready [ 221.485589][ T3639] device veth1_vlan entered promiscuous mode [ 221.508433][ T3641] device veth0_macvtap entered promiscuous mode [ 221.515464][ T3687] Bluetooth: hci3: command 0x040f tx timeout [ 221.522849][ T3687] Bluetooth: hci4: command 0x040f tx timeout [ 221.529026][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): macvlan0: link becomes ready [ 221.537699][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_macvtap: link becomes ready [ 221.546690][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_macvtap: link becomes ready [ 221.555610][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_macvtap: link becomes ready [ 221.564714][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_macvtap: link becomes ready [ 221.573669][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan1: link becomes ready [ 221.581083][ T3688] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan0: link becomes ready [ 221.594817][ T3688] Bluetooth: hci2: command 0x040f tx timeout [ 221.603902][ T3641] device veth1_macvtap entered promiscuous mode [ 221.607459][ T3690] Bluetooth: hci1: command 0x040f tx timeout [ 221.617907][ T3637] device veth0_macvtap entered promiscuous mode [ 221.634324][ T3638] 8021q: adding VLAN 0 to HW filter on device batadv0 [ 221.652969][ T3687] IPv6: ADDRCONF(NETDEV_CHANGE): macvlan1: link becomes ready [ 221.661264][ T3687] IPv6: ADDRCONF(NETDEV_CHANGE): macvtap0: link becomes ready [ 221.671249][ T3687] IPv6: ADDRCONF(NETDEV_CHANGE): macvtap0: link becomes ready [ 221.680402][ T3687] IPv6: ADDRCONF(NETDEV_CHANGE): macsec0: link becomes ready [ 221.706581][ T3641] batman_adv: batadv0: Interface activated: batadv_slave_0 [ 221.744781][ T3637] device veth1_macvtap entered promiscuous mode [ 221.752566][ T141] IPv6: ADDRCONF(NETDEV_CHANGE): macsec0: link becomes ready [ 221.760612][ T141] IPv6: ADDRCONF(NETDEV_CHANGE): batadv_slave_0: link becomes ready [ 221.773827][ T141] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_batadv: link becomes ready [ 221.784818][ T141] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan1: link becomes ready [ 221.793790][ T141] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan0: link becomes ready [ 221.801196][ T141] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_macvtap: link becomes ready [ 221.813842][ T141] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_macvtap: link becomes ready [ 221.840658][ T3641] batman_adv: batadv0: Interface activated: batadv_slave_1 [ 221.855607][ T3636] 8021q: adding VLAN 0 to HW filter on device batadv0 [ 221.867213][ T3639] device veth0_macvtap entered promiscuous mode [ 221.882795][ T3687] IPv6: ADDRCONF(NETDEV_CHANGE): macvtap0: link becomes ready [ 221.890825][ T3687] IPv6: ADDRCONF(NETDEV_CHANGE): batadv_slave_1: link becomes ready [ 221.900671][ T3687] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_batadv: link becomes ready [ 221.909561][ T3687] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_virt_wifi: link becomes ready [ 221.918473][ T3687] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_virt_wifi: link becomes ready [ 221.931038][ T3641] netdevsim netdevsim5 netdevsim0: set [1, 0] type 2 family 0 port 6081 - 0 [ 221.941126][ T3641] netdevsim netdevsim5 netdevsim1: set [1, 0] type 2 family 0 port 6081 - 0 [ 221.950572][ T3641] netdevsim netdevsim5 netdevsim2: set [1, 0] type 2 family 0 port 6081 - 0 [ 221.960940][ T3641] netdevsim netdevsim5 netdevsim3: set [1, 0] type 2 family 0 port 6081 - 0 [ 222.001270][ T3639] device veth1_macvtap entered promiscuous mode [ 222.020014][ T3637] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_0 [ 222.031175][ T3637] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 222.043390][ T3637] batman_adv: batadv0: Interface activated: batadv_slave_0 [ 222.054329][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): macsec0: link becomes ready [ 222.064099][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): batadv_slave_0: link becomes ready [ 222.073795][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_batadv: link becomes ready [ 222.116756][ T27] audit: type=1400 audit(1664591060.087:96): avc: denied { mounton } for pid=3641 comm="syz-executor.5" path="/dev/binderfs" dev="devtmpfs" ino=2317 scontext=root:sysadm_r:sysadm_t tcontext=root:object_r:device_t tclass=dir permissive=1 [ 222.120227][ T3637] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3f) already exists on: batadv_slave_1 [ 222.174344][ T27] audit: type=1400 audit(1664591060.117:97): avc: denied { mount } for pid=3641 comm="syz-executor.5" name="/" dev="binder" ino=1 scontext=root:sysadm_r:sysadm_t tcontext=system_u:object_r:unlabeled_t tclass=filesystem permissive=1 [ 222.178262][ T3637] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 222.210341][ T3637] batman_adv: batadv0: Interface activated: batadv_slave_1 [ 222.218692][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_vlan: link becomes ready [ 222.228166][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_vlan: link becomes ready [ 222.237564][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): batadv_slave_1: link becomes ready [ 222.246339][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_batadv: link becomes ready [ 222.255744][ T3638] device veth0_vlan entered promiscuous mode [ 222.266377][ T3639] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_0 [ 222.277028][ T3639] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 222.287909][ T3639] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_0 [ 222.298936][ T3639] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 222.310927][ T3639] batman_adv: batadv0: Interface activated: batadv_slave_0 [ 222.326295][ T3637] netdevsim netdevsim1 netdevsim0: set [1, 0] type 2 family 0 port 6081 - 0 [ 222.335209][ T3637] netdevsim netdevsim1 netdevsim1: set [1, 0] type 2 family 0 port 6081 - 0 [ 222.344301][ T3637] netdevsim netdevsim1 netdevsim2: set [1, 0] type 2 family 0 port 6081 - 0 [ 222.353265][ T3637] netdevsim netdevsim1 netdevsim3: set [1, 0] type 2 family 0 port 6081 - 0 [ 222.363454][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): vlan0: link becomes ready [ 222.371440][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): vlan1: link becomes ready [ 222.386806][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): batadv_slave_0: link becomes ready [ 222.396338][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_batadv: link becomes ready [ 222.401772][ T27] audit: type=1400 audit(1664591060.357:98): avc: denied { read write } for pid=3641 comm="syz-executor.5" name="loop5" dev="devtmpfs" ino=649 scontext=root:sysadm_r:sysadm_t tcontext=system_u:object_r:fixed_disk_device_t tclass=blk_file permissive=1 [ 222.405797][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_virt_wifi: link becomes ready [ 222.429465][ T27] audit: type=1400 audit(1664591060.357:99): avc: denied { open } for pid=3641 comm="syz-executor.5" path="/dev/loop5" dev="devtmpfs" ino=649 scontext=root:sysadm_r:sysadm_t tcontext=system_u:object_r:fixed_disk_device_t tclass=blk_file permissive=1 [ 222.478518][ T921] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_virt_wifi: link becomes ready [ 222.498351][ T3652] Bluetooth: hci5: unexpected cc 0x0c03 length: 249 > 1 [ 222.507987][ T3652] Bluetooth: hci5: unexpected cc 0x1003 length: 249 > 9 [ 222.516298][ T3652] Bluetooth: hci5: unexpected cc 0x1001 length: 249 > 9 [ 222.530774][ T3639] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3f) already exists on: batadv_slave_1 [ 222.531813][ T27] audit: type=1400 audit(1664591060.357:100): avc: denied { ioctl } for pid=3641 comm="syz-executor.5" path="/dev/loop5" dev="devtmpfs" ino=649 ioctlcmd=0x4c01 scontext=root:sysadm_r:sysadm_t tcontext=system_u:object_r:fixed_disk_device_t tclass=blk_file permissive=1 [ 222.557873][ T3639] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! 02:24:20 executing program 5: syz_clone(0x6506c000, 0x0, 0x0, &(0x7f0000006f80), &(0x7f0000006fc0), 0x0) openat$cgroup_ro(0xffffffffffffffff, &(0x7f00000097c0)='pids.events\x00', 0x0, 0x0) openat$cgroup(0xffffffffffffffff, 0x0, 0x200002, 0x0) openat$bsg(0xffffffffffffff9c, 0x0, 0x290000, 0x0) openat$null(0xffffffffffffff9c, &(0x7f0000009840), 0x2000, 0x0) [ 222.569164][ T27] audit: type=1400 audit(1664591060.447:101): avc: denied { create } for pid=3727 comm="syz-executor.5" scontext=root:sysadm_r:sysadm_t tcontext=root:sysadm_r:sysadm_t tclass=rawip_socket permissive=1 [ 222.600514][ T27] audit: type=1400 audit(1664591060.467:102): avc: denied { create } for pid=3727 comm="syz-executor.5" scontext=root:sysadm_r:sysadm_t tcontext=root:sysadm_r:sysadm_t tclass=tipc_socket permissive=1 [ 222.620523][ T3652] Bluetooth: hci5: unexpected cc 0x0c23 length: 249 > 4 [ 222.630740][ T27] audit: type=1400 audit(1664591060.467:103): avc: denied { create } for pid=3727 comm="syz-executor.5" scontext=root:sysadm_r:sysadm_t tcontext=root:sysadm_r:sysadm_t tclass=netlink_rdma_socket permissive=1 [ 222.651181][ T3639] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3f) already exists on: batadv_slave_1 [ 222.651203][ T3639] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 222.673345][ T3652] Bluetooth: hci5: unexpected cc 0x0c25 length: 249 > 3 [ 222.680877][ T3652] Bluetooth: hci5: unexpected cc 0x0c38 length: 249 > 2 [ 222.702421][ T3639] batman_adv: batadv0: Interface activated: batadv_slave_1 [ 222.717441][ T3638] device veth1_vlan entered promiscuous mode [ 222.729818][ T141] IPv6: ADDRCONF(NETDEV_CHANGE): macvlan0: link becomes ready [ 222.738456][ T141] IPv6: ADDRCONF(NETDEV_CHANGE): batadv_slave_1: link becomes ready [ 222.747432][ T141] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_batadv: link becomes ready [ 222.758402][ T3639] netdevsim netdevsim3 netdevsim0: set [1, 0] type 2 family 0 port 6081 - 0 [ 222.767346][ T3639] netdevsim netdevsim3 netdevsim1: set [1, 0] type 2 family 0 port 6081 - 0 [ 222.776266][ T3639] netdevsim netdevsim3 netdevsim2: set [1, 0] type 2 family 0 port 6081 - 0 [ 222.785399][ T3639] netdevsim netdevsim3 netdevsim3: set [1, 0] type 2 family 0 port 6081 - 0 [ 222.923308][ T3734] IPv6: ADDRCONF(NETDEV_CHANGE): macvlan1: link becomes ready [ 222.932216][ T3734] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_macvtap: link becomes ready [ 222.941056][ T3734] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_macvtap: link becomes ready [ 222.949966][ T3734] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_vlan: link becomes ready [ 222.959293][ T3734] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_vlan: link becomes ready 02:24:20 executing program 1: bpf$MAP_CREATE(0x0, &(0x7f0000000740)=@base={0x0, 0x0, 0x0, 0x0, 0x0, 0x1, 0x0, '\x00', 0x0, 0xffffffffffffffff, 0x1}, 0x48) [ 222.971275][ T3638] device veth0_macvtap entered promiscuous mode [ 222.989548][ T27] audit: type=1400 audit(1664591060.957:104): avc: denied { getopt } for pid=3736 comm="syz-executor.1" lport=5 scontext=root:sysadm_r:sysadm_t tcontext=root:sysadm_r:sysadm_t tclass=rawip_socket permissive=1 [ 223.038079][ T3636] device veth0_vlan entered promiscuous mode [ 223.048180][ T3659] IPv6: ADDRCONF(NETDEV_CHANGE): macvtap0: link becomes ready [ 223.057725][ T3659] IPv6: ADDRCONF(NETDEV_CHANGE): vlan0: link becomes ready [ 223.072206][ T3659] IPv6: ADDRCONF(NETDEV_CHANGE): vlan1: link becomes ready 02:24:21 executing program 5: bpf$BPF_LINK_CREATE_XDP(0x23, 0x0, 0x0) 02:24:21 executing program 1: socketpair(0x1d, 0x0, 0x9, &(0x7f0000000080)) [ 223.082782][ T3638] device veth1_macvtap entered promiscuous mode [ 223.122442][ T3636] device veth1_vlan entered promiscuous mode [ 223.175094][ T141] IPv6: ADDRCONF(NETDEV_CHANGE): macsec0: link becomes ready [ 223.199061][ T141] IPv6: ADDRCONF(NETDEV_CHANGE): macvlan0: link becomes ready 02:24:21 executing program 5: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000240)={0x6, 0x3, &(0x7f0000000040)=@framed, &(0x7f00000000c0)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 02:24:21 executing program 1: setrlimit(0x0, &(0x7f0000000040)={0xfffffffffffffffd}) [ 223.345399][ T3659] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_macvtap: link becomes ready [ 223.360305][ T3659] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_macvtap: link becomes ready [ 223.411301][ T3638] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_0 [ 223.442860][ T3638] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 223.463896][ T3638] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_0 [ 223.479909][ T3638] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 223.491254][ T3638] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_0 [ 223.508420][ T3638] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 223.521876][ T6] Bluetooth: hci0: command 0x0419 tx timeout [ 223.528566][ T3638] batman_adv: batadv0: Interface activated: batadv_slave_0 [ 223.555525][ T141] IPv6: ADDRCONF(NETDEV_CHANGE): batadv_slave_0: link becomes ready [ 223.567796][ T141] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_batadv: link becomes ready [ 223.578309][ T3636] device veth0_macvtap entered promiscuous mode [ 223.593297][ T3638] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3f) already exists on: batadv_slave_1 [ 223.604063][ T921] Bluetooth: hci4: command 0x0419 tx timeout [ 223.605017][ T3638] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 223.610207][ T921] Bluetooth: hci3: command 0x0419 tx timeout [ 223.627367][ T3638] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3f) already exists on: batadv_slave_1 [ 223.638098][ T3638] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 223.648291][ T3638] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3f) already exists on: batadv_slave_1 [ 223.659107][ T3638] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 223.672229][ T6] Bluetooth: hci1: command 0x0419 tx timeout [ 223.677712][ T3638] batman_adv: batadv0: Interface activated: batadv_slave_1 [ 223.678357][ T6] Bluetooth: hci2: command 0x0419 tx timeout [ 223.697861][ T3636] device veth1_macvtap entered promiscuous mode [ 223.711176][ T26] IPv6: ADDRCONF(NETDEV_CHANGE): macvtap0: link becomes ready [ 223.719683][ T26] IPv6: ADDRCONF(NETDEV_CHANGE): macsec0: link becomes ready [ 223.727923][ T26] IPv6: ADDRCONF(NETDEV_CHANGE): batadv_slave_1: link becomes ready [ 223.736643][ T26] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_batadv: link becomes ready [ 223.761903][ T3638] netdevsim netdevsim2 netdevsim0: set [1, 0] type 2 family 0 port 6081 - 0 [ 223.770652][ T3638] netdevsim netdevsim2 netdevsim1: set [1, 0] type 2 family 0 port 6081 - 0 [ 223.780072][ T3638] netdevsim netdevsim2 netdevsim2: set [1, 0] type 2 family 0 port 6081 - 0 [ 223.789028][ T3638] netdevsim netdevsim2 netdevsim3: set [1, 0] type 2 family 0 port 6081 - 0 [ 223.816884][ T3636] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_0 [ 223.828128][ T3636] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 223.838658][ T3636] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_0 [ 223.849358][ T3636] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 223.860100][ T3636] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_0 [ 223.870879][ T3636] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 223.884250][ T3636] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_0 [ 223.895045][ T3636] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 223.906717][ T3636] batman_adv: batadv0: Interface activated: batadv_slave_0 [ 223.936538][ T14] IPv6: ADDRCONF(NETDEV_CHANGE): batadv_slave_0: link becomes ready [ 223.945790][ T14] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_batadv: link becomes ready [ 223.968827][ T3636] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3f) already exists on: batadv_slave_1 [ 223.979496][ T3636] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 223.990129][ T3636] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3f) already exists on: batadv_slave_1 [ 224.001643][ T3636] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 224.011487][ T3636] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3f) already exists on: batadv_slave_1 [ 224.022272][ T3636] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 224.032965][ T3636] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3f) already exists on: batadv_slave_1 [ 224.043786][ T3636] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 224.055643][ T3636] batman_adv: batadv0: Interface activated: batadv_slave_1 [ 224.082671][ T14] IPv6: ADDRCONF(NETDEV_CHANGE): batadv_slave_1: link becomes ready [ 224.091243][ T14] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_batadv: link becomes ready [ 224.107306][ T3636] netdevsim netdevsim0 netdevsim0: set [1, 0] type 2 family 0 port 6081 - 0 [ 224.118501][ T3636] netdevsim netdevsim0 netdevsim1: set [1, 0] type 2 family 0 port 6081 - 0 [ 224.135116][ T3636] netdevsim netdevsim0 netdevsim2: set [1, 0] type 2 family 0 port 6081 - 0 [ 224.144270][ T3636] netdevsim netdevsim0 netdevsim3: set [1, 0] type 2 family 0 port 6081 - 0 [ 224.167704][ T3721] chnl_net:caif_netlink_parms(): no params data found 02:24:22 executing program 0: openat$bsg(0xffffffffffffff9c, &(0x7f0000000000), 0x4000, 0x0) 02:24:22 executing program 3: r0 = socket$nl_audit(0x10, 0x3, 0x9) sendmsg$AUDIT_SET_FEATURE(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)={0x20}, 0x20}}, 0x0) 02:24:22 executing program 1: r0 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000280)=ANY=[@ANYBLOB="4000000010001fff000000000049000000000000", @ANYRES32=0x0, @ANYBLOB="81ffffff00000000180012800e0001007769726567756172640000000400028008000a00", @ANYBLOB='TQ'], 0x40}}, 0x0) 02:24:22 executing program 5: bpf$MAP_CREATE(0x0, &(0x7f0000003d40)=@base={0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0, '\x00', 0x0, 0xffffffffffffffff, 0x0, 0x0, 0x2}, 0x48) 02:24:22 executing program 2: clock_gettime(0x3fd7126af1eb724c, 0x0) [ 224.382442][ T3721] bridge0: port 1(bridge_slave_0) entered blocking state [ 224.389725][ T3721] bridge0: port 1(bridge_slave_0) entered disabled state [ 224.414354][ T3721] device bridge_slave_0 entered promiscuous mode [ 224.437438][ T3721] bridge0: port 2(bridge_slave_1) entered blocking state [ 224.467254][ T3721] bridge0: port 2(bridge_slave_1) entered disabled state [ 224.499368][ T3721] device bridge_slave_1 entered promiscuous mode [ 224.577984][ T3766] device wireguard0 entered promiscuous mode [ 224.683375][ T3721] bond0: (slave bond_slave_0): Enslaving as an active interface with an up link [ 224.714613][ T3721] bond0: (slave bond_slave_1): Enslaving as an active interface with an up link [ 224.724684][ T6] Bluetooth: hci5: command 0x0409 tx timeout [ 224.831177][ T3721] team0: Port device team_slave_0 added [ 224.847330][ T3721] team0: Port device team_slave_1 added [ 224.919573][ T3721] batman_adv: batadv0: Adding interface: batadv_slave_0 [ 224.929349][ T3721] batman_adv: batadv0: The MTU of interface batadv_slave_0 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1560 would solve the problem. [ 224.967404][ T3721] batman_adv: batadv0: Not using interface batadv_slave_0 (retrying later): interface not active [ 224.992580][ T3721] batman_adv: batadv0: Adding interface: batadv_slave_1 [ 224.999555][ T3721] batman_adv: batadv0: The MTU of interface batadv_slave_1 is too small (1500) to handle the transport of batman-adv packets. Packets going over this interface will be fragmented on layer2 which could impact the performance. Setting the MTU to 1560 would solve the problem. [ 225.033520][ T3721] batman_adv: batadv0: Not using interface batadv_slave_1 (retrying later): interface not active [ 225.110694][ T3721] device hsr_slave_0 entered promiscuous mode [ 225.125127][ T3721] device hsr_slave_1 entered promiscuous mode [ 225.136197][ T3721] debugfs: Directory 'hsr0' with parent 'hsr' already present! [ 225.148275][ T3721] Cannot create hsr debugfs directory [ 225.418367][ T3721] netdevsim netdevsim4 netdevsim0: renamed from eth0 [ 225.429692][ T3721] netdevsim netdevsim4 netdevsim1: renamed from eth1 [ 225.449257][ T3721] netdevsim netdevsim4 netdevsim2: renamed from eth2 [ 225.467853][ T3721] netdevsim netdevsim4 netdevsim3: renamed from eth3 [ 225.622255][ T3721] 8021q: adding VLAN 0 to HW filter on device bond0 [ 225.638379][ T22] IPv6: ADDRCONF(NETDEV_CHANGE): veth1: link becomes ready [ 225.647244][ T22] IPv6: ADDRCONF(NETDEV_CHANGE): veth0: link becomes ready [ 225.661128][ T3721] 8021q: adding VLAN 0 to HW filter on device team0 [ 225.673958][ T22] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_bridge: link becomes ready [ 225.683364][ T22] IPv6: ADDRCONF(NETDEV_CHANGE): bridge_slave_0: link becomes ready [ 225.692370][ T22] bridge0: port 1(bridge_slave_0) entered blocking state [ 225.699467][ T22] bridge0: port 1(bridge_slave_0) entered forwarding state [ 225.717883][ T22] IPv6: ADDRCONF(NETDEV_CHANGE): bridge0: link becomes ready [ 225.726159][ T22] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_bridge: link becomes ready [ 225.736376][ T22] IPv6: ADDRCONF(NETDEV_CHANGE): bridge_slave_1: link becomes ready [ 225.745281][ T22] bridge0: port 2(bridge_slave_1) entered blocking state [ 225.752431][ T22] bridge0: port 2(bridge_slave_1) entered forwarding state [ 225.761338][ T22] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_bond: link becomes ready [ 225.784097][ T3691] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_bond: link becomes ready [ 225.793346][ T3691] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_team: link becomes ready [ 225.803089][ T3691] IPv6: ADDRCONF(NETDEV_CHANGE): team_slave_0: link becomes ready [ 225.826050][ T3659] IPv6: ADDRCONF(NETDEV_CHANGE): team0: link becomes ready [ 225.836524][ T3659] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_team: link becomes ready [ 225.845850][ T3659] IPv6: ADDRCONF(NETDEV_CHANGE): team_slave_1: link becomes ready [ 225.862326][ T3659] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_hsr: link becomes ready [ 225.870967][ T3659] IPv6: ADDRCONF(NETDEV_CHANGE): hsr_slave_0: link becomes ready [ 225.880267][ T3659] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_hsr: link becomes ready [ 225.889164][ T3659] IPv6: ADDRCONF(NETDEV_CHANGE): hsr_slave_1: link becomes ready [ 225.901440][ T3721] IPv6: ADDRCONF(NETDEV_CHANGE): hsr0: link becomes ready [ 226.092445][ T3327] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan1: link becomes ready [ 226.099913][ T3327] IPv6: ADDRCONF(NETDEV_CHANGE): vxcan0: link becomes ready [ 226.118082][ T3721] 8021q: adding VLAN 0 to HW filter on device batadv0 [ 226.373006][ T26] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_virt_wifi: link becomes ready [ 226.381843][ T26] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_virt_wifi: link becomes ready [ 226.406888][ T26] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_vlan: link becomes ready [ 226.415243][ T26] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_vlan: link becomes ready [ 226.424717][ T3691] IPv6: ADDRCONF(NETDEV_CHANGE): vlan0: link becomes ready [ 226.433009][ T3691] IPv6: ADDRCONF(NETDEV_CHANGE): vlan1: link becomes ready [ 226.442156][ T3721] device veth0_vlan entered promiscuous mode [ 226.454989][ T3721] device veth1_vlan entered promiscuous mode [ 226.478821][ T6] IPv6: ADDRCONF(NETDEV_CHANGE): macvlan0: link becomes ready [ 226.488880][ T6] IPv6: ADDRCONF(NETDEV_CHANGE): macvlan1: link becomes ready [ 226.497225][ T6] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_macvtap: link becomes ready [ 226.506223][ T6] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_macvtap: link becomes ready [ 226.518163][ T3721] device veth0_macvtap entered promiscuous mode [ 226.529936][ T3721] device veth1_macvtap entered promiscuous mode [ 226.546321][ T3721] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_0 [ 226.558421][ T3721] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 226.568806][ T3721] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_0 [ 226.581911][ T3721] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 226.592144][ T3721] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_0 [ 226.602796][ T3721] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 226.616693][ T3721] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_0 [ 226.627428][ T3721] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 226.637809][ T3721] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3e) already exists on: batadv_slave_0 [ 226.649718][ T3721] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 226.662367][ T3721] batman_adv: batadv0: Interface activated: batadv_slave_0 [ 226.671266][ T3659] IPv6: ADDRCONF(NETDEV_CHANGE): macvtap0: link becomes ready [ 226.679521][ T3659] IPv6: ADDRCONF(NETDEV_CHANGE): macsec0: link becomes ready [ 226.687834][ T3659] IPv6: ADDRCONF(NETDEV_CHANGE): batadv_slave_0: link becomes ready [ 226.696973][ T3659] IPv6: ADDRCONF(NETDEV_CHANGE): veth0_to_batadv: link becomes ready [ 226.713862][ T3721] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3f) already exists on: batadv_slave_1 [ 226.724395][ T3721] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 226.737643][ T3721] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3f) already exists on: batadv_slave_1 [ 226.748290][ T3721] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 226.758516][ T3721] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3f) already exists on: batadv_slave_1 [ 226.769029][ T3721] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 226.779055][ T3721] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3f) already exists on: batadv_slave_1 [ 226.790374][ T3721] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 226.800435][ T3687] Bluetooth: hci5: command 0x041b tx timeout [ 226.807146][ T3721] batman_adv: The newly added mac address (aa:aa:aa:aa:aa:3f) already exists on: batadv_slave_1 [ 226.817800][ T3721] batman_adv: It is strongly recommended to keep mac addresses unique to avoid problems! [ 226.828864][ T3721] batman_adv: batadv0: Interface activated: batadv_slave_1 [ 226.837965][ T3687] IPv6: ADDRCONF(NETDEV_CHANGE): batadv_slave_1: link becomes ready [ 226.846863][ T3687] IPv6: ADDRCONF(NETDEV_CHANGE): veth1_to_batadv: link becomes ready [ 226.861133][ T3721] netdevsim netdevsim4 netdevsim0: set [1, 0] type 2 family 0 port 6081 - 0 [ 226.870247][ T3721] netdevsim netdevsim4 netdevsim1: set [1, 0] type 2 family 0 port 6081 - 0 [ 226.879477][ T3721] netdevsim netdevsim4 netdevsim2: set [1, 0] type 2 family 0 port 6081 - 0 [ 226.888423][ T3721] netdevsim netdevsim4 netdevsim3: set [1, 0] type 2 family 0 port 6081 - 0 02:24:24 executing program 2: add_key$fscrypt_v1(&(0x7f0000000040), &(0x7f0000000080)={'fscrypt:', @auto=[0x63, 0x35, 0x31, 0x64, 0x65, 0x39, 0x66, 0x38]}, 0x0, 0x0, 0xfffffffffffffffa) 02:24:24 executing program 3: r0 = socket$inet_udp(0x2, 0x2, 0x0) ioctl$sock_ipv4_tunnel_SIOCADDTUNNEL(r0, 0x89f1, &(0x7f00000011c0)={'gre0\x00', &(0x7f0000001180)={'sit0\x00', 0x0, 0x0, 0x0, 0x0, 0x0, {{0x5, 0x4, 0x0, 0x0, 0x14, 0x0, 0x0, 0x0, 0x0, 0x0, @dev, @private}}}}) 02:24:24 executing program 5: r0 = openat$binder_debug(0xffffffffffffff9c, &(0x7f0000000280)='/sys/kernel/debug/binder/stats\x00', 0x0, 0x0) recvfrom$packet(r0, 0x0, 0x0, 0x0, 0x0, 0x0) 02:24:24 executing program 4: socketpair$unix(0x1, 0x1, 0x0, &(0x7f0000000000)={0xffffffffffffffff, 0xffffffffffffffff}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(r0, 0xd000943d, 0x0) 02:24:24 executing program 1: bpf$BPF_LINK_CREATE_XDP(0x8, 0x0, 0x0) 02:24:24 executing program 0: bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000340)={0x6, 0xc, &(0x7f0000000180)=@raw=[@alu, @func, @map_val, @map_idx, @cb_func, @map_fd, @map_val], &(0x7f0000000200)='syzkaller\x00', 0x0, 0x6f, &(0x7f0000000240)=""/111, 0x0, 0x0, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) 02:24:25 executing program 2: r0 = gettid() prlimit64(r0, 0x4, &(0x7f0000000000)={0x0, 0x6}, 0x0) [ 226.976006][ T27] kauditd_printk_skb: 11 callbacks suppressed [ 226.976022][ T27] audit: type=1400 audit(1664591064.947:116): avc: denied { write } for pid=3784 comm="syz-executor.4" scontext=root:sysadm_r:sysadm_t tcontext=root:sysadm_r:sysadm_t tclass=rawip_socket permissive=1 02:24:25 executing program 1: getpriority(0x1, 0x0) ptrace$setregs(0xf, 0x0, 0x664, 0x0) ptrace$setregs(0xf, 0xffffffffffffffff, 0x2, &(0x7f00000000c0)="1c8cb7a264fe76cdcf9ea4726c57281e50f2f0f5f027999c2a43873b9ca50fc4f72425e28c2c2ab1f8612332c5569c86696b7f3640692a9f968a23a9128688e5823b0eaab448050d1b941b1c791b1cc5fd7250c3f67624b7d9a4") getpriority(0x0, 0xffffffffffffffff) gettid() sched_rr_get_interval(0x0, &(0x7f00000001c0)) setsockopt$packet_fanout_data(0xffffffffffffffff, 0x107, 0x16, &(0x7f0000000240)={0x1, &(0x7f0000000200)=[{0x101, 0x20, 0x20, 0x2}]}, 0x10) sched_rr_get_interval(0x0, &(0x7f0000000380)) fstat(0xffffffffffffffff, 0x0) ioctl$sock_ipv6_tunnel_SIOCGET6RD(0xffffffffffffffff, 0x89f8, &(0x7f0000000540)={'syztnl1\x00', &(0x7f0000000440)={'syztnl0\x00', 0x0, 0x7800, 0x40, 0xfffffffa, 0x6, {{0x22, 0x4, 0x1, 0x0, 0x88, 0x64, 0x0, 0x9, 0x7b, 0x0, @loopback, @multicast2, {[@noop, @timestamp_prespec={0x44, 0x3c, 0x2d, 0x3, 0x4, [{@local}, {@broadcast, 0x1ff}, {@empty, 0xfffffff9}, {@loopback, 0x389a}, {@private=0xa010101, 0xfffffffb}, {@remote, 0x3}, {@rand_addr, 0x1}]}, @cipso={0x86, 0x32, 0xffffffffffffffff, [{0x0, 0xa, "e1c4ee979ce4d97c"}, {0x0, 0x2}, {0x1, 0x4, "b08d"}, {0x1, 0x2}, {0x0, 0x12, "27235d18e7eb8ad29b22c1edd11fb99a"}, {0x0, 0x3, 'g'}, {0x1, 0x5, "2aa700"}]}, @ra={0x94, 0x4, 0x1}]}}}}}) r0 = syz_clone(0x20000000, &(0x7f0000000580)="9f4ffd0998c262e1", 0x8, &(0x7f00000005c0), 0x0, &(0x7f0000000640)="499d24367e771333919ec65d38a842a6420e80f1ab4490a86f0e8eb7e145d9010705f29c0318f42f2e15339c3b7b8b15a2374686d4be7f5b4fb6d1884cc888f9c68777c6e526cfb860c4b394748894653249d8a7714aa5d1a45d7afc458f7ba639bf72e44e30171d4cdcd2e29f6e9b4511c0af33ed79744f427bb5b410490dbf8c6e16bdb3778e52b50833e3ce75279cfe817674c250") getpriority(0x0, r0) 02:24:25 executing program 5: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) r1 = dup(r0) sendmsg$IPSET_CMD_CREATE(r1, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000040)={0x60, 0x2, 0x6, 0x5, 0x0, 0xf0ffff, {}, [@IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz2\x00'}, @IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_DATA={0x14, 0x7, 0x0, 0x1, [@IPSET_ATTR_TIMEOUT={0x8}, @IPSET_ATTR_CADT_FLAGS={0x8, 0x8, 0x1, 0x0, 0xf6c77706d80237f2}]}, @IPSET_ATTR_TYPENAME={0x11, 0x3, 'hash:ip,port\x00'}]}, 0x60}}, 0x0) 02:24:25 executing program 0: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) r1 = dup(r0) sendmsg$IPSET_CMD_CREATE(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f00000003c0)={0x58, 0x2, 0x6, 0x5, 0x0, 0xf0ffff, {}, [@IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz2\x00'}, @IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_DATA={0x14, 0x7, 0x0, 0x1, [@IPSET_ATTR_TIMEOUT={0x8}, @IPSET_ATTR_CADT_FLAGS={0x8, 0x8, 0x1, 0x0, 0xf6c77706d80237f2}]}, @IPSET_ATTR_TYPENAME={0xc, 0x3, 'hash:ip\x00'}]}, 0x58}}, 0x0) 02:24:25 executing program 3: r0 = socket$inet6_udp(0xa, 0x2, 0x0) getsockopt$inet6_udp_int(r0, 0x11, 0x66, 0x0, &(0x7f00000000c0)) 02:24:25 executing program 4: r0 = syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) tkill(r0, 0x20) openat$vcsa(0xffffffffffffff9c, &(0x7f0000000780), 0x4900, 0x0) read$FUSE(0xffffffffffffffff, 0x0, 0x0) syz_clone(0x8080000, 0x0, 0x0, 0x0, 0x0, 0x0) [ 227.146680][ T27] audit: type=1400 audit(1664591065.117:117): avc: denied { create } for pid=3798 comm="syz-executor.5" scontext=root:sysadm_r:sysadm_t tcontext=root:sysadm_r:sysadm_t tclass=netlink_netfilter_socket permissive=1 02:24:25 executing program 2: r0 = socket$inet_udp(0x2, 0x2, 0x0) getsockopt$inet_pktinfo(r0, 0x0, 0x18, 0x0, &(0x7f0000002940)) 02:24:25 executing program 5: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) r1 = dup(r0) sendmsg$IPSET_CMD_CREATE(r1, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000040)={0x60, 0x2, 0x6, 0x5, 0x0, 0xf0ffff, {}, [@IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0xa}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz2\x00'}, @IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_DATA={0x14, 0x7, 0x0, 0x1, [@IPSET_ATTR_TIMEOUT={0x8}, @IPSET_ATTR_CADT_FLAGS={0x8, 0x8, 0x1, 0x0, 0xf6c77706d80237f2}]}, @IPSET_ATTR_TYPENAME={0x11, 0x3, 'hash:ip,port\x00'}]}, 0x60}}, 0x0) 02:24:25 executing program 1: shmctl$SHM_INFO(0x0, 0xe, &(0x7f0000001180)=""/5) [ 227.223507][ T27] audit: type=1400 audit(1664591065.117:118): avc: denied { write } for pid=3798 comm="syz-executor.5" scontext=root:sysadm_r:sysadm_t tcontext=root:sysadm_r:sysadm_t tclass=netlink_netfilter_socket permissive=1 02:24:25 executing program 0: r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$l2tp(&(0x7f0000000200), 0xffffffffffffffff) sendmsg$L2TP_CMD_SESSION_MODIFY(r0, &(0x7f0000000300)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000240)={0x38, r1, 0x1, 0x0, 0x0, {}, [@L2TP_ATTR_OFFSET={0x6}, @L2TP_ATTR_LNS_MODE={0x5}, @L2TP_ATTR_IP6_SADDR={0x14, 0x1f, @private0}]}, 0x38}}, 0x0) 02:24:25 executing program 3: r0 = socket$nl_route(0x10, 0x3, 0x0) ioctl$BTRFS_IOC_START_SYNC(r0, 0x80089418, 0x0) 02:24:25 executing program 5: r0 = syz_mount_image$ntfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x120004, 0x26, &(0x7f0000000200)=[{&(0x7f0000010000)="eb52904e5446532020202000020800000000000000f8000000000000000000000000000080008000ff0f0000000000000400000000000000ff00000000000000f60000000100000088c3c373e3f92313000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b2e20506c6561736520696e73657274206120626f6f7461626c6520666c6f70707920616e640d0a707265737320616e79206b657920746f2074727920616761696e202e2e2e200d0a00"/224, 0xe0}, {&(0x7f00000100e0)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1e0}, {&(0x7f0000010100)="ffff0007000000003f00"/32, 0x20, 0x2000}, {&(0x7f00000005c0)="46494c4530000300000000000000000001000100380001009801000000040000000000000000000004000000000000000800000000000000100000006000000000001800000000004800000018000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000300000006800001500001800000002004a00000018000100050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d8010070000000000000006c0000000000000600000000000000040324004d0046005400000000000000800000004800000001004000000001000000000000000000120000000000000040000000000000000030010000000000001801000000000000180100000000001113040000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000010000000000000100000000000000010000000000000001101020000000000feffffff000000000000000000000000fa1077609dafbb4eb8b1ffd6f265de0e71a7037d11d1398bdf4f4780832b803d8a1ff810", 0x1c4, 0x4000}, {&(0x7f00000102c0)='\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, 0x41e0}, {&(0x7f00000102e0)="000000000000000000000000000000000000000000000000000000000000080046494c453000030000000000000000000100010038000100580100000004000000000000000000000300000001000000020000000000000010000000600000000000180000000000480000001800000000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d801001000000000000000100000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000001000000000000000100000000000002101ff0000000000ffffffff00"/384, 0x180, 0x43e0}, {&(0x7f0000010460)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x45e0}, {&(0x7f0000000b00)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000200010038000100580100000004000000000000000000000300000002000000020000000000000010000000600000000000180000000000480000001800000000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d801000004000000000000000400000000000600000000000000080324004c000998cef26ee44a37b86f006700460069006c0065000000000000008000000048000000010040000000010000000000000000003f0000000000000040000000000000000000040000000000000004000000000000000400000000002140000100000000ffffffff000000fa69b9da1967c607d6eba1f7d1e76634b56085a3c8d1365191e150d7e401cf76ee3850943d34ad021bfbbc88749577f4830185a40ff112131c8952de03", 0x1bd, 0x47e0}, {&(0x7f0000010600)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x49e0}, {&(0x7f0000010620)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000300010038000100e00100000004000000000000000000000600000003000000020000000000000010000000480000000000180000000000300000001800000000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80106000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c0000001800000000000000000000000301000000000000800000001800000000001800000003000000000018000000ffffffff000000000000000000000000000000000000000000000000000000000000000000000200", 0x220, 0x4be0}, {&(0x7f0000010840)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000400010038000100c00100000004000000000000000000000400000004000000020000000000000010000000480000000000180000000000300000001800000000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80106000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d8010010000000000000000a00000000000006000000000000000803240041007400740072004400650066000000000000005000000080000000000018000000030064000000180000000100048048000000540000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000000a004000000000000a0000000000001101460000000000ffffffff00000000", 0x1e0, 0x4fe3}, {&(0x7f0000010a20)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x51e0}, {&(0x7f0000010a40)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000500010038000300000200000004000000000000000000000600000005000000070000000000000010000000480000000000180000000000300000001800000000ab884a9fc6d80137340d4b9fc6d80137340d4b9fc6d80100ab884a9fc6d80126000000000000000000000000000000300000006000000000001800000001004400000018000100050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100000000000000000000000000000000060000100000000001032e00000000005000000048000000010040000000020000000000000000000100000000000000400000000000000000200000000000002c100000000000002c10000000000000110243000000000090000000580000000004180000000300380000002000000024004900330030003000000001000000001000000100000010000000280000002800000001000000000000000000000018000000030000000000000000000000a000000050000000010440000000050000000000000000000000000000000000480000000000000000100000000000000010000000000000001000000000000024004900330030001101450000000000b0000000280000000004180000000400080000002000000024004900330030000100000000000000ffffffff00000700", 0x220, 0x53e0}, {&(0x7f0000010c60)="000000000000000000000000000000000000000000000000000000000000070046494c453000030000000000000000000600010038000100500100000004000000000000000000000300000006000000020000000000000010000000600000000000180000000000480000001800000000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002005000000018000100050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d801001000000000000040000000000000000600000000000000070324004200690074006d0061007000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000400000000000000040000000000000001101470000000000ffffffff00"/384, 0x180, 0x57e0}, {&(0x7f0000010de0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x59e0}, {&(0x7f0000010e00)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000700010038000100b80100000004000000000000000000000400000007000000020000000000000010000000480000000000180000000000300000001800000000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80106000000000000000000000000000000300000006800000000001800000002004c00000018000100050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d8010020000000000000002000000000000006000000000000000503240042006f006f007400000000005000000080000000000018000000030064000000180000000100048048000000540000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000800000004800000001004000000001000000000000000000010000000000000040000000000000000020000000000000002000000000000000200000000000001102000000000000ffffffff00"/480, 0x1e0, 0x5be0}, {&(0x7f00000000c0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x5de0}, {&(0x7f0000000080)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x61e0}, {&(0x7f00000111c0)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000900010038000900a80200000004000000000000000000000500000009000000020000000000000010000000600000000000180000000000480000001800000000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80106000020000000000000000000000000000000000101000000000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100000000000000000000000000000000060000200000000007032400530065006300750072006500800000005000000001044000000002000000000000000000400000000000000048000000000000000010040000000000fc00040000000000fc000400000000002400530044005300114148000000000090000000b00000000004180000000300900000002000000024005300440048000000000012000000001000000100000010000000800000008000000000000000180014000000000030000800000000005124b300010100005124b3000101000080000000000000007c0000004900490018001400000000003000080000000000f01203f800010000f01203f80001000000000000000000007c000000490049000000000000000000100000000200020090000000a000000000041800000004008000000020000000240053004900490000000000100000000010000001000000100000007000000070000000000000001400140000000000280004000000000000010000f01203f80001000000000000000000007c00000014001400000000002800040000000000010100005124b3000101000080000000000000007c00000000000000000000001000000002000000ffffffff00"/736, 0x2e0, 0x63e0}, {&(0x7f00000007c0)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000a0001003800010098010000000400000000000000000000040000000a000000020000000000000010000000600000000000180000000000480000001800000000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000003005000000018000100050000000000050000ab884a9fc6d80100bb884a9fc6d80100ab884a9fc6d80100ab884a9fc6d801000002000000000000000200000000000600000000000000070324005500700043006100730065008000000048000000010040000000010000000000000000001f0000000083db0040000000000000000000020000000000000002000000000000000200000000002120890000000000800000004800000000051800000002002000000028000000240049006e0066006f0000000000000020000000000000000c691b6b777edcda00000000000000000000000000000000ffffffff000000000000000000000000b2e4155c5c42b655d4344ee4b0add16716690350372b458bd082d76e1a1576f3859a7bb8a44a6cda1fc6eac48af3290ff463b876e8e9e89d94f823c13a43db72", 0x200, 0x67e0}, {&(0x7f0000000140)="0000000000000000000000000000000000100000000000000000000000000200eadd62f36c58f3079d66eaab543a1faf87506b7a01000000dab46c7786552799e3a43e48e0698e4d1c08f4969fde17a990b767f4111b32f8aba78874174cf1c660460093f840bd97b9", 0x69, 0x69e0}, {&(0x7f0000011680)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000b0001003800030080020000000400000000000000000000030000000b000000020000000000000010000000600000000000180000000000480000001800000000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80106000000000000000000000000000000000000000101000000000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d8010000000000000000000000000000000006000010000000000703240045007800740065006e00640090000000780100000004180000000200580100002000000024004900330030003000000001000000001000000100000010000000480100004801000000000000190000000000010060004e00000000000b00000000000b0000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d801000000000000000007000000000000002600002000000000060324004f0062406a00490064000000180000000000010060004e00000000000b00000000000b0000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100000000000000000000000000000000260000200000040000032400510075006f007400610002001a0000000000010068005200000000000b00000000000b0000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d8010000000000000000000000000000007aa6000020000000000803240052006500700061007a007300650000000000000000000000000000001000000002000000ffffffff00000000", 0x2a0, 0x6be0}, {&(0x7f00000125a0)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000100010038000d00700200000004000000000000000000000400000018000000020000000000000010000000600000000000180000000000480000001800000000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80126000020000000000000000000000000000000000101000000000000000000000000000000000000300000006800000000001800000001004e000000180001000b00000000000b0000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100000000000000000000000000000000260000200000000006032400510075006f0074006100000090000000780000000002180000000300580000002000000024004f00000000000000000011000000001000000100000010000000480000004800000000000000200004000000000028001000000000000102000000000005200000002002000000010000200000000000000000000000100000000200000090000000f00000000002180000000200d00000002000000024005100000000000000000010000000001000000100000010000000c0000000c00000000000000014003000000000004800040000000000010000000200000001000000000000000000000000ab884a9fc6d801ffffffffffffffffffffffffffffffff0000000000000000000002", 0x21f, 0x9fe0}, {&(0x7f0000012840)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0xa3e0}, {&(0x7f0000014c80)="494e4458280009000000000000000000000000000000000028000000b8060000e80f0000000000001800d801000000000000000000000000000000000000000004000000000004006800520000000000050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d8010010000000000000000a000000000000060000000000000008032400410074007400720044006500660000000000010008000000000008006800520000000000050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d8010000000000000000000000000000000006000000000000000803240042006100640043006c007500730000000000070006000000000006006000500000000000050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d801001000000000000040000000000000000600000000000000070324004200690074006d0061007000070000000000070060004c0000000000050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d8010020000000000000002000000000000006000000000000000503240042006f006f00740069006c000b00000000000b006000500000000000050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6180000ab884a9fc6d8010000000000000000000000000000000006000010000000000703240045007800740065006e00640002000000000002006800520000000000050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c006500000000000100000000000000010060004a0000000000050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d8010070000000000000006c0000000000000600000000000000040324004d004600540000000000000001000000000001006800520000000000050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d801001000000000000000100000000000000600000000000000080324004d00460054004d0069007200720000000200000009000000000009006000500000000000050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d801000000000000000000000000000000000600002000000000070324005300650063007500720065000a00000000000a006000500000000000050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d8010000020000001800000002000000000006000000000000000703240055007000430061007300650003000000000003006000500000000000050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650005000000000005005800440000000000050000000000050000ab884a9fc6d80137340d4b9fc6d80137340d4b9fc6d80100ab884a9fc6d80100000000000000000000000000000000260000100000000001032e0000000000450000000000010068005400000000000500000000000500e3330d4b9fc6d801d0370d4b9fc6d801d0370d4b9fc6d801e3330d4b9fc6d8016800000000000000640000000000000020000000000000000900660069006c0065002e0063006f006c00640000000000400000000000010060004c00000000000500000000000500abea0c4b9fc6d80107040d4b9fc6d80107040d4b9fc6d801abea0c4b9fc6d8010000000000000000000000000000000020000010000000000500660069006c006500300000000000430000000000010060004c00000000000500000000000500170a0d4b9fc6d801d70f0d4b9fc6d80141180d4b9fc6d801170a0d4b9fc6d80110000000000000000a0000000000000020000000000000000500660069006c0065003100000018", 0x5ff, 0x45000}, {&(0x7f0000000040)="0000000000000000000000000000000000000000000000000000000000001800", 0x20, 0x457dc}, {&(0x7f0000015380)="00000000000000000000000000000000000000000000000000000000000018", 0x1f, 0x459e0}, {&(0x7f00000153c0)="00000000000000000000000000000000000000000000000000000000000018", 0x1f, 0x45de0}, {&(0x7f00000153e0)="0000000000000000000000000000000000000000000000000000000000001800", 0x20, 0x45fe0}, {&(0x7f0000015aa0)="00000100020003000400050006000700080009000a000b000c000d000e000f0010001100120013001400150016001700180019001a001b001c001d001e001f0020002100220023002400250026002700280029002a002b002c002d002e002f0030003100320033003400350036003700380039003a003b003c003d003e003f0040004100420043004400450046004700480049004a004b004c004d004e004f00500051", 0xa3, 0x89000}, {&(0x7f0000035aa0)="46494c4530000300000000000000000001000100380001009801000000040000000000000000000004000000000000000800000000000000100000006000000000001800000000004800000018000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000300000006800000000001800000002004a00000018000100050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d8010070000000000000006c0000000000000600000000000000040324004d0046005400000000000000800000004800000001004000000001000000000000000000120000000000000040000000000000000030010000000000001801000000000000180100000000001113040000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000010000000000000100000000000000010000000000000001101020000000000ffffffff", 0x194, 0xfefff}, {&(0x7f0000035c40)="0000008300000a0000000400000000fb86ea68cf219c692b124599", 0x1b, 0xff1e0}, {&(0x7f0000035c60)="000000000000000000000000000000000000000000000000000000000000080046494c453000030000000000000000000100010038000100580100000004000000000000000000000300000001000000020000000000000010000000600000000000180000000000480000001800000000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d801001000000000000000100000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000001000000000000000100000000000002101ff0000000000ffffffff", 0x174, 0xff3e0}, {&(0x7f0000035de0)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0xff5e0}, {&(0x7f0000035e00)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000200010038000108580100000004000000000000000000000300000002000000020000000000000010000000600000000000180000000000480000001800000000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100000400000089d08c8f3d843bdc00000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000003f0000000000000040000000000000000000040000000000000004000000000000000400000000002140000100000000ffffffff", 0x174, 0xff7e0}, {&(0x7f0000035f80)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0xff9e0}, {&(0x7f0000035fa0)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000300010038000100e00100000004000000000000000000000600000003000000020000000000000010000000480000000000180000000000300000001800000000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80106000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c0000001800000000000000000000000301000000000000800000001800000000001800000003000000000018000000ffffffff0000000000000000000000000000000000000000000000000000000000000000000002", 0x21f, 0xffbe0}, {&(0x7f00000361c0)="0000000000000000000000000000000000000000000000000000000000000200ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x20024, 0xfffe0}], 0x0, &(0x7f0000000a40)=ANY=[@ANYBLOB="0000000000001df1e071b7bd317bdf708de2dfda3d66ff92312be415ec4b26ca0ea8d01427c0084edaa3faab22aba895c2d0ca6bb5114ee2aa6ee49bd6da6452199d48f8eb87259ff6aa16a075f2587c2fb47383d08c8f3ed002afddec3a064f31f9", @ANYRESHEX, @ANYRES64, @ANYRESOCT], 0x1) r1 = openat$binderfs_ctrl(0xffffffffffffff9c, &(0x7f00000001c0)='./binderfs/binder-control\x00', 0x2, 0x0) r2 = socket$inet6_tcp(0xa, 0x1, 0x0) ioctl$int_in(r2, 0x5452, &(0x7f0000000300)=0x208) bind$inet6(r2, &(0x7f0000000000)={0xa, 0x8000002}, 0x1c) setsockopt$sock_int(r2, 0x1, 0x7, &(0x7f0000000180), 0x4) sendto$inet6(r2, 0x0, 0x1e, 0x2200c851, &(0x7f0000b63fe4)={0xa, 0x2, 0x0, @loopback}, 0x1c) sendto$inet6(r2, &(0x7f0000000080)="44f9b108b1cdc885c9c533d21f474bec8bfef1df1e2da71e578dc6b91d09f7ab15378571d8e27546090011006e75436914ab717528ee4b7a9beaf908d11137c11903064e83b4951f4d433a5404970c85d92d7083fd38844cbb0c6c5eb508ddc2dc7a590aa7941b1e9eeb5a688138dea09b776cbfa784cbf550bf3074fb0d775da4df5a3f48bbdf452eeb6b923da9d0e25b80f76a873664b5753444fe05f33e5f91045540836c3cd6af10f0cd018f0c6f57f926ac959a5628c45088fbe0c87fbe6cbcda4662d2a12f6d00"/215, 0xd0d0c2ac, 0x1, 0x0, 0x0) shutdown(r2, 0x1) ioctl$BTRFS_IOC_BALANCE_PROGRESS(0xffffffffffffffff, 0x84009422, &(0x7f0000001780)={0x0, 0x0, {0x0, @usage, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @struct}, {0x0, @usage, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @struct}, {0x0, @usage, 0x0}}) ioctl$BTRFS_IOC_GET_DEV_STATS(r2, 0xc4089434, &(0x7f0000000640)={r3, 0x9, 0x0, [0x0, 0x0, 0x0, 0x404, 0x3fffffffffffc], [0x100, 0x7fd, 0x80000001, 0x0, 0x100000000, 0x1f, 0x0, 0x7, 0x0, 0xffffffff, 0x9, 0x0, 0x10000000000, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3, 0xd9, 0x8, 0x0, 0xb4, 0x0, 0x100000001, 0x0, 0x7, 0x100000001, 0x3, 0x0, 0x8000, 0x400, 0x5, 0x8be, 0x5a, 0xaad, 0xfffffffffffffffd, 0x9d, 0x4, 0xe2, 0x4, 0xaab, 0x0, 0x4, 0x5, 0x0, 0x0, 0xa0, 0x100000001, 0x12, 0x5, 0x2edeec72, 0xfffffffffffffff8, 0x100000000, 0x0, 0x0, 0x400, 0x0, 0x2, 0xfffffffffffffffa, 0x0, 0x200, 0x8001, 0x0, 0x1, 0x0, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5, 0x0, 0x10000, 0x3d, 0xfffffffffffffffd, 0xfffffffffffffffc, 0x0, 0x0, 0x9, 0x3, 0x0, 0x0, 0xb062, 0x10001, 0x0, 0x0, 0x10, 0x100000001, 0x0, 0x1, 0x0, 0x0, 0x1, 0x0, 0x0, 0x8, 0x0, 0x6, 0x3, 0x0, 0x1, 0x8, 0x3, 0x0, 0x0, 0x5, 0x0, 0x800, 0x0, 0xfffffffffffffffd, 0x6]}) ioctl$BTRFS_IOC_SNAP_CREATE_V2(0xffffffffffffffff, 0x50009417, &(0x7f0000000300)={{}, 0x0, 0x6, @inherit={0x58, &(0x7f0000001300)=ANY=[@ANYBLOB="00000000000000000200000000000000000000000000000001000000000000000300230000000000000000000000000001000000f897000003000000000000005a010000000000000500000000000000ffffffffffffff7f9940d99b779b72b661ea3529c821a674dc3ddbae9e79a7a57c259e219b3572becb15d47a78f509fbffffffff28b69e377f16470ec0c1691946186e5bb84103d4c70809100fcdf3242b941f26b45c0af7e2cf1dee5a23f8709214c3d0b5572dfaf8f4d4e4d05e6151eadc05da4e9ccf1f26211e1013393699f12d04ca18bd133e2b96cf1ab8a947abd3d6dbceed0cba31b8000000005cf44a1f56753563636318a33a1407714e9ea38a341d5a6b9bd1add73f82a49573b13529018be7b79733279fad104f555adfb4e281758b3ea45b0627f91aa81466ed417ba82e79930d873446c33bfb3d4f81b3f86a58bd9859eeae14173f4a"]}, @devid=r3}) ioctl$BTRFS_IOC_SUBVOL_CREATE_V2(r0, 0x50009418, &(0x7f0000000cc0)={{r1}, 0x0, 0x1a, @unused=[0x8, 0x4, 0x2, 0x9], @name="232e78c701105d19786e75ebf5abd60fb638bf3edfb9b761c0ffb4f411850bac254eb619218d51ca53f45a3cbe3049aee8d94436a9c643d036fbf110b1c9be2a4283808b7366b7e38ab3650bbd74f8b3cb473c222c55a6a8ffee25c325bd9aa10e27e134146c0d191919dab43216682c938aa84767391afc898464d19e37bd7163fd7465e10fb20f32a17f186f79b1430b8e723a41a3c4b2ed46882f2473813d45758c711df9eedebd23de1c657ca36e2afd3b82a3aa664c2aefe3e992d1ef3c35516a22bd34db4796a33c7122ded1f966e585f7e8458273a142f518a960d7279e58332e6419c4759e73d5437006dc496c22b56f1bae99ccadd142bc6b8da87b48c4a5a30d760f7e1f65393d05ae3eddb457e33649e0745d4279f653e0597bcd5e9775355c15d6a6b061f30e4b3a934953b83152f50b518dbb9888429e6df0324d48124b14bf9e6c309a4c4da526163ee16ac6a8db6ce626bf885d19aa1a5115be1bd6ecc138ef11d08fe4691b338e6fa12d2568f712b24792af7adfabf125e92576bee74169c2ede3624ff88172783cc3272319487411640166dae92adb93e6bd830a5e2d8bd05da6abb9b6274d75c92659505f3832947c2126620d803efae1046c0ba4cb26647ba7696ff158772179a88bcef7d8a4342ec0333a1510623c9e2ac194fc69afe69568dd666e6ef3fa6681c7cc656dde0a38b8ef1ce17ee9f627c4971b1b9ee946821eceb1f81624f466f31711a6166cd63000d8707a4420ea4aa7dc22f8b7dad84179f501f20183b16f9b74630eaaa4a2060cbd697228b2e09618872ad120622b246da6f4d79792a40d9f08c4737ceaeb5331a6b2bfbe60bc3a6d5a31c7b839855e94357352c5812a074d7e59b5a57999b0118483f5ee27dfb4bd574747f549dd053cecec3810f4a00ec369ad68ad843af9e9d57200c13f9dbac043b3967f00589c176772975d238e5e2df9a636b3d434cf4ccc6edf73c1ef84f0088d65cc454cad95fbda9424e96a8e6bacb373dde622ed000c3a0d2916e884761cf1b0068bb367d0404caa8fc1a6472c9cfbd59f2e62d4dbf10d8be1ef3040dc0d39e95f5bbdc75c960c815d21572124ff19bfc60436717102b743c9066029b85d39cfdbf2b36cd43d499359161a502f2dd30a3e3a4e79846f0eaa52d9aa50c7cfa3c7286f1a4079e101d97804fc4cb9cef74580ba2ed8f6b0635f64400decd145acd2e98c680bb86be4b86dfd3e719251907ba82c96c7d88b8854ac404f889fc2b3b6ca7b204a110493ce2f8170336cefaa3c5347d7989ec52f8aa50027ee56d6b5c1284bf16a9435221726d87e7e2486eb8f026626172475801db2ae384d7903e5686ea3e6045e30368a12023090b1167085787e8ddf5d0fdb868649d390052a93f5dda0d4064f4f04bc80a153abac99353a2417efb5cdab29768522a863cb37fb29616f8b097f95a734d857b957992d6d711bf3d7deedbea48cc058025c8e30a3e5e52a80dddae0f410bbeb7f08b5865411731021749f0e5259f595b44411c3293dba24cfb657ebdd7c9e4d3f2c18933410a632a7d23096c37fc36f2bc0e3d4e9952fc73c4da7a7a87a8359a60104e3ebc33ebfbd69e329e529d85847e54db4494856806e10bdda7d8ad75eafeafd02d15e5b6d822c077a76bb81101889ba97c0cb9e7f6b443f929cc71d4a0dc7f71b4931ab139e221146f5e177e312ecd9564ea3c888c4bb4c98c7459edcb686cbd3b88be10853f789e12624b1f2b7ede8f95d66cf5584cacb4947eb7b265796f9b292407a1799bddbc24fc5fb1d5b14ee5f30b53a7cb3071c404287991480d65c726daffd953ed7d5ee741bf6c8dba95f279339b768a16ddac853c9762ae76e0842a381cc081880e915ee1d27a370f624a7365b9d2777f2b4ebb9e11b9bdde1e10c99c96b1cf8aba76576be6ccf8d1b3a517c946c63f903693c1720a01a9050c0fd93af9a6638ae505eeb7280e3835f5e3db2c7b6f12b91a62dbc3f3ff2a8761320be8782a4faf380cb85d06382ae77b9a0caf9cd75aefc0e0954eec07d5dd257b2dd4185cd5862f4a2f101072b36de0ca3ed32be141f578df6fe63deb554a53d6ad1f6d05f4f9d47d5ec7486ed6555497e8a8307015264fb1cb056a6222523dc9336b1ada6ee228ffbd4edeba214ad6daf73bb8c6b812df2fed9769e7a9c7f9ad9ef331b6194d87c9d5df536d261fad942dbdc52e3999d080c78871e26598dbfd0ac0bb84447fe7cb54ed91349baec989c378021a00e68cfeed16ebe7a4e1c8f5ae15a728cdc459dde623e03c4ffa918dc36fa38f62678404f9a4e1525272649a7c398874441e7c20ec9d779a3771e8063e279da1a44138f446fa65dffec38e5b34f25d7d765cba0f887b2d5f437ba3a3d5d79ac515b52de5d47231ea2aec60beeb1702b7448de92d188175deb3e41a641470c09c11aff0a9d1c745aad2c3ac1f8672bf27b7d03807320d7bb259ba15986b228763e700d77c45fc3d236d862581adce6f08a2e59df72d73267bface0ba9d5ed53019ea2db42cc2f137f86a0cc8b6e11fcf2a8d9373e7df515ab06775d5e97db7bbdf1de07044e3fcd1ed582dce92cebce4a5da227e2f302a79d51441861d367b613c0f1247c3a0c9006adfb49e2bddb298ba5dea2a1fb3cd8b198e3d7cc00f1bd72693f985e066fb53849a5c1c868b338f77cefb66b46a9017f1ce864ddce17a0129b11bb015d73f026011806124e4af81f29a2e297d61964acdf511e01c0eec4d4ec91ab759daa34eb3d518c7d306c996a5fc03b7541cb4f3abbee81888821dd32578b11aaaf22932ee3cfe3e3af1e273416f6a5df50f9c57dd0d8b7873c01d1d1e0d23303db360c9639caec2180e35cc7131f0d8fc95c24680ad91022214aa5c9e863d63336097afc491049297dfe3a2887bdfd0a52dc91c6ed777b0b6e99f33ee821b89724abd06ae55a4dfa7df4d170b7d64b65cb869ea3642a2ab5816d5be360ad63f2f86d74d9ef8f1d4bccee422505f9e0d1bb18c6c15184c6412e6691d19e750e804955148279929176bf32a7d6bfe1096e3d59cceb57e749ef762dd172914d708de3b88b7707e8e57fae89abf48272dd1ffefea88bd4caa1c99a5064f905b6a1cfaeb201198ea856bc1778178299367f91998dd674d5cedf4fdce3fc0bc1d3d5251a332d91ad20890db200a61150d3abfe3826bcda90dbc6221b3cbfcb755feafcd9c6c9c4416f23ec79997f483e9ad1bb8f08854011ed6eb2091bb8728c30f4d2020b365f447b87fb3923f1ea47d180eec4abe83ee063745daa4e8a4bd87867ced1a887749a9997017e2db1bb0f1038faa4906e3a150af2b92cf568c8718f52815208b9fc2989bbd883f075fed90e9481661ed96f97eb28f3292fefd0c7d14cbd00de885d721e1034531b594abad5b38c755ef02af9d6f129423af0a9a4c6e5479dfa68927e24c066db44783f24c93063809b45dccb104ab8e7649d7ce5b6ff172c8f0556871ead5fa4b3dc0ad7a8589d0c877399fd666467add4ea70c2219475f15ec6201aa797380315eb78eb883f2bde2ba23a8a120e4715621331330bd50962384cbde296ee147d135be97e57e7c1063e63a9255f60e4db4e6e6be9da106f55c3f3b2919e5aaf2e92860842b7a646ad4135f24dd604001d16665975598c201157dacc0ec457237bc172a1428e57b8b89726584d4210c3034fff928d32241420a136a7f5012c73ac89cc7bd77f0f2bed8660b4d539bbdd1329ba6e62af31da9ae11b227fd104a6e15348779ec4ebaf8992a565c4ed197ece565a417c636cd83855c9e58547d16f2e13aba88fe02cb0de3c9ddccc98ea51d42737e8dc88bc38c10565356bd86c179729899366d698ba2fe35066db5d6fcbb646857a8fd62891f22109fd3c9edd13aa55ab9a51db9fc1dfce4a1e1754870d65e4887cc65c0622e45992aa137f81acc0c166a5a4002bc3f81ab4118894607864d20c5190201796730747f2418c0b885ce2d10792697ba9fd3c38c98170ee27831a9e47ec17ecc079cae2e312c6d3b610c337b73d1147c446ce326b97d4f662503b9ce7f13d7b218f726b67c7713e9a6c72983e3d5efdb31cb5e1488563c3359f54fc48bcdc51113713d5b5305d34f5010514023fe39df686832ffb85f43ebee57baf20eff683bd4811073fff5bee979c80016951a56e0168969fdee07800fe6496dc2d27d2717ec98838b75688617e524a2600f7711a2247aa650d1084db953786fa5174b3839988b830c274fb81b2e71f9130403352adf0f24c03c42dc81f5e9aff505147233dbc4850b842e7cb5251ee13ad45f6cf96ce2a365dca5e2869016e3e5c5c932748530d614b3025e4152c40ecd409f8bd241df6a14558a5e3b96d4763a33926ef6d08b36c536118b8f13d6e8389c01b33baec2bf57cf5111df92833f46ac3121ab9fc938c24f285e97375bc151b3fe8fe815fe31b80b7385609d8dade82184dce5377006882e6d002e1d8156d3f005322fe626d16238b345d520b676e895bbc13af5e515f2ecfdd27aa70581cf1af47bf3c546e695472102ee1d79c228eab85b99eb2af3e94e01cfbad782112b3ac36fe5f053a4d0df1125574a80ca888b0394bb51362cce4de253bccf88ffe991660531d2c2e2e05af9e7a500941510da3bd1b8b03bad7d14b959cf6330a437f308e08016a5a152d413d499f8989d6f036023f809c236f92363675cf929af1a522e54d572ba3644c989ff1aa5bb1bb6cba329aaf4527e3ddd435c98e0f18d1c57ec8f8bf2b42d173b7f8262ed5c5eb49d5d64e18148ed608ec76cddeba8ed9987aeed612c4b0b504b952fe5e45821db53b577f7188a7d56d0cb2b0b2fca9e270eb83f7bb9fbfd9fa03d4f795fc766d4956fd239cb9455028ea5efa7e15431e9baaa3705a7d90bce6f3c64f87d61d301e2f2a793ebebfc630c5a0ba9b647fca5fed9938d64493f7c3f8a3428b027479cf900d483572daef8d5b26076689cc0ee87c4e3fc238435e52e91cd41138a7a0ee9f9a1d9b2e335e2d619e2616d00aaab2b311ce84219399b8494c93f18d1f276b51a20cc18993017ba5b2bb9bd9bf8ace615034773b0130702711cbad468cec7658b67ed60f6c75e9381a52e8c9fce20ba00ce08ba1912bb80bac5518190e69330c91f6a4f78bfb245b835a780ce9733140956d0c424adc906714efdf3ce8db263b9227392025fbf52a9d782a9f326617adf87b9d6839ed3e02f07c2dfa504d1ba7cae1007efc034b02bcc635048ff03d649aa80fc8bec2454a084812a209add1adc55d7cfdf9b5bf6ced39c533fb287ff72dabd911da408d692baa936642f1e2adabfcafd6bd26de940b952aa06fb37a22b2fbbaa2890e6ac1b87812cde8556aa48ffd9e2387722e2000c75469559950264ed672099797c03d90800da3029946387ca07123502879d534fa1c129fc2c3a25001020bd690f28e0b27639882483b07bd1547e9f7e61ea552dec43d3525f2d6abc3aaf42d622577a27a5c2a1b0a95b8bb97e4467962774d989288125c7da9b1149360ff0cb94c619512e3f1e3d9b9337025f93fa1ed12c6dcd4726a3e8e0e1b88f942ec846284852c47c3dc5a9f104a38a7b0b55c17c163dc7e7b36dc15cbe4908a1c43407fcb4328dbabfaffc9d603a2b2cc8e9eb7aecc17d702a17ba228c083e8222da2fe7f126b4b8f4741a063d7769"}) 02:24:25 executing program 2: r0 = socket$inet6_udp(0xa, 0x2, 0x0) getsockopt$inet6_udp_int(r0, 0x11, 0x65, &(0x7f0000000000), &(0x7f0000000040)=0x4) ioctl$sock_ipv6_tunnel_SIOCADDTUNNEL(r0, 0x89f1, &(0x7f0000000100)={'ip6gre0\x00', &(0x7f0000000080)={'syztnl1\x00', 0x0, 0x4, 0x1e, 0x81, 0x3, 0x2, @ipv4={'\x00', '\xff\xff', @dev={0xac, 0x14, 0x14, 0x24}}, @mcast1, 0x40, 0x8000, 0xff, 0x8}}) getsockopt$inet_pktinfo(r0, 0x88, 0x8, 0x0, 0x0) 02:24:25 executing program 4: bpf$MAP_CREATE(0x0, &(0x7f0000000000)=@base={0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0, '\x00', 0x0, 0xffffffffffffffff, 0x3}, 0x48) 02:24:25 executing program 0: syz_genetlink_get_family_id$l2tp(&(0x7f0000001d00), 0xffffffffffffffff) 02:24:25 executing program 1: ioctl$UDMABUF_CREATE(0xffffffffffffffff, 0x40187542, &(0x7f0000000080)) getitimer(0x0, &(0x7f00000009c0)) 02:24:25 executing program 3: r0 = openat$vcsa(0xffffffffffffff9c, &(0x7f0000000040), 0x0, 0x0) read$FUSE(r0, &(0x7f0000008480)={0x2020}, 0x1) 02:24:25 executing program 2: r0 = socket$inet6_sctp(0xa, 0x1, 0x84) connect$inet6(r0, &(0x7f00000001c0)={0xa, 0x0, 0x0, @loopback}, 0x1c) [ 227.467280][ T3826] loop5: detected capacity change from 0 to 2304 [ 227.515786][ T27] audit: type=1400 audit(1664591065.487:119): avc: denied { mounton } for pid=3823 comm="syz-executor.5" path="/root/syzkaller-testdir3052300578/syzkaller.LswqpY/8/file0" dev="sda1" ino=1165 scontext=root:sysadm_r:sysadm_t tcontext=root:object_r:user_home_t tclass=dir permissive=1 [ 227.535842][ T3826] ================================================================== [ 227.550718][ T3826] BUG: KASAN: use-after-free in ntfs_attr_find+0xb88/0xce0 [ 227.557922][ T3826] Read of size 2 at addr ffff888093ac010a by task syz-executor.5/3826 [ 227.566066][ T3826] [ 227.568393][ T3826] CPU: 0 PID: 3826 Comm: syz-executor.5 Not tainted 6.0.0-rc7-syzkaller-00162-g5a77386984b5 #0 [ 227.578709][ T3826] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/22/2022 [ 227.588758][ T3826] Call Trace: [ 227.592027][ T3826] [ 227.594951][ T3826] dump_stack_lvl+0xcd/0x134 [ 227.599550][ T3826] print_report.cold+0x2ba/0x6e9 [ 227.604493][ T3826] ? ntfs_attr_find+0xb88/0xce0 [ 227.609428][ T3826] kasan_report+0xb1/0x1e0 [ 227.613849][ T3826] ? ntfs_attr_find+0xb88/0xce0 [ 227.618695][ T3826] ntfs_attr_find+0xb88/0xce0 [ 227.623372][ T3826] ntfs_attr_lookup+0x1056/0x2070 [ 227.628395][ T3826] ? mark_held_locks+0x9f/0xe0 [ 227.633154][ T3826] ? ntfs_attr_reinit_search_ctx+0x3c0/0x3c0 [ 227.639139][ T3826] ? rcu_read_lock_sched_held+0xd/0x70 [ 227.644593][ T3826] ? kmem_cache_alloc+0x39e/0x520 [ 227.649619][ T3826] ntfs_read_inode_mount+0x934/0x2580 [ 227.654994][ T3826] ntfs_fill_super+0x17c7/0x92d0 [ 227.659934][ T3826] ? lock_downgrade+0x6e0/0x6e0 [ 227.664789][ T3826] ? parse_options+0x1d70/0x1d70 [ 227.669750][ T3826] ? snprintf+0xbb/0xf0 [ 227.673901][ T3826] ? vsprintf+0x30/0x30 [ 227.678055][ T3826] ? wait_for_completion_io_timeout+0x20/0x20 [ 227.684128][ T3826] ? up_write+0x148/0x470 [ 227.688457][ T3826] ? set_blocksize+0x2e5/0x370 [ 227.693227][ T3826] mount_bdev+0x34d/0x410 [ 227.697643][ T3826] ? parse_options+0x1d70/0x1d70 [ 227.702580][ T3826] ? ntfs_rl_punch_nolock+0x15b0/0x15b0 [ 227.708126][ T3826] legacy_get_tree+0x105/0x220 [ 227.712890][ T3826] vfs_get_tree+0x89/0x2f0 [ 227.717304][ T3826] path_mount+0x1326/0x1e20 [ 227.721805][ T3826] ? kmem_cache_free.part.0+0x1d3/0x2e0 [ 227.727351][ T3826] ? putname+0xfe/0x140 [ 227.731513][ T3826] ? finish_automount+0x960/0x960 [ 227.736542][ T3826] ? putname+0xfe/0x140 [ 227.740696][ T3826] __x64_sys_mount+0x27f/0x300 [ 227.745459][ T3826] ? copy_mnt_ns+0xae0/0xae0 [ 227.750051][ T3826] ? syscall_enter_from_user_mode+0x22/0xb0 [ 227.755951][ T3826] do_syscall_64+0x35/0xb0 [ 227.760367][ T3826] entry_SYSCALL_64_after_hwframe+0x63/0xcd [ 227.766274][ T3826] RIP: 0033:0x7f7e4808bada [ 227.770682][ T3826] Code: 48 c7 c2 b8 ff ff ff f7 d8 64 89 02 b8 ff ff ff ff eb d2 e8 b8 04 00 00 0f 1f 84 00 00 00 00 00 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48 [ 227.790292][ T3826] RSP: 002b:00007f7e49135f88 EFLAGS: 00000202 ORIG_RAX: 00000000000000a5 [ 227.798701][ T3826] RAX: ffffffffffffffda RBX: 0000000020000200 RCX: 00007f7e4808bada [ 227.806666][ T3826] RDX: 0000000020000000 RSI: 0000000020000100 RDI: 00007f7e49135fe0 [ 227.814632][ T3826] RBP: 00007f7e49136020 R08: 00007f7e49136020 R09: 0000000020000000 [ 227.822609][ T3826] R10: 0000000000000000 R11: 0000000000000202 R12: 0000000020000000 [ 227.830572][ T3826] R13: 0000000020000100 R14: 00007f7e49135fe0 R15: 0000000020000a40 [ 227.838537][ T3826] [ 227.841546][ T3826] [ 227.843860][ T3826] The buggy address belongs to the physical page: [ 227.850258][ T3826] page:ffffea00024eb000 refcount:0 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x93ac0 [ 227.860404][ T3826] flags: 0xfff00000000000(node=0|zone=1|lastcpupid=0x7ff) [ 227.867599][ T3826] raw: 00fff00000000000 ffffea00024eb008 ffffea00024eb008 0000000000000000 [ 227.876179][ T3826] raw: 0000000000000000 0000000000000000 00000000ffffffff 0000000000000000 [ 227.884750][ T3826] page dumped because: kasan: bad access detected [ 227.891161][ T3826] page_owner info is not present (never set?) [ 227.897209][ T3826] [ 227.899520][ T3826] Memory state around the buggy address: [ 227.905137][ T3826] ffff888093ac0000: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 227.913190][ T3826] ffff888093ac0080: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 227.921240][ T3826] >ffff888093ac0100: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 227.929298][ T3826] ^ [ 227.933643][ T3826] ffff888093ac0180: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 227.941706][ T3826] ffff888093ac0200: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff [ 227.949764][ T3826] ================================================================== 02:24:25 executing program 3: r0 = openat$tun(0xffffffffffffff9c, &(0x7f0000000140), 0x40841, 0x0) ioctl$TUNSETIFF(r0, 0x400454ca, &(0x7f00000000c0)={'syzkaller1\x00', 0x6bf1c2d5adba8c32}) r1 = socket$kcm(0x2, 0xa, 0x2) ioctl$SIOCSIFHWADDR(r1, 0x8914, &(0x7f0000000180)={'syzkaller1\x00', @link_local}) write$tun(r0, &(0x7f0000000240)={@val, @void, @eth={@local, @broadcast, @val={@void}, {@ipv6={0x86dd, @generic={0x0, 0x6, "61850c", 0x0, 0x11, 0x0, @mcast1, @loopback}}}}}, 0xfdef) 02:24:25 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) r1 = dup(r0) sendmsg$IPSET_CMD_CREATE(r1, &(0x7f0000000000)={0x0, 0x0, &(0x7f00000001c0)={&(0x7f0000000040)={0x58, 0x2, 0x6, 0x5, 0x0, 0xf0ffff, {}, [@IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0x2}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz2\x00'}, @IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_TIMEOUT={0x8}]}, @IPSET_ATTR_TYPENAME={0x11, 0x3, 'hash:ip,port\x00'}]}, 0x58}}, 0x0) 02:24:26 executing program 0: r0 = socket$inet6_udp(0xa, 0x2, 0x0) ioctl$sock_ipv6_tunnel_SIOCDELTUNNEL(r0, 0x89f2, &(0x7f0000000480)={'ip6gre0\x00', 0x0}) 02:24:26 executing program 4: syz_mount_image$ntfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x22fff, 0x18, &(0x7f0000000800)=[{&(0x7f0000000c80)="eb52904e5446532020202000044000000200000000f8000000000000000000000000000080008000ff0700000000000002000000000000000f00000000000000f6000000f400000088c3c37313000000000e1fbe717cac22c0740b56b40ebb0700cd105eebf032e4cd16cd19ebfe54686973206973206e6f74206120626f6f7461626c65206469736b000000006561016520696e73657274206120626f6f7461626c6520666c6f70707920617c4d8ca48b3c20334bfe25dc286e640d0a707265737320616e79206b657920746f2074727920616761696e202e2e2e200d0a0000000000000000000000000000008c957aa276aee710558e3d6b94750193905eb1f0025e0aa67f767412bc11325868bf86e6eb99d963e0dceda00059864aaf5a5b9780b1a3cb4c492a3dae522c87ce3b5af097a05aa7b0cd165e0580fad34cdd788ac91bb80566690bfe634bde24fb97ebf61b1e2c0b9056e8ea6a333942e1fe21271d38f86bd7a43bd9f982bb202a1dd83ea073ee9d752a22ba997bfe670a65eb13d130d21046d4598423f26702e7d2b6825bff805117a7c5c7936816d49608d6846b3fa2bb14e52b4033dc46a0aa1b7f74c478903c312e218d501a36d28374d12474dc605da0e9566371499b23a9c9991011d08a5eed65a72489c79fc4", 0x1dd}, {&(0x7f00000100e0)="00000000000000000000000000000000000000000000000000000000000055aa", 0x20, 0x1dd}, {&(0x7f0000010100)="ffffaef707af575bd96b00070000ecff3e00000000000000000000ffffffff00", 0x20, 0x10002}, {&(0x7f0000010120)="46494c4530000300000000000000000001000100380001009801000000040000000000000000000004000000000000000800000000000000100000006000000000001800000000004800000018000000000000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000000000000000000300000006800000000001800000002004a00000018000100050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d801000001000000000000000100000000000600000000000000040324004d0046005400000000000000800000004800000001004000000001000000000000000000010000000000000040000000000000000000020000000000001801000000000000180100000000001102020000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000000010000000000100000000000000010000000000000001101010000000000ffffffff00"/416, 0x1a0, 0x20000}, {&(0x7f00000102c0)='\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, 0x201e0}, {&(0x7f0000000140)="000000000000000000000000000000000000000000000000000000000000080046494c453000030000000000000000000100010038000100580100000004000000000000000000000300000001000000020000000000000010000000600000000000180000000000480000001800000000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d8010600000000000000000000000000000000000000000100000000000000000000000000000000000030000000700000000000180018000100050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d801000001000000000000000100000000000600000000000000080324004d00460054004d006900720072000000000000008000000048000000010040000000010000096b00000000000000000000000000400000000000000000000100000000000000010000000000000001000000000011010f0000000000ffffffff00000000000000000000000011ec0000000000000000", 0x182, 0x203e0}, {&(0x7f0000010460)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x205e0}, {&(0x7f0000010480)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000200010038000100580100000004000000000000000000000300000002000000020000000000000010000000600000000000180000000000480000001800000000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c006500000000000000800000004800000001004000000001000000000000000000030000000000000040000000000000000000040000000000000004000000000000000400000000001104100000000000ffffffff00"/384, 0x180, 0x207e0}, {&(0x7f0000010600)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x209e0}, {&(0x7f0000010620)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000300110038000100e00100000004000000000000000000000600000003000000020000000000000010000000480000000000180000000000300000001800000000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80106000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00780050000000800000000000180000000200640000001800000001ff0100000000000000000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c000000180000000000000000000000030100000000000080000000180000000000180000ff03000000000018000000ffffffff000000000000000000000000000000000000000000000000000000000000000000000200", 0x220, 0x20be0}, {&(0x7f0000010840)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000400010038000100c00100000004000000000000000000000400000004000000020000000000000010000000480000000000180000000000300000001800000000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80106000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d8010000010000000000000a00000000000006000000000000000803240041007400740072004400650066000000000000005000000080000000000018000000030064000000180000000100048048000000540000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000000010000000000000a000000000000000a0000000000001101070000000000ffffffff00000000", 0x1e0, 0x20fe0}, {&(0x7f0000000040)="00000000000000000000000000000000000000000000000000000000000002008b190e9aade06a1da36013d9e7ed9e0bafbda42794d4358266984b1c1e13d0d4ba6df43aaa27b3db39f25691cf7960ea3fca74036b58dd0902c0b739a20687b8a66b65f1bd20b29d00b2f044c05370a53040ac9129129d327047b5b7c249abe830fb24586d5fbe1db15174662ad52747602ecd26d57928a30bda0fbbf9ffb23fee6788cb", 0xa4, 0x211e0}, {&(0x7f0000000e80)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000500010038000300000200000004000000000000000000000600000005000000070000000000000010000000480000000000180000000000300000001800000000ab884a9fc6d801fd78354b9fc6d801fd78354b9fc6d80100ab884a9fc6d80126200000000000000000000000000000300000006000000000001800000001004400000018000100050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100000000000000000000000000000000060000100000000001032e00000000005000000048000000010040000000020000000000000000000000000000000000400000000000000000000100000000002c100000000000002c10000000000000110105000000000090000000580000000004180000000300380000002000000024004900330030003000000001000000001000000800000010000000280000002800000001000000000000000000000018000000030000000000000000000000a000000050000000010440000000050000000000000000000000000000000000480000000000000000000100000000000010000000000000001000000000000024004900330030001101060000000000b0000000280000000004180000000400080000002000000024004900330030000100000000000000ffffffff00000700", 0x220, 0x213e0}, {&(0x7f0000010c60)="000000000000000000000000000000000000000000000000000000000000070046494c453000030000000000000000000600010038000100500100000004000000000000000000000300000006000000020000000000000010000000600000000000180000000000480000001800000000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002005000000018000100050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d801000001000000000008000000000000000600000000000000070324004200690074006d0061007000800000004800000001004000000001000000000000000000000000000000000040000000000000000000010000000000080000000000000008000000000000001101080000000000ffffffff00"/384, 0x180, 0x217e0}, {&(0x7f0000010de0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x219e0}, {&(0x7f0000000a80)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000700010038000100b801000000040000a3a7eb2b000000000400000007000000020000000000000010000000480000000000180000000000300000001800000000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d801060000000000000000000000000000003000f171420ef37c5100006800000000001800000002004c00000018000100050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d8010000010000000000002000000000000006000000000000000503240042006f006f007400000000005000000080000000000018000000030064000000180000000100048048000000540000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000501000000000005120000000102000000000005200000002002000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000000010000000000002000000000000000200000000000001101000000000000ffffffff00"/487, 0x1e7, 0x21be0}, {&(0x7f0000010fe0)="000000000000000000040000000000000000b32352f521000000000000000000", 0x20, 0x21de0}, {&(0x7f0000011000)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000800010038000100780100000004000000000000000000000400000008000000020000000000000010000000600000000000180000000000480000001800000000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000003005200000018000100050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d8010000000000000000000000000000000006000000000000000803240042006100640043006c0075007300ffff000000008000000018000000000018000000020000000000180000008000000050000000010440000000010000000000000000001e00000000000000480000000000000000001f000000000000001f000000000000000000000000002400420061006400011f000000000000ffffffff00"/416, 0x1a0, 0x21fe0}, {&(0x7f00000111a0)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x221e0}, {&(0x7f0000000480)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000900010038000900a80200000004000000000000000000000500000009000000020000000000000010000000600000000000180000000000480000001800000000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80106000020000000000000000000000000000000000101000000000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100000000000000000000000000000000060000200000000007032400530065006300750072006500800000005000000001044000000002000000000000000000040000000000000048000000000000000000050000000000fc00040000000000fc000400000000002400530044005300110509000000000090000000b00000000004180000000300900000002000000024005300440048000000000012000000001000000800000010000000800000008000000000000000180014000000000030000800000000005124b300010100005124b3000101000080000000000000007c0000004900490018001400000000003000080000000000f01203f800010000f01203f80001000000000000000000007c000000490049000000000000000000100000000200020090000000a000000000041800000004008000000020000000240053004900490000000000100000000010000008000000100000007000000070000000000000001400140000000000280004000000000000010000f01203f80001000000000000000000007c00000014001400000000002800040000000000010100005124b3000101000080000000000000007c00000000000000000000001000000002000000ffffffff00"/736, 0x2e0, 0x223e0}, {&(0x7f00000114a0)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000a0001003800010098010000000400000000000000000000040000000a000000020000000000000010000000600000000000180000000000480000001800000000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000003005000000018000100050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d801000002000000000000000200000000000600000000000000070324005500700043006100730065008000000048000000010040000000010000000000000000000100000000000000400000000000000000000200000000000000020000000000000002000000000011010e1101060000800000004800000000051800000002002000000028000000240049006e0066006f0000000000000020000000000000000c691b6b777edcda00000000000000000000000000000000ffffffff00"/448, 0x1c0, 0x227e0}, {&(0x7f0000011660)="0000000000000000000000000000000000000000000000000000000000000200", 0x20, 0x229e0}, {&(0x7f0000011680)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000b0001003800030080020000000400000000000000000000030000000b000000020000000000000010000000600000000000180000000000480000001800000000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80106000000000000000000000000000000000000000101000000000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d8010000000000000000000000000000000006000010000000000703240045007800740065006e00640090000000780100000004180000000200580100002000000024004900330030003000000001000000001000000800000010000000480100004801000000000000190000000000010060004e00000000000b00000000000b0000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d801000000000000000000000000000000002600002000000000060324004f0062006a00490064000000180000000000010060004e00000000000b00000000000b0000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100000000000000000000000000000000260000200000000006032400510075006f007400610002001a0000000000010068005200000000000b00000000000b0000ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100ab884a9fc6d80100000000000000000000000000000000260000200000000008032400520065007000610072007300650000000000000000000000000000001000000002000000ffffffff00000000", 0x2a0, 0x22be0}, {&(0x7f0000011920)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x22fe0}], 0x2200091, &(0x7f0000079ca0)=ANY=[@ANYBLOB='\x00'], 0xfd) [ 228.069730][ T27] audit: type=1400 audit(1664591065.937:120): avc: denied { read write } for pid=3823 comm="syz-executor.5" name="binder-control" dev="binder" ino=2 scontext=root:sysadm_r:sysadm_t tcontext=system_u:object_r:unlabeled_t tclass=chr_file permissive=1 02:24:26 executing program 2: r0 = syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) tkill(r0, 0x20) openat$vcsa(0xffffffffffffff9c, &(0x7f0000000780), 0x4900, 0x0) read$FUSE(0xffffffffffffffff, &(0x7f0000004400)={0x2020, 0x0, 0x0, 0x0, 0x0}, 0x2020) read$FUSE(0xffffffffffffffff, &(0x7f0000006440)={0x2020, 0x0, 0x0, 0x0}, 0x2020) r3 = getegid() write$FUSE_DIRENTPLUS(0xffffffffffffffff, &(0x7f0000008780)=ANY=[@ANYBLOB="58010000daffffff", @ANYRES64=0x0, @ANYBLOB="0500000000000000010000000000000006000000000000000100000001000000005107262c61b858020000000000000000000000e000000000000000090000000000000063f9ffffffff03000900000000000000008000000000000006000000080000000300000000c0000004000000f1695a70b991b2a4fa8d322f8b720acc244f0bc94c5c944b67029414e17c8078d5164c3c1b0293f641742fde4df1396f44ac9c666799ecb4ce7ed11b30b4856546d1329dce0cc516c2a9d3d5df692cd86b2a3e990bce9d69879273a1a180c480e5a88aeb33ca35abee19668cd322e80540c75247d567b03809a854381d94eeaa74230865", @ANYRES32=0x0, @ANYRES32=r1, @ANYBLOB="e47c00006100000000000000010000000000000009000000000000000a000000000400002f6465762f76637361000000000000000400000000000000010000000000000001010000000000003f0000000000000000100000ffff0000020000000000000009000000000000004d0c0000000000000400000000000000090000000000000007000000000000000500000008000000010000000010000005000000", @ANYRES32=r2, @ANYRES32=r3, @ANYBLOB="0200000007000000000000000000000000000000060000000000000001000000ffffffff2c00000000000000"], 0x158) r4 = openat$vcsa(0xffffffffffffff9c, &(0x7f0000000040), 0x48200, 0x0) read$FUSE(0xffffffffffffffff, &(0x7f0000000080)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_WRITE(r4, &(0x7f00000020c0)={0x18, 0x0, r5, {0x7}}, 0x18) ioctl$DRM_IOCTL_GEM_FLINK(r4, 0xc008640a, &(0x7f0000002140)) openat$vcsa(0xffffffffffffff9c, &(0x7f0000002380), 0x203, 0x0) read$FUSE(r4, &(0x7f00000023c0)={0x2020}, 0x2020) read$FUSE(r4, &(0x7f0000006440)={0x2020}, 0x2020) syz_clone(0x8080000, &(0x7f00000007c0)="c3d630708f8ce40e72000c825dc83ad8d9c98d63abc39e14102e31cce4fa60d6b1b6a66a890f71462477af3f715c71836a35640ce4d9d8e7e15e02571a2dd42a93d864e4330426bd01c71b16e76b4863aff824f3a418cc3ea6dbdb23c9a79598363a73ca4021c7961604c5b0989eef11b555868e64b3983da686ec52f62275ca95ea5dd041c57f11d4d4d258091dd94a449cf89bf1b63d6c1186ff5114eeea4921ccbec8cb43c7a8326d54ff88960791cac22b78e15388979ce6d516a8450e348bcaab3ba6af85cba6b32794b517ea4b32663960213b805eaa1f7dbf004dc899a00032c4bb25771b8adfbddb41b31aad86cd5d6680382e6a1c520b3880d487906f6bb2e4d35679237401109b14f73e601456577f3070264ba70b6a4186b1ba9943054d4211f20400f935118de1988574e6ce09b5b09cf3afa089297f24630e0a7bd80d102f554d5f6c2812c46a41c198ce4abe55a9112eb6a03ed893adffcb891cb7ae76ac79054b1aa4a8f67d1df60922a6d28ea300313cf3971832803a23527493e2b78f464249a418a68d00fb30b344c9d6b59b753e37239be64e3134365fd6a10435f1c03c228fe616a3ba01c69a9d455ec8ddd91eb9e179da26bfe19565832c3ea326478905a281bc411b61c38715da9f8cfa4b21cffc1923711a964390b6f1676ea5a29ecfeb069c388f5fae8af1b908db410cdca771ef575acab9239d847f303898a154feeb591dc5ecc4635c7b196e6f49f102b7012d41459c5eeb902ed3a6dbe3d321a1f91d86164e3524301e5ac68acac04ce6d962ced20ed6753176cfe7b5e900351ceeaaf7284bbc45fd30ba4214eb0ec4da5bec1b304c11d3856ffebb4ee18e20a1b6acc0355be7d7a552aa1b5a3a4a8d15794c708cf1ddf4a7c0c8115b9d154756b3a3d68a8ff2bd8d88d8a0c690682d24a8a770c1bad425c48ca8ad0ab9c13340fe3eb2cdb97a97e658fb95a94dbefee3fe6a0ae04a5099fdd4110f9ee9a47034bda72972c4aef34abb0abaa257be84308c8fd4b264902c587172aae1527a5df6a4ce712d8ff4e1882caf8c5824e30faf56eb57b02779a9d057af82d31f09b50e15c5eedff0d14bed5faff8118b2138f0e4c070c60bfaf9ee272654151ecebda96a28c1f65d87aa1df76834c7176332cbc177dd876416cfc531511e82af41dcd6c5963e0f852884fcffd43567ee186a526ffae278fcd24db569e29e156b653139db6c8730278b71e8dcc67eecbe07d9c7ac20ee46e616811baaa0ec2c4c3e4b864b8ad951247651db76c97ec1f891c4e7dfdd23fbed9dfd386696e9d01bddc7994cba6bdb027b6df40e4bfd571be878d37ed6d15fcd8504b49d0772412253091988a66187fd4059bca3a69fb39f1be064cbd6daaaace70167de9dc14ae899082949331cd5ae954470224828455790b180918a1da361c654b82931e47d1861069e966c8e12b1ed134616b5785fad3dc29787efecadc18637cf199e521e581527db72a0028b27ce810ec8c7b34e61409eb9c28e9adc8da117600f5ed6da6ab5331dd25db06de712a1c07e392c608e8be94dc51df008c9a9c6087b2f0cce09421656ac8dbfcf3d5f2fc8ced852e7076d1c33671cb2248e121b9fbc82a262c0e0a8d3e533373c7c0a46a075712ab7ed982524e8195de7289aa7c7aa5d7e68c22eadb292d7056eb8339b2df2a8aad5dee0b8238668ebb8ecd601dcf2ca99dfe53c8a2e803e0b2d46a52a575eb961ac8bb0698365f8325264f2e81985b4023dc8e6719408a260699c6a7589407e6352b216beb0d1b9f4d6aad359d019d052e2078ad1afbe4358d61df9acacb3beda323c17450409a04cd9624bebe757265461031d72803eb162b05cb4d1f2d9d440a9dddd45b36b4653661b5427f38173a905c9be36428834bb2ad16e29430f9cb7fbbd7a658909290dd7e690e3f870000d4b69449afe12b4fde1da159726b7744098ef4232fb171d53cac9364d57ee23ed71b5c416875b291310ab39301207f14ab9c5f2ac694ac2ba9b534bcf77f294f3d9f9c96eebba2629e310ac96a79ce0c56c802d811dad7450014105e8041091be153a0f1a94900d9812435ebfdda371b758e6bf03364f6f85f243c8c0d5f74be5adebd637b40e3e4a57c8b6cd5ee30376face8cce50712c9e4e0699a2dc1f2a4e7f307ab00b6a3c94f75217c8681b17276ecb805e508590a3255c21ad4ab326fffd864530cdab6a284a19bc078f8ef7d9f37de4813e56185b0e985d1caf8f9b1f2943e5068ee7871c01fb5fc4493caab900967a3ec8cca5d71df025265375f41ad05dc418fcf5973cbfc5fad7f9ade85fba892bdb22eeff61be6711e4b1c40a9299ad161da59c19a87a994b45161ea1724eb1547ed815f606a0b1c2993f71decbb56ff9107ec7fb2fa2aef40c4eb11ef48265e2163408ab2ff28cd6b512d6a8aeceaf97832eaa6c438d6171cdb7dd6278c582564281b0423127255ffd7b6045d377398f92e86a86ab02fc8a6836462102d24610fa20ce6b2673f1707e78bb616c38297b3f6028779b5681a1c79584c9ff2d5fe89e367355f581cd54f4bb32b5f60daa55aede8f91beeaca87780c0314d28badefc996c6debd8d3c01d68d439134a1daef7989e0b782f8780ee65c2ef3edd13f0295d748dc5ec6d55430de1a8f8dc18b6729fc0c247cf4169dd2da124f2656e8a3c9229d41709f0ab0e22f1f024a63d7fbac19d450afbd733903be8504b46f77f3ca89ecf080c4cfc03fc789c7a73b0ce896070cd120d70fdb06a8dc29da882fd4821aa8d4d2163391ec7c4fbe6a5ec6ffe129e8068c090823fc6c8717419d10e2929a4bfd370dc4afc8bbdacad42e8a98dd9eaac452dd605671056cabff996ae5f9dcab2522ff4ecc025bca3afbfc9cb4fcb546f74e362088171a5880ceec65aa99edd57879dc5b6aa6d72743df393c797c2e440b6838df8c32972ce90dddccad8cfe4e148301b28b5c7057e9c2be62e5a4d7d5113586430a60b991ba8b022ea840ebb67e0589911bea06877d731d4cf00d0014ddd3b1de9ebc4bf641fd5841eab7af8caf4ad916c3e78600124dad9b1971748cc58b8a5b123f7026f8f6c748593903322f5e481a8fe8935aa52ef8557d81b21008f17b24940a7b7143c83db54ab063ade3ee11fd352e7b9cf6f9374d48d177b1e49398110a8a9a64ae78f48aa222cf2849c4f41aecd5c07719b1efb42e872eb4f378d1580ac6e75d4c1885820871f394b06404a0f996e3e438606e927b64c0d7dbc7d0f45a1bb37abfbd61deb2e9046076e9db0dd59beec3064e7e84e9d8435a1906da4e2921833a9f0861907ffb2d7076338e97dd0892ddff61466c5e96f684f917808c1bc1a3915abc08cf5d057243fb8427f6c2821b1bfdf3b57e6e08686251d5872a58b16fd086aad306ea268156095ea105d259ef00ec4fa8aeefc946414b9914608fcfeb9bd39dfb9d64af37534a52c88c319f83015a9ad0b6c1e31abab527d75701ec178748766dfaeb55ca8e6ecfc7d05472240afe0454a4df47bc8729d804afd01040cbc34ce2da166a6eb922839d49f33aaa9cae1250f036bcf61fd807382d1eab5bc52b8928e27eb7731e34b8479297d14faf0487256d180f7ec4b58873dfa7a2720cbec1904314950c95aaf2fa62e0d76a72e41d8360c0dcd10bed7ff2ff0941220605a45f60168423419126ca8a16e5fb4e0ecd92fa6e1da5f1c35393e409e2753ddc99cb2c663b411ba7f9654d8e768cde8d5658bdcb124c699132a4af0eddda9ceaea5960175bdee0db2d30f1d130d8b2afc0e74c82186b8dbf423e2d376985d90eca1b553aed175bc54d4ca0bdff27d55d91ffe0413c844988d096d2ecea313e8d5dc979f7ac9999c03eb9f342077395fb66c25e08ec6aa7621fad668da068660857453e5c8fd46bd102efc7965610521870e8fb4b8af73345addfb0896360a393765aa92a39ef267e2122c715b20600f323dfa66430c87c10b0dddc9c13439278423d701e7bbc62b3c785a90d233f6806f50ed8148c47f128430304ed7b3b19ead9a726838f041bd0e19adfd4cab83cb7f4588ee7453817ba627fd550fe42486794509b6b62b25655c7f38d7aecc7ad9e4a2b469026131de277edc06842f04c9bee350ba6d073c2536d3f7a4bfca1e0eb686e42385bb5f7e6b67b5912556a77bb10506648b089e1c04dda1b35ca46853a54377aec3072117345d968616091819166605ce5b47f80ceb0c7585408062e3143dc38815f0eea6e476912a4b2d8fa40ce6cac858942730503257fbf7ca155b5b0053507a3d01f05e6637e9782f1e4f0140d4daa83dd41860d39114f0d65bb3d632d1c8c44f4a44e567823b32d3a4e76611ecafb2ebf364bd880314ec11e4197cce61cb8da03e63ab77655b94eee02b4e8d0244382466975c68cf63f9718ea2b3ac9dee279aedd23080eb98a2f8fe4c5dfd6d6455a646cd001f416a6a0ad47cf8c0169abea2668dec9a79b30ecf9856e2e8e40dc9cbcbe0fdcdace97d2b4d56a1f4ff5e778db6041456c49bc6e03a6854ac885c75c9c471db141923e0ea378454d0bbf84eda14c345431e3feaa08231e06809db52e4c190ad99368deee3e1fd8ea232b6f311e11b37360d5362ea4f0198aa3f3946040ea179e383a427c6587ba271befc5f01701b644315de84555af1fd1063f231fff956c5186207ebe574f75eff44f892fcd66121ce026fc804bf31907dc24c825ddb5e20749bb2b27c235b439bf27b766d62156f83e0dd2b7282699dc0b43ac8c46d5e92a7f0dabcaa007739ce41caf3bb58b175476165a9f3aab6186e3f318d19f2dfe45cf246b912f8207a5853b070dd6751daddd9129e93325890dfd20e4674cd9306472b4be6f54007b7c07a2cd238de40112e1c749d3eb9faf1245d284eb94ab41db25401374aaba9addd8afcbff7456aa9c86919081560a0c95e876213744f71428e2abd0c558a66e4a4d10c4c84b2e91f799fbabcf3ad90d0df5cafbe2f3727ef2edabd2d70f905888cddb4e4a5727a193f84b90acf420970b8e639f4ed1d74f905f66272fcb9004574bf270963072db46bae8800f40e9b5d64cd90308b09b16d975342f02af7c36f53f5e84d70f4bfc4b1aed6d0321020321e644b0fad9dc257c77fe8a730cddd79e1213e67cac4cbc4ca816909dae901b81e98ea08d7d3c995166c623c05b780f8fa270380c76ee8377698351a6dfa6e32670816ac644224d9ddf2c53482bcaf27029b5fae84e8791a6b92b03ac7209e94ca14b24138d03ab8e09205e61be17da78f0274c33c8b7b34f95b06fa259709a71b41e0a306c44589fb32d313dc926970efe9360489f22c0bbc31297ca4ac6d5fc8b29ad80875a0b6bc631ce60a5a5f85d03dc43d74335b8ea3ba919d57d94db200d9438eb9275d8e226375933253a6ea2ca1351419b062c80735d112f53ea9685f40021bcb03a4b6eae99d6bf2e18d3d902bb0a211a630e77aeab63d3f2c807d9e8d4bec4c127ea35865c6ad28bdb2a1e10ac34c8fb902056d96043e0232cafdede3532e512189e426c26d5e7ec24800fd073be6ef38f58797762476eb3747fecb46b9515c158f5cc3295aa14db94e0a34d27e740e89b1a8cabb1e37b6ec4a6fdb4d54141bd37b110b465f5a3b4e6a6cd695086da9fa45822a463c0990d209dbe6c08f9ec61c7fc827400419f25611520acbc2be1a589f13630dd1664635333942ee3fbad22cf8633708182eccac542dd9f584d3b65886ded320f04baff54b73e3088c8d7828411dd2a4f1ec490", 0x1000, &(0x7f0000000000), &(0x7f0000000040), &(0x7f00000017c0)="b3d0d994ac413c125f73b6b9b03e31d05719ec4a9539b02e0e2b442269d6c134e396b9c96ceb4132e46a5a6811993c26c8a4fe9efe939856fc22818272644a51d4b5371e16ec63bbe38016095ff322e7b882b0fa06a04a207fbd00900e712883fad14fcb6258ee5f582bed3615d0a2facce9d47c6e090a69ceaea664f6ebea6abf4a3842a561bea410ba9f99cb17dfb5c7e7fe21c11c0e17918a3625f0584663b8119a52ee8d798459274403a334d0678f5b09dd041638f5bee9c7231c111caf402ea4156fdae43e6506c5a62145098785a117827003f327d0638325422f55c35d4a29cc4a34b376405f732ef5f5b312e428c36bda3e1117760e9171c3d1dacda7667cbb918e35d4a68d9af277342a8926d2da0900f19adbc58ca5f482d7d540cfea7a34eab7f96cf221c30e6d2fabbebf0d433a50c7f7adf81539ba0eb6929929a4e7d5e1334b8291a53c57ff073f6b5f69ed22b08bc445e11bd94a2e9961c5b2cbd3f1960ccccb94ddce30e3f807ad78fbf20c7b9da35d0ef102ac652ea47bfd88f3f696d118811879117a56bff2c3539409fd04cc4cf32a6c257224a741fec6731cc61d523c64f1f1ce16491d072442ee438065072bbcf080fc2cefc8b5e038031a77d1936fb26d203036d691910864abc4b9d7c8d0b170fab0da82b526add5ad89576b0b1d7fd28246ff9406d65377338b6a8a82e5c32ba65417e3db9b807b34af9e0a7f9634bcdacf2b7ee36f9839b05f681d588bb848a6ce3917d84a4a36e2febcae8ae2d00ca3a30a58d50a6a6fb2e62756ba3e2ddc73a3b0d83372895d175a7ea0d935e4e0081af3ba636ed0c9b16dbe57664428ade1c300e71779f23b38fd9a64ed9d24b898d48a88606ab8df9e16682b463bdbf7d8ff3806a52deb4332c45ef7bdd088c7685a1346a1546c1ffb26f1892f2814a499fb84dea110c7798ab320ea6788307341758465468efa80766d23666872bc21f182dc8771a002f592baa6d9546683e7ddb711fd91c282c90d7f8881dcfd3d6114842721c1fb51539ded691b966ce06b0f937cf1616bed94d3ce4b747923af0a09a83758da6a8f6412867af703063feb6fa9f84cb3432bdc8412b3b54375541d84fdeb3d9b92afc6ddc6cf420196f0bf0e4def7f2160cfec4d656ebfa2b1b33390c8e539ae9968b4987f315b0a307f8c50a299a68c4557b1218334bdb2f1abf37279ddc594311536466dfe4d8d3aeab548d33b3511a0a0c51642fe8bfec963b05e8d57615ea039a359d3002025b22dfcbbe76d68b263edf9866c1526ee6ac89e002268cad83b7e1106d10724d5b1b9b9e1f0fb8b1d0c6f3067ad63abafac6a4b4d8ba41ec60c41c65368032f33330799f02265d58f1e19fde79e36437cb17474e98a1c3fa10cc00bbd03165a995e15b7728fdbe613844ee55d9bf2366789974c9082b724335f3260b19aeb9db0de14a1d820f25460ffad7da893eb8123c0f6c0e79b98c002937c2ff7fce34725f6e2754dbad47ccfa3f75a8a979d9812b206eb6fe8d0a5a5ce357c75a4d17add2284367a8f5dec0f02119c400209b340ce5b25e1688574420dc08b61c08eb454e6ad85c29df8c0342c6ac596ae8a56d84683918481eb137f5bd683c3d2f1886ecfd5065368e62c6cc910eb898129ba5e528fa1a06bbfa0db3bc10453050def5bd34ad1b9f4ddcc38a9052f7ec5286d69fe5f9a7de2d812051048a82e01125149d365021fd71404887febdfdcbb934a6b0e2adf9929280a037b614bc24696f3130579dccefdd1be940d2cbb31af8d4582ae03aeb3f76d7cf7dbfdd9987d8559be98fcd8c215e7feb32ee0a9ced50053106c000623b5a863f562f43f384e6c3fe7a6a8d477f9982a83855d89af807ec0446357f7f974db957820f69448f4b33304f31e167fecda31119363084bc1194a9e8d2c8ddfb1e738569e672422bafa0db980b9cbcedab539b86eea459d1476d229a9033283aedb9353e4f3488c66f18cecc90592de73010c734f4823e93292933a220266cf39a294c6d47da86abbdd34ebdedee04339124ce632ede28888c2bfe106c6bd4a96b971fd4ee04b9d7c13b6a853b4a76eb817e9b3a6d55eea2c8d101aad84c490763872a5c12245b2dddbb8fc980be5c60691db6ef074e8b8d86c845edca47aff37c8aaf9121e338c39d462f73c68e49fae828b89670c6486fc29340629e34a646634ae0bf4f53312d20433871706f128898b37820f5fdcdd6e92e9f15c1b915f94383a3743901a8cc5da181e591aca86d45aef1ac606542f3a2a1bbd9c40af9936100e9144f315a2365ec929b22e05add1064737031c0fb80e3c1dcdb040a067679ab8cd349de142815c9bc80c1e50ec582baa364a3f7ee029fe043ff3b4747aae19a7dba8ccbec8baac70b5be587cf62d25b296d770beaa746e1e024703bf49c9ae5459a7bd4ea2163c17a58f8c895a4357ee9d681477f928d2ebfc2ce4382959cc9645892a9931dbb4fbdff0b4d82c76a3a43cb5adacc7dc973a0b8c39ab5186a76d162ff5c8eec5c8c758a9ad5d6edc040153fe419df9b5a73d6156d7e5c677c1889cd10f3a66994e73076c2c0321796bbc2df7d3d2eea61c6f42b2f79f1a51938eb3e45a22227362a6ef6a39ea8f3052cc4763ffc2c91a0a5dc62108cdc1f45152cb18a09fd1b494e9b3ba7502c58035c33c71edc2eaa38a6f3629b952bb5634fcaa2c42545e254e23c37584b89900911e3d2abe4c61c141a0fe200318c4c8eda3cb2ddf8872935d03f75e0a336155e02a3a3fb1177fe1054afee24c372edd657b50fdfb9379a581279ebb12d299ff0367c344ed5b6218e866c0a8c1103735d6aad291b0a0deebb4bfb401bec2ac2b6640e68dad13cbc46eef1de2578311cf0b6979b95d1867a4108218e96c7de563d38e9f03117d51b184a9ce1e66f8f3274e014f3449df190c6b509016fe459ede61742f722ffa66f3aa68208c30bc7a5aeb117e503d86afca5f19084d98bda6ab2c017f28cc13fb8ff8c08293e4382158da4bdf66978cfb9d7d029a2e06a77c447fdab9d77d279cfbe89a139604d969f92f41b731a5ff95efd712863d1ae1db478eb60b0a0820c2f00e3f7fdf07e44cd23ac962ce454b123cd960fa19ea8aed1fb7086ad2820ec29daf1aa0370da36a7263726e2e54544edeab2efd2ce7fa0835259d7f6d0db3a1b5c24ed7de5c793a34b7d09c60252fdcbfb4b172def8ad6862e00df5110f91caddeff4b369763971c6d241e8b24c75ce783424ad765f4db03681a141ea78088cd5c213c91ca9b54794b82c355d51b4948ec82a395ba7c13b4a15eb6964ab4307ecf8687c744e279f6a74a7fe5a0b61d51bee8a59d4645c331dff28c62bfc046347056aa542f9e9444d19423174f1bad9c356506a30f0521525592e4a21039042a3dbde597114cd1f3ecd1bacc911e3c0ea6ef0063f992652d4b55d388b0394a6b15f19c47ddc34326fd5419a662c2b942497fea9b9c996149e9f812c62900f651d9aa08202e7ab7e3e7283200a7153c2578762d5153ad3249f359fe45cf13ff7d94de258b67fa3503d31cfc9c2c16bd8efd986c45c96f57acb53f5fb5aad87f01e60b3d176f6bd765606ab3bd49a822428e0e752bd9dd78e52f10d809ac9cb57d4c33206faad8e2b16b2d19f3c7df1ae0dfd60cfdcef43b44afb7b7022b8b4cd7df488d2fa6bdff612f5e87c19058a2ebcabad693a37fb5305aa5a35ab6ed725440a0c6cb058752b3e8779e1244464a873c91e5411c0de4d17dbb84642f2426b5e6d256fd029e47a6327a96294001d9caef46bf457b7b2ab81b2fc8ddbc378d76a538f7c36fb14813ee633ad7511b35f05cb67665c3b82e05e70556a677927ba8ce519928ef1ebefefea7ee8c3ee8cade21f34ce88aa63f0fd192b5a9d310e4fabf29af8d9efa3cc53e0edd1895c862eceebd31f72985aeadef43dd9d2e2845ce72f5865cb40e2c8b495b5c340a5c0c3ca7e5accbc01e3dd2e5e707dbde35d1fd342801e60610749f2c4603cd5ee17a90302c15feef4b6c350b3313facf01fa6705bd43f2b5629786c1b98dc96529574822e6767cba8d441d71febfa8caacf671eb15f16df73a9c12547930d81213c4f5a68b882cbfd09acade0c8635a2dd03a6b87933bfdc707720544111598f787d03488a6801791652f904f900d0ed70809941670e0437f561d2029b057983d9894c6f4ac64e1932f328066ac5faa7974fa646f70aa5f467fd0f9a1a1c95b2252eb11dd4f4a83e00711481d349feb53303088c078a6e356caa1bd19c5f46c81f2f9bd9cf9d99200417881b01978d51d02388ee8b051fca7cbcac0208ea306fe77a9f3e6d8122f6255816736c11854500bdd5e6a015db3687f224fb17f7bef11a6b4a7361796583385a77f91a8bc2e14e5f0f7e55a77df9145f3f5207df40118c90f7ff71f30d621d0f5cb6217f2891d43b3d43500de5e891e2a47825bc0940ecff74805031cb3b702fbb333c72dd64d7810138c6fb23059281f5f7e8005e14bdbdd37cb56702a417c526e80b534ce4dc504c5bc5ba1ecf688772578ccaa139806c5b5417fab173fd25bc87b5e5cc57062dd9fd2605dbc57bf6eb9f948d1a30f22e8c483c4826a3e9397acb2e7e4bc9d8eb058364c2073675b6b38f180c89f08f0de24f3b5cf5d96014c54baa6a1b7e4585c4c4c192fd5a681805eb55e8e8a887c0803f64e0c8c7e872a3a158af61d2db9038f0d7866031b51446be51e8506e0fdedfc9239890817587d3b7b0b1dadfe6051a6412ef185fcffd9886c633119b443b4dccb04cd10397c23e733fa4fd78575b13ed85deb71b9e9848a812658984ae10d322f02bcdf42664c89b80018a3f12ea33ac823647dba01f4bf13709d1ceef77b13d4ec5da7e61d79d390be2df601f24c390b0b81c654b9e96e065c4b8663c147322c232649c1385f9711725955e200247614585f1fc001f8a25b88e07d01bfbc4658542c5bc6036c4f825da3ff73498d7058bec24a71b198dbbdc780dc436ec239ffb763b2d897ebbbc9ff8fa0a81285f594d3f84fb4b4217505113fde50791f50f9b0fac305d901e70b150908ff83e17874a0ae520c4f81cbdcdfe5187018cae0df58fb470b2c9a62a08409d9371085ae75381ce0d3b91596016f779e9ff71dee9f1bc1f1c7748189a1e5384e1bedd19c8c1c0074db033c4476d7004e4e2f689716ea8c4ec63a50ba4c997aa8a3273f78338db5245f64b6fd0834f02a49a5d5d9525f7c980362808667d09eb201deee616e4ccbefecda139a5085bf45bf107243593ce1a29749854b85f9e669ca17967c330b82b068ec80e2f2d1066725da482a7a310c1621bcb42b6a895e2df612d349b50a848683e662ebcf883feeda518059c6c8e803c6c4201991f296cda147337e94a0a45a3b50bc6387741228a76dc7c77440eb3821107c9cd461d6af412e18f1b1566d51837392fb30dcb8182be847643cf70aede6a3fb33b3c19b83a72171012dffcb63a277658be3692412c9163478634596b3e11f0ecf3da2275cf7fb436a07cff1687348d337e83070c1cb24f1c7eb99a87ffc053e51ce6df42d0751be76107deea79f0aa636d9d1a05aa59024d2b1bd96cd7cdca0310925e1ee8a9b4c170844e47998dceaede999e952f5b6bbb9663b5c056b10c14694a05c45ba714e4ba045ae9b8b1cd40771de92304bd849c57eefeac417b47538e20b75f895c814114edeaec717167bc79b08a54c247226a73512b26ba3fdb9f3a9fc7e40e1268b8c64488f3dbdb0322676dd78f9") [ 228.120411][ T3841] syz-executor.3 uses obsolete (PF_INET,SOCK_PACKET) [ 228.137090][ T3845] loop4: detected capacity change from 0 to 279 [ 228.183079][ T27] audit: type=1400 audit(1664591065.937:121): avc: denied { open } for pid=3823 comm="syz-executor.5" path="/dev/binderfs/binder-control" dev="binder" ino=2 scontext=root:sysadm_r:sysadm_t tcontext=system_u:object_r:unlabeled_t tclass=chr_file permissive=1 [ 228.183701][ T3845] ntfs: (device loop4): is_boot_sector_ntfs(): Invalid boot sector checksum. [ 228.233434][ T3845] ntfs: (device loop4): read_ntfs_boot_sector(): Primary boot sector is invalid. [ 228.252593][ T3845] ntfs: (device loop4): read_ntfs_boot_sector(): Mount option errors=recover not used. Aborting without trying to recover. [ 228.261169][ T27] audit: type=1400 audit(1664591065.947:122): avc: denied { name_bind } for pid=3823 comm="syz-executor.5" src=2 scontext=root:sysadm_r:sysadm_t tcontext=system_u:object_r:reserved_port_t tclass=tcp_socket permissive=1 [ 228.277776][ T3826] Kernel panic - not syncing: panic_on_warn set ... [ 228.277790][ T3826] CPU: 0 PID: 3826 Comm: syz-executor.5 Not tainted 6.0.0-rc7-syzkaller-00162-g5a77386984b5 #0 [ 228.277815][ T3826] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/22/2022 [ 228.277827][ T3826] Call Trace: [ 228.277833][ T3826] [ 228.277840][ T3826] dump_stack_lvl+0xcd/0x134 [ 228.277865][ T3826] panic+0x2c8/0x627 [ 228.277888][ T3826] ? panic_print_sys_info.part.0+0x10b/0x10b [ 228.277916][ T3826] ? preempt_schedule_common+0x59/0xc0 [ 228.277944][ T3826] ? preempt_schedule_thunk+0x16/0x18 [ 228.277971][ T3826] ? ntfs_attr_find+0xb88/0xce0 [ 228.277994][ T3826] end_report.part.0+0x3f/0x7c [ 228.278019][ T3826] kasan_report.cold+0xa/0xf [ 228.278044][ T3826] ? ntfs_attr_find+0xb88/0xce0 [ 228.278066][ T3826] ntfs_attr_find+0xb88/0xce0 [ 228.278089][ T3826] ntfs_attr_lookup+0x1056/0x2070 [ 228.278113][ T3826] ? mark_held_locks+0x9f/0xe0 [ 228.278135][ T3826] ? ntfs_attr_reinit_search_ctx+0x3c0/0x3c0 [ 228.278159][ T3826] ? rcu_read_lock_sched_held+0xd/0x70 [ 228.278180][ T3826] ? kmem_cache_alloc+0x39e/0x520 [ 228.278206][ T3826] ntfs_read_inode_mount+0x934/0x2580 [ 228.278234][ T3826] ntfs_fill_super+0x17c7/0x92d0 [ 228.278260][ T3826] ? lock_downgrade+0x6e0/0x6e0 [ 228.278281][ T3826] ? parse_options+0x1d70/0x1d70 [ 228.278306][ T3826] ? snprintf+0xbb/0xf0 [ 228.278327][ T3826] ? vsprintf+0x30/0x30 [ 228.278347][ T3826] ? wait_for_completion_io_timeout+0x20/0x20 [ 228.278375][ T3826] ? up_write+0x148/0x470 [ 228.278400][ T3826] ? set_blocksize+0x2e5/0x370 [ 228.278425][ T3826] mount_bdev+0x34d/0x410 [ 228.278450][ T3826] ? parse_options+0x1d70/0x1d70 [ 228.278482][ T3826] ? ntfs_rl_punch_nolock+0x15b0/0x15b0 [ 228.278508][ T3826] legacy_get_tree+0x105/0x220 [ 228.278531][ T3826] vfs_get_tree+0x89/0x2f0 [ 228.278551][ T3826] path_mount+0x1326/0x1e20 [ 228.278572][ T3826] ? kmem_cache_free.part.0+0x1d3/0x2e0 [ 228.278599][ T3826] ? putname+0xfe/0x140 [ 228.278619][ T3826] ? finish_automount+0x960/0x960 [ 228.278640][ T3826] ? putname+0xfe/0x140 [ 228.278661][ T3826] __x64_sys_mount+0x27f/0x300 [ 228.278682][ T3826] ? copy_mnt_ns+0xae0/0xae0 [ 228.278703][ T3826] ? syscall_enter_from_user_mode+0x22/0xb0 [ 228.278725][ T3826] do_syscall_64+0x35/0xb0 [ 228.278749][ T3826] entry_SYSCALL_64_after_hwframe+0x63/0xcd [ 228.278773][ T3826] RIP: 0033:0x7f7e4808bada [ 228.278789][ T3826] Code: 48 c7 c2 b8 ff ff ff f7 d8 64 89 02 b8 ff ff ff ff eb d2 e8 b8 04 00 00 0f 1f 84 00 00 00 00 00 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 b8 ff ff ff f7 d8 64 89 01 48 [ 228.278810][ T3826] RSP: 002b:00007f7e49135f88 EFLAGS: 00000202 ORIG_RAX: 00000000000000a5 [ 228.278832][ T3826] RAX: ffffffffffffffda RBX: 0000000020000200 RCX: 00007f7e4808bada [ 228.278847][ T3826] RDX: 0000000020000000 RSI: 0000000020000100 RDI: 00007f7e49135fe0 [ 228.278861][ T3826] RBP: 00007f7e49136020 R08: 00007f7e49136020 R09: 0000000020000000 [ 228.278875][ T3826] R10: 0000000000000000 R11: 0000000000000202 R12: 0000000020000000 [ 228.278889][ T3826] R13: 0000000020000100 R14: 00007f7e49135fe0 R15: 0000000020000a40 [ 228.278905][ T3826] [ 228.287068][ T3826] Kernel Offset: disabled [ 228.590065][ T3826] Rebooting in 86400 seconds..