fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x20024, 0x1017e0}], 0x0, &(0x7f0000001300), 0x0) (async) r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$devlink(&(0x7f00000003c0), 0xffffffffffffffff) sendmsg$DEVLINK_CMD_TRAP_GROUP_GET(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000500)={0x40, r1, 0xc47d9a06c7edffeb, 0x0, 0x0, {0x38}, [{@pci={{0x8}, {0x11}}, {0xd}}]}, 0x40}}, 0x0) (async, rerun: 64) sendmsg$DEVLINK_CMD_TRAP_POLICER_GET(0xffffffffffffffff, &(0x7f0000000180)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x2000}, 0xc, &(0x7f0000000140)={&(0x7f0000000080)={0xa8, r1, 0x800, 0x70bd2d, 0x25dfdbfc, {}, [{@pci={{0x8}, {0x11}}, {0x8, 0x8e, 0x1}}, {@nsim={{0xe}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8}}, {@pci={{0x8}, {0x11}}, {0x8, 0x8e, 0x85a78571b00210bc}}, {@pci={{0x8}, {0x11}}, {0x8, 0x8e, 0x3}}]}, 0xa8}, 0x1, 0x0, 0x0, 0x24000040}, 0x4008008) (rerun: 64) [ 314.362496][T14112] loop5: detected capacity change from 0 to 4119 [ 314.381467][T14112] ntfs3: loop5: Different NTFS' sector size (2048) and media sector size (512) [ 314.432006][T14112] ntfs3: loop5: Failed to load $Volume. [ 314.470260][T11620] I/O error, dev loop5, sector 3968 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 2 [ 314.612857][T14100] loop2: detected capacity change from 0 to 32640 [ 314.615073][T14100] ext3: Unknown parameter 'íØôe_Øôe_Øôe_' 00:43:38 executing program 4: bpf$PROG_LOAD_XDP(0x5, &(0x7f00000015c0)={0xd, 0x4, &(0x7f0000000000)=ANY=[@ANYBLOB="18000000000000ff00000000000000002c00"/32], &(0x7f0000001400)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0xc, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) r0 = bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000180)={0x6, 0x8, &(0x7f0000000040)=@raw=[@alu={0x4, 0x0, 0xc, 0x1, 0x1, 0xffffffffffffffe0, 0x1}, @alu={0x4, 0x1, 0x7, 0x0, 0x9, 0x8, 0x1}, @ldst={0x2, 0x1, 0x5, 0x70917219176d6aa0, 0xb, 0xffffffffffffffc0}, @btf_id={0x18, 0x3, 0x3, 0x0, 0x4}, @exit, @generic={0x15, 0x8, 0x7, 0x1, 0xf1ee}, @jmp={0x5, 0x0, 0x6, 0x3, 0x7, 0xfffffffffffffffe, 0xfffffffffffffffc}], &(0x7f0000000080)='GPL\x00', 0xdf, 0x0, 0x0, 0x40f00, 0x18, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, &(0x7f00000000c0)={0x9, 0x4}, 0x8, 0x10, &(0x7f0000000100)={0x3, 0xe, 0x2aceb9d1, 0x7}, 0x10, 0x0, 0x0, 0x0, &(0x7f0000000140)=[0x1, 0x1, 0x1, 0x1, 0xffffffffffffffff, 0xffffffffffffffff]}, 0x80) bpf$BPF_LINK_CREATE_XDP(0x1c, &(0x7f0000000200)={r0, 0x0, 0x25, 0x2}, 0x10) 00:43:38 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) r1 = socket$nl_route(0x10, 0x3, 0x0) bind(r1, &(0x7f0000000080)=@l2={0x1f, 0x8, @none, 0x7, 0x1}, 0x80) (async) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) (async) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) (async) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) (async) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) 00:43:38 executing program 0: r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) syz_clone3(&(0x7f0000000300)={0x400, &(0x7f0000000080), &(0x7f00000000c0), &(0x7f0000000100)=0x0, {0x16}, &(0x7f0000000140)=""/131, 0x83, &(0x7f0000000200)=""/158, &(0x7f00000002c0)=[0xffffffffffffffff], 0x1}, 0x58) r2 = getpid() sched_setscheduler(r2, 0x2, &(0x7f0000000200)=0x4) r3 = getpid() sched_setscheduler(r3, 0x2, &(0x7f0000000200)=0x4) write$damon_target_ids(0xffffffffffffffff, &(0x7f0000000380)={@val, [{' ', r0}, {' ', 0xffffffffffffffff}, {}, {' ', r1}, {' ', 0xffffffffffffffff}, {' ', r2}, {' ', 0xffffffffffffffff}, {}, {' ', r3}]}, 0xc5) syz_emit_ethernet(0x42, &(0x7f0000000480)=ANY=[@ANYBLOB="aaaaaaaaaaaaaaaaaaaaaaaa0800480000340000000000069078ac1414bbac1414aa070c0a00000000000000000000000000c75b1ada35fa5267210fd21b5f21bdea503f0839e3216e0496691c16b02effc05b6716053b9e6a5063f4f9ca2eed97adbbed79b8699a82e8150599808ccf3ff38155a2dd00437e50d9ea69d5cd61bb", @ANYRES32=0x41424344, @ANYRES32=0x41424344, @ANYBLOB="5c00000090780000"], 0x0) 00:43:38 executing program 1: r0 = syz_mount_image$vfat(&(0x7f00000002c0), &(0x7f0000000940)='./file0\x00', 0x0, 0x3, &(0x7f0000000080)=[{&(0x7f0000000340)="eb3c906d8d6673fdd2617400028001000240000004f801", 0x17}, {&(0x7f0000000140)="57595a4b4193a791ce2ef12bac0f034ec16dac4edec96ae10b53c1ffadfaaf89cc", 0x21, 0x600}, {0x0, 0x0, 0x10e00}], 0x0, &(0x7f0000000040)={[{@fat=@codepage={'codepage', 0x3d, '860'}}]}, 0x0) r1 = openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000000), 0x30500, 0x0) r2 = socket$nl_route(0x10, 0x3, 0x0) r3 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r3, 0x8933, &(0x7f0000000200)={'batadv_slave_0\x00', 0x0}) sendmsg$nl_route(r2, &(0x7f00000000c0)={0x0, 0x5000074, &(0x7f0000000080)={&(0x7f0000000c00)=ANY=[@ANYBLOB="3c000000180801000000000000000000000000000000041be29328a20016800c0001000000000000000000080004008ee889b07e0b07023b15ab18ed0dd0592d5a28e98f25b7070ed73182353b2319e04ba33d41b460b3ff6267c12de563c4cfaa06bafa658b91c8f94491d09d244c50cc4cf09381a35dd222672bfc64c0ec354566e242cb03797dd3620279f571b41f526c45e6b74f0f1c7905d6d82e750ee7e99049b158625441d50a9c478cf8110ee640135422896c22a8aad64e", @ANYRES32=r4, @ANYBLOB="0600150008000000"], 0x3c}}, 0x0) bpf$BPF_GET_PROG_INFO(0xf, &(0x7f0000000900)={0xffffffffffffffff, 0xe0, &(0x7f0000000980)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, &(0x7f0000000740)=[0x0, 0x0, 0x0, 0x0], ""/16, 0x0, 0x0, 0x0, 0x0, 0x2, 0x2, &(0x7f0000000780)=[0x0, 0x0], &(0x7f00000007c0)=[0x0, 0x0], 0x0, 0x8, &(0x7f0000000800)=[{}, {}, {}, {}, {}, {}, {}, {}], 0x40, 0x10, &(0x7f0000000840), &(0x7f0000000880), 0x8, 0x10, 0x8, 0x8, &(0x7f00000008c0)}}, 0x10) sendmmsg$inet(r1, &(0x7f0000000b40)=[{{&(0x7f0000000180)={0x2, 0x4e21, @local}, 0x10, &(0x7f0000000400)=[{&(0x7f00000001c0)="a533e78b661b7cd98c049ee7edd1fcda0016964122cdf87b145f4d7576c7c9bf0641ccab6b80d43543362e3c17cb3667c46251d5eaadb5027a828b571151bbf03b5173e92d170c80c2fac465cd6ec4288a882f35869806eba41fbe98a44cc33896308fede7289cea4f0bd69e57c3dfbf7597d3ea0a7fd95051035ac4f8606f722bf6083bba558bf8bb7e31e38bc6d0177a03d134983b39eb5198b14873aa23f509919ffd3a72cdbc0842b5dfb7ab874ea3e6c53b4b886609b4131ab27a6fc66814659e13802a3f7d4b47b9b953a1ab9689a4e68f610f933c12524156b74c04c4e04d", 0xe2}, {&(0x7f0000000300)="3e8946b462079ec6e5b55f32d250c3b17f3cfbe8b59fe9db63fb84ff832866dfb21a173f3ab1066f20bb1cf8174749c83d9b4bfbe4", 0x35}, {&(0x7f0000000380)="edf8d91ee39d7b9aa7ff74d337807588ae48cb67e5313c3ebabeb373aeac83abf4870118d91f37c1287377aaa66da55fd92c72a27104c0eda1821c94c047a9e51d24705cdac697", 0x47}], 0x3, &(0x7f0000000440)=[@ip_tos_int={{0x14, 0x0, 0x1, 0x2c2b}}], 0x18}}, {{&(0x7f0000000480)={0x2, 0x4e24, @private=0xa010100}, 0x10, &(0x7f00000005c0)=[{&(0x7f00000004c0)="d67923d0a978b4c98c76f93361d5029c1a8c02add7a826d2ee952b72b9cb633e78eae39b7f140fc27a47339eee2e341d14e264adc5457153d7e025cf85f1193db639bf859bd3f057af5b4a1c3968855765800d4b9e0af679febffdff116b37093ddcc6d89c8e3547e4e570e9cf778acafca4ba937e20de3374f4754a4357fab958d6ff208517b379df3ec9a0f264a91c7770a5ff9eec6d0b695ccfca7d4154bd0c0239db6689f2249eb853f1f3b79c64b55ec63536925499627572a2e4e01b92bf54db15370dfd861a13", 0xca}], 0x1}}, {{0x0, 0x0, &(0x7f0000000700)=[{&(0x7f0000000600)="d51d7582c7e8c8bcd2a58afd6adc6a7b0f2132a7347ae2f72587f21be96440bf02d5516124d9e96b267165731df0a4da72e2e42322dcbc6491c253a36c0907cd50fbaf28baca6fb9c8c86d1d8fed0f1ddc87c613a417eafa781d5aa740646a2a1d0aa1342361d3fb1078c38cd656d00763ed3a4c1d0950124d78f9ba9071f28d083d1a4a93335fcada525257f4bd105021ff3f2f29d0c69078c3ce33a9a770f58f75", 0xa2}, {&(0x7f00000006c0)="38583cee7610e709ea578705e76f73", 0xf}], 0x2, &(0x7f0000000a80)=[@ip_tos_u8={{0x11, 0x0, 0x1, 0x2}}, @ip_pktinfo={{0x1c, 0x0, 0x8, {r4, @broadcast, @rand_addr=0x64010101}}}, @ip_ttl={{0x14, 0x0, 0x2, 0x6}}, @ip_tos_u8={{0x11, 0x0, 0x1, 0xf8}}, @ip_tos_u8={{0x11, 0x0, 0x1, 0xff}}, @ip_pktinfo={{0x1c, 0x0, 0x8, {r5, @local, @empty}}}], 0xa0}}], 0x3, 0x800) mkdirat(r0, &(0x7f0000000100)='./file0\x00', 0x0) 00:43:38 executing program 2: r0 = syz_mount_image$ext4(&(0x7f0000000000)='ext3\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x4, &(0x7f0000000200)=[{&(0x7f0000010000)="200000008000000006000000600000000f000000000000000100000001000000004000000040000020000000d8f4655fd8f4655f0100ffff53ef", 0xffffffffffffff44, 0x400}, {&(0x7f0000010400)="020000001200000022", 0x9, 0x800}, {&(0x7f0000000040)="edd8f4655fd8f4655fd8f4655f0000000000000400046fdbd0b6f0a8b8c89f52246aa5c3fe6f73d7a053eda62d640963c8754ea62682fc1bb1cc704d8e3df7fecf67db4d708507ab895b30e77c7ede0c871f720f257efb7e0f2ac28a26f39af4f1fbe80ff276d23d70456eb5a12a94daf845574c0741693786fd659fb899b23750151f9de3d68611749c4fa44427e5c4aa01175534bb4e49e463a3dd9dc1e05a46be51dcd4182e75bd64293447840674", 0xb0, 0x5107d}, {&(0x7f0000000140)="8cd721b01ebb7dac932d6152dc2e5e72267ef4874bbd64583cd268b38f4afc92eb52eaf9d3c5be10d76d9ea52841795f948b6ea88174afab57a19626754e08cb67bd4d5ab90f9bad03816de345c3607045c883295dec877f78df3007dc0fc0c1ba3d30e983d7722274358d4b2bb0caba82baa1eea42094c088aaafa7a3dea247b886a9cec7b0a8717c143c010e29a648b42ae5c38bae3a47993b0a4fa77b76d6ace1d371ebee3f39130eb2189a4d363058d060128611ecb8ca61ae85da7b", 0xbe, 0x9}], 0x80, &(0x7f0000000040)=ANY=[], 0x0) r1 = getpgid(0x0) sched_setaffinity(r1, 0x8, &(0x7f0000000280)=0x9) r2 = getpid() sched_setscheduler(r2, 0x2, &(0x7f0000000200)=0x4) sched_setparam(r2, &(0x7f0000000680)=0x7ff) r3 = openat(r0, &(0x7f00000002c0)='./file0\x00', 0x4000, 0x100) r4 = getpid() ioctl$TIOCGSID(0xffffffffffffffff, 0x5429, &(0x7f0000000880)=0x0) r6 = fcntl$getown(r0, 0x9) syz_clone3(&(0x7f0000001a40)={0x0, &(0x7f00000008c0), &(0x7f0000000900)=0x0, &(0x7f0000000940), {0x40}, &(0x7f0000000980)=""/110, 0x6e, &(0x7f0000000a00)=""/4096, &(0x7f0000001a00)=[r1, r4, r4, r4, r2, r2, r2, r4], 0x8, {r3}}, 0x58) r8 = syz_clone3(&(0x7f0000001d00)={0x8100, &(0x7f0000001ac0), &(0x7f0000001b00), &(0x7f0000001b40), {0x2d}, &(0x7f0000001b80)=""/130, 0x82, &(0x7f0000001c40)=""/117, &(0x7f0000001cc0)=[r4, r4], 0x2, {r3}}, 0x58) ioctl$DRM_IOCTL_GET_CLIENT(r3, 0xc0286405, &(0x7f0000001d80)={0x8001, 0x80000000, {r2}, {0xffffffffffffffff}, 0xffffffffffffff01, 0x9}) r10 = getpid() sched_setscheduler(r10, 0x2, &(0x7f0000000200)=0x4) ioctl$TIOCSRS485(0xffffffffffffffff, 0x542f, &(0x7f0000001ec0)={0x7, 0x7, 0x401}) syz_clone3(&(0x7f0000001e00)={0x400, &(0x7f00000006c0), &(0x7f0000000700), &(0x7f0000000740), {0x29}, &(0x7f0000000780)=""/102, 0x66, &(0x7f0000000800)=""/91, &(0x7f0000001dc0)=[r5, r6, r7, r8, r9, r10, r4, r1], 0x8}, 0x58) sched_setscheduler(r4, 0x2, &(0x7f0000000200)=0x4) getresuid(&(0x7f0000000500)=0x0, &(0x7f0000000540), &(0x7f0000000580)) sendmmsg$unix(r3, &(0x7f0000000600)=[{{0x0, 0x0, &(0x7f00000003c0)=[{&(0x7f0000000300)="3ce21ffbee6df78be1955f96d7c0d812c91030e3863038cf81059ca92c4e1e9f5f345f8be98404e3322707dd7298f035f6d956211bee709676f9360019768df0a229ece05a811b42cd40e1e87d54ec713e0ef87fc04aef610d4b6e63966dba8f111423b8e2e74509bc702119a33bcd5a364436e88b5c2697d522e9b3a1488c30660f21d0c343a7aab51a4aeaf5683301e2781c4011ed11061529673f6607473d4b73aef0ba75589300c95c8f8dd8", 0xae}], 0x1, 0x0, 0x0, 0x20004880}}, {{&(0x7f0000000400)=@file={0x0, './file0/file0\x00'}, 0x6e, &(0x7f00000004c0)=[{&(0x7f0000000480)="92a926c7d9cd7a0d6c4f94045287b31c7151362014bd374a7170542814", 0x1d}], 0x1, &(0x7f00000005c0)=[@cred={{0x1c, 0x1, 0x2, {r4, r11}}}], 0x20, 0x40000}}], 0x2, 0x850) syz_mount_image$ext4(&(0x7f0000000000)='ext3\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x4, &(0x7f0000000200)=[{&(0x7f0000010000)="200000008000000006000000600000000f000000000000000100000001000000004000000040000020000000d8f4655fd8f4655f0100ffff53ef", 0xffffffffffffff44, 0x400}, {&(0x7f0000010400)="020000001200000022", 0x9, 0x800}, {&(0x7f0000000040)="edd8f4655fd8f4655fd8f4655f0000000000000400046fdbd0b6f0a8b8c89f52246aa5c3fe6f73d7a053eda62d640963c8754ea62682fc1bb1cc704d8e3df7fecf67db4d708507ab895b30e77c7ede0c871f720f257efb7e0f2ac28a26f39af4f1fbe80ff276d23d70456eb5a12a94daf845574c0741693786fd659fb899b23750151f9de3d68611749c4fa44427e5c4aa01175534bb4e49e463a3dd9dc1e05a46be51dcd4182e75bd64293447840674", 0xb0, 0x5107d}, {&(0x7f0000000140)="8cd721b01ebb7dac932d6152dc2e5e72267ef4874bbd64583cd268b38f4afc92eb52eaf9d3c5be10d76d9ea52841795f948b6ea88174afab57a19626754e08cb67bd4d5ab90f9bad03816de345c3607045c883295dec877f78df3007dc0fc0c1ba3d30e983d7722274358d4b2bb0caba82baa1eea42094c088aaafa7a3dea247b886a9cec7b0a8717c143c010e29a648b42ae5c38bae3a47993b0a4fa77b76d6ace1d371ebee3f39130eb2189a4d363058d060128611ecb8ca61ae85da7b", 0xbe, 0x9}], 0x80, &(0x7f0000000040)=ANY=[], 0x0) (async) getpgid(0x0) (async) sched_setaffinity(r1, 0x8, &(0x7f0000000280)=0x9) (async) getpid() (async) sched_setscheduler(r2, 0x2, &(0x7f0000000200)=0x4) (async) sched_setparam(r2, &(0x7f0000000680)=0x7ff) (async) openat(r0, &(0x7f00000002c0)='./file0\x00', 0x4000, 0x100) (async) getpid() (async) ioctl$TIOCGSID(0xffffffffffffffff, 0x5429, &(0x7f0000000880)) (async) fcntl$getown(r0, 0x9) (async) syz_clone3(&(0x7f0000001a40)={0x0, &(0x7f00000008c0), &(0x7f0000000900), &(0x7f0000000940), {0x40}, &(0x7f0000000980)=""/110, 0x6e, &(0x7f0000000a00)=""/4096, &(0x7f0000001a00)=[r1, r4, r4, r4, r2, r2, r2, r4], 0x8, {r3}}, 0x58) (async) syz_clone3(&(0x7f0000001d00)={0x8100, &(0x7f0000001ac0), &(0x7f0000001b00), &(0x7f0000001b40), {0x2d}, &(0x7f0000001b80)=""/130, 0x82, &(0x7f0000001c40)=""/117, &(0x7f0000001cc0)=[r4, r4], 0x2, {r3}}, 0x58) (async) ioctl$DRM_IOCTL_GET_CLIENT(r3, 0xc0286405, &(0x7f0000001d80)={0x8001, 0x80000000, {r2}, {0xffffffffffffffff}, 0xffffffffffffff01, 0x9}) (async) getpid() (async) sched_setscheduler(r10, 0x2, &(0x7f0000000200)=0x4) (async) ioctl$TIOCSRS485(0xffffffffffffffff, 0x542f, &(0x7f0000001ec0)={0x7, 0x7, 0x401}) (async) syz_clone3(&(0x7f0000001e00)={0x400, &(0x7f00000006c0), &(0x7f0000000700), &(0x7f0000000740), {0x29}, &(0x7f0000000780)=""/102, 0x66, &(0x7f0000000800)=""/91, &(0x7f0000001dc0)=[r5, r6, r7, r8, r9, r10, r4, r1], 0x8}, 0x58) (async) sched_setscheduler(r4, 0x2, &(0x7f0000000200)=0x4) (async) getresuid(&(0x7f0000000500), &(0x7f0000000540), &(0x7f0000000580)) (async) sendmmsg$unix(r3, &(0x7f0000000600)=[{{0x0, 0x0, &(0x7f00000003c0)=[{&(0x7f0000000300)="3ce21ffbee6df78be1955f96d7c0d812c91030e3863038cf81059ca92c4e1e9f5f345f8be98404e3322707dd7298f035f6d956211bee709676f9360019768df0a229ece05a811b42cd40e1e87d54ec713e0ef87fc04aef610d4b6e63966dba8f111423b8e2e74509bc702119a33bcd5a364436e88b5c2697d522e9b3a1488c30660f21d0c343a7aab51a4aeaf5683301e2781c4011ed11061529673f6607473d4b73aef0ba75589300c95c8f8dd8", 0xae}], 0x1, 0x0, 0x0, 0x20004880}}, {{&(0x7f0000000400)=@file={0x0, './file0/file0\x00'}, 0x6e, &(0x7f00000004c0)=[{&(0x7f0000000480)="92a926c7d9cd7a0d6c4f94045287b31c7151362014bd374a7170542814", 0x1d}], 0x1, &(0x7f00000005c0)=[@cred={{0x1c, 0x1, 0x2, {r4, r11}}}], 0x20, 0x40000}}], 0x2, 0x850) (async) 00:43:38 executing program 5: ioctl$SNDRV_PCM_IOCTL_HW_REFINE_OLD(0xffffffffffffffff, 0xc1004110, &(0x7f0000000400)={0x4, [0x7, 0x10001, 0x423], [{0x6, 0x0, 0x1, 0x1, 0x1}, {0x7, 0x3, 0x0, 0x0, 0x1, 0x1}, {0x3f, 0x8, 0x1, 0x0, 0x0, 0x1}, {0x9, 0x1, 0x0, 0x1, 0x1, 0x1}, {0x5, 0x9, 0x1, 0x0, 0x0, 0x1}, {0x2, 0xc00, 0x0, 0x0, 0x1}, {0x80c, 0x2c8c, 0x0, 0x0, 0x0, 0x1}, {0x7f, 0x8, 0x1, 0x0, 0x1, 0x1}, {0x1000, 0x80000000, 0x1, 0x1, 0x1}, {0x9, 0x4, 0x1}, {0x401, 0x9, 0x1, 0x1, 0x1, 0x1}, {0x1779, 0x400}], 0x8}) syz_mount_image$ntfs3(&(0x7f0000000000), &(0x7f00000003c0)='./file0\x00', 0x200, 0xd, &(0x7f0000000200)=[{&(0x7f0000010000)="eb52904e5446532020202000080100000000000000f8000000000000000000000000000080008000ff030000000000000800000000000000ff010000000000000100000002", 0x45}, {&(0x7f0000010120)="46494c453000050000000000000000000100010040000100a0010000000800000000000000000000040000000000000003000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002004a000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80100d800000000000000d80000000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000007e00000000000000400000000000000000f803000000000000f803000000000000f8030000000000117f080000000000b0000000480000000100400000000300000000000000000000000000000000004000000000000000000800000000000010000000000000001000000000000000110104", 0x193, 0x4000}, {&(0x7f0000010320)="00000000000000000000000000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000008000000000000080000000000000008000000000000001101040000000000ffffffff0000030046494c45300005000000000000000000010001004000010060010000000800000000000000000000030000000100000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801002000000000000000200000000000000600000000000000080324004d00460054004d006900720072000000000000008000000048", 0x175, 0x47a0}, {&(0x7f0000010540)="000000000000000000000000000000000000000000000000000000000000020046494c45300005000000000000000000020001004000010060010000000800000000000000000000030000000200000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000007f0000000000000040000000000000000000040000000000000004000000000000000400000000002280000302", 0x175, 0x4fe0}, {&(0x7f0000010720)="000000000000000000000000000000000000000000000000000000000000020046494c453000050000000000000000000300010040000100e8010000000800000000000000000000060000000300000004000000000000000000000000000000100000004800000000001800000000003000000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000003000000018000000010050000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c00000018000000000000000000000003010000000000008000000018", 0x1e7, 0x57e0}, {&(0x7f0000010980)="000000000000000000000000000000000000000000000000000000000000040046494c453000050000000000000000000400010040000100c8010000000800000000000000000000040000000400000002000000000000000000000000000000100000004800000000001800000000003000000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010010000000000000000a00000000000006000000000000000803240041007400740072004400650066000000000000005000000080000000000018000000030064000000180000000100048048000000540000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000800000004800000001004000000001000000000000000000010000000000000040000000000000000010000000000000000a000000000000000a00000000000021028c", 0x1db, 0x5fe0}, {&(0x7f0000010be0)="000000000000000000000000000000000000000000000000000000000000020046494c45300005000000000000000000050001004000030008020000000800000000000000000000060000000500000003000000000000000000000000000000100000004800000000001800000000003000000018000000801875c1344fd801fc42f8c1344fd801fc42f8c1344fd801801875c1344fd801262000100000000000000000000000003000000060000000000018000000010044000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80100000000000000000000000000000000060000100000000001032e00000000005000000048000000010040000000020000000000000000000200000000000000400000000000000000180000000000002c100000000000002c100000000000002103870000000000900000005800000000041800000003003800000020000000240049003300300030000000010000000010000002", 0x17d, 0x67e0}, {&(0x7f0000010e60)="000000000000000000000000000000000000000000000000000000000000030046494c45300005000000000000000000060001004000010058010000000800000000000000000000030000000600000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000068000000000018000000020050000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000800000000000080000000000000000600000000000000070324004200690074006d00610070008000000048000000010040000000010000000000000000000000000000000000400000000000000000080000000000008000000000000000800000000000000021018e", 0x16b, 0x6fe0}, {&(0x7f0000011280)="000000000000000000000000000000000000000000000000000000000000020046494c45300005000000000000000000080001004000010080010000000800000000000000000000040000000800000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000030052000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010000000000000000000000000000000006000000000000000803240042006100640043006c0075007300ffff00000000800000001800000000001800000002000000000018000000800000005000000001044000000001000000000000000000fe03000000000000480000000000000000f81f000000000000f81f00000000000000000000000000240042006100640002ff03", 0x193, 0x7fe0}, {&(0x7f0000011480)="000000000000000000000000000000000000000000000000000000000000020046494c45300005000000000000000000090001004000090008030000000800000000000000000000050000000900000003000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000200000000000000000000000000000000001010000000000000000000000000000000000003000000068000000000018000000010050000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000000000000000000000000000000000600002000000000070324005300650063007500720065008000000050000000010440000000020000000000000000008000000000000000480000000000000000080400000000007001040000000000700104000000000024005300440053002281008f0000000090000000e00000000004180000000300c00000002000000024005300440048000000000012000000001000000200000010000000b0000000b000000000000000180014000000000030000800000000005124b300010100005124b3000101000080000000000000007c0000004900490018001400000000003000080000000000a0ddde4202010000a0ddde42020100000001000000000000640000004900490018001400000003003000080000000000f01203f800010000f01203f80001000000000000000000007c000000490049000000000000000000100000000200000090000000c80000000004180000000400a800000020000000240053004900490000000000100000000010000002000000100000009800000098000000000000001400140000000000280004000000000000010000f01203f80001000000000000000000007c00000014001400000000002800040000000000010100005124b3000101000080000000000000007c0000001400140000000000280004000000000002010000a0ddde420201000000010000000000006400000000000000000000001000000002", 0x31d, 0x87e0}, {&(0x7f0000011800)="000000000000000000000000000000000000000000000000000000000000030046494c453000050000000000000000000a00010040000100a0010000000800000000000000000000040000000a00000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000068000000000018000000030050000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000002000000000000000200000000000600000000000000070324005500700043006100730065008000000048000000010040000000010000000000000000003f000000000000004000000000000000000002000000000000000200000000000000020000000000214010", 0x16b, 0x8fe0}, {&(0x7f00000194a0)="10", 0x1, 0x46080}, {&(0x7f00000194c0)="0000000000000000000000000000000000000000000000000000000000000400ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x20024, 0x1017e0}], 0x0, &(0x7f0000001300), 0x0) r0 = socket$nl_generic(0x10, 0x3, 0x10) r1 = syz_genetlink_get_family_id$devlink(&(0x7f00000003c0), 0xffffffffffffffff) sendmsg$DEVLINK_CMD_TRAP_GROUP_GET(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000500)={0x40, r1, 0xc47d9a06c7edffeb, 0x0, 0x0, {0x38}, [{@pci={{0x8}, {0x11}}, {0xd}}]}, 0x40}}, 0x0) sendmsg$DEVLINK_CMD_TRAP_POLICER_GET(0xffffffffffffffff, &(0x7f0000000180)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x2000}, 0xc, &(0x7f0000000140)={&(0x7f0000000080)={0xa8, r1, 0x800, 0x70bd2d, 0x25dfdbfc, {}, [{@pci={{0x8}, {0x11}}, {0x8, 0x8e, 0x1}}, {@nsim={{0xe}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8}}, {@pci={{0x8}, {0x11}}, {0x8, 0x8e, 0x85a78571b00210bc}}, {@pci={{0x8}, {0x11}}, {0x8, 0x8e, 0x3}}]}, 0xa8}, 0x1, 0x0, 0x0, 0x24000040}, 0x4008008) ioctl$SNDRV_PCM_IOCTL_HW_REFINE_OLD(0xffffffffffffffff, 0xc1004110, &(0x7f0000000400)={0x4, [0x7, 0x10001, 0x423], [{0x6, 0x0, 0x1, 0x1, 0x1}, {0x7, 0x3, 0x0, 0x0, 0x1, 0x1}, {0x3f, 0x8, 0x1, 0x0, 0x0, 0x1}, {0x9, 0x1, 0x0, 0x1, 0x1, 0x1}, {0x5, 0x9, 0x1, 0x0, 0x0, 0x1}, {0x2, 0xc00, 0x0, 0x0, 0x1}, {0x80c, 0x2c8c, 0x0, 0x0, 0x0, 0x1}, {0x7f, 0x8, 0x1, 0x0, 0x1, 0x1}, {0x1000, 0x80000000, 0x1, 0x1, 0x1}, {0x9, 0x4, 0x1}, {0x401, 0x9, 0x1, 0x1, 0x1, 0x1}, {0x1779, 0x400}], 0x8}) (async) [ 314.856546][T14139] loop5: detected capacity change from 0 to 4119 [ 314.861746][T14141] loop1: detected capacity change from 0 to 270 [ 314.869377][T14139] ntfs3: loop5: Different NTFS' sector size (2048) and media sector size (512) [ 314.875094][T14139] ntfs3: loop5: Failed to load $Volume. syz_mount_image$ntfs3(&(0x7f0000000000), &(0x7f00000003c0)='./file0\x00', 0x200, 0xd, &(0x7f0000000200)=[{&(0x7f0000010000)="eb52904e5446532020202000080100000000000000f8000000000000000000000000000080008000ff030000000000000800000000000000ff010000000000000100000002", 0x45}, {&(0x7f0000010120)="46494c453000050000000000000000000100010040000100a0010000000800000000000000000000040000000000000003000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002004a000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80100d800000000000000d80000000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000007e00000000000000400000000000000000f803000000000000f803000000000000f8030000000000117f080000000000b0000000480000000100400000000300000000000000000000000000000000004000000000000000000800000000000010000000000000001000000000000000110104", 0x193, 0x4000}, {&(0x7f0000010320)="00000000000000000000000000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000008000000000000080000000000000008000000000000001101040000000000ffffffff0000030046494c45300005000000000000000000010001004000010060010000000800000000000000000000030000000100000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801002000000000000000200000000000000600000000000000080324004d00460054004d006900720072000000000000008000000048", 0x175, 0x47a0}, {&(0x7f0000010540)="000000000000000000000000000000000000000000000000000000000000020046494c45300005000000000000000000020001004000010060010000000800000000000000000000030000000200000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000007f0000000000000040000000000000000000040000000000000004000000000000000400000000002280000302", 0x175, 0x4fe0}, {&(0x7f0000010720)="000000000000000000000000000000000000000000000000000000000000020046494c453000050000000000000000000300010040000100e8010000000800000000000000000000060000000300000004000000000000000000000000000000100000004800000000001800000000003000000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000003000000018000000010050000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c0065007200000000000000700000002800000000001800000005000c00000018000000000000000000000003010000000000008000000018", 0x1e7, 0x57e0}, {&(0x7f0000010980)="000000000000000000000000000000000000000000000000000000000000040046494c453000050000000000000000000400010040000100c8010000000800000000000000000000040000000400000002000000000000000000000000000000100000004800000000001800000000003000000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000003000000070000000000018000000020052000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010010000000000000000a00000000000006000000000000000803240041007400740072004400650066000000000000005000000080000000000018000000030064000000180000000100048048000000540000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000800000004800000001004000000001000000000000000000010000000000000040000000000000000010000000000000000a000000000000000a00000000000021028c", 0x1db, 0x5fe0}, {&(0x7f0000010be0)="000000000000000000000000000000000000000000000000000000000000020046494c45300005000000000000000000050001004000030008020000000800000000000000000000060000000500000003000000000000000000000000000000100000004800000000001800000000003000000018000000801875c1344fd801fc42f8c1344fd801fc42f8c1344fd801801875c1344fd801262000100000000000000000000000003000000060000000000018000000010044000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd80100000000000000000000000000000000060000100000000001032e00000000005000000048000000010040000000020000000000000000000200000000000000400000000000000000180000000000002c100000000000002c100000000000002103870000000000900000005800000000041800000003003800000020000000240049003300300030000000010000000010000002", 0x17d, 0x67e0}, {&(0x7f0000010e60)="000000000000000000000000000000000000000000000000000000000000030046494c45300005000000000000000000060001004000010058010000000800000000000000000000030000000600000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000068000000000018000000020050000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000800000000000080000000000000000600000000000000070324004200690074006d00610070008000000048000000010040000000010000000000000000000000000000000000400000000000000000080000000000008000000000000000800000000000000021018e", 0x16b, 0x6fe0}, {&(0x7f0000011280)="000000000000000000000000000000000000000000000000000000000000020046494c45300005000000000000000000080001004000010080010000000800000000000000000000040000000800000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000070000000000018000000030052000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd8010000000000000000000000000000000006000000000000000803240042006100640043006c0075007300ffff00000000800000001800000000001800000002000000000018000000800000005000000001044000000001000000000000000000fe03000000000000480000000000000000f81f000000000000f81f00000000000000000000000000240042006100640002ff03", 0x193, 0x7fe0}, {&(0x7f0000011480)="000000000000000000000000000000000000000000000000000000000000020046494c45300005000000000000000000090001004000090008030000000800000000000000000000050000000900000003000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000200000000000000000000000000000000001010000000000000000000000000000000000003000000068000000000018000000010050000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000000000000000000000000000000000600002000000000070324005300650063007500720065008000000050000000010440000000020000000000000000008000000000000000480000000000000000080400000000007001040000000000700104000000000024005300440053002281008f0000000090000000e00000000004180000000300c00000002000000024005300440048000000000012000000001000000200000010000000b0000000b000000000000000180014000000000030000800000000005124b300010100005124b3000101000080000000000000007c0000004900490018001400000000003000080000000000a0ddde4202010000a0ddde42020100000001000000000000640000004900490018001400000003003000080000000000f01203f800010000f01203f80001000000000000000000007c000000490049000000000000000000100000000200000090000000c80000000004180000000400a800000020000000240053004900490000000000100000000010000002000000100000009800000098000000000000001400140000000000280004000000000000010000f01203f80001000000000000000000007c00000014001400000000002800040000000000010100005124b3000101000080000000000000007c0000001400140000000000280004000000000002010000a0ddde420201000000010000000000006400000000000000000000001000000002", 0x31d, 0x87e0}, {&(0x7f0000011800)="000000000000000000000000000000000000000000000000000000000000030046494c453000050000000000000000000a00010040000100a0010000000800000000000000000000040000000a00000002000000000000000000000000000000100000006000000000001800000000004800000018000000801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801060000000000000000000000000000000000000000010000000000000000000000000000000000003000000068000000000018000000030050000000180001000500000000000500801875c1344fd801801875c1344fd801801875c1344fd801801875c1344fd801000002000000000000000200000000000600000000000000070324005500700043006100730065008000000048000000010040000000010000000000000000003f000000000000004000000000000000000002000000000000000200000000000000020000000000214010", 0x16b, 0x8fe0}, {&(0x7f00000194a0)="10", 0x1, 0x46080}, {&(0x7f00000194c0)="0000000000000000000000000000000000000000000000000000000000000400ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x20024, 0x1017e0}], 0x0, &(0x7f0000001300), 0x0) (async) socket$nl_generic(0x10, 0x3, 0x10) (async) syz_genetlink_get_family_id$devlink(&(0x7f00000003c0), 0xffffffffffffffff) (async) sendmsg$DEVLINK_CMD_TRAP_GROUP_GET(r0, &(0x7f0000000200)={0x0, 0x0, &(0x7f0000000280)={&(0x7f0000000500)={0x40, r1, 0xc47d9a06c7edffeb, 0x0, 0x0, {0x38}, [{@pci={{0x8}, {0x11}}, {0xd}}]}, 0x40}}, 0x0) (async) sendmsg$DEVLINK_CMD_TRAP_POLICER_GET(0xffffffffffffffff, &(0x7f0000000180)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x2000}, 0xc, &(0x7f0000000140)={&(0x7f0000000080)={0xa8, r1, 0x800, 0x70bd2d, 0x25dfdbfc, {}, [{@pci={{0x8}, {0x11}}, {0x8, 0x8e, 0x1}}, {@nsim={{0xe}, {0xf, 0x2, {'netdevsim', 0x0}}}, {0x8}}, {@pci={{0x8}, {0x11}}, {0x8, 0x8e, 0x85a78571b00210bc}}, {@pci={{0x8}, {0x11}}, {0x8, 0x8e, 0x3}}]}, 0xa8}, 0x1, 0x0, 0x0, 0x24000040}, 0x4008008) (async) 00:43:38 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) 00:43:38 executing program 4: bpf$PROG_LOAD_XDP(0x5, &(0x7f00000015c0)={0xd, 0x4, &(0x7f0000000000)=ANY=[@ANYBLOB="18000000000000ff00000000000000002c00"/32], &(0x7f0000001400)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0xc, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) (async) r0 = bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000180)={0x6, 0x8, &(0x7f0000000040)=@raw=[@alu={0x4, 0x0, 0xc, 0x1, 0x1, 0xffffffffffffffe0, 0x1}, @alu={0x4, 0x1, 0x7, 0x0, 0x9, 0x8, 0x1}, @ldst={0x2, 0x1, 0x5, 0x70917219176d6aa0, 0xb, 0xffffffffffffffc0}, @btf_id={0x18, 0x3, 0x3, 0x0, 0x4}, @exit, @generic={0x15, 0x8, 0x7, 0x1, 0xf1ee}, @jmp={0x5, 0x0, 0x6, 0x3, 0x7, 0xfffffffffffffffe, 0xfffffffffffffffc}], &(0x7f0000000080)='GPL\x00', 0xdf, 0x0, 0x0, 0x40f00, 0x18, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, &(0x7f00000000c0)={0x9, 0x4}, 0x8, 0x10, &(0x7f0000000100)={0x3, 0xe, 0x2aceb9d1, 0x7}, 0x10, 0x0, 0x0, 0x0, &(0x7f0000000140)=[0x1, 0x1, 0x1, 0x1, 0xffffffffffffffff, 0xffffffffffffffff]}, 0x80) bpf$BPF_LINK_CREATE_XDP(0x1c, &(0x7f0000000200)={r0, 0x0, 0x25, 0x2}, 0x10) 00:43:38 executing program 0: r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) (async) syz_clone3(&(0x7f0000000300)={0x400, &(0x7f0000000080), &(0x7f00000000c0), &(0x7f0000000100)=0x0, {0x16}, &(0x7f0000000140)=""/131, 0x83, &(0x7f0000000200)=""/158, &(0x7f00000002c0)=[0xffffffffffffffff], 0x1}, 0x58) (async) r2 = getpid() sched_setscheduler(r2, 0x2, &(0x7f0000000200)=0x4) (async) r3 = getpid() sched_setscheduler(r3, 0x2, &(0x7f0000000200)=0x4) (async) write$damon_target_ids(0xffffffffffffffff, &(0x7f0000000380)={@val, [{' ', r0}, {' ', 0xffffffffffffffff}, {}, {' ', r1}, {' ', 0xffffffffffffffff}, {' ', r2}, {' ', 0xffffffffffffffff}, {}, {' ', r3}]}, 0xc5) syz_emit_ethernet(0x42, &(0x7f0000000480)=ANY=[@ANYBLOB="aaaaaaaaaaaaaaaaaaaaaaaa0800480000340000000000069078ac1414bbac1414aa070c0a00000000000000000000000000c75b1ada35fa5267210fd21b5f21bdea503f0839e3216e0496691c16b02effc05b6716053b9e6a5063f4f9ca2eed97adbbed79b8699a82e8150599808ccf3ff38155a2dd00437e50d9ea69d5cd61bb", @ANYRES32=0x41424344, @ANYRES32=0x41424344, @ANYBLOB="5c00000090780000"], 0x0) 00:43:38 executing program 4: bpf$PROG_LOAD_XDP(0x5, &(0x7f00000015c0)={0xd, 0x4, &(0x7f0000000000)=ANY=[@ANYBLOB="18000000000000ff00000000000000002c00"/32], &(0x7f0000001400)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0xc, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) (async) r0 = bpf$PROG_LOAD_XDP(0x5, &(0x7f0000000180)={0x6, 0x8, &(0x7f0000000040)=@raw=[@alu={0x4, 0x0, 0xc, 0x1, 0x1, 0xffffffffffffffe0, 0x1}, @alu={0x4, 0x1, 0x7, 0x0, 0x9, 0x8, 0x1}, @ldst={0x2, 0x1, 0x5, 0x70917219176d6aa0, 0xb, 0xffffffffffffffc0}, @btf_id={0x18, 0x3, 0x3, 0x0, 0x4}, @exit, @generic={0x15, 0x8, 0x7, 0x1, 0xf1ee}, @jmp={0x5, 0x0, 0x6, 0x3, 0x7, 0xfffffffffffffffe, 0xfffffffffffffffc}], &(0x7f0000000080)='GPL\x00', 0xdf, 0x0, 0x0, 0x40f00, 0x18, '\x00', 0x0, 0x25, 0xffffffffffffffff, 0x8, &(0x7f00000000c0)={0x9, 0x4}, 0x8, 0x10, &(0x7f0000000100)={0x3, 0xe, 0x2aceb9d1, 0x7}, 0x10, 0x0, 0x0, 0x0, &(0x7f0000000140)=[0x1, 0x1, 0x1, 0x1, 0xffffffffffffffff, 0xffffffffffffffff]}, 0x80) bpf$BPF_LINK_CREATE_XDP(0x1c, &(0x7f0000000200)={r0, 0x0, 0x25, 0x2}, 0x10) 00:43:38 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) socket$inet6_tcp(0xa, 0x1, 0x0) (async) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) (async) socket$inet6_tcp(0xa, 0x1, 0x0) (async) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) (async) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) (async) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) (async) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) (async) 00:43:38 executing program 1: r0 = syz_mount_image$vfat(&(0x7f00000002c0), &(0x7f0000000940)='./file0\x00', 0x0, 0x3, &(0x7f0000000080)=[{&(0x7f0000000340)="eb3c906d8d6673fdd2617400028001000240000004f801", 0x17}, {&(0x7f0000000140)="57595a4b4193a791ce2ef12bac0f034ec16dac4edec96ae10b53c1ffadfaaf89cc", 0x21, 0x600}, {0x0, 0x0, 0x10e00}], 0x0, &(0x7f0000000040)={[{@fat=@codepage={'codepage', 0x3d, '860'}}]}, 0x0) r1 = openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000000), 0x30500, 0x0) (async) r2 = socket$nl_route(0x10, 0x3, 0x0) (async) r3 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r3, 0x8933, &(0x7f0000000200)={'batadv_slave_0\x00', 0x0}) sendmsg$nl_route(r2, &(0x7f00000000c0)={0x0, 0x5000074, &(0x7f0000000080)={&(0x7f0000000c00)=ANY=[@ANYBLOB="3c000000180801000000000000000000000000000000041be29328a20016800c0001000000000000000000080004008ee889b07e0b07023b15ab18ed0dd0592d5a28e98f25b7070ed73182353b2319e04ba33d41b460b3ff6267c12de563c4cfaa06bafa658b91c8f94491d09d244c50cc4cf09381a35dd222672bfc64c0ec354566e242cb03797dd3620279f571b41f526c45e6b74f0f1c7905d6d82e750ee7e99049b158625441d50a9c478cf8110ee640135422896c22a8aad64e", @ANYRES32=r4, @ANYBLOB="0600150008000000"], 0x3c}}, 0x0) (async) bpf$BPF_GET_PROG_INFO(0xf, &(0x7f0000000900)={0xffffffffffffffff, 0xe0, &(0x7f0000000980)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, &(0x7f0000000740)=[0x0, 0x0, 0x0, 0x0], ""/16, 0x0, 0x0, 0x0, 0x0, 0x2, 0x2, &(0x7f0000000780)=[0x0, 0x0], &(0x7f00000007c0)=[0x0, 0x0], 0x0, 0x8, &(0x7f0000000800)=[{}, {}, {}, {}, {}, {}, {}, {}], 0x40, 0x10, &(0x7f0000000840), &(0x7f0000000880), 0x8, 0x10, 0x8, 0x8, &(0x7f00000008c0)}}, 0x10) sendmmsg$inet(r1, &(0x7f0000000b40)=[{{&(0x7f0000000180)={0x2, 0x4e21, @local}, 0x10, &(0x7f0000000400)=[{&(0x7f00000001c0)="a533e78b661b7cd98c049ee7edd1fcda0016964122cdf87b145f4d7576c7c9bf0641ccab6b80d43543362e3c17cb3667c46251d5eaadb5027a828b571151bbf03b5173e92d170c80c2fac465cd6ec4288a882f35869806eba41fbe98a44cc33896308fede7289cea4f0bd69e57c3dfbf7597d3ea0a7fd95051035ac4f8606f722bf6083bba558bf8bb7e31e38bc6d0177a03d134983b39eb5198b14873aa23f509919ffd3a72cdbc0842b5dfb7ab874ea3e6c53b4b886609b4131ab27a6fc66814659e13802a3f7d4b47b9b953a1ab9689a4e68f610f933c12524156b74c04c4e04d", 0xe2}, {&(0x7f0000000300)="3e8946b462079ec6e5b55f32d250c3b17f3cfbe8b59fe9db63fb84ff832866dfb21a173f3ab1066f20bb1cf8174749c83d9b4bfbe4", 0x35}, {&(0x7f0000000380)="edf8d91ee39d7b9aa7ff74d337807588ae48cb67e5313c3ebabeb373aeac83abf4870118d91f37c1287377aaa66da55fd92c72a27104c0eda1821c94c047a9e51d24705cdac697", 0x47}], 0x3, &(0x7f0000000440)=[@ip_tos_int={{0x14, 0x0, 0x1, 0x2c2b}}], 0x18}}, {{&(0x7f0000000480)={0x2, 0x4e24, @private=0xa010100}, 0x10, &(0x7f00000005c0)=[{&(0x7f00000004c0)="d67923d0a978b4c98c76f93361d5029c1a8c02add7a826d2ee952b72b9cb633e78eae39b7f140fc27a47339eee2e341d14e264adc5457153d7e025cf85f1193db639bf859bd3f057af5b4a1c3968855765800d4b9e0af679febffdff116b37093ddcc6d89c8e3547e4e570e9cf778acafca4ba937e20de3374f4754a4357fab958d6ff208517b379df3ec9a0f264a91c7770a5ff9eec6d0b695ccfca7d4154bd0c0239db6689f2249eb853f1f3b79c64b55ec63536925499627572a2e4e01b92bf54db15370dfd861a13", 0xca}], 0x1}}, {{0x0, 0x0, &(0x7f0000000700)=[{&(0x7f0000000600)="d51d7582c7e8c8bcd2a58afd6adc6a7b0f2132a7347ae2f72587f21be96440bf02d5516124d9e96b267165731df0a4da72e2e42322dcbc6491c253a36c0907cd50fbaf28baca6fb9c8c86d1d8fed0f1ddc87c613a417eafa781d5aa740646a2a1d0aa1342361d3fb1078c38cd656d00763ed3a4c1d0950124d78f9ba9071f28d083d1a4a93335fcada525257f4bd105021ff3f2f29d0c69078c3ce33a9a770f58f75", 0xa2}, {&(0x7f00000006c0)="38583cee7610e709ea578705e76f73", 0xf}], 0x2, &(0x7f0000000a80)=[@ip_tos_u8={{0x11, 0x0, 0x1, 0x2}}, @ip_pktinfo={{0x1c, 0x0, 0x8, {r4, @broadcast, @rand_addr=0x64010101}}}, @ip_ttl={{0x14, 0x0, 0x2, 0x6}}, @ip_tos_u8={{0x11, 0x0, 0x1, 0xf8}}, @ip_tos_u8={{0x11, 0x0, 0x1, 0xff}}, @ip_pktinfo={{0x1c, 0x0, 0x8, {r5, @local, @empty}}}], 0xa0}}], 0x3, 0x800) mkdirat(r0, &(0x7f0000000100)='./file0\x00', 0x0) 00:43:38 executing program 0: r0 = getpid() sched_setscheduler(r0, 0x2, &(0x7f0000000200)=0x4) (async) syz_clone3(&(0x7f0000000300)={0x400, &(0x7f0000000080), &(0x7f00000000c0), &(0x7f0000000100)=0x0, {0x16}, &(0x7f0000000140)=""/131, 0x83, &(0x7f0000000200)=""/158, &(0x7f00000002c0)=[0xffffffffffffffff], 0x1}, 0x58) (async) r2 = getpid() sched_setscheduler(r2, 0x2, &(0x7f0000000200)=0x4) r3 = getpid() sched_setscheduler(r3, 0x2, &(0x7f0000000200)=0x4) (async) write$damon_target_ids(0xffffffffffffffff, &(0x7f0000000380)={@val, [{' ', r0}, {' ', 0xffffffffffffffff}, {}, {' ', r1}, {' ', 0xffffffffffffffff}, {' ', r2}, {' ', 0xffffffffffffffff}, {}, {' ', r3}]}, 0xc5) syz_emit_ethernet(0x42, &(0x7f0000000480)=ANY=[@ANYBLOB="aaaaaaaaaaaaaaaaaaaaaaaa0800480000340000000000069078ac1414bbac1414aa070c0a00000000000000000000000000c75b1ada35fa5267210fd21b5f21bdea503f0839e3216e0496691c16b02effc05b6716053b9e6a5063f4f9ca2eed97adbbed79b8699a82e8150599808ccf3ff38155a2dd00437e50d9ea69d5cd61bb", @ANYRES32=0x41424344, @ANYRES32=0x41424344, @ANYBLOB="5c00000090780000"], 0x0) 00:43:38 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) (async) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) (async) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) [ 314.976111][T14167] loop1: detected capacity change from 0 to 270 00:43:38 executing program 4: r0 = semget$private(0x0, 0x4000000009, 0x0) semop(r0, &(0x7f0000000240)=[{0x2, 0x7fff}], 0x1) r1 = semget$private(0x0, 0x1, 0x27) semctl$GETVAL(r1, 0x3, 0xc, &(0x7f0000000280)=""/183) semop(r0, &(0x7f0000001480)=[{0x0, 0xfffb}, {0x2, 0x7f}], 0x2) semop(r0, &(0x7f0000001400)=[{0x0, 0x1fd}], 0x1) semctl$SETALL(r0, 0x0, 0x11, &(0x7f0000000000)=[0x7, 0x7, 0x7, 0x400, 0x9, 0x0, 0x3]) r2 = semget$private(0x0, 0x4000000009, 0x0) semop(r2, &(0x7f0000000240)=[{0x2, 0x7fff}], 0x1) semop(r2, &(0x7f0000001480)=[{0x0, 0xfffb}, {0x2, 0x7f}], 0x2) semop(r2, &(0x7f0000001400)=[{0x0, 0x200}], 0x1) semctl$GETZCNT(r2, 0x1, 0xf, &(0x7f00000014c0)=""/4096) r3 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r3, &(0x7f0000000440)={0x0, 0x0, &(0x7f0000000400)={&(0x7f0000000100)=@bridge_getvlan={0x20, 0x78, 0x1, 0x0, 0x0, {}, [@BRIDGE_VLANDB_DUMP_FLAGS={0x8}]}, 0x20}}, 0x0) clock_gettime(0x0, &(0x7f0000000080)={0x0, 0x0}) semtimedop(r0, &(0x7f0000000040)=[{0x3, 0x7, 0x2800}, {0x1, 0x600}, {0x2, 0x7, 0x1000}], 0x3, &(0x7f00000000c0)={r4, r5+10000000}) semctl$GETZCNT(r0, 0x4, 0xf, &(0x7f0000000140)=""/228) 00:43:38 executing program 5: r0 = bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x10, 0x4, &(0x7f00000003c0)=ANY=[@ANYBLOB="b4000000000000007910480000000000710031000000000095000000e89bdadbf19ec1d8c7d814b8f0c0213d3d6f793e1c96eb25e3a3c391049f5b887bdcd66d"], &(0x7f0000000080)='syzkaller\x00', 0x2, 0xc3, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x80) r1 = open_tree(0xffffffffffffff9c, &(0x7f00000005c0)='./file0\x00', 0x81901) move_mount(r1, &(0x7f0000000140)='.\x00', 0xffffffffffffff9c, &(0x7f0000000180)='./file0\x00', 0x0) getsockopt$inet6_mreq(0xffffffffffffffff, 0x29, 0x1b, &(0x7f00000001c0)={@loopback, 0x0}, &(0x7f0000000200)=0x14) r3 = openat$proc_capi20ncci(0xffffffffffffff9c, &(0x7f0000000240), 0x42100, 0x0) r4 = pidfd_getfd(0xffffffffffffffff, r0, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000340)={0x1b, 0xa, &(0x7f00000000c0)=@framed={{0x18, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0xa65}, [@cb_func={0x18, 0x4, 0x4, 0x0, 0x1}, @btf_id={0x18, 0x8, 0x3, 0x0, 0x3}, @map_val={0x18, 0x5, 0x2, 0x0, r1, 0x0, 0x0, 0x0, 0x6}, @generic={0x1f, 0x6, 0x1, 0x100, 0x1f}]}, &(0x7f0000000140)='syzkaller\x00', 0x4e7, 0x9, &(0x7f0000000180)=""/9, 0xc5573385b0d6430, 0x11, '\x00', r2, 0x15, r3, 0x8, &(0x7f0000000280)={0x8, 0x1}, 0x8, 0x10, &(0x7f00000002c0)={0x4, 0xe, 0x77cb8eae, 0x7fffffff}, 0x10, 0xffffffffffffffff, r0, 0x0, &(0x7f0000000300)=[r4, 0xffffffffffffffff, 0xffffffffffffffff, 0x1]}, 0x80) read$FUSE(r3, &(0x7f0000000600)={0x2020, 0x0, 0x0, 0x0}, 0x2020) r6 = getuid() sendmsg$nl_route(r1, &(0x7f00000004c0)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x400000}, 0xc, &(0x7f0000000480)={&(0x7f0000000400)=@ipv4_newrule={0x60, 0x20, 0x8, 0x70bd2c, 0x25dfdbff, {0x2, 0x80, 0x20, 0x5, 0x74, 0x0, 0x0, 0x6, 0xb}, [@FRA_GENERIC_POLICY=@FRA_L3MDEV={0x5, 0x13, 0x4}, @FRA_GENERIC_POLICY=@FRA_UID_RANGE={0xc, 0x14, {r5, r6}}, @FRA_GENERIC_POLICY=@FRA_IP_PROTO={0x5}, @FRA_GENERIC_POLICY=@FRA_FWMARK={0x8, 0xa, 0x1}, @FRA_FLOW={0x8}, @FRA_FLOW={0x8, 0xb, 0x6d27}, @FRA_GENERIC_POLICY=@FRA_SPORT_RANGE={0x8, 0x17, {0x4e20, 0x4e20}}, @FRA_GENERIC_POLICY=@FRA_DPORT_RANGE={0x8, 0x18, {0x4e23, 0x4e22}}]}, 0x60}, 0x1, 0x0, 0x0, 0x20008890}, 0x8000) 00:43:39 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @dev={0xfe, 0x80, '\x00', 0x10}}, 0x1c) ioctl$AUTOFS_DEV_IOCTL_ISMOUNTPOINT(0xffffffffffffffff, 0xc018937e, &(0x7f0000000100)={{0x1, 0x1, 0x18, r0, {0x4}}, './file0\x00'}) r1 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000500)=@newtaction={0x50, 0x30, 0x1, 0x0, 0x0, {}, [{0x3c, 0x1, [@m_vlan={0x38, 0x1, 0x0, 0x0, {{0x9}, {0xc, 0x2, 0x0, 0x1, [@TCA_VLAN_PUSH_VLAN_PRIORITY={0x5}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0x50}}, 0x0) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r1, 0x6, 0x14, &(0x7f0000000180), 0x4) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) getsockopt$inet6_tcp_TCP_REPAIR_WINDOW(r0, 0x6, 0x1d, &(0x7f0000000080), &(0x7f00000000c0)=0x14) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) [ 315.073361][T14160] loop2: detected capacity change from 0 to 1296 [ 315.075500][T14160] ext3: Unknown parameter 'íØôe_Øôe_Øôe_' 00:43:39 executing program 2: r0 = syz_mount_image$ext4(&(0x7f0000000000)='ext3\x00', &(0x7f0000000100)='./file0\x00', 0x0, 0x4, &(0x7f0000000200)=[{&(0x7f0000010000)="200000008000000006000000600000000f000000000000000100000001000000004000000040000020000000d8f4655fd8f4655f0100ffff53ef", 0xffffffffffffff44, 0x400}, {&(0x7f0000010400)="020000001200000022", 0x9, 0x800}, {&(0x7f0000000040)="edd8f4655fd8f4655fd8f4655f0000000000000400046fdbd0b6f0a8b8c89f52246aa5c3fe6f73d7a053eda62d640963c8754ea62682fc1bb1cc704d8e3df7fecf67db4d708507ab895b30e77c7ede0c871f720f257efb7e0f2ac28a26f39af4f1fbe80ff276d23d70456eb5a12a94daf845574c0741693786fd659fb899b23750151f9de3d68611749c4fa44427e5c4aa01175534bb4e49e463a3dd9dc1e05a46be51dcd4182e75bd64293447840674", 0xb0, 0x5107d}, {&(0x7f0000000140)="8cd721b01ebb7dac932d6152dc2e5e72267ef4874bbd64583cd268b38f4afc92eb52eaf9d3c5be10d76d9ea52841795f948b6ea88174afab57a19626754e08cb67bd4d5ab90f9bad03816de345c3607045c883295dec877f78df3007dc0fc0c1ba3d30e983d7722274358d4b2bb0caba82baa1eea42094c088aaafa7a3dea247b886a9cec7b0a8717c143c010e29a648b42ae5c38bae3a47993b0a4fa77b76d6ace1d371ebee3f39130eb2189a4d363058d060128611ecb8ca61ae85da7b", 0xbe, 0x9}], 0x80, &(0x7f0000000040)=ANY=[], 0x0) (async) r1 = getpgid(0x0) sched_setaffinity(r1, 0x8, &(0x7f0000000280)=0x9) r2 = getpid() sched_setscheduler(r2, 0x2, &(0x7f0000000200)=0x4) sched_setparam(r2, &(0x7f0000000680)=0x7ff) (async) r3 = openat(r0, &(0x7f00000002c0)='./file0\x00', 0x4000, 0x100) r4 = getpid() (async, rerun: 64) ioctl$TIOCGSID(0xffffffffffffffff, 0x5429, &(0x7f0000000880)=0x0) (rerun: 64) r6 = fcntl$getown(r0, 0x9) syz_clone3(&(0x7f0000001a40)={0x0, &(0x7f00000008c0), &(0x7f0000000900)=0x0, &(0x7f0000000940), {0x40}, &(0x7f0000000980)=""/110, 0x6e, &(0x7f0000000a00)=""/4096, &(0x7f0000001a00)=[r1, r4, r4, r4, r2, r2, r2, r4], 0x8, {r3}}, 0x58) (async, rerun: 64) r8 = syz_clone3(&(0x7f0000001d00)={0x8100, &(0x7f0000001ac0), &(0x7f0000001b00), &(0x7f0000001b40), {0x2d}, &(0x7f0000001b80)=""/130, 0x82, &(0x7f0000001c40)=""/117, &(0x7f0000001cc0)=[r4, r4], 0x2, {r3}}, 0x58) (rerun: 64) ioctl$DRM_IOCTL_GET_CLIENT(r3, 0xc0286405, &(0x7f0000001d80)={0x8001, 0x80000000, {r2}, {0xffffffffffffffff}, 0xffffffffffffff01, 0x9}) (async) r10 = getpid() sched_setscheduler(r10, 0x2, &(0x7f0000000200)=0x4) ioctl$TIOCSRS485(0xffffffffffffffff, 0x542f, &(0x7f0000001ec0)={0x7, 0x7, 0x401}) (async) syz_clone3(&(0x7f0000001e00)={0x400, &(0x7f00000006c0), &(0x7f0000000700), &(0x7f0000000740), {0x29}, &(0x7f0000000780)=""/102, 0x66, &(0x7f0000000800)=""/91, &(0x7f0000001dc0)=[r5, r6, r7, r8, r9, r10, r4, r1], 0x8}, 0x58) (async) sched_setscheduler(r4, 0x2, &(0x7f0000000200)=0x4) (async, rerun: 64) getresuid(&(0x7f0000000500)=0x0, &(0x7f0000000540), &(0x7f0000000580)) (rerun: 64) sendmmsg$unix(r3, &(0x7f0000000600)=[{{0x0, 0x0, &(0x7f00000003c0)=[{&(0x7f0000000300)="3ce21ffbee6df78be1955f96d7c0d812c91030e3863038cf81059ca92c4e1e9f5f345f8be98404e3322707dd7298f035f6d956211bee709676f9360019768df0a229ece05a811b42cd40e1e87d54ec713e0ef87fc04aef610d4b6e63966dba8f111423b8e2e74509bc702119a33bcd5a364436e88b5c2697d522e9b3a1488c30660f21d0c343a7aab51a4aeaf5683301e2781c4011ed11061529673f6607473d4b73aef0ba75589300c95c8f8dd8", 0xae}], 0x1, 0x0, 0x0, 0x20004880}}, {{&(0x7f0000000400)=@file={0x0, './file0/file0\x00'}, 0x6e, &(0x7f00000004c0)=[{&(0x7f0000000480)="92a926c7d9cd7a0d6c4f94045287b31c7151362014bd374a7170542814", 0x1d}], 0x1, &(0x7f00000005c0)=[@cred={{0x1c, 0x1, 0x2, {r4, r11}}}], 0x20, 0x40000}}], 0x2, 0x850) 00:43:39 executing program 5: r0 = bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x10, 0x4, &(0x7f00000003c0)=ANY=[@ANYBLOB="b4000000000000007910480000000000710031000000000095000000e89bdadbf19ec1d8c7d814b8f0c0213d3d6f793e1c96eb25e3a3c391049f5b887bdcd66d"], &(0x7f0000000080)='syzkaller\x00', 0x2, 0xc3, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x80) (async, rerun: 32) r1 = open_tree(0xffffffffffffff9c, &(0x7f00000005c0)='./file0\x00', 0x81901) (rerun: 32) move_mount(r1, &(0x7f0000000140)='.\x00', 0xffffffffffffff9c, &(0x7f0000000180)='./file0\x00', 0x0) getsockopt$inet6_mreq(0xffffffffffffffff, 0x29, 0x1b, &(0x7f00000001c0)={@loopback, 0x0}, &(0x7f0000000200)=0x14) (async, rerun: 32) r3 = openat$proc_capi20ncci(0xffffffffffffff9c, &(0x7f0000000240), 0x42100, 0x0) (async, rerun: 32) r4 = pidfd_getfd(0xffffffffffffffff, r0, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000340)={0x1b, 0xa, &(0x7f00000000c0)=@framed={{0x18, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0xa65}, [@cb_func={0x18, 0x4, 0x4, 0x0, 0x1}, @btf_id={0x18, 0x8, 0x3, 0x0, 0x3}, @map_val={0x18, 0x5, 0x2, 0x0, r1, 0x0, 0x0, 0x0, 0x6}, @generic={0x1f, 0x6, 0x1, 0x100, 0x1f}]}, &(0x7f0000000140)='syzkaller\x00', 0x4e7, 0x9, &(0x7f0000000180)=""/9, 0xc5573385b0d6430, 0x11, '\x00', r2, 0x15, r3, 0x8, &(0x7f0000000280)={0x8, 0x1}, 0x8, 0x10, &(0x7f00000002c0)={0x4, 0xe, 0x77cb8eae, 0x7fffffff}, 0x10, 0xffffffffffffffff, r0, 0x0, &(0x7f0000000300)=[r4, 0xffffffffffffffff, 0xffffffffffffffff, 0x1]}, 0x80) (async) read$FUSE(r3, &(0x7f0000000600)={0x2020, 0x0, 0x0, 0x0}, 0x2020) (async) r6 = getuid() sendmsg$nl_route(r1, &(0x7f00000004c0)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x400000}, 0xc, &(0x7f0000000480)={&(0x7f0000000400)=@ipv4_newrule={0x60, 0x20, 0x8, 0x70bd2c, 0x25dfdbff, {0x2, 0x80, 0x20, 0x5, 0x74, 0x0, 0x0, 0x6, 0xb}, [@FRA_GENERIC_POLICY=@FRA_L3MDEV={0x5, 0x13, 0x4}, @FRA_GENERIC_POLICY=@FRA_UID_RANGE={0xc, 0x14, {r5, r6}}, @FRA_GENERIC_POLICY=@FRA_IP_PROTO={0x5}, @FRA_GENERIC_POLICY=@FRA_FWMARK={0x8, 0xa, 0x1}, @FRA_FLOW={0x8}, @FRA_FLOW={0x8, 0xb, 0x6d27}, @FRA_GENERIC_POLICY=@FRA_SPORT_RANGE={0x8, 0x17, {0x4e20, 0x4e20}}, @FRA_GENERIC_POLICY=@FRA_DPORT_RANGE={0x8, 0x18, {0x4e23, 0x4e22}}]}, 0x60}, 0x1, 0x0, 0x0, 0x20008890}, 0x8000) 00:43:39 executing program 1: r0 = syz_mount_image$vfat(&(0x7f00000002c0), &(0x7f0000000940)='./file0\x00', 0x0, 0x3, &(0x7f0000000080)=[{&(0x7f0000000340)="eb3c906d8d6673fdd2617400028001000240000004f801", 0x17}, {&(0x7f0000000140)="57595a4b4193a791ce2ef12bac0f034ec16dac4edec96ae10b53c1ffadfaaf89cc", 0x21, 0x600}, {0x0, 0x0, 0x10e00}], 0x0, &(0x7f0000000040)={[{@fat=@codepage={'codepage', 0x3d, '860'}}]}, 0x0) (async) r1 = openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000000), 0x30500, 0x0) (async, rerun: 64) r2 = socket$nl_route(0x10, 0x3, 0x0) (async, rerun: 64) r3 = socket$nl_route(0x10, 0x3, 0x0) ioctl$ifreq_SIOCGIFINDEX_batadv_hard(r3, 0x8933, &(0x7f0000000200)={'batadv_slave_0\x00', 0x0}) sendmsg$nl_route(r2, &(0x7f00000000c0)={0x0, 0x5000074, &(0x7f0000000080)={&(0x7f0000000c00)=ANY=[@ANYBLOB="3c000000180801000000000000000000000000000000041be29328a20016800c0001000000000000000000080004008ee889b07e0b07023b15ab18ed0dd0592d5a28e98f25b7070ed73182353b2319e04ba33d41b460b3ff6267c12de563c4cfaa06bafa658b91c8f94491d09d244c50cc4cf09381a35dd222672bfc64c0ec354566e242cb03797dd3620279f571b41f526c45e6b74f0f1c7905d6d82e750ee7e99049b158625441d50a9c478cf8110ee640135422896c22a8aad64e", @ANYRES32=r4, @ANYBLOB="0600150008000000"], 0x3c}}, 0x0) (async) bpf$BPF_GET_PROG_INFO(0xf, &(0x7f0000000900)={0xffffffffffffffff, 0xe0, &(0x7f0000000980)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, &(0x7f0000000740)=[0x0, 0x0, 0x0, 0x0], ""/16, 0x0, 0x0, 0x0, 0x0, 0x2, 0x2, &(0x7f0000000780)=[0x0, 0x0], &(0x7f00000007c0)=[0x0, 0x0], 0x0, 0x8, &(0x7f0000000800)=[{}, {}, {}, {}, {}, {}, {}, {}], 0x40, 0x10, &(0x7f0000000840), &(0x7f0000000880), 0x8, 0x10, 0x8, 0x8, &(0x7f00000008c0)}}, 0x10) sendmmsg$inet(r1, &(0x7f0000000b40)=[{{&(0x7f0000000180)={0x2, 0x4e21, @local}, 0x10, &(0x7f0000000400)=[{&(0x7f00000001c0)="a533e78b661b7cd98c049ee7edd1fcda0016964122cdf87b145f4d7576c7c9bf0641ccab6b80d43543362e3c17cb3667c46251d5eaadb5027a828b571151bbf03b5173e92d170c80c2fac465cd6ec4288a882f35869806eba41fbe98a44cc33896308fede7289cea4f0bd69e57c3dfbf7597d3ea0a7fd95051035ac4f8606f722bf6083bba558bf8bb7e31e38bc6d0177a03d134983b39eb5198b14873aa23f509919ffd3a72cdbc0842b5dfb7ab874ea3e6c53b4b886609b4131ab27a6fc66814659e13802a3f7d4b47b9b953a1ab9689a4e68f610f933c12524156b74c04c4e04d", 0xe2}, {&(0x7f0000000300)="3e8946b462079ec6e5b55f32d250c3b17f3cfbe8b59fe9db63fb84ff832866dfb21a173f3ab1066f20bb1cf8174749c83d9b4bfbe4", 0x35}, {&(0x7f0000000380)="edf8d91ee39d7b9aa7ff74d337807588ae48cb67e5313c3ebabeb373aeac83abf4870118d91f37c1287377aaa66da55fd92c72a27104c0eda1821c94c047a9e51d24705cdac697", 0x47}], 0x3, &(0x7f0000000440)=[@ip_tos_int={{0x14, 0x0, 0x1, 0x2c2b}}], 0x18}}, {{&(0x7f0000000480)={0x2, 0x4e24, @private=0xa010100}, 0x10, &(0x7f00000005c0)=[{&(0x7f00000004c0)="d67923d0a978b4c98c76f93361d5029c1a8c02add7a826d2ee952b72b9cb633e78eae39b7f140fc27a47339eee2e341d14e264adc5457153d7e025cf85f1193db639bf859bd3f057af5b4a1c3968855765800d4b9e0af679febffdff116b37093ddcc6d89c8e3547e4e570e9cf778acafca4ba937e20de3374f4754a4357fab958d6ff208517b379df3ec9a0f264a91c7770a5ff9eec6d0b695ccfca7d4154bd0c0239db6689f2249eb853f1f3b79c64b55ec63536925499627572a2e4e01b92bf54db15370dfd861a13", 0xca}], 0x1}}, {{0x0, 0x0, &(0x7f0000000700)=[{&(0x7f0000000600)="d51d7582c7e8c8bcd2a58afd6adc6a7b0f2132a7347ae2f72587f21be96440bf02d5516124d9e96b267165731df0a4da72e2e42322dcbc6491c253a36c0907cd50fbaf28baca6fb9c8c86d1d8fed0f1ddc87c613a417eafa781d5aa740646a2a1d0aa1342361d3fb1078c38cd656d00763ed3a4c1d0950124d78f9ba9071f28d083d1a4a93335fcada525257f4bd105021ff3f2f29d0c69078c3ce33a9a770f58f75", 0xa2}, {&(0x7f00000006c0)="38583cee7610e709ea578705e76f73", 0xf}], 0x2, &(0x7f0000000a80)=[@ip_tos_u8={{0x11, 0x0, 0x1, 0x2}}, @ip_pktinfo={{0x1c, 0x0, 0x8, {r4, @broadcast, @rand_addr=0x64010101}}}, @ip_ttl={{0x14, 0x0, 0x2, 0x6}}, @ip_tos_u8={{0x11, 0x0, 0x1, 0xf8}}, @ip_tos_u8={{0x11, 0x0, 0x1, 0xff}}, @ip_pktinfo={{0x1c, 0x0, 0x8, {r5, @local, @empty}}}], 0xa0}}], 0x3, 0x800) mkdirat(r0, &(0x7f0000000100)='./file0\x00', 0x0) 00:43:39 executing program 0: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000800)={&(0x7f0000000340)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x20, 0x20, 0x2, [@const={0x1, 0x0, 0x0, 0x2}, @func_proto={0x0, 0x1, 0x0, 0xd, 0x0, [{0x0, 0x1}]}]}}, &(0x7f0000000240)=""/223, 0x3a, 0xdf, 0x1}, 0x20) r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)=@ipv6_newnexthop={0x24, 0x68, 0x1fb, 0x0, 0x0, {}, [@NHA_BLACKHOLE={0x4}, @NHA_ID={0x8, 0x1, 0x1}]}, 0x24}, 0x1, 0xfc}, 0x0) ioctl$FS_IOC_GET_ENCRYPTION_NONCE(r0, 0x8010661b, &(0x7f0000000000)) 00:43:39 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @dev={0xfe, 0x80, '\x00', 0x10}}, 0x1c) ioctl$AUTOFS_DEV_IOCTL_ISMOUNTPOINT(0xffffffffffffffff, 0xc018937e, &(0x7f0000000100)={{0x1, 0x1, 0x18, r0, {0x4}}, './file0\x00'}) r1 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000500)=@newtaction={0x50, 0x30, 0x1, 0x0, 0x0, {}, [{0x3c, 0x1, [@m_vlan={0x38, 0x1, 0x0, 0x0, {{0x9}, {0xc, 0x2, 0x0, 0x1, [@TCA_VLAN_PUSH_VLAN_PRIORITY={0x5}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0x50}}, 0x0) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r1, 0x6, 0x14, &(0x7f0000000180), 0x4) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) getsockopt$inet6_tcp_TCP_REPAIR_WINDOW(r0, 0x6, 0x1d, &(0x7f0000000080), &(0x7f00000000c0)=0x14) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) socket$inet6_tcp(0xa, 0x1, 0x0) (async) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) (async) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @dev={0xfe, 0x80, '\x00', 0x10}}, 0x1c) (async) ioctl$AUTOFS_DEV_IOCTL_ISMOUNTPOINT(0xffffffffffffffff, 0xc018937e, &(0x7f0000000100)={{0x1, 0x1, 0x18, r0, {0x4}}, './file0\x00'}) (async) socket(0x10, 0x3, 0x0) (async) sendmsg$nl_route_sched(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000500)=@newtaction={0x50, 0x30, 0x1, 0x0, 0x0, {}, [{0x3c, 0x1, [@m_vlan={0x38, 0x1, 0x0, 0x0, {{0x9}, {0xc, 0x2, 0x0, 0x1, [@TCA_VLAN_PUSH_VLAN_PRIORITY={0x5}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0x50}}, 0x0) (async) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r1, 0x6, 0x14, &(0x7f0000000180), 0x4) (async) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) (async) getsockopt$inet6_tcp_TCP_REPAIR_WINDOW(r0, 0x6, 0x1d, &(0x7f0000000080), &(0x7f00000000c0)=0x14) (async) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) (async) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) (async) [ 315.136868][T14209] loop1: detected capacity change from 0 to 270 00:43:39 executing program 4: r0 = semget$private(0x0, 0x4000000009, 0x0) semop(r0, &(0x7f0000000240)=[{0x2, 0x7fff}], 0x1) (async) r1 = semget$private(0x0, 0x1, 0x27) semctl$GETVAL(r1, 0x3, 0xc, &(0x7f0000000280)=""/183) (async) semop(r0, &(0x7f0000001480)=[{0x0, 0xfffb}, {0x2, 0x7f}], 0x2) (async) semop(r0, &(0x7f0000001400)=[{0x0, 0x1fd}], 0x1) (async) semctl$SETALL(r0, 0x0, 0x11, &(0x7f0000000000)=[0x7, 0x7, 0x7, 0x400, 0x9, 0x0, 0x3]) (async) r2 = semget$private(0x0, 0x4000000009, 0x0) semop(r2, &(0x7f0000000240)=[{0x2, 0x7fff}], 0x1) (async) semop(r2, &(0x7f0000001480)=[{0x0, 0xfffb}, {0x2, 0x7f}], 0x2) (async) semop(r2, &(0x7f0000001400)=[{0x0, 0x200}], 0x1) (async) semctl$GETZCNT(r2, 0x1, 0xf, &(0x7f00000014c0)=""/4096) (async) r3 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r3, &(0x7f0000000440)={0x0, 0x0, &(0x7f0000000400)={&(0x7f0000000100)=@bridge_getvlan={0x20, 0x78, 0x1, 0x0, 0x0, {}, [@BRIDGE_VLANDB_DUMP_FLAGS={0x8}]}, 0x20}}, 0x0) clock_gettime(0x0, &(0x7f0000000080)={0x0, 0x0}) semtimedop(r0, &(0x7f0000000040)=[{0x3, 0x7, 0x2800}, {0x1, 0x600}, {0x2, 0x7, 0x1000}], 0x3, &(0x7f00000000c0)={r4, r5+10000000}) semctl$GETZCNT(r0, 0x4, 0xf, &(0x7f0000000140)=""/228) 00:43:39 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @dev={0xfe, 0x80, '\x00', 0x10}}, 0x1c) ioctl$AUTOFS_DEV_IOCTL_ISMOUNTPOINT(0xffffffffffffffff, 0xc018937e, &(0x7f0000000100)={{0x1, 0x1, 0x18, r0, {0x4}}, './file0\x00'}) r1 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000500)=@newtaction={0x50, 0x30, 0x1, 0x0, 0x0, {}, [{0x3c, 0x1, [@m_vlan={0x38, 0x1, 0x0, 0x0, {{0x9}, {0xc, 0x2, 0x0, 0x1, [@TCA_VLAN_PUSH_VLAN_PRIORITY={0x5}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0x50}}, 0x0) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r1, 0x6, 0x14, &(0x7f0000000180), 0x4) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) getsockopt$inet6_tcp_TCP_REPAIR_WINDOW(r0, 0x6, 0x1d, &(0x7f0000000080), &(0x7f00000000c0)=0x14) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) socket$inet6_tcp(0xa, 0x1, 0x0) (async) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) (async) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @dev={0xfe, 0x80, '\x00', 0x10}}, 0x1c) (async) ioctl$AUTOFS_DEV_IOCTL_ISMOUNTPOINT(0xffffffffffffffff, 0xc018937e, &(0x7f0000000100)={{0x1, 0x1, 0x18, r0, {0x4}}, './file0\x00'}) (async) socket(0x10, 0x3, 0x0) (async) sendmsg$nl_route_sched(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000500)=@newtaction={0x50, 0x30, 0x1, 0x0, 0x0, {}, [{0x3c, 0x1, [@m_vlan={0x38, 0x1, 0x0, 0x0, {{0x9}, {0xc, 0x2, 0x0, 0x1, [@TCA_VLAN_PUSH_VLAN_PRIORITY={0x5}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0x50}}, 0x0) (async) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r1, 0x6, 0x14, &(0x7f0000000180), 0x4) (async) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) (async) getsockopt$inet6_tcp_TCP_REPAIR_WINDOW(r0, 0x6, 0x1d, &(0x7f0000000080), &(0x7f00000000c0)=0x14) (async) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) (async) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) (async) 00:43:39 executing program 0: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000800)={&(0x7f0000000340)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x20, 0x20, 0x2, [@const={0x1, 0x0, 0x0, 0x2}, @func_proto={0x0, 0x1, 0x0, 0xd, 0x0, [{0x0, 0x1}]}]}}, &(0x7f0000000240)=""/223, 0x3a, 0xdf, 0x1}, 0x20) (async, rerun: 64) r0 = socket$nl_route(0x10, 0x3, 0x0) (rerun: 64) sendmsg$nl_route(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)=@ipv6_newnexthop={0x24, 0x68, 0x1fb, 0x0, 0x0, {}, [@NHA_BLACKHOLE={0x4}, @NHA_ID={0x8, 0x1, 0x1}]}, 0x24}, 0x1, 0xfc}, 0x0) (async) ioctl$FS_IOC_GET_ENCRYPTION_NONCE(r0, 0x8010661b, &(0x7f0000000000)) 00:43:39 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) syz_genetlink_get_family_id$ipvs(&(0x7f0000000000), r1) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000380)=ANY=[@ANYBLOB="3c0000001000010400000400ec00000000000000", @ANYRES32=r2, @ANYBLOB="00000000000000001c0012000b000100627269646765"], 0x3c}}, 0x0) ioctl$sock_ipv6_tunnel_SIOCADDTUNNEL(r1, 0x89f1, &(0x7f0000000440)={'syztnl2\x00', &(0x7f00000003c0)={'syztnl0\x00', r2, 0x2f, 0x20, 0xfa, 0x5, 0x36, @private1={0xfc, 0x1, '\x00', 0x1}, @loopback, 0x10, 0x20, 0x2, 0x4}}) ioctl$sock_ipv4_tunnel_SIOCCHGTUNNEL(r1, 0x89f3, &(0x7f0000000540)={'erspan0\x00', &(0x7f0000000480)={'syztnl2\x00', r3, 0x80, 0x8000, 0x4, 0xffffff7f, {{0x11, 0x4, 0x1, 0x23, 0x44, 0x1f, 0x0, 0x1, 0x29, 0x0, @dev={0xac, 0x14, 0x14, 0x30}, @multicast2, {[@timestamp={0x44, 0xc, 0xe4, 0x0, 0x5, [0x1, 0x8]}, @timestamp_prespec={0x44, 0x24, 0x38, 0x3, 0x8, [{@private=0xa010101, 0x1}, {@multicast1, 0x100}, {@dev={0xac, 0x14, 0x14, 0x1c}, 0xffffffff}, {@dev={0xac, 0x14, 0x14, 0x29}, 0x80000000}]}]}}}}}) ioctl$SIOCX25GDTEFACILITIES(r1, 0x89ea, &(0x7f0000000580)) r4 = socket$netlink(0x10, 0x3, 0x0) r5 = openat$incfs(0xffffffffffffff9c, &(0x7f0000000140)='.pending_reads\x00', 0x1, 0xa0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000500)=0x14) ioctl$AUTOFS_DEV_IOCTL_ISMOUNTPOINT(r5, 0xc018937e, &(0x7f00000001c0)={{0x1, 0x1, 0x18, r4, {0x2}}, './file0\x00'}) ioctl$ifreq_SIOCGIFINDEX_wireguard(r0, 0x8933, &(0x7f0000000280)={'wg2\x00', 0x0}) sendmsg$nl_route_sched(r7, &(0x7f0000000340)={&(0x7f0000000240)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000300)={&(0x7f00000002c0)=@newtfilter={0x2c, 0x2c, 0x100, 0x70bd25, 0x25dfdbfc, {0x0, 0x0, 0x0, r8, {0xc, 0xffff}, {0x3, 0xc}, {0xffe7, 0x10}}, [@TCA_CHAIN={0x8, 0xb, 0x3}]}, 0x2c}, 0x1, 0x0, 0x0, 0x40}, 0x4) sendmsg$nl_route(r4, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000040)={&(0x7f00000000c0)=@newlink={0x28, 0x10, 0x825, 0x0, 0x0, {0xa, 0x0, 0x0, r6}, [@IFLA_PROTO_DOWN={0x8, 0x1a}]}, 0x28}}, 0x0) 00:43:39 executing program 4: r0 = semget$private(0x0, 0x4000000009, 0x0) semop(r0, &(0x7f0000000240)=[{0x2, 0x7fff}], 0x1) (async) r1 = semget$private(0x0, 0x1, 0x27) semctl$GETVAL(r1, 0x3, 0xc, &(0x7f0000000280)=""/183) (async, rerun: 64) semop(r0, &(0x7f0000001480)=[{0x0, 0xfffb}, {0x2, 0x7f}], 0x2) (async, rerun: 64) semop(r0, &(0x7f0000001400)=[{0x0, 0x1fd}], 0x1) (async) semctl$SETALL(r0, 0x0, 0x11, &(0x7f0000000000)=[0x7, 0x7, 0x7, 0x400, 0x9, 0x0, 0x3]) (async) r2 = semget$private(0x0, 0x4000000009, 0x0) semop(r2, &(0x7f0000000240)=[{0x2, 0x7fff}], 0x1) semop(r2, &(0x7f0000001480)=[{0x0, 0xfffb}, {0x2, 0x7f}], 0x2) semop(r2, &(0x7f0000001400)=[{0x0, 0x200}], 0x1) (async) semctl$GETZCNT(r2, 0x1, 0xf, &(0x7f00000014c0)=""/4096) r3 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r3, &(0x7f0000000440)={0x0, 0x0, &(0x7f0000000400)={&(0x7f0000000100)=@bridge_getvlan={0x20, 0x78, 0x1, 0x0, 0x0, {}, [@BRIDGE_VLANDB_DUMP_FLAGS={0x8}]}, 0x20}}, 0x0) clock_gettime(0x0, &(0x7f0000000080)={0x0, 0x0}) semtimedop(r0, &(0x7f0000000040)=[{0x3, 0x7, 0x2800}, {0x1, 0x600}, {0x2, 0x7, 0x1000}], 0x3, &(0x7f00000000c0)={r4, r5+10000000}) (async, rerun: 64) semctl$GETZCNT(r0, 0x4, 0xf, &(0x7f0000000140)=""/228) (rerun: 64) 00:43:39 executing program 5: r0 = bpf$PROG_LOAD(0x5, &(0x7f000000e000)={0x10, 0x4, &(0x7f00000003c0)=ANY=[@ANYBLOB="b4000000000000007910480000000000710031000000000095000000e89bdadbf19ec1d8c7d814b8f0c0213d3d6f793e1c96eb25e3a3c391049f5b887bdcd66d"], &(0x7f0000000080)='syzkaller\x00', 0x2, 0xc3, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x80) (async) r1 = open_tree(0xffffffffffffff9c, &(0x7f00000005c0)='./file0\x00', 0x81901) move_mount(r1, &(0x7f0000000140)='.\x00', 0xffffffffffffff9c, &(0x7f0000000180)='./file0\x00', 0x0) (async) getsockopt$inet6_mreq(0xffffffffffffffff, 0x29, 0x1b, &(0x7f00000001c0)={@loopback, 0x0}, &(0x7f0000000200)=0x14) (async) r3 = openat$proc_capi20ncci(0xffffffffffffff9c, &(0x7f0000000240), 0x42100, 0x0) (async) r4 = pidfd_getfd(0xffffffffffffffff, r0, 0x0) bpf$PROG_LOAD(0x5, &(0x7f0000000340)={0x1b, 0xa, &(0x7f00000000c0)=@framed={{0x18, 0x0, 0x0, 0x0, 0x8, 0x0, 0x0, 0x0, 0xa65}, [@cb_func={0x18, 0x4, 0x4, 0x0, 0x1}, @btf_id={0x18, 0x8, 0x3, 0x0, 0x3}, @map_val={0x18, 0x5, 0x2, 0x0, r1, 0x0, 0x0, 0x0, 0x6}, @generic={0x1f, 0x6, 0x1, 0x100, 0x1f}]}, &(0x7f0000000140)='syzkaller\x00', 0x4e7, 0x9, &(0x7f0000000180)=""/9, 0xc5573385b0d6430, 0x11, '\x00', r2, 0x15, r3, 0x8, &(0x7f0000000280)={0x8, 0x1}, 0x8, 0x10, &(0x7f00000002c0)={0x4, 0xe, 0x77cb8eae, 0x7fffffff}, 0x10, 0xffffffffffffffff, r0, 0x0, &(0x7f0000000300)=[r4, 0xffffffffffffffff, 0xffffffffffffffff, 0x1]}, 0x80) (async, rerun: 32) read$FUSE(r3, &(0x7f0000000600)={0x2020, 0x0, 0x0, 0x0}, 0x2020) (async, rerun: 32) r6 = getuid() sendmsg$nl_route(r1, &(0x7f00000004c0)={&(0x7f0000000040)={0x10, 0x0, 0x0, 0x400000}, 0xc, &(0x7f0000000480)={&(0x7f0000000400)=@ipv4_newrule={0x60, 0x20, 0x8, 0x70bd2c, 0x25dfdbff, {0x2, 0x80, 0x20, 0x5, 0x74, 0x0, 0x0, 0x6, 0xb}, [@FRA_GENERIC_POLICY=@FRA_L3MDEV={0x5, 0x13, 0x4}, @FRA_GENERIC_POLICY=@FRA_UID_RANGE={0xc, 0x14, {r5, r6}}, @FRA_GENERIC_POLICY=@FRA_IP_PROTO={0x5}, @FRA_GENERIC_POLICY=@FRA_FWMARK={0x8, 0xa, 0x1}, @FRA_FLOW={0x8}, @FRA_FLOW={0x8, 0xb, 0x6d27}, @FRA_GENERIC_POLICY=@FRA_SPORT_RANGE={0x8, 0x17, {0x4e20, 0x4e20}}, @FRA_GENERIC_POLICY=@FRA_DPORT_RANGE={0x8, 0x18, {0x4e23, 0x4e22}}]}, 0x60}, 0x1, 0x0, 0x0, 0x20008890}, 0x8000) 00:43:39 executing program 4: syz_mount_image$tmpfs(&(0x7f00000002c0), &(0x7f0000000400)='./bus\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f00000000c0)=ANY=[@ANYBLOB="68756765e4a355306fc8b5"], 0x0) chdir(&(0x7f0000000040)='./bus\x00') ioctl$VIDIOC_S_STD(0xffffffffffffffff, 0x40085618, &(0x7f0000000140)=0xc00000) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r0, &(0x7f0000000080)=ANY=[], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r0, 0x0) madvise(&(0x7f00002a9000/0x4000)=nil, 0x4000, 0xe) r1 = socket$xdp(0x2c, 0x3, 0x0) setsockopt$XDP_UMEM_REG(r1, 0x11b, 0x4, &(0x7f0000000100)={&(0x7f0000000000)=""/209, 0x1318000, 0x1000}, 0x20) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000240)='memory.current\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28011, r2, 0x0) [ 315.240639][T14235] __nla_validate_parse: 10 callbacks suppressed [ 315.240650][T14235] netlink: 12 bytes leftover after parsing attributes in process `syz-executor.1'. [ 315.258468][T14242] tmpfs: Unknown parameter 'hugeä£U0oȵ' 00:43:39 executing program 2: prctl$PR_SET_SECCOMP(0x16, 0x2, &(0x7f00000001c0)={0x1, &(0x7f0000000180)=[{0x200000000006, 0x0, 0x0, 0x7ffc0003}]}) ioctl$DRM_IOCTL_MODE_CREATE_LEASE(0xffffffffffffffff, 0xc01864c6, &(0x7f0000000040)={&(0x7f0000000000)=[0x3f, 0x0, 0x400, 0x3], 0x4, 0x800, 0x0, 0xffffffffffffffff}) ioctl$TUNATTACHFILTER(r0, 0x401054d5, &(0x7f00000000c0)={0x4, &(0x7f0000000080)=[{0x7c20, 0x7, 0x8, 0x2}, {0x4, 0x29, 0x20, 0x7}, {0x4, 0x3, 0x5, 0x8}, {0xfffb, 0x20, 0x9}]}) fanotify_mark(r0, 0xa0, 0x60f33fa973c0dff4, 0xffffffffffffff9c, 0x0) 00:43:39 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x304}, '\x00', "04faf5f6bdc53b547400000000000000d100feff00", '\x00', "b40d812781e71650"}, 0x38) 00:43:39 executing program 5: syz_emit_ethernet(0x5e, &(0x7f0000000000)={@local, @remote, @void, {@ipv4={0x800, @icmp={{0x5, 0x4, 0x0, 0x0, 0x50, 0x0, 0x0, 0x0, 0x1, 0x0, @local, @broadcast}, @time_exceeded={0xb, 0x0, 0x0, 0xf1, 0x5c, 0x0, {0xd, 0x4, 0x0, 0x0, 0x0, 0xffff, 0x0, 0x0, 0x89, 0x0, @loopback=0xac1414aa, @private, {[@generic={0x0, 0x12, "a8099e07d7005a9d004e88626d85ab72"}, @rr={0x7, 0xb, 0xd3, [@broadcast, @loopback]}]}}}}}}}, 0x0) 00:43:39 executing program 0: bpf$BPF_BTF_LOAD(0x12, &(0x7f0000000800)={&(0x7f0000000340)={{0xeb9f, 0x1, 0x0, 0x18, 0x0, 0x20, 0x20, 0x2, [@const={0x1, 0x0, 0x0, 0x2}, @func_proto={0x0, 0x1, 0x0, 0xd, 0x0, [{0x0, 0x1}]}]}}, &(0x7f0000000240)=""/223, 0x3a, 0xdf, 0x1}, 0x20) (async) r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)=@ipv6_newnexthop={0x24, 0x68, 0x1fb, 0x0, 0x0, {}, [@NHA_BLACKHOLE={0x4}, @NHA_ID={0x8, 0x1, 0x1}]}, 0x24}, 0x1, 0xfc}, 0x0) (async) ioctl$FS_IOC_GET_ENCRYPTION_NONCE(r0, 0x8010661b, &(0x7f0000000000)) 00:43:39 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x304}, '\x00', "04faf5f6bdc53b547400000000000000d100feff00", '\x00', "b40d812781e71650"}, 0x38) socket$inet6_tcp(0xa, 0x1, 0x0) (async) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) (async) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) (async) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) (async) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) (async) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) (async) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x304}, '\x00', "04faf5f6bdc53b547400000000000000d100feff00", '\x00', "b40d812781e71650"}, 0x38) (async) 00:43:39 executing program 5: syz_emit_ethernet(0x5e, &(0x7f0000000000)={@local, @remote, @void, {@ipv4={0x800, @icmp={{0x5, 0x4, 0x0, 0x0, 0x50, 0x0, 0x0, 0x0, 0x1, 0x0, @local, @broadcast}, @time_exceeded={0xb, 0x0, 0x0, 0xf1, 0x5c, 0x0, {0xd, 0x4, 0x0, 0x0, 0x0, 0xffff, 0x0, 0x0, 0x89, 0x0, @loopback=0xac1414aa, @private, {[@generic={0x0, 0x12, "a8099e07d7005a9d004e88626d85ab72"}, @rr={0x7, 0xb, 0xd3, [@broadcast, @loopback]}]}}}}}}}, 0x0) syz_emit_ethernet(0x5e, &(0x7f0000000000)={@local, @remote, @void, {@ipv4={0x800, @icmp={{0x5, 0x4, 0x0, 0x0, 0x50, 0x0, 0x0, 0x0, 0x1, 0x0, @local, @broadcast}, @time_exceeded={0xb, 0x0, 0x0, 0xf1, 0x5c, 0x0, {0xd, 0x4, 0x0, 0x0, 0x0, 0xffff, 0x0, 0x0, 0x89, 0x0, @loopback=0xac1414aa, @private, {[@generic={0x0, 0x12, "a8099e07d7005a9d004e88626d85ab72"}, @rr={0x7, 0xb, 0xd3, [@broadcast, @loopback]}]}}}}}}}, 0x0) (async) 00:43:39 executing program 0: writev(0xffffffffffffffff, &(0x7f0000000340)=[{&(0x7f00000000c0)="e2054b36adee0209d064a8275a54818759741c66bbd60abd40895ade546d18578254771eca2a82ccae23ce9191ded40f2e3a69f3574fbc", 0x37}, {&(0x7f0000000100)="7b471a563cfee1ea388e23b7622b9dbba61357d99f18523e4e832788fc6e2c6516c3ed90c641d3182406dfededf264ee1f6ba91bccc49c8b94b65ed3acc9889d9f16e6e9c8fac7007d2954ff41f84cd1cc587b29b9d7702b9429499a7de61f3e", 0x60}, {&(0x7f0000000180)="82f9ca4e94cbb1b10f4016d93f35888a3d089304816b4d0cf6c5abf37cdcc05bdec49d95f2c9d152e658eeabdfd5fa5be94165345702acbf7b406168ffb872ebc5037ab72c793b1d3fbb82ac4f5db355e6b38078854cb5a7497411f0cdff126cc887799788f2665762ed6852325213488152a880c6cedb43f879015e6b0a1887f69260448325637a02e61d884732a68c060a69c498d0de56645de7eaf9c55bb077078ea51ccf075e24bd06d0d787169245083619535dc13c4c7d3adc1a5bf53596b1be0052e175c325c52da0e419255bf053", 0xd2}, {&(0x7f0000000280)="2f57e532344504384907b11ad039eca53fefdb1c5240152f2ed24d3f19c7b588ecb31917ac3b6ea17a7a1388b251cceef6ed0a5636e0c38ab3844412c189563b9132d8d81762d6f63b8cd3fbabb9fe611e0c529bab", 0x55}, {&(0x7f0000000a40)="9c9b999439d22ccdfa26faf81ccded666a6d834ceda2aead1b81149d49ad2241713acfd76cdb4f4ac5b0fb5ab0556b453daa0d6ffc6aceb8b2377d6ef8242c0799da15094b8430f9274a441c071ea396be81f3ec71090702cd39ffa5f1753aac4007e2d721c7db1bef9c576491f860e8e1f4563ae489ade2f4489202859bc19108e7f4a67dead1d7f3f62d6c0ede888cf48dd8a17deb3c658a0b000000000000bd7979f9595efc1bb58ee5e46dac5034f4d3ec7805137730c85b05b2e3e805b82119cf956dcdbcc36b3dcb7a6e02d0d84f7ea1d6fc42f7636f140b5919c467b72404535c696f03daa296c92125dfc76c5f44a5af02ea24bad66cd49c5dd77f9d3fa836e230942a201e16cf142fb34a608d91c0cb4e2dfc474b98251cd6e582cafdcfd40ffaad05e7f79ecda7be1feff6cb2b91d2", 0x134}, {&(0x7f00000003c0)="4ab61d0b331cb99d4bcde305b7fac36d927348d5b44373fa8168ffe369d3cadbe5862afe735598963f984c8fa0917649298a3efab2ee160f6b7b434af715b5d154b3a005901a711d7506c56346d94ea1140b5395a27b427120c6cb7c50f662e5a79fc0474492177de0ff64335c69b58285628e01d2a9f74e263cf1689ebabfe6973c235ecd42d7641c928368ec2a4143bdc8c2bb701bfb76c03c708a95a1cec7e8160300eb3905be2d431aeba009c7f5b8daa6e176", 0xb5}, {&(0x7f0000000480)="319c0bb3fe79901a6a3552a6600aaf8db53f065a74f21e2ccde652d8f455560ddc12e73e47bd9b36da0aba5d0ffa989c9106147669c1a474b07c201472c43e4a591ad56011daa03c0f2a49feb10b40ce042840b4baaa9dc9acdc17618e587f33a032ea6c4de9a04f749ddd0d6d8422c95edf4fe9dc2e2e7a53ed", 0x7a}], 0x7) prctl$PR_SET_TAGGED_ADDR_CTRL(0x37, 0x1) ioctl$VIDIOC_DECODER_CMD(0xffffffffffffffff, 0xc0485660, &(0x7f00000006c0)={0xf22a35e8e1ad8b7b, 0x1, @raw_data=[0xe9df, 0xfffff001, 0x10001, 0x7, 0x1, 0x10000, 0x7f, 0x4, 0x1, 0x1, 0x2, 0x3ff, 0x0, 0x2, 0x8, 0x1]}) r0 = socket$inet6_udplite(0xa, 0x2, 0x88) r1 = syz_open_dev$vcsu(&(0x7f0000000580), 0x8, 0x0) io_uring_setup(0x2ca3, &(0x7f00000005c0)={0x0, 0x7, 0x20, 0x1, 0x28d, 0x0, r1}) ioctl$sock_ipv6_tunnel_SIOCADDTUNNEL(r0, 0x89f1, &(0x7f0000000080)={'ip6gre0\x00', &(0x7f0000000000)={'syztnl2\x00', 0x0, 0x29, 0x0, 0x0, 0x0, 0x0, @mcast1={0xff, 0x2}, @ipv4={'\x00', '\xff\xff', @rand_addr=0x64010102}, 0x2500}}) io_uring_register$IORING_UNREGISTER_PERSONALITY(r1, 0xa, 0x0, 0x0) r3 = syz_open_procfs(0x0, &(0x7f0000000240)='net/ip_tables_targets\x00') preadv2(r3, &(0x7f0000000500)=[{&(0x7f00000002c0)=""/103, 0x67}], 0x1, 0xa, 0x0, 0x0) io_uring_setup(0x1ae6, &(0x7f0000000800)={0x0, 0xbd24, 0x20, 0x1, 0x38a, 0x0, r3}) ioctl$AUTOFS_DEV_IOCTL_ASKUMOUNT(r1, 0xc018937d, &(0x7f0000000640)=ANY=[@ANYBLOB="010000000100000018000000", @ANYRES32=r0, @ANYBLOB="1a8e0000000000002e2f66296c653000"]) ioctl$sock_ipv4_tunnel_SIOCGETTUNNEL(r1, 0x89f0, &(0x7f0000000780)={'gre0\x00', &(0x7f0000000980)=ANY=[@ANYBLOB='gre0\x00'/16, @ANYRES32=r2, @ANYBLOB="00200020000000036b9057a84e1c00780064000001299078e0000002e0000002441115356e98fa3205c86264e550890455891fccac1414aaac1414bbac1414aae000000100000000ac141419ac1414bb4418cc20000000007fffffff05000000000000020000000983084f41e9a1247289139be0000002e0000002e0000002ac1414bb00c8266899acfa"]}) setsockopt$inet6_IPV6_PKTINFO(r1, 0x29, 0x32, &(0x7f00000007c0)={@private2, r5}, 0x14) bpf$BPF_LINK_CREATE_XDP(0x1c, &(0x7f0000000680)={r4, r2, 0x25, 0x8}, 0x10) r6 = syz_open_procfs(0x0, &(0x7f0000000240)='net/ip_tables_targets\x00') preadv2(r6, &(0x7f0000000500)=[{&(0x7f00000002c0)=""/103, 0x67}], 0x1, 0xa, 0x0, 0x0) syz_io_uring_setup(0x3537, &(0x7f0000000880)={0x0, 0x259e, 0x0, 0x2, 0x1e3, 0x0, r6}, &(0x7f0000ffe000/0x1000)=nil, &(0x7f0000ffe000/0x2000)=nil, &(0x7f0000000900), &(0x7f0000000940)) 00:43:39 executing program 2: prctl$PR_SET_SECCOMP(0x16, 0x2, &(0x7f00000001c0)={0x1, &(0x7f0000000180)=[{0x200000000006, 0x0, 0x0, 0x7ffc0003}]}) ioctl$DRM_IOCTL_MODE_CREATE_LEASE(0xffffffffffffffff, 0xc01864c6, &(0x7f0000000040)={&(0x7f0000000000)=[0x3f, 0x0, 0x400, 0x3], 0x4, 0x800, 0x0, 0xffffffffffffffff}) ioctl$TUNATTACHFILTER(r0, 0x401054d5, &(0x7f00000000c0)={0x4, &(0x7f0000000080)=[{0x7c20, 0x7, 0x8, 0x2}, {0x4, 0x29, 0x20, 0x7}, {0x4, 0x3, 0x5, 0x8}, {0xfffb, 0x20, 0x9}]}) fanotify_mark(r0, 0xa0, 0x60f33fa973c0dff4, 0xffffffffffffff9c, 0x0) 00:43:39 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) (async) r1 = socket(0x10, 0x803, 0x0) syz_genetlink_get_family_id$ipvs(&(0x7f0000000000), r1) (async) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000380)=ANY=[@ANYBLOB="3c0000001000010400000400ec00000000000000", @ANYRES32=r2, @ANYBLOB="00000000000000001c0012000b000100627269646765"], 0x3c}}, 0x0) (async) ioctl$sock_ipv6_tunnel_SIOCADDTUNNEL(r1, 0x89f1, &(0x7f0000000440)={'syztnl2\x00', &(0x7f00000003c0)={'syztnl0\x00', r2, 0x2f, 0x20, 0xfa, 0x5, 0x36, @private1={0xfc, 0x1, '\x00', 0x1}, @loopback, 0x10, 0x20, 0x2, 0x4}}) ioctl$sock_ipv4_tunnel_SIOCCHGTUNNEL(r1, 0x89f3, &(0x7f0000000540)={'erspan0\x00', &(0x7f0000000480)={'syztnl2\x00', r3, 0x80, 0x8000, 0x4, 0xffffff7f, {{0x11, 0x4, 0x1, 0x23, 0x44, 0x1f, 0x0, 0x1, 0x29, 0x0, @dev={0xac, 0x14, 0x14, 0x30}, @multicast2, {[@timestamp={0x44, 0xc, 0xe4, 0x0, 0x5, [0x1, 0x8]}, @timestamp_prespec={0x44, 0x24, 0x38, 0x3, 0x8, [{@private=0xa010101, 0x1}, {@multicast1, 0x100}, {@dev={0xac, 0x14, 0x14, 0x1c}, 0xffffffff}, {@dev={0xac, 0x14, 0x14, 0x29}, 0x80000000}]}]}}}}}) (async) ioctl$SIOCX25GDTEFACILITIES(r1, 0x89ea, &(0x7f0000000580)) r4 = socket$netlink(0x10, 0x3, 0x0) r5 = openat$incfs(0xffffffffffffff9c, &(0x7f0000000140)='.pending_reads\x00', 0x1, 0xa0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000500)=0x14) (async) ioctl$AUTOFS_DEV_IOCTL_ISMOUNTPOINT(r5, 0xc018937e, &(0x7f00000001c0)={{0x1, 0x1, 0x18, r4, {0x2}}, './file0\x00'}) (async) ioctl$ifreq_SIOCGIFINDEX_wireguard(r0, 0x8933, &(0x7f0000000280)={'wg2\x00', 0x0}) sendmsg$nl_route_sched(r7, &(0x7f0000000340)={&(0x7f0000000240)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000300)={&(0x7f00000002c0)=@newtfilter={0x2c, 0x2c, 0x100, 0x70bd25, 0x25dfdbfc, {0x0, 0x0, 0x0, r8, {0xc, 0xffff}, {0x3, 0xc}, {0xffe7, 0x10}}, [@TCA_CHAIN={0x8, 0xb, 0x3}]}, 0x2c}, 0x1, 0x0, 0x0, 0x40}, 0x4) (async) sendmsg$nl_route(r4, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000040)={&(0x7f00000000c0)=@newlink={0x28, 0x10, 0x825, 0x0, 0x0, {0xa, 0x0, 0x0, r6}, [@IFLA_PROTO_DOWN={0x8, 0x1a}]}, 0x28}}, 0x0) 00:43:39 executing program 5: syz_emit_ethernet(0x5e, &(0x7f0000000000)={@local, @remote, @void, {@ipv4={0x800, @icmp={{0x5, 0x4, 0x0, 0x0, 0x50, 0x0, 0x0, 0x0, 0x1, 0x0, @local, @broadcast}, @time_exceeded={0xb, 0x0, 0x0, 0xf1, 0x5c, 0x0, {0xd, 0x4, 0x0, 0x0, 0x0, 0xffff, 0x0, 0x0, 0x89, 0x0, @loopback=0xac1414aa, @private, {[@generic={0x0, 0x12, "a8099e07d7005a9d004e88626d85ab72"}, @rr={0x7, 0xb, 0xd3, [@broadcast, @loopback]}]}}}}}}}, 0x0) syz_emit_ethernet(0x5e, &(0x7f0000000000)={@local, @remote, @void, {@ipv4={0x800, @icmp={{0x5, 0x4, 0x0, 0x0, 0x50, 0x0, 0x0, 0x0, 0x1, 0x0, @local, @broadcast}, @time_exceeded={0xb, 0x0, 0x0, 0xf1, 0x5c, 0x0, {0xd, 0x4, 0x0, 0x0, 0x0, 0xffff, 0x0, 0x0, 0x89, 0x0, @loopback=0xac1414aa, @private, {[@generic={0x0, 0x12, "a8099e07d7005a9d004e88626d85ab72"}, @rr={0x7, 0xb, 0xd3, [@broadcast, @loopback]}]}}}}}}}, 0x0) (async) 00:43:39 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x304}, '\x00', "04faf5f6bdc53b547400000000000000d100feff00", '\x00', "b40d812781e71650"}, 0x38) socket$inet6_tcp(0xa, 0x1, 0x0) (async) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) (async) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) (async) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) (async) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) (async) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) (async) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x304}, '\x00', "04faf5f6bdc53b547400000000000000d100feff00", '\x00', "b40d812781e71650"}, 0x38) (async) [ 315.416140][T14271] netlink: 12 bytes leftover after parsing attributes in process `syz-executor.1'. 00:43:39 executing program 4: syz_mount_image$tmpfs(&(0x7f00000002c0), &(0x7f0000000400)='./bus\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f00000000c0)=ANY=[@ANYBLOB="68756765e4a355306fc8b5"], 0x0) (async) chdir(&(0x7f0000000040)='./bus\x00') ioctl$VIDIOC_S_STD(0xffffffffffffffff, 0x40085618, &(0x7f0000000140)=0xc00000) (async) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r0, &(0x7f0000000080)=ANY=[], 0x208e24b) (async) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r0, 0x0) (async) madvise(&(0x7f00002a9000/0x4000)=nil, 0x4000, 0xe) r1 = socket$xdp(0x2c, 0x3, 0x0) setsockopt$XDP_UMEM_REG(r1, 0x11b, 0x4, &(0x7f0000000100)={&(0x7f0000000000)=""/209, 0x1318000, 0x1000}, 0x20) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000240)='memory.current\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28011, r2, 0x0) 00:43:39 executing program 2: prctl$PR_SET_SECCOMP(0x16, 0x2, &(0x7f00000001c0)={0x1, &(0x7f0000000180)=[{0x200000000006, 0x0, 0x0, 0x7ffc0003}]}) (async) ioctl$DRM_IOCTL_MODE_CREATE_LEASE(0xffffffffffffffff, 0xc01864c6, &(0x7f0000000040)={&(0x7f0000000000)=[0x3f, 0x0, 0x400, 0x3], 0x4, 0x800, 0x0, 0xffffffffffffffff}) ioctl$TUNATTACHFILTER(r0, 0x401054d5, &(0x7f00000000c0)={0x4, &(0x7f0000000080)=[{0x7c20, 0x7, 0x8, 0x2}, {0x4, 0x29, 0x20, 0x7}, {0x4, 0x3, 0x5, 0x8}, {0xfffb, 0x20, 0x9}]}) fanotify_mark(r0, 0xa0, 0x60f33fa973c0dff4, 0xffffffffffffff9c, 0x0) 00:43:39 executing program 0: writev(0xffffffffffffffff, &(0x7f0000000340)=[{&(0x7f00000000c0)="e2054b36adee0209d064a8275a54818759741c66bbd60abd40895ade546d18578254771eca2a82ccae23ce9191ded40f2e3a69f3574fbc", 0x37}, {&(0x7f0000000100)="7b471a563cfee1ea388e23b7622b9dbba61357d99f18523e4e832788fc6e2c6516c3ed90c641d3182406dfededf264ee1f6ba91bccc49c8b94b65ed3acc9889d9f16e6e9c8fac7007d2954ff41f84cd1cc587b29b9d7702b9429499a7de61f3e", 0x60}, {&(0x7f0000000180)="82f9ca4e94cbb1b10f4016d93f35888a3d089304816b4d0cf6c5abf37cdcc05bdec49d95f2c9d152e658eeabdfd5fa5be94165345702acbf7b406168ffb872ebc5037ab72c793b1d3fbb82ac4f5db355e6b38078854cb5a7497411f0cdff126cc887799788f2665762ed6852325213488152a880c6cedb43f879015e6b0a1887f69260448325637a02e61d884732a68c060a69c498d0de56645de7eaf9c55bb077078ea51ccf075e24bd06d0d787169245083619535dc13c4c7d3adc1a5bf53596b1be0052e175c325c52da0e419255bf053", 0xd2}, {&(0x7f0000000280)="2f57e532344504384907b11ad039eca53fefdb1c5240152f2ed24d3f19c7b588ecb31917ac3b6ea17a7a1388b251cceef6ed0a5636e0c38ab3844412c189563b9132d8d81762d6f63b8cd3fbabb9fe611e0c529bab", 0x55}, {&(0x7f0000000a40)="9c9b999439d22ccdfa26faf81ccded666a6d834ceda2aead1b81149d49ad2241713acfd76cdb4f4ac5b0fb5ab0556b453daa0d6ffc6aceb8b2377d6ef8242c0799da15094b8430f9274a441c071ea396be81f3ec71090702cd39ffa5f1753aac4007e2d721c7db1bef9c576491f860e8e1f4563ae489ade2f4489202859bc19108e7f4a67dead1d7f3f62d6c0ede888cf48dd8a17deb3c658a0b000000000000bd7979f9595efc1bb58ee5e46dac5034f4d3ec7805137730c85b05b2e3e805b82119cf956dcdbcc36b3dcb7a6e02d0d84f7ea1d6fc42f7636f140b5919c467b72404535c696f03daa296c92125dfc76c5f44a5af02ea24bad66cd49c5dd77f9d3fa836e230942a201e16cf142fb34a608d91c0cb4e2dfc474b98251cd6e582cafdcfd40ffaad05e7f79ecda7be1feff6cb2b91d2", 0x134}, {&(0x7f00000003c0)="4ab61d0b331cb99d4bcde305b7fac36d927348d5b44373fa8168ffe369d3cadbe5862afe735598963f984c8fa0917649298a3efab2ee160f6b7b434af715b5d154b3a005901a711d7506c56346d94ea1140b5395a27b427120c6cb7c50f662e5a79fc0474492177de0ff64335c69b58285628e01d2a9f74e263cf1689ebabfe6973c235ecd42d7641c928368ec2a4143bdc8c2bb701bfb76c03c708a95a1cec7e8160300eb3905be2d431aeba009c7f5b8daa6e176", 0xb5}, {&(0x7f0000000480)="319c0bb3fe79901a6a3552a6600aaf8db53f065a74f21e2ccde652d8f455560ddc12e73e47bd9b36da0aba5d0ffa989c9106147669c1a474b07c201472c43e4a591ad56011daa03c0f2a49feb10b40ce042840b4baaa9dc9acdc17618e587f33a032ea6c4de9a04f749ddd0d6d8422c95edf4fe9dc2e2e7a53ed", 0x7a}], 0x7) prctl$PR_SET_TAGGED_ADDR_CTRL(0x37, 0x1) ioctl$VIDIOC_DECODER_CMD(0xffffffffffffffff, 0xc0485660, &(0x7f00000006c0)={0xf22a35e8e1ad8b7b, 0x1, @raw_data=[0xe9df, 0xfffff001, 0x10001, 0x7, 0x1, 0x10000, 0x7f, 0x4, 0x1, 0x1, 0x2, 0x3ff, 0x0, 0x2, 0x8, 0x1]}) r0 = socket$inet6_udplite(0xa, 0x2, 0x88) r1 = syz_open_dev$vcsu(&(0x7f0000000580), 0x8, 0x0) io_uring_setup(0x2ca3, &(0x7f00000005c0)={0x0, 0x7, 0x20, 0x1, 0x28d, 0x0, r1}) ioctl$sock_ipv6_tunnel_SIOCADDTUNNEL(r0, 0x89f1, &(0x7f0000000080)={'ip6gre0\x00', &(0x7f0000000000)={'syztnl2\x00', 0x0, 0x29, 0x0, 0x0, 0x0, 0x0, @mcast1={0xff, 0x2}, @ipv4={'\x00', '\xff\xff', @rand_addr=0x64010102}, 0x2500}}) io_uring_register$IORING_UNREGISTER_PERSONALITY(r1, 0xa, 0x0, 0x0) r3 = syz_open_procfs(0x0, &(0x7f0000000240)='net/ip_tables_targets\x00') preadv2(r3, &(0x7f0000000500)=[{&(0x7f00000002c0)=""/103, 0x67}], 0x1, 0xa, 0x0, 0x0) io_uring_setup(0x1ae6, &(0x7f0000000800)={0x0, 0xbd24, 0x20, 0x1, 0x38a, 0x0, r3}) ioctl$AUTOFS_DEV_IOCTL_ASKUMOUNT(r1, 0xc018937d, &(0x7f0000000640)=ANY=[@ANYBLOB="010000000100000018000000", @ANYRES32=r0, @ANYBLOB="1a8e0000000000002e2f66296c653000"]) ioctl$sock_ipv4_tunnel_SIOCGETTUNNEL(r1, 0x89f0, &(0x7f0000000780)={'gre0\x00', &(0x7f0000000980)=ANY=[@ANYBLOB='gre0\x00'/16, @ANYRES32=r2, @ANYBLOB="00200020000000036b9057a84e1c00780064000001299078e0000002e0000002441115356e98fa3205c86264e550890455891fccac1414aaac1414bbac1414aae000000100000000ac141419ac1414bb4418cc20000000007fffffff05000000000000020000000983084f41e9a1247289139be0000002e0000002e0000002ac1414bb00c8266899acfa"]}) setsockopt$inet6_IPV6_PKTINFO(r1, 0x29, 0x32, &(0x7f00000007c0)={@private2, r5}, 0x14) bpf$BPF_LINK_CREATE_XDP(0x1c, &(0x7f0000000680)={r4, r2, 0x25, 0x8}, 0x10) r6 = syz_open_procfs(0x0, &(0x7f0000000240)='net/ip_tables_targets\x00') preadv2(r6, &(0x7f0000000500)=[{&(0x7f00000002c0)=""/103, 0x67}], 0x1, 0xa, 0x0, 0x0) syz_io_uring_setup(0x3537, &(0x7f0000000880)={0x0, 0x259e, 0x0, 0x2, 0x1e3, 0x0, r6}, &(0x7f0000ffe000/0x1000)=nil, &(0x7f0000ffe000/0x2000)=nil, &(0x7f0000000900), &(0x7f0000000940)) writev(0xffffffffffffffff, &(0x7f0000000340)=[{&(0x7f00000000c0)="e2054b36adee0209d064a8275a54818759741c66bbd60abd40895ade546d18578254771eca2a82ccae23ce9191ded40f2e3a69f3574fbc", 0x37}, {&(0x7f0000000100)="7b471a563cfee1ea388e23b7622b9dbba61357d99f18523e4e832788fc6e2c6516c3ed90c641d3182406dfededf264ee1f6ba91bccc49c8b94b65ed3acc9889d9f16e6e9c8fac7007d2954ff41f84cd1cc587b29b9d7702b9429499a7de61f3e", 0x60}, {&(0x7f0000000180)="82f9ca4e94cbb1b10f4016d93f35888a3d089304816b4d0cf6c5abf37cdcc05bdec49d95f2c9d152e658eeabdfd5fa5be94165345702acbf7b406168ffb872ebc5037ab72c793b1d3fbb82ac4f5db355e6b38078854cb5a7497411f0cdff126cc887799788f2665762ed6852325213488152a880c6cedb43f879015e6b0a1887f69260448325637a02e61d884732a68c060a69c498d0de56645de7eaf9c55bb077078ea51ccf075e24bd06d0d787169245083619535dc13c4c7d3adc1a5bf53596b1be0052e175c325c52da0e419255bf053", 0xd2}, {&(0x7f0000000280)="2f57e532344504384907b11ad039eca53fefdb1c5240152f2ed24d3f19c7b588ecb31917ac3b6ea17a7a1388b251cceef6ed0a5636e0c38ab3844412c189563b9132d8d81762d6f63b8cd3fbabb9fe611e0c529bab", 0x55}, {&(0x7f0000000a40)="9c9b999439d22ccdfa26faf81ccded666a6d834ceda2aead1b81149d49ad2241713acfd76cdb4f4ac5b0fb5ab0556b453daa0d6ffc6aceb8b2377d6ef8242c0799da15094b8430f9274a441c071ea396be81f3ec71090702cd39ffa5f1753aac4007e2d721c7db1bef9c576491f860e8e1f4563ae489ade2f4489202859bc19108e7f4a67dead1d7f3f62d6c0ede888cf48dd8a17deb3c658a0b000000000000bd7979f9595efc1bb58ee5e46dac5034f4d3ec7805137730c85b05b2e3e805b82119cf956dcdbcc36b3dcb7a6e02d0d84f7ea1d6fc42f7636f140b5919c467b72404535c696f03daa296c92125dfc76c5f44a5af02ea24bad66cd49c5dd77f9d3fa836e230942a201e16cf142fb34a608d91c0cb4e2dfc474b98251cd6e582cafdcfd40ffaad05e7f79ecda7be1feff6cb2b91d2", 0x134}, {&(0x7f00000003c0)="4ab61d0b331cb99d4bcde305b7fac36d927348d5b44373fa8168ffe369d3cadbe5862afe735598963f984c8fa0917649298a3efab2ee160f6b7b434af715b5d154b3a005901a711d7506c56346d94ea1140b5395a27b427120c6cb7c50f662e5a79fc0474492177de0ff64335c69b58285628e01d2a9f74e263cf1689ebabfe6973c235ecd42d7641c928368ec2a4143bdc8c2bb701bfb76c03c708a95a1cec7e8160300eb3905be2d431aeba009c7f5b8daa6e176", 0xb5}, {&(0x7f0000000480)="319c0bb3fe79901a6a3552a6600aaf8db53f065a74f21e2ccde652d8f455560ddc12e73e47bd9b36da0aba5d0ffa989c9106147669c1a474b07c201472c43e4a591ad56011daa03c0f2a49feb10b40ce042840b4baaa9dc9acdc17618e587f33a032ea6c4de9a04f749ddd0d6d8422c95edf4fe9dc2e2e7a53ed", 0x7a}], 0x7) (async) prctl$PR_SET_TAGGED_ADDR_CTRL(0x37, 0x1) (async) ioctl$VIDIOC_DECODER_CMD(0xffffffffffffffff, 0xc0485660, &(0x7f00000006c0)={0xf22a35e8e1ad8b7b, 0x1, @raw_data=[0xe9df, 0xfffff001, 0x10001, 0x7, 0x1, 0x10000, 0x7f, 0x4, 0x1, 0x1, 0x2, 0x3ff, 0x0, 0x2, 0x8, 0x1]}) (async) socket$inet6_udplite(0xa, 0x2, 0x88) (async) syz_open_dev$vcsu(&(0x7f0000000580), 0x8, 0x0) (async) io_uring_setup(0x2ca3, &(0x7f00000005c0)={0x0, 0x7, 0x20, 0x1, 0x28d, 0x0, r1}) (async) ioctl$sock_ipv6_tunnel_SIOCADDTUNNEL(r0, 0x89f1, &(0x7f0000000080)={'ip6gre0\x00', &(0x7f0000000000)={'syztnl2\x00', 0x0, 0x29, 0x0, 0x0, 0x0, 0x0, @mcast1={0xff, 0x2}, @ipv4={'\x00', '\xff\xff', @rand_addr=0x64010102}, 0x2500}}) (async) io_uring_register$IORING_UNREGISTER_PERSONALITY(r1, 0xa, 0x0, 0x0) (async) syz_open_procfs(0x0, &(0x7f0000000240)='net/ip_tables_targets\x00') (async) preadv2(r3, &(0x7f0000000500)=[{&(0x7f00000002c0)=""/103, 0x67}], 0x1, 0xa, 0x0, 0x0) (async) io_uring_setup(0x1ae6, &(0x7f0000000800)={0x0, 0xbd24, 0x20, 0x1, 0x38a, 0x0, r3}) (async) ioctl$AUTOFS_DEV_IOCTL_ASKUMOUNT(r1, 0xc018937d, &(0x7f0000000640)=ANY=[@ANYBLOB="010000000100000018000000", @ANYRES32=r0, @ANYBLOB="1a8e0000000000002e2f66296c653000"]) (async) ioctl$sock_ipv4_tunnel_SIOCGETTUNNEL(r1, 0x89f0, &(0x7f0000000780)={'gre0\x00', &(0x7f0000000980)=ANY=[@ANYBLOB='gre0\x00'/16, @ANYRES32=r2, @ANYBLOB="00200020000000036b9057a84e1c00780064000001299078e0000002e0000002441115356e98fa3205c86264e550890455891fccac1414aaac1414bbac1414aae000000100000000ac141419ac1414bb4418cc20000000007fffffff05000000000000020000000983084f41e9a1247289139be0000002e0000002e0000002ac1414bb00c8266899acfa"]}) (async) setsockopt$inet6_IPV6_PKTINFO(r1, 0x29, 0x32, &(0x7f00000007c0)={@private2, r5}, 0x14) (async) bpf$BPF_LINK_CREATE_XDP(0x1c, &(0x7f0000000680)={r4, r2, 0x25, 0x8}, 0x10) (async) syz_open_procfs(0x0, &(0x7f0000000240)='net/ip_tables_targets\x00') (async) preadv2(r6, &(0x7f0000000500)=[{&(0x7f00000002c0)=""/103, 0x67}], 0x1, 0xa, 0x0, 0x0) (async) syz_io_uring_setup(0x3537, &(0x7f0000000880)={0x0, 0x259e, 0x0, 0x2, 0x1e3, 0x0, r6}, &(0x7f0000ffe000/0x1000)=nil, &(0x7f0000ffe000/0x2000)=nil, &(0x7f0000000900), &(0x7f0000000940)) (async) 00:43:39 executing program 5: r0 = openat$smackfs_revoke_subject(0xffffffffffffff9c, &(0x7f00000001c0), 0x2, 0x0) ioctl$F2FS_IOC_RESIZE_FS(r0, 0x4008f510, &(0x7f0000000200)=0x2) r1 = socket$kcm(0x10, 0x2, 0x10) sendmsg$kcm(r1, &(0x7f0000000180)={0x0, 0x8782559fc2aff2e2, &(0x7f0000000080)=[{&(0x7f0000000040)="e03f03002800050ad25a802e8c63940d0424fc600c0018400bac0f0008ac0f0037153e370a00038004000008d1bd", 0x33fe0}], 0x1}, 0x0) recvmsg(r1, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000000)=[{&(0x7f00000000c0)=""/127, 0x7f}], 0x1}, 0x400000a1) [ 315.478690][T14291] netlink: 207496 bytes leftover after parsing attributes in process `syz-executor.5'. 00:43:39 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x10, 0x803, 0x0) syz_genetlink_get_family_id$ipvs(&(0x7f0000000000), r1) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000380)=ANY=[@ANYBLOB="3c0000001000010400000400ec00000000000000", @ANYRES32=r2, @ANYBLOB="00000000000000001c0012000b000100627269646765"], 0x3c}}, 0x0) ioctl$sock_ipv6_tunnel_SIOCADDTUNNEL(r1, 0x89f1, &(0x7f0000000440)={'syztnl2\x00', &(0x7f00000003c0)={'syztnl0\x00', r2, 0x2f, 0x20, 0xfa, 0x5, 0x36, @private1={0xfc, 0x1, '\x00', 0x1}, @loopback, 0x10, 0x20, 0x2, 0x4}}) ioctl$sock_ipv4_tunnel_SIOCCHGTUNNEL(r1, 0x89f3, &(0x7f0000000540)={'erspan0\x00', &(0x7f0000000480)={'syztnl2\x00', r3, 0x80, 0x8000, 0x4, 0xffffff7f, {{0x11, 0x4, 0x1, 0x23, 0x44, 0x1f, 0x0, 0x1, 0x29, 0x0, @dev={0xac, 0x14, 0x14, 0x30}, @multicast2, {[@timestamp={0x44, 0xc, 0xe4, 0x0, 0x5, [0x1, 0x8]}, @timestamp_prespec={0x44, 0x24, 0x38, 0x3, 0x8, [{@private=0xa010101, 0x1}, {@multicast1, 0x100}, {@dev={0xac, 0x14, 0x14, 0x1c}, 0xffffffff}, {@dev={0xac, 0x14, 0x14, 0x29}, 0x80000000}]}]}}}}}) ioctl$SIOCX25GDTEFACILITIES(r1, 0x89ea, &(0x7f0000000580)) r4 = socket$netlink(0x10, 0x3, 0x0) r5 = openat$incfs(0xffffffffffffff9c, &(0x7f0000000140)='.pending_reads\x00', 0x1, 0xa0) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000500)=0x14) ioctl$AUTOFS_DEV_IOCTL_ISMOUNTPOINT(r5, 0xc018937e, &(0x7f00000001c0)={{0x1, 0x1, 0x18, r4, {0x2}}, './file0\x00'}) ioctl$ifreq_SIOCGIFINDEX_wireguard(r0, 0x8933, &(0x7f0000000280)={'wg2\x00', 0x0}) sendmsg$nl_route_sched(r7, &(0x7f0000000340)={&(0x7f0000000240)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000300)={&(0x7f00000002c0)=@newtfilter={0x2c, 0x2c, 0x100, 0x70bd25, 0x25dfdbfc, {0x0, 0x0, 0x0, r8, {0xc, 0xffff}, {0x3, 0xc}, {0xffe7, 0x10}}, [@TCA_CHAIN={0x8, 0xb, 0x3}]}, 0x2c}, 0x1, 0x0, 0x0, 0x40}, 0x4) sendmsg$nl_route(r4, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000040)={&(0x7f00000000c0)=@newlink={0x28, 0x10, 0x825, 0x0, 0x0, {0xa, 0x0, 0x0, r6}, [@IFLA_PROTO_DOWN={0x8, 0x1a}]}, 0x28}}, 0x0) socket$nl_route(0x10, 0x3, 0x0) (async) socket(0x10, 0x803, 0x0) (async) syz_genetlink_get_family_id$ipvs(&(0x7f0000000000), r1) (async) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) (async) sendmsg$nl_route(r0, &(0x7f0000000180)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000380)=ANY=[@ANYBLOB="3c0000001000010400000400ec00000000000000", @ANYRES32=r2, @ANYBLOB="00000000000000001c0012000b000100627269646765"], 0x3c}}, 0x0) (async) ioctl$sock_ipv6_tunnel_SIOCADDTUNNEL(r1, 0x89f1, &(0x7f0000000440)={'syztnl2\x00', &(0x7f00000003c0)={'syztnl0\x00', r2, 0x2f, 0x20, 0xfa, 0x5, 0x36, @private1={0xfc, 0x1, '\x00', 0x1}, @loopback, 0x10, 0x20, 0x2, 0x4}}) (async) ioctl$sock_ipv4_tunnel_SIOCCHGTUNNEL(r1, 0x89f3, &(0x7f0000000540)={'erspan0\x00', &(0x7f0000000480)={'syztnl2\x00', r3, 0x80, 0x8000, 0x4, 0xffffff7f, {{0x11, 0x4, 0x1, 0x23, 0x44, 0x1f, 0x0, 0x1, 0x29, 0x0, @dev={0xac, 0x14, 0x14, 0x30}, @multicast2, {[@timestamp={0x44, 0xc, 0xe4, 0x0, 0x5, [0x1, 0x8]}, @timestamp_prespec={0x44, 0x24, 0x38, 0x3, 0x8, [{@private=0xa010101, 0x1}, {@multicast1, 0x100}, {@dev={0xac, 0x14, 0x14, 0x1c}, 0xffffffff}, {@dev={0xac, 0x14, 0x14, 0x29}, 0x80000000}]}]}}}}}) (async) ioctl$SIOCX25GDTEFACILITIES(r1, 0x89ea, &(0x7f0000000580)) (async) socket$netlink(0x10, 0x3, 0x0) (async) openat$incfs(0xffffffffffffff9c, &(0x7f0000000140)='.pending_reads\x00', 0x1, 0xa0) (async) getsockname$packet(r1, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000500)=0x14) (async) ioctl$AUTOFS_DEV_IOCTL_ISMOUNTPOINT(r5, 0xc018937e, &(0x7f00000001c0)={{0x1, 0x1, 0x18, r4, {0x2}}, './file0\x00'}) (async) ioctl$ifreq_SIOCGIFINDEX_wireguard(r0, 0x8933, &(0x7f0000000280)={'wg2\x00'}) (async) sendmsg$nl_route_sched(r7, &(0x7f0000000340)={&(0x7f0000000240)={0x10, 0x0, 0x0, 0x2}, 0xc, &(0x7f0000000300)={&(0x7f00000002c0)=@newtfilter={0x2c, 0x2c, 0x100, 0x70bd25, 0x25dfdbfc, {0x0, 0x0, 0x0, r8, {0xc, 0xffff}, {0x3, 0xc}, {0xffe7, 0x10}}, [@TCA_CHAIN={0x8, 0xb, 0x3}]}, 0x2c}, 0x1, 0x0, 0x0, 0x40}, 0x4) (async) sendmsg$nl_route(r4, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000040)={&(0x7f00000000c0)=@newlink={0x28, 0x10, 0x825, 0x0, 0x0, {0xa, 0x0, 0x0, r6}, [@IFLA_PROTO_DOWN={0x8, 0x1a}]}, 0x28}}, 0x0) (async) 00:43:39 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) connect$inet6(r0, &(0x7f0000000080)={0xa, 0x2000, 0x3ffe, @loopback, 0xfffffffc}, 0x8) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) 00:43:39 executing program 2: r0 = openat$zero(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) madvise(&(0x7f0000a93000/0x4000)=nil, 0x4000, 0x80000000e) mlock(&(0x7f0000ffd000/0x3000)=nil, 0x3000) mremap(&(0x7f0000a96000/0x1000)=nil, 0x1000, 0x800000, 0x3, &(0x7f0000130000/0x800000)=nil) madvise(&(0x7f000007a000/0x1000)=nil, 0x1000, 0x15) msync(&(0x7f00004f0000/0x1000)=nil, 0x1000, 0x2) mlock(&(0x7f0000000000/0x800000)=nil, 0x800000) syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000040)='pids.events\x00', 0x275a, 0x0) syz_open_dev$vcsu(&(0x7f0000000080), 0x0, 0x400) r2 = syz_open_dev$vcsa(&(0x7f00000002c0), 0x9, 0x0) getsockopt$inet6_tcp_TCP_ZEROCOPY_RECEIVE(r2, 0x6, 0x23, &(0x7f0000000240)={&(0x7f0000764000/0x3000)=nil, 0x3000, 0x0, 0x0, 0x0, &(0x7f00000000c0)=""/107, 0x6b, 0x1, &(0x7f0000000140)=""/252, 0xfc}, &(0x7f0000000300)=0x40) shmget$private(0x0, 0x2000, 0x1000, &(0x7f00005f9000/0x2000)=nil) mmap$IORING_OFF_SQ_RING(&(0x7f0000325000/0x2000)=nil, 0x2000, 0x100000e, 0x20010, r0, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28011, r1, 0x0) [ 315.530048][T14297] tmpfs: Unknown parameter 'hugeä£U0oȵ' [ 315.535747][T14311] netlink: 12 bytes leftover after parsing attributes in process `syz-executor.1'. 00:43:39 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) (async) connect$inet6(r0, &(0x7f0000000080)={0xa, 0x2000, 0x3ffe, @loopback, 0xfffffffc}, 0x8) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) (async) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) (async) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) 00:43:39 executing program 5: r0 = openat$smackfs_revoke_subject(0xffffffffffffff9c, &(0x7f00000001c0), 0x2, 0x0) ioctl$F2FS_IOC_RESIZE_FS(r0, 0x4008f510, &(0x7f0000000200)=0x2) (async) r1 = socket$kcm(0x10, 0x2, 0x10) sendmsg$kcm(r1, &(0x7f0000000180)={0x0, 0x8782559fc2aff2e2, &(0x7f0000000080)=[{&(0x7f0000000040)="e03f03002800050ad25a802e8c63940d0424fc600c0018400bac0f0008ac0f0037153e370a00038004000008d1bd", 0x33fe0}], 0x1}, 0x0) recvmsg(r1, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000000)=[{&(0x7f00000000c0)=""/127, 0x7f}], 0x1}, 0x400000a1) 00:43:39 executing program 0: writev(0xffffffffffffffff, &(0x7f0000000340)=[{&(0x7f00000000c0)="e2054b36adee0209d064a8275a54818759741c66bbd60abd40895ade546d18578254771eca2a82ccae23ce9191ded40f2e3a69f3574fbc", 0x37}, {&(0x7f0000000100)="7b471a563cfee1ea388e23b7622b9dbba61357d99f18523e4e832788fc6e2c6516c3ed90c641d3182406dfededf264ee1f6ba91bccc49c8b94b65ed3acc9889d9f16e6e9c8fac7007d2954ff41f84cd1cc587b29b9d7702b9429499a7de61f3e", 0x60}, {&(0x7f0000000180)="82f9ca4e94cbb1b10f4016d93f35888a3d089304816b4d0cf6c5abf37cdcc05bdec49d95f2c9d152e658eeabdfd5fa5be94165345702acbf7b406168ffb872ebc5037ab72c793b1d3fbb82ac4f5db355e6b38078854cb5a7497411f0cdff126cc887799788f2665762ed6852325213488152a880c6cedb43f879015e6b0a1887f69260448325637a02e61d884732a68c060a69c498d0de56645de7eaf9c55bb077078ea51ccf075e24bd06d0d787169245083619535dc13c4c7d3adc1a5bf53596b1be0052e175c325c52da0e419255bf053", 0xd2}, {&(0x7f0000000280)="2f57e532344504384907b11ad039eca53fefdb1c5240152f2ed24d3f19c7b588ecb31917ac3b6ea17a7a1388b251cceef6ed0a5636e0c38ab3844412c189563b9132d8d81762d6f63b8cd3fbabb9fe611e0c529bab", 0x55}, {&(0x7f0000000a40)="9c9b999439d22ccdfa26faf81ccded666a6d834ceda2aead1b81149d49ad2241713acfd76cdb4f4ac5b0fb5ab0556b453daa0d6ffc6aceb8b2377d6ef8242c0799da15094b8430f9274a441c071ea396be81f3ec71090702cd39ffa5f1753aac4007e2d721c7db1bef9c576491f860e8e1f4563ae489ade2f4489202859bc19108e7f4a67dead1d7f3f62d6c0ede888cf48dd8a17deb3c658a0b000000000000bd7979f9595efc1bb58ee5e46dac5034f4d3ec7805137730c85b05b2e3e805b82119cf956dcdbcc36b3dcb7a6e02d0d84f7ea1d6fc42f7636f140b5919c467b72404535c696f03daa296c92125dfc76c5f44a5af02ea24bad66cd49c5dd77f9d3fa836e230942a201e16cf142fb34a608d91c0cb4e2dfc474b98251cd6e582cafdcfd40ffaad05e7f79ecda7be1feff6cb2b91d2", 0x134}, {&(0x7f00000003c0)="4ab61d0b331cb99d4bcde305b7fac36d927348d5b44373fa8168ffe369d3cadbe5862afe735598963f984c8fa0917649298a3efab2ee160f6b7b434af715b5d154b3a005901a711d7506c56346d94ea1140b5395a27b427120c6cb7c50f662e5a79fc0474492177de0ff64335c69b58285628e01d2a9f74e263cf1689ebabfe6973c235ecd42d7641c928368ec2a4143bdc8c2bb701bfb76c03c708a95a1cec7e8160300eb3905be2d431aeba009c7f5b8daa6e176", 0xb5}, {&(0x7f0000000480)="319c0bb3fe79901a6a3552a6600aaf8db53f065a74f21e2ccde652d8f455560ddc12e73e47bd9b36da0aba5d0ffa989c9106147669c1a474b07c201472c43e4a591ad56011daa03c0f2a49feb10b40ce042840b4baaa9dc9acdc17618e587f33a032ea6c4de9a04f749ddd0d6d8422c95edf4fe9dc2e2e7a53ed", 0x7a}], 0x7) (async) prctl$PR_SET_TAGGED_ADDR_CTRL(0x37, 0x1) (async) ioctl$VIDIOC_DECODER_CMD(0xffffffffffffffff, 0xc0485660, &(0x7f00000006c0)={0xf22a35e8e1ad8b7b, 0x1, @raw_data=[0xe9df, 0xfffff001, 0x10001, 0x7, 0x1, 0x10000, 0x7f, 0x4, 0x1, 0x1, 0x2, 0x3ff, 0x0, 0x2, 0x8, 0x1]}) (async, rerun: 64) r0 = socket$inet6_udplite(0xa, 0x2, 0x88) (async, rerun: 64) r1 = syz_open_dev$vcsu(&(0x7f0000000580), 0x8, 0x0) io_uring_setup(0x2ca3, &(0x7f00000005c0)={0x0, 0x7, 0x20, 0x1, 0x28d, 0x0, r1}) (async) ioctl$sock_ipv6_tunnel_SIOCADDTUNNEL(r0, 0x89f1, &(0x7f0000000080)={'ip6gre0\x00', &(0x7f0000000000)={'syztnl2\x00', 0x0, 0x29, 0x0, 0x0, 0x0, 0x0, @mcast1={0xff, 0x2}, @ipv4={'\x00', '\xff\xff', @rand_addr=0x64010102}, 0x2500}}) (async) io_uring_register$IORING_UNREGISTER_PERSONALITY(r1, 0xa, 0x0, 0x0) (async) r3 = syz_open_procfs(0x0, &(0x7f0000000240)='net/ip_tables_targets\x00') preadv2(r3, &(0x7f0000000500)=[{&(0x7f00000002c0)=""/103, 0x67}], 0x1, 0xa, 0x0, 0x0) io_uring_setup(0x1ae6, &(0x7f0000000800)={0x0, 0xbd24, 0x20, 0x1, 0x38a, 0x0, r3}) (async) ioctl$AUTOFS_DEV_IOCTL_ASKUMOUNT(r1, 0xc018937d, &(0x7f0000000640)=ANY=[@ANYBLOB="010000000100000018000000", @ANYRES32=r0, @ANYBLOB="1a8e0000000000002e2f66296c653000"]) ioctl$sock_ipv4_tunnel_SIOCGETTUNNEL(r1, 0x89f0, &(0x7f0000000780)={'gre0\x00', &(0x7f0000000980)=ANY=[@ANYBLOB='gre0\x00'/16, @ANYRES32=r2, @ANYBLOB="00200020000000036b9057a84e1c00780064000001299078e0000002e0000002441115356e98fa3205c86264e550890455891fccac1414aaac1414bbac1414aae000000100000000ac141419ac1414bb4418cc20000000007fffffff05000000000000020000000983084f41e9a1247289139be0000002e0000002e0000002ac1414bb00c8266899acfa"]}) (async) setsockopt$inet6_IPV6_PKTINFO(r1, 0x29, 0x32, &(0x7f00000007c0)={@private2, r5}, 0x14) (async) bpf$BPF_LINK_CREATE_XDP(0x1c, &(0x7f0000000680)={r4, r2, 0x25, 0x8}, 0x10) (async) r6 = syz_open_procfs(0x0, &(0x7f0000000240)='net/ip_tables_targets\x00') preadv2(r6, &(0x7f0000000500)=[{&(0x7f00000002c0)=""/103, 0x67}], 0x1, 0xa, 0x0, 0x0) (async) syz_io_uring_setup(0x3537, &(0x7f0000000880)={0x0, 0x259e, 0x0, 0x2, 0x1e3, 0x0, r6}, &(0x7f0000ffe000/0x1000)=nil, &(0x7f0000ffe000/0x2000)=nil, &(0x7f0000000900), &(0x7f0000000940)) 00:43:39 executing program 4: syz_mount_image$tmpfs(&(0x7f00000002c0), &(0x7f0000000400)='./bus\x00', 0x0, 0x0, 0x0, 0x0, &(0x7f00000000c0)=ANY=[@ANYBLOB="68756765e4a355306fc8b5"], 0x0) (async, rerun: 32) chdir(&(0x7f0000000040)='./bus\x00') (rerun: 32) ioctl$VIDIOC_S_STD(0xffffffffffffffff, 0x40085618, &(0x7f0000000140)=0xc00000) r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f00000001c0)='cgroup.controllers\x00', 0x275a, 0x0) write$binfmt_script(r0, &(0x7f0000000080)=ANY=[], 0x208e24b) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x2, 0x28011, r0, 0x0) (async) madvise(&(0x7f00002a9000/0x4000)=nil, 0x4000, 0xe) r1 = socket$xdp(0x2c, 0x3, 0x0) setsockopt$XDP_UMEM_REG(r1, 0x11b, 0x4, &(0x7f0000000100)={&(0x7f0000000000)=""/209, 0x1318000, 0x1000}, 0x20) r2 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000240)='memory.current\x00', 0x275a, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28011, r2, 0x0) [ 315.606097][T14330] netlink: 207496 bytes leftover after parsing attributes in process `syz-executor.5'. 00:43:39 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) connect$inet6(r0, &(0x7f0000000080)={0xa, 0x2000, 0x3ffe, @loopback, 0xfffffffc}, 0x8) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) socket$inet6_tcp(0xa, 0x1, 0x0) (async) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) (async) connect$inet6(r0, &(0x7f0000000080)={0xa, 0x2000, 0x3ffe, @loopback, 0xfffffffc}, 0x8) (async) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) (async) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) (async) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) (async) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) (async) [ 315.630652][T14353] tmpfs: Unknown parameter 'hugeä£U0oȵ' [ 315.662503][T14353] tmpfs: Unknown parameter 'hugeä£U0oȵ' [ 315.681092][T14353] tmpfs: Unknown parameter 'hugeä£U0oȵ' 00:43:39 executing program 1: r0 = socket$inet6_udplite(0xa, 0x2, 0x88) sendmmsg$inet6(r0, &(0x7f0000002ec0)=[{{&(0x7f0000000000)={0xa, 0x4e23, 0x0, @local, 0x9}, 0x1c, &(0x7f0000000040)=[{&(0x7f0000000640)="6fc4ad2672792886e8b4a4d3923740835d27739d913082dbd30dc9ec977090b5b67f6cfbd4a3bd3fb3681a671622ffaaaf68e921c50eca271092a5bba0a0400994a2cdb09b7519137c6f38503036f0885f74b25da588a0e2da6eabae518c7378fb011be3c9573f3d4af9ab751a29382bc2bc92718ce77e8efdcfa4c39151005618091caabddddb2f6e29df35704f90784570ee4d5b5bca878833cd6027ff10eca0fc6eb1a89c0bda799121fb217fdafeec1d509079f909358587dd2fe3f84dfc8a28e43ea81a214999e528d1c363a63ce6d787b0e5cbbf6876f701597b7571c0b6b7b9830682a66c25cd366a0e395de3a47a930af53efb87482ca6a1bc53c2452d94e588c0dbd7dbba265989c2f9d638323a633b7b4d2dbb765edea3a456b507fd7f96a8112ee040984d355c5b1d040a8fc61b2f9d9c3f2e116ac6e5607a8c61c7d2bd76489bd48513e4943e50ae71508914c5536665cdfcce21513b5cbc404e5ab326f933d53a9a2c227997251bcd36d9e6e39823e6fad412fc5571c71ec4e628d55697d131343020568a0483b13a2966a69bd1f94e824535625e4c7c990635f173b3439b33eb59a6a0cfe3d7044f3cb65ac90f5530fd36ebc582a3b6489aa6730e644197ecdd0906a9a3159919b684de64ed1c360d22a884c6af05b2f8f6b5a45808f730a69a9b1b70d326e66f3f726234df5a844a1e08cecbc7d7d3f93f75a93b4281d721fe2a04443f21b76bd3e9e9b819d0954ce31c0903f0de1f28a59168ca9643668ff7d8dc87f26f411f2ccf58c3dc7f535aa4524c841ead415c22179581de3528cfe71e20b999576c4929d7a4a299df4028918e7f7642f493f351e115363a38cd8eecb5b173f4e4729c3f9d75ce50b72ab5b00da7f50f1007b5d083b545e2b83be125ae3d2c636b93c6c9744e11f71ba59b5945c2c6122ba5c4bacfcc345737461261feb46eb28e826c2166a9a4d158cc3b15c6c8524e216f4a7c4a3ed23e9266946d4830963b9dcdee735c630680f028167bdbd8ab6d35679a6fce8efb0faaf9123c90d163fc205442703b2592a66353fa2e22cfe9d1fb26f75cdf6fd0e588f790259899f0c7e956adf72c92f9ccbb7be05783b2e173231904675d12cdf7c2ebb6957d0231d5b342c6658b69f07b7c0e26f86ed0dde16de4b2dfe3861247e202fac7c92082ee2ce69e40c691288cd47324562f4ac65b56aa2f8f566c8a2b59bb17044bb5d90005ee692c841b7872b585fa4a62148f16983b28a43c1d0c7761e60af6495bdc526b2e0cc06049d07580547b1037190312c4e6202890470c873fb679206c29570462d9171443e49188be9c130f301f06a90f4ac3ba7c19cf9e042e06d641e941e9743d3c805631216a627961698044850802bb92d49b32b99d51225c479c3162aff0e6a2c3d6752acd08f87c5872f32faf78b95b7862afd8d541963f54d5c39fcda8ff7534133a39e03bb8f4c6105d1c947e31f1546b3af63b64a859e95d2d56f70d3ccf8946c2ffea2ecf0d5f1943b13787ac387b09e471e7ab23a8c114dea404c7dd23254217656ccb2d21039695e75ac1252513e902d4aa63f6724f5a738ae812c17d18780f865bc1a69e330e4fa5b71f2e94fb954eb2bcd9457cd327ea06fe58b768f7fc00fa8bcbbc8a5d42cd798993c7512355e227069e4f3b9930f1b35a7e0e0ff8cd33e0ecc8684708a0e36c4c98562bf82a7a1fc9554c88c9c0a314eb1cac8a61304a6a86c8badf147d37f852f02a0ec0359c13daa6449f0fa7aca8f19cc9850723ad29d543ec7ba10a62448d55b4a1718f0acd61131b5a7b0ce0a6be32e4dbc221068031a17dab051c2711c03cf27cc072e579cc46cf263cf6a798b9616ca54eb771bae7637a2434c2089a8b5ea7ac9e1742d1aae4410c9e307d3fd18bca1c73a09c8ad53aa651cb91fdb09f2abf39039412fdee635c52b99d865dd1b16f1d51a6e3ce9025444df5013ce7ad011628db2b46064846783c1b36402459f9e693206585ca2ecaff3eeaa404cb73e30b974b7e0e47dd8dc583547dc5bca56f320817b57e6efc7ac2a66be4f74c0905ae9d6565585e3aa7e06c93bd79e4723b0282af13a2edd44f5097ebdd50baac264550c67e3cc1cb6cd3b0286f598a6381fdea6e090611932f2154d729aabe6dd7bcf1154e2f35688bbc0de8cb6266a6676cc9e45621938bfe262a8a9a128ab509f69f57dbf0a4845fa853edee5e1086fe7973d2f1944fdb45a839a6817caf9a75f4414180710f0c0ac0c2c06624b88b71006b8214410fd9a360997e91602db78be7427e227972cb6b7afa268e30ca589ea0f34c3dcdf238a757226316b91adb02a2c4898c9c1f32387f2eab235833f4ead19f6e9d2b30351753d7555ee877ab0531619d04d76d755273c152c9480993510730d962e47a130aaec91ae9651f7dcb9546f2198a28d2f2ec1101de6edf5ecb83c71675ebb320e045147be2623003a0cffe17fec65ec61acc23bed5e34e12648e3c4cc678c88c88f730f3f6e9e31e2bd2204050310cb0e36bbb85c9dc053d7be6b5bf492e1bfed0d3c5adcc37aefffd9265f35f75ebe8d886efea2eaffda7619357d0a246776d3f3fbcd025e7b001b00c39a86e056ef61fe5b8e0532a6d4b64fafb64eea94652f98662cc22aab20e401372fb8de1a222f5fddba55e371f609c67a96385a2aa1449177f174ea0f0074b1b606532b69a3908cd94190aaf727c47a7f07cfb478482ad5db3f1b4bee3919b966fb6b06ed5147623f108d39eb9037522a502398eaca81ca33f525079e734528a0ac5ec5fd2dd6f5d6766a04636d1ede8e7edd6e81a4e163fe2133dc61ce175f35ef25c7c33f9981c604abb06bc2ae933ef649dc8f529c558b7c7c3a157321dfcd9bb5b0e5555520c4baeb8b28f535034ead6bfbe2d877289d69f7d15e60aeb184c1b17a869c2de3d668226b0aaea027f4179964d4a3a387072cd3be85b24ecb25ad50d6412e440f0682c2ab04b31fe9b7b43af80989d1774bde18b1297450855104a942412d20f066e2d2e89511a7a09f8c81c206ca0491f8876b8e9ec29563cbf85542a270abc9c056e755e27ef81beed51fa8192dfe141741696ba4ae87189e971ed0a538e436f1d1a156d4a5592071984f8c04879750fa28269005645eab7a1c77bab5a182216cace821bd286d445d74893df97793592c17e1fbb223973b1727389f51b53cd45eb056b71ba07b31462fb1e8db14b4d6f72bf3233b1c25c4bd0f43b0a3d479d87aa8010cc34a8394ed53c9fd52160031c263514d8305ae897260360e7901f73838ab50e5d73b18db22ec206cbc84908f2b948e557b44aba00973f3ff51364065c2e48b08afac0b229fe214ed5f19adb71e35e160dce77031fdccb75bc307c08d3f986be904f122bbe155979af22e3a6d4b43b65dd884eace0fd573d07084527390ab625b6904ebcad0d61cbcc976749796d2a55265fd7fbbb675c576877b2c59a22c8400306aee26dedd81b345c4c14a63c3fc4c87b8a680502a6659ae23d7650b501ba8860f2ac941b266a25c0a32fa12e196f73231da134ab09fe2d18a047caaccc2d923869e1642d6dbb0e78c8b081369fc44e03569d23cb1369f3a2276f3e78455eec3627e4024d0a82e8b359ebdcd9fbfaf70087334314c29c71b391be6b82c77c4aa91e43cf84fcec7a36a75f5596c87b2b3ee8a5eca58b3e3ac46066693c754fa1829e7daa643507341ed9bdbd24f2e908bc18bc8ce4592fa42b44a627209c11a5611fabedf59b8aa343a305df73769ba49b3b2a78d92c01e27201200c56daec0fc88aceee5993a4874241b59906459e81da7d0017831bc6deb0d857b1a597daa0585d7276ff16ddf0068f26837baddad8480f04f3b782fc2d076c5383d36bc816e2f69460cd1ec6d23b2c5dfec66eeaa6b2b62f6b197051922f7c3f340fa47796", 0xae9}], 0x1}}, {{&(0x7f0000000100)={0xa, 0x4e22, 0x0, @remote}, 0x1c, 0x0, 0x0, &(0x7f0000000080)=ANY=[@ANYBLOB="14000000000000002900000008000000a30f000000735815e30fca3e32000000"], 0x18}}], 0x2, 0x4800) 00:43:39 executing program 2: r0 = openat$zero(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) (async) madvise(&(0x7f0000a93000/0x4000)=nil, 0x4000, 0x80000000e) (async) mlock(&(0x7f0000ffd000/0x3000)=nil, 0x3000) (async) mremap(&(0x7f0000a96000/0x1000)=nil, 0x1000, 0x800000, 0x3, &(0x7f0000130000/0x800000)=nil) (async) madvise(&(0x7f000007a000/0x1000)=nil, 0x1000, 0x15) (async) msync(&(0x7f00004f0000/0x1000)=nil, 0x1000, 0x2) (async) mlock(&(0x7f0000000000/0x800000)=nil, 0x800000) syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) (async) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000040)='pids.events\x00', 0x275a, 0x0) (async) syz_open_dev$vcsu(&(0x7f0000000080), 0x0, 0x400) r2 = syz_open_dev$vcsa(&(0x7f00000002c0), 0x9, 0x0) getsockopt$inet6_tcp_TCP_ZEROCOPY_RECEIVE(r2, 0x6, 0x23, &(0x7f0000000240)={&(0x7f0000764000/0x3000)=nil, 0x3000, 0x0, 0x0, 0x0, &(0x7f00000000c0)=""/107, 0x6b, 0x1, &(0x7f0000000140)=""/252, 0xfc}, &(0x7f0000000300)=0x40) (async) shmget$private(0x0, 0x2000, 0x1000, &(0x7f00005f9000/0x2000)=nil) (async) mmap$IORING_OFF_SQ_RING(&(0x7f0000325000/0x2000)=nil, 0x2000, 0x100000e, 0x20010, r0, 0x0) (async) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28011, r1, 0x0) 00:43:39 executing program 4: listen(0xffffffffffffffff, 0x1) r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)=@ipv6_newnexthop={0x24, 0x68, 0x1fb, 0x0, 0x0, {}, [@NHA_BLACKHOLE={0x4}, @NHA_ID={0x8, 0x1, 0x1}]}, 0x24}, 0x1, 0xfc}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x100}, 0xc, &(0x7f0000000100)={&(0x7f0000000040)=@newqdisc={0x84, 0x24, 0x1, 0x70bd27, 0x25dfdbfb, {0x0, 0x0, 0x0, 0x0, {0xfff2, 0xe}, {0x7, 0xb}, {0xc, 0xa}}, [@TCA_STAB={0x60, 0x8, 0x0, 0x1, [{{0x1c, 0x1, {0xb, 0x0, 0x7ff, 0x4, 0x1, 0x5, 0x5, 0x8}}, {0x14, 0x2, [0x4f26, 0x6, 0x0, 0x1, 0x8, 0x401, 0x4, 0x7f]}}, {{0x1c, 0x1, {0x3f, 0x4, 0x44, 0x9, 0x0, 0x5, 0x538a5476, 0x5}}, {0xe, 0x2, [0xfff, 0x3, 0x0, 0xb7a1, 0x9]}}]}]}, 0x84}, 0x1, 0x0, 0x0, 0x800}, 0x40) syz_emit_ethernet(0x56, &(0x7f0000000240)={@local, @link_local, @void, {@ipv6={0x86dd, @tcp={0x0, 0x6, "083ff2", 0x20, 0x6, 0x0, @remote, @local, {[], {{0x0, 0x4e22, 0x41424344, 0x41424344, 0x0, 0x0, 0x8, 0xc2, 0x0, 0x0, 0x0, {[@exp_fastopen={0xfe, 0x8, 0xf989, "d3f2cb90"}, @generic={0x0, 0x2}]}}}}}}}}, 0x0) 00:43:39 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) setsockopt$inet6_tcp_TLS_TX(r0, 0x6, 0x1, &(0x7f0000000080)=@ccm_128={{0x304}, "33a7cf1306fca979", "9ffd164ac23110fa6e26ed19093f511b", "62a1fe21", "4a595127e07b722f"}, 0x28) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) 00:43:39 executing program 5: r0 = openat$smackfs_revoke_subject(0xffffffffffffff9c, &(0x7f00000001c0), 0x2, 0x0) ioctl$F2FS_IOC_RESIZE_FS(r0, 0x4008f510, &(0x7f0000000200)=0x2) r1 = socket$kcm(0x10, 0x2, 0x10) sendmsg$kcm(r1, &(0x7f0000000180)={0x0, 0x8782559fc2aff2e2, &(0x7f0000000080)=[{&(0x7f0000000040)="e03f03002800050ad25a802e8c63940d0424fc600c0018400bac0f0008ac0f0037153e370a00038004000008d1bd", 0x33fe0}], 0x1}, 0x0) recvmsg(r1, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000000)=[{&(0x7f00000000c0)=""/127, 0x7f}], 0x1}, 0x400000a1) openat$smackfs_revoke_subject(0xffffffffffffff9c, &(0x7f00000001c0), 0x2, 0x0) (async) ioctl$F2FS_IOC_RESIZE_FS(r0, 0x4008f510, &(0x7f0000000200)=0x2) (async) socket$kcm(0x10, 0x2, 0x10) (async) sendmsg$kcm(r1, &(0x7f0000000180)={0x0, 0x8782559fc2aff2e2, &(0x7f0000000080)=[{&(0x7f0000000040)="e03f03002800050ad25a802e8c63940d0424fc600c0018400bac0f0008ac0f0037153e370a00038004000008d1bd", 0x33fe0}], 0x1}, 0x0) (async) recvmsg(r1, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000000)=[{&(0x7f00000000c0)=""/127, 0x7f}], 0x1}, 0x400000a1) (async) 00:43:39 executing program 1: r0 = socket$inet6_udplite(0xa, 0x2, 0x88) sendmmsg$inet6(r0, &(0x7f0000002ec0)=[{{&(0x7f0000000000)={0xa, 0x4e23, 0x0, @local, 0x9}, 0x1c, &(0x7f0000000040)=[{&(0x7f0000000640)="6fc4ad2672792886e8b4a4d3923740835d27739d913082dbd30dc9ec977090b5b67f6cfbd4a3bd3fb3681a671622ffaaaf68e921c50eca271092a5bba0a0400994a2cdb09b7519137c6f38503036f0885f74b25da588a0e2da6eabae518c7378fb011be3c9573f3d4af9ab751a29382bc2bc92718ce77e8efdcfa4c39151005618091caabddddb2f6e29df35704f90784570ee4d5b5bca878833cd6027ff10eca0fc6eb1a89c0bda799121fb217fdafeec1d509079f909358587dd2fe3f84dfc8a28e43ea81a214999e528d1c363a63ce6d787b0e5cbbf6876f701597b7571c0b6b7b9830682a66c25cd366a0e395de3a47a930af53efb87482ca6a1bc53c2452d94e588c0dbd7dbba265989c2f9d638323a633b7b4d2dbb765edea3a456b507fd7f96a8112ee040984d355c5b1d040a8fc61b2f9d9c3f2e116ac6e5607a8c61c7d2bd76489bd48513e4943e50ae71508914c5536665cdfcce21513b5cbc404e5ab326f933d53a9a2c227997251bcd36d9e6e39823e6fad412fc5571c71ec4e628d55697d131343020568a0483b13a2966a69bd1f94e824535625e4c7c990635f173b3439b33eb59a6a0cfe3d7044f3cb65ac90f5530fd36ebc582a3b6489aa6730e644197ecdd0906a9a3159919b684de64ed1c360d22a884c6af05b2f8f6b5a45808f730a69a9b1b70d326e66f3f726234df5a844a1e08cecbc7d7d3f93f75a93b4281d721fe2a04443f21b76bd3e9e9b819d0954ce31c0903f0de1f28a59168ca9643668ff7d8dc87f26f411f2ccf58c3dc7f535aa4524c841ead415c22179581de3528cfe71e20b999576c4929d7a4a299df4028918e7f7642f493f351e115363a38cd8eecb5b173f4e4729c3f9d75ce50b72ab5b00da7f50f1007b5d083b545e2b83be125ae3d2c636b93c6c9744e11f71ba59b5945c2c6122ba5c4bacfcc345737461261feb46eb28e826c2166a9a4d158cc3b15c6c8524e216f4a7c4a3ed23e9266946d4830963b9dcdee735c630680f028167bdbd8ab6d35679a6fce8efb0faaf9123c90d163fc205442703b2592a66353fa2e22cfe9d1fb26f75cdf6fd0e588f790259899f0c7e956adf72c92f9ccbb7be05783b2e173231904675d12cdf7c2ebb6957d0231d5b342c6658b69f07b7c0e26f86ed0dde16de4b2dfe3861247e202fac7c92082ee2ce69e40c691288cd47324562f4ac65b56aa2f8f566c8a2b59bb17044bb5d90005ee692c841b7872b585fa4a62148f16983b28a43c1d0c7761e60af6495bdc526b2e0cc06049d07580547b1037190312c4e6202890470c873fb679206c29570462d9171443e49188be9c130f301f06a90f4ac3ba7c19cf9e042e06d641e941e9743d3c805631216a627961698044850802bb92d49b32b99d51225c479c3162aff0e6a2c3d6752acd08f87c5872f32faf78b95b7862afd8d541963f54d5c39fcda8ff7534133a39e03bb8f4c6105d1c947e31f1546b3af63b64a859e95d2d56f70d3ccf8946c2ffea2ecf0d5f1943b13787ac387b09e471e7ab23a8c114dea404c7dd23254217656ccb2d21039695e75ac1252513e902d4aa63f6724f5a738ae812c17d18780f865bc1a69e330e4fa5b71f2e94fb954eb2bcd9457cd327ea06fe58b768f7fc00fa8bcbbc8a5d42cd798993c7512355e227069e4f3b9930f1b35a7e0e0ff8cd33e0ecc8684708a0e36c4c98562bf82a7a1fc9554c88c9c0a314eb1cac8a61304a6a86c8badf147d37f852f02a0ec0359c13daa6449f0fa7aca8f19cc9850723ad29d543ec7ba10a62448d55b4a1718f0acd61131b5a7b0ce0a6be32e4dbc221068031a17dab051c2711c03cf27cc072e579cc46cf263cf6a798b9616ca54eb771bae7637a2434c2089a8b5ea7ac9e1742d1aae4410c9e307d3fd18bca1c73a09c8ad53aa651cb91fdb09f2abf39039412fdee635c52b99d865dd1b16f1d51a6e3ce9025444df5013ce7ad011628db2b46064846783c1b36402459f9e693206585ca2ecaff3eeaa404cb73e30b974b7e0e47dd8dc583547dc5bca56f320817b57e6efc7ac2a66be4f74c0905ae9d6565585e3aa7e06c93bd79e4723b0282af13a2edd44f5097ebdd50baac264550c67e3cc1cb6cd3b0286f598a6381fdea6e090611932f2154d729aabe6dd7bcf1154e2f35688bbc0de8cb6266a6676cc9e45621938bfe262a8a9a128ab509f69f57dbf0a4845fa853edee5e1086fe7973d2f1944fdb45a839a6817caf9a75f4414180710f0c0ac0c2c06624b88b71006b8214410fd9a360997e91602db78be7427e227972cb6b7afa268e30ca589ea0f34c3dcdf238a757226316b91adb02a2c4898c9c1f32387f2eab235833f4ead19f6e9d2b30351753d7555ee877ab0531619d04d76d755273c152c9480993510730d962e47a130aaec91ae9651f7dcb9546f2198a28d2f2ec1101de6edf5ecb83c71675ebb320e045147be2623003a0cffe17fec65ec61acc23bed5e34e12648e3c4cc678c88c88f730f3f6e9e31e2bd2204050310cb0e36bbb85c9dc053d7be6b5bf492e1bfed0d3c5adcc37aefffd9265f35f75ebe8d886efea2eaffda7619357d0a246776d3f3fbcd025e7b001b00c39a86e056ef61fe5b8e0532a6d4b64fafb64eea94652f98662cc22aab20e401372fb8de1a222f5fddba55e371f609c67a96385a2aa1449177f174ea0f0074b1b606532b69a3908cd94190aaf727c47a7f07cfb478482ad5db3f1b4bee3919b966fb6b06ed5147623f108d39eb9037522a502398eaca81ca33f525079e734528a0ac5ec5fd2dd6f5d6766a04636d1ede8e7edd6e81a4e163fe2133dc61ce175f35ef25c7c33f9981c604abb06bc2ae933ef649dc8f529c558b7c7c3a157321dfcd9bb5b0e5555520c4baeb8b28f535034ead6bfbe2d877289d69f7d15e60aeb184c1b17a869c2de3d668226b0aaea027f4179964d4a3a387072cd3be85b24ecb25ad50d6412e440f0682c2ab04b31fe9b7b43af80989d1774bde18b1297450855104a942412d20f066e2d2e89511a7a09f8c81c206ca0491f8876b8e9ec29563cbf85542a270abc9c056e755e27ef81beed51fa8192dfe141741696ba4ae87189e971ed0a538e436f1d1a156d4a5592071984f8c04879750fa28269005645eab7a1c77bab5a182216cace821bd286d445d74893df97793592c17e1fbb223973b1727389f51b53cd45eb056b71ba07b31462fb1e8db14b4d6f72bf3233b1c25c4bd0f43b0a3d479d87aa8010cc34a8394ed53c9fd52160031c263514d8305ae897260360e7901f73838ab50e5d73b18db22ec206cbc84908f2b948e557b44aba00973f3ff51364065c2e48b08afac0b229fe214ed5f19adb71e35e160dce77031fdccb75bc307c08d3f986be904f122bbe155979af22e3a6d4b43b65dd884eace0fd573d07084527390ab625b6904ebcad0d61cbcc976749796d2a55265fd7fbbb675c576877b2c59a22c8400306aee26dedd81b345c4c14a63c3fc4c87b8a680502a6659ae23d7650b501ba8860f2ac941b266a25c0a32fa12e196f73231da134ab09fe2d18a047caaccc2d923869e1642d6dbb0e78c8b081369fc44e03569d23cb1369f3a2276f3e78455eec3627e4024d0a82e8b359ebdcd9fbfaf70087334314c29c71b391be6b82c77c4aa91e43cf84fcec7a36a75f5596c87b2b3ee8a5eca58b3e3ac46066693c754fa1829e7daa643507341ed9bdbd24f2e908bc18bc8ce4592fa42b44a627209c11a5611fabedf59b8aa343a305df73769ba49b3b2a78d92c01e27201200c56daec0fc88aceee5993a4874241b59906459e81da7d0017831bc6deb0d857b1a597daa0585d7276ff16ddf0068f26837baddad8480f04f3b782fc2d076c5383d36bc816e2f69460cd1ec6d23b2c5dfec66eeaa6b2b62f6b197051922f7c3f340fa47796", 0xae9}], 0x1}}, {{&(0x7f0000000100)={0xa, 0x4e22, 0x0, @remote}, 0x1c, 0x0, 0x0, &(0x7f0000000080)=ANY=[@ANYBLOB="14000000000000002900000008000000a30f000000735815e30fca3e32000000"], 0x18}}], 0x2, 0x4800) 00:43:39 executing program 2: r0 = openat$zero(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) madvise(&(0x7f0000a93000/0x4000)=nil, 0x4000, 0x80000000e) mlock(&(0x7f0000ffd000/0x3000)=nil, 0x3000) mremap(&(0x7f0000a96000/0x1000)=nil, 0x1000, 0x800000, 0x3, &(0x7f0000130000/0x800000)=nil) madvise(&(0x7f000007a000/0x1000)=nil, 0x1000, 0x15) msync(&(0x7f00004f0000/0x1000)=nil, 0x1000, 0x2) mlock(&(0x7f0000000000/0x800000)=nil, 0x800000) syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) r1 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000040)='pids.events\x00', 0x275a, 0x0) syz_open_dev$vcsu(&(0x7f0000000080), 0x0, 0x400) r2 = syz_open_dev$vcsa(&(0x7f00000002c0), 0x9, 0x0) getsockopt$inet6_tcp_TCP_ZEROCOPY_RECEIVE(r2, 0x6, 0x23, &(0x7f0000000240)={&(0x7f0000764000/0x3000)=nil, 0x3000, 0x0, 0x0, 0x0, &(0x7f00000000c0)=""/107, 0x6b, 0x1, &(0x7f0000000140)=""/252, 0xfc}, &(0x7f0000000300)=0x40) shmget$private(0x0, 0x2000, 0x1000, &(0x7f00005f9000/0x2000)=nil) mmap$IORING_OFF_SQ_RING(&(0x7f0000325000/0x2000)=nil, 0x2000, 0x100000e, 0x20010, r0, 0x0) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28011, r1, 0x0) openat$zero(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) (async) madvise(&(0x7f0000a93000/0x4000)=nil, 0x4000, 0x80000000e) (async) mlock(&(0x7f0000ffd000/0x3000)=nil, 0x3000) (async) mremap(&(0x7f0000a96000/0x1000)=nil, 0x1000, 0x800000, 0x3, &(0x7f0000130000/0x800000)=nil) (async) madvise(&(0x7f000007a000/0x1000)=nil, 0x1000, 0x15) (async) msync(&(0x7f00004f0000/0x1000)=nil, 0x1000, 0x2) (async) mlock(&(0x7f0000000000/0x800000)=nil, 0x800000) (async) syz_clone(0x0, 0x0, 0x0, 0x0, 0x0, 0x0) (async) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000040)='pids.events\x00', 0x275a, 0x0) (async) syz_open_dev$vcsu(&(0x7f0000000080), 0x0, 0x400) (async) syz_open_dev$vcsa(&(0x7f00000002c0), 0x9, 0x0) (async) getsockopt$inet6_tcp_TCP_ZEROCOPY_RECEIVE(r2, 0x6, 0x23, &(0x7f0000000240)={&(0x7f0000764000/0x3000)=nil, 0x3000, 0x0, 0x0, 0x0, &(0x7f00000000c0)=""/107, 0x6b, 0x1, &(0x7f0000000140)=""/252, 0xfc}, &(0x7f0000000300)=0x40) (async) shmget$private(0x0, 0x2000, 0x1000, &(0x7f00005f9000/0x2000)=nil) (async) mmap$IORING_OFF_SQ_RING(&(0x7f0000325000/0x2000)=nil, 0x2000, 0x100000e, 0x20010, r0, 0x0) (async) mmap(&(0x7f0000000000/0xb36000)=nil, 0xb36000, 0x0, 0x28011, r1, 0x0) (async) 00:43:39 executing program 0: openat$tun(0xffffffffffffff9c, &(0x7f0000000400), 0x2, 0x0) ioctl$TUNSETIFF(0xffffffffffffffff, 0x400454ca, &(0x7f0000000280)={'\x00', 0x4019}) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f0000000000)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000000240)=0x1) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) execveat(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0) r3 = openat$loop_ctrl(0xffffff9c, &(0x7f0000000040), 0x0, 0x0) ioctl$LOOP_CTL_ADD(r3, 0x4c80, 0x0) ioctl$LOOP_CTL_REMOVE(r3, 0x4c81, 0x0) r4 = socket$inet_tcp(0x2, 0x1, 0x0) ioctl$sock_SIOCADDRT(r4, 0x890b, &(0x7f0000000040)={0x0, @l2tp={0x2, 0x2, @remote={0xac, 0x10, 0x3}}, @l2tp={0x2, 0x0, @empty, 0x0, 0xfdffffff}, @generic={0x0, "bcbc5dada046e4d15ddee9502b10"}, 0xf0f4}) socket$inet_tcp(0x2, 0x1, 0x0) ioctl$sock_SIOCADDRT(0xffffffffffffffff, 0x890b, &(0x7f0000001280)={0x0, @l2tp={0x2, 0x2, @empty=0xfd000e0b}, @l2tp={0x2, 0x0, @local, 0x3}, @hci={0x1f, 0x0, 0x4}, 0xf0f4, 0x0, 0xa00000000000000}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, &(0x7f0000000280)={0x0, [], 0x0, "285cbe607ecdfb"}) [ 315.752108][T14377] netlink: 207496 bytes leftover after parsing attributes in process `syz-executor.5'. 00:43:39 executing program 4: listen(0xffffffffffffffff, 0x1) r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)=@ipv6_newnexthop={0x24, 0x68, 0x1fb, 0x0, 0x0, {}, [@NHA_BLACKHOLE={0x4}, @NHA_ID={0x8, 0x1, 0x1}]}, 0x24}, 0x1, 0xfc}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x100}, 0xc, &(0x7f0000000100)={&(0x7f0000000040)=@newqdisc={0x84, 0x24, 0x1, 0x70bd27, 0x25dfdbfb, {0x0, 0x0, 0x0, 0x0, {0xfff2, 0xe}, {0x7, 0xb}, {0xc, 0xa}}, [@TCA_STAB={0x60, 0x8, 0x0, 0x1, [{{0x1c, 0x1, {0xb, 0x0, 0x7ff, 0x4, 0x1, 0x5, 0x5, 0x8}}, {0x14, 0x2, [0x4f26, 0x6, 0x0, 0x1, 0x8, 0x401, 0x4, 0x7f]}}, {{0x1c, 0x1, {0x3f, 0x4, 0x44, 0x9, 0x0, 0x5, 0x538a5476, 0x5}}, {0xe, 0x2, [0xfff, 0x3, 0x0, 0xb7a1, 0x9]}}]}]}, 0x84}, 0x1, 0x0, 0x0, 0x800}, 0x40) syz_emit_ethernet(0x56, &(0x7f0000000240)={@local, @link_local, @void, {@ipv6={0x86dd, @tcp={0x0, 0x6, "083ff2", 0x20, 0x6, 0x0, @remote, @local, {[], {{0x0, 0x4e22, 0x41424344, 0x41424344, 0x0, 0x0, 0x8, 0xc2, 0x0, 0x0, 0x0, {[@exp_fastopen={0xfe, 0x8, 0xf989, "d3f2cb90"}, @generic={0x0, 0x2}]}}}}}}}}, 0x0) listen(0xffffffffffffffff, 0x1) (async) socket$nl_route(0x10, 0x3, 0x0) (async) sendmsg$nl_route(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)=@ipv6_newnexthop={0x24, 0x68, 0x1fb, 0x0, 0x0, {}, [@NHA_BLACKHOLE={0x4}, @NHA_ID={0x8, 0x1, 0x1}]}, 0x24}, 0x1, 0xfc}, 0x0) (async) sendmsg$nl_route_sched(r0, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x100}, 0xc, &(0x7f0000000100)={&(0x7f0000000040)=@newqdisc={0x84, 0x24, 0x1, 0x70bd27, 0x25dfdbfb, {0x0, 0x0, 0x0, 0x0, {0xfff2, 0xe}, {0x7, 0xb}, {0xc, 0xa}}, [@TCA_STAB={0x60, 0x8, 0x0, 0x1, [{{0x1c, 0x1, {0xb, 0x0, 0x7ff, 0x4, 0x1, 0x5, 0x5, 0x8}}, {0x14, 0x2, [0x4f26, 0x6, 0x0, 0x1, 0x8, 0x401, 0x4, 0x7f]}}, {{0x1c, 0x1, {0x3f, 0x4, 0x44, 0x9, 0x0, 0x5, 0x538a5476, 0x5}}, {0xe, 0x2, [0xfff, 0x3, 0x0, 0xb7a1, 0x9]}}]}]}, 0x84}, 0x1, 0x0, 0x0, 0x800}, 0x40) (async) syz_emit_ethernet(0x56, &(0x7f0000000240)={@local, @link_local, @void, {@ipv6={0x86dd, @tcp={0x0, 0x6, "083ff2", 0x20, 0x6, 0x0, @remote, @local, {[], {{0x0, 0x4e22, 0x41424344, 0x41424344, 0x0, 0x0, 0x8, 0xc2, 0x0, 0x0, 0x0, {[@exp_fastopen={0xfe, 0x8, 0xf989, "d3f2cb90"}, @generic={0x0, 0x2}]}}}}}}}}, 0x0) (async) 00:43:39 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) (async, rerun: 64) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) (rerun: 64) setsockopt$inet6_tcp_TLS_TX(r0, 0x6, 0x1, &(0x7f0000000080)=@ccm_128={{0x304}, "33a7cf1306fca979", "9ffd164ac23110fa6e26ed19093f511b", "62a1fe21", "4a595127e07b722f"}, 0x28) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) (async) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) 00:43:39 executing program 1: r0 = socket$inet6_udplite(0xa, 0x2, 0x88) sendmmsg$inet6(r0, &(0x7f0000002ec0)=[{{&(0x7f0000000000)={0xa, 0x4e23, 0x0, @local, 0x9}, 0x1c, &(0x7f0000000040)=[{&(0x7f0000000640)="6fc4ad2672792886e8b4a4d3923740835d27739d913082dbd30dc9ec977090b5b67f6cfbd4a3bd3fb3681a671622ffaaaf68e921c50eca271092a5bba0a0400994a2cdb09b7519137c6f38503036f0885f74b25da588a0e2da6eabae518c7378fb011be3c9573f3d4af9ab751a29382bc2bc92718ce77e8efdcfa4c39151005618091caabddddb2f6e29df35704f90784570ee4d5b5bca878833cd6027ff10eca0fc6eb1a89c0bda799121fb217fdafeec1d509079f909358587dd2fe3f84dfc8a28e43ea81a214999e528d1c363a63ce6d787b0e5cbbf6876f701597b7571c0b6b7b9830682a66c25cd366a0e395de3a47a930af53efb87482ca6a1bc53c2452d94e588c0dbd7dbba265989c2f9d638323a633b7b4d2dbb765edea3a456b507fd7f96a8112ee040984d355c5b1d040a8fc61b2f9d9c3f2e116ac6e5607a8c61c7d2bd76489bd48513e4943e50ae71508914c5536665cdfcce21513b5cbc404e5ab326f933d53a9a2c227997251bcd36d9e6e39823e6fad412fc5571c71ec4e628d55697d131343020568a0483b13a2966a69bd1f94e824535625e4c7c990635f173b3439b33eb59a6a0cfe3d7044f3cb65ac90f5530fd36ebc582a3b6489aa6730e644197ecdd0906a9a3159919b684de64ed1c360d22a884c6af05b2f8f6b5a45808f730a69a9b1b70d326e66f3f726234df5a844a1e08cecbc7d7d3f93f75a93b4281d721fe2a04443f21b76bd3e9e9b819d0954ce31c0903f0de1f28a59168ca9643668ff7d8dc87f26f411f2ccf58c3dc7f535aa4524c841ead415c22179581de3528cfe71e20b999576c4929d7a4a299df4028918e7f7642f493f351e115363a38cd8eecb5b173f4e4729c3f9d75ce50b72ab5b00da7f50f1007b5d083b545e2b83be125ae3d2c636b93c6c9744e11f71ba59b5945c2c6122ba5c4bacfcc345737461261feb46eb28e826c2166a9a4d158cc3b15c6c8524e216f4a7c4a3ed23e9266946d4830963b9dcdee735c630680f028167bdbd8ab6d35679a6fce8efb0faaf9123c90d163fc205442703b2592a66353fa2e22cfe9d1fb26f75cdf6fd0e588f790259899f0c7e956adf72c92f9ccbb7be05783b2e173231904675d12cdf7c2ebb6957d0231d5b342c6658b69f07b7c0e26f86ed0dde16de4b2dfe3861247e202fac7c92082ee2ce69e40c691288cd47324562f4ac65b56aa2f8f566c8a2b59bb17044bb5d90005ee692c841b7872b585fa4a62148f16983b28a43c1d0c7761e60af6495bdc526b2e0cc06049d07580547b1037190312c4e6202890470c873fb679206c29570462d9171443e49188be9c130f301f06a90f4ac3ba7c19cf9e042e06d641e941e9743d3c805631216a627961698044850802bb92d49b32b99d51225c479c3162aff0e6a2c3d6752acd08f87c5872f32faf78b95b7862afd8d541963f54d5c39fcda8ff7534133a39e03bb8f4c6105d1c947e31f1546b3af63b64a859e95d2d56f70d3ccf8946c2ffea2ecf0d5f1943b13787ac387b09e471e7ab23a8c114dea404c7dd23254217656ccb2d21039695e75ac1252513e902d4aa63f6724f5a738ae812c17d18780f865bc1a69e330e4fa5b71f2e94fb954eb2bcd9457cd327ea06fe58b768f7fc00fa8bcbbc8a5d42cd798993c7512355e227069e4f3b9930f1b35a7e0e0ff8cd33e0ecc8684708a0e36c4c98562bf82a7a1fc9554c88c9c0a314eb1cac8a61304a6a86c8badf147d37f852f02a0ec0359c13daa6449f0fa7aca8f19cc9850723ad29d543ec7ba10a62448d55b4a1718f0acd61131b5a7b0ce0a6be32e4dbc221068031a17dab051c2711c03cf27cc072e579cc46cf263cf6a798b9616ca54eb771bae7637a2434c2089a8b5ea7ac9e1742d1aae4410c9e307d3fd18bca1c73a09c8ad53aa651cb91fdb09f2abf39039412fdee635c52b99d865dd1b16f1d51a6e3ce9025444df5013ce7ad011628db2b46064846783c1b36402459f9e693206585ca2ecaff3eeaa404cb73e30b974b7e0e47dd8dc583547dc5bca56f320817b57e6efc7ac2a66be4f74c0905ae9d6565585e3aa7e06c93bd79e4723b0282af13a2edd44f5097ebdd50baac264550c67e3cc1cb6cd3b0286f598a6381fdea6e090611932f2154d729aabe6dd7bcf1154e2f35688bbc0de8cb6266a6676cc9e45621938bfe262a8a9a128ab509f69f57dbf0a4845fa853edee5e1086fe7973d2f1944fdb45a839a6817caf9a75f4414180710f0c0ac0c2c06624b88b71006b8214410fd9a360997e91602db78be7427e227972cb6b7afa268e30ca589ea0f34c3dcdf238a757226316b91adb02a2c4898c9c1f32387f2eab235833f4ead19f6e9d2b30351753d7555ee877ab0531619d04d76d755273c152c9480993510730d962e47a130aaec91ae9651f7dcb9546f2198a28d2f2ec1101de6edf5ecb83c71675ebb320e045147be2623003a0cffe17fec65ec61acc23bed5e34e12648e3c4cc678c88c88f730f3f6e9e31e2bd2204050310cb0e36bbb85c9dc053d7be6b5bf492e1bfed0d3c5adcc37aefffd9265f35f75ebe8d886efea2eaffda7619357d0a246776d3f3fbcd025e7b001b00c39a86e056ef61fe5b8e0532a6d4b64fafb64eea94652f98662cc22aab20e401372fb8de1a222f5fddba55e371f609c67a96385a2aa1449177f174ea0f0074b1b606532b69a3908cd94190aaf727c47a7f07cfb478482ad5db3f1b4bee3919b966fb6b06ed5147623f108d39eb9037522a502398eaca81ca33f525079e734528a0ac5ec5fd2dd6f5d6766a04636d1ede8e7edd6e81a4e163fe2133dc61ce175f35ef25c7c33f9981c604abb06bc2ae933ef649dc8f529c558b7c7c3a157321dfcd9bb5b0e5555520c4baeb8b28f535034ead6bfbe2d877289d69f7d15e60aeb184c1b17a869c2de3d668226b0aaea027f4179964d4a3a387072cd3be85b24ecb25ad50d6412e440f0682c2ab04b31fe9b7b43af80989d1774bde18b1297450855104a942412d20f066e2d2e89511a7a09f8c81c206ca0491f8876b8e9ec29563cbf85542a270abc9c056e755e27ef81beed51fa8192dfe141741696ba4ae87189e971ed0a538e436f1d1a156d4a5592071984f8c04879750fa28269005645eab7a1c77bab5a182216cace821bd286d445d74893df97793592c17e1fbb223973b1727389f51b53cd45eb056b71ba07b31462fb1e8db14b4d6f72bf3233b1c25c4bd0f43b0a3d479d87aa8010cc34a8394ed53c9fd52160031c263514d8305ae897260360e7901f73838ab50e5d73b18db22ec206cbc84908f2b948e557b44aba00973f3ff51364065c2e48b08afac0b229fe214ed5f19adb71e35e160dce77031fdccb75bc307c08d3f986be904f122bbe155979af22e3a6d4b43b65dd884eace0fd573d07084527390ab625b6904ebcad0d61cbcc976749796d2a55265fd7fbbb675c576877b2c59a22c8400306aee26dedd81b345c4c14a63c3fc4c87b8a680502a6659ae23d7650b501ba8860f2ac941b266a25c0a32fa12e196f73231da134ab09fe2d18a047caaccc2d923869e1642d6dbb0e78c8b081369fc44e03569d23cb1369f3a2276f3e78455eec3627e4024d0a82e8b359ebdcd9fbfaf70087334314c29c71b391be6b82c77c4aa91e43cf84fcec7a36a75f5596c87b2b3ee8a5eca58b3e3ac46066693c754fa1829e7daa643507341ed9bdbd24f2e908bc18bc8ce4592fa42b44a627209c11a5611fabedf59b8aa343a305df73769ba49b3b2a78d92c01e27201200c56daec0fc88aceee5993a4874241b59906459e81da7d0017831bc6deb0d857b1a597daa0585d7276ff16ddf0068f26837baddad8480f04f3b782fc2d076c5383d36bc816e2f69460cd1ec6d23b2c5dfec66eeaa6b2b62f6b197051922f7c3f340fa47796", 0xae9}], 0x1}}, {{&(0x7f0000000100)={0xa, 0x4e22, 0x0, @remote}, 0x1c, 0x0, 0x0, &(0x7f0000000080)=ANY=[@ANYBLOB="14000000000000002900000008000000a30f000000735815e30fca3e32000000"], 0x18}}], 0x2, 0x4800) 00:43:39 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) (async) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) (async) setsockopt$inet6_tcp_TLS_TX(r0, 0x6, 0x1, &(0x7f0000000080)=@ccm_128={{0x304}, "33a7cf1306fca979", "9ffd164ac23110fa6e26ed19093f511b", "62a1fe21", "4a595127e07b722f"}, 0x28) (async) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) (async) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) 00:43:39 executing program 5: r0 = semget(0x1, 0x3, 0x200) r1 = semget$private(0x0, 0x3, 0x0) semctl$SETALL(r1, 0x0, 0x11, &(0x7f0000001580)=[0x9, 0x2, 0x6]) semctl$GETALL(r1, 0x0, 0xd, &(0x7f0000000040)=""/190) semctl$IPC_STAT(r0, 0x0, 0xe, 0x0) openat$smackfs_ipv6host(0xffffffffffffff9c, &(0x7f0000000000), 0x2, 0x0) semop(r0, &(0x7f00000001c0)=[{0x1, 0x8, 0x1800}], 0x1) semctl$IPC_RMID(r0, 0x0, 0x0) r2 = semget$private(0x0, 0x4, 0x15) semctl$GETALL(r2, 0x0, 0xd, &(0x7f0000000140)=""/10) r3 = semget(0x1, 0x0, 0x4) semtimedop(r3, &(0x7f0000000100)=[{0x2, 0x0, 0x1800}], 0x1, &(0x7f0000000180)={0x0, 0x3938700}) 00:43:39 executing program 4: listen(0xffffffffffffffff, 0x1) r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)=@ipv6_newnexthop={0x24, 0x68, 0x1fb, 0x0, 0x0, {}, [@NHA_BLACKHOLE={0x4}, @NHA_ID={0x8, 0x1, 0x1}]}, 0x24}, 0x1, 0xfc}, 0x0) (async) sendmsg$nl_route_sched(r0, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x100}, 0xc, &(0x7f0000000100)={&(0x7f0000000040)=@newqdisc={0x84, 0x24, 0x1, 0x70bd27, 0x25dfdbfb, {0x0, 0x0, 0x0, 0x0, {0xfff2, 0xe}, {0x7, 0xb}, {0xc, 0xa}}, [@TCA_STAB={0x60, 0x8, 0x0, 0x1, [{{0x1c, 0x1, {0xb, 0x0, 0x7ff, 0x4, 0x1, 0x5, 0x5, 0x8}}, {0x14, 0x2, [0x4f26, 0x6, 0x0, 0x1, 0x8, 0x401, 0x4, 0x7f]}}, {{0x1c, 0x1, {0x3f, 0x4, 0x44, 0x9, 0x0, 0x5, 0x538a5476, 0x5}}, {0xe, 0x2, [0xfff, 0x3, 0x0, 0xb7a1, 0x9]}}]}]}, 0x84}, 0x1, 0x0, 0x0, 0x800}, 0x40) (async) syz_emit_ethernet(0x56, &(0x7f0000000240)={@local, @link_local, @void, {@ipv6={0x86dd, @tcp={0x0, 0x6, "083ff2", 0x20, 0x6, 0x0, @remote, @local, {[], {{0x0, 0x4e22, 0x41424344, 0x41424344, 0x0, 0x0, 0x8, 0xc2, 0x0, 0x0, 0x0, {[@exp_fastopen={0xfe, 0x8, 0xf989, "d3f2cb90"}, @generic={0x0, 0x2}]}}}}}}}}, 0x0) 00:43:40 executing program 1: r0 = openat$fb0(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) ioctl$FBIOPUT_VSCREENINFO(r0, 0x4601, &(0x7f0000000040)={0x400, 0x300, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, {}, {}, {}, {}, 0x0, 0x100}) syz_clone3(&(0x7f00000014c0)={0x100000000, &(0x7f00000002c0), &(0x7f0000000300), &(0x7f0000000340)=0x0, {0x37}, &(0x7f0000000380)=""/205, 0xcd, &(0x7f0000000480)=""/4096, &(0x7f0000001480)=[0x0, 0xffffffffffffffff, 0x0, 0x0, 0xffffffffffffffff], 0x5}, 0x58) r2 = getpid() sched_setscheduler(r2, 0x2, &(0x7f0000000200)=0x4) r3 = getpid() sched_setscheduler(r3, 0x2, &(0x7f0000000200)=0x4) r4 = getpid() sched_setscheduler(r4, 0x2, &(0x7f0000000200)=0x4) syz_clone3(&(0x7f0000001580)={0x200040000, &(0x7f0000000000), &(0x7f0000000140), &(0x7f0000000180), {0x36}, &(0x7f00000001c0)=""/8, 0x8, &(0x7f0000000200)=""/134, &(0x7f0000001540)=[r1, r2, 0x0, r3, 0xffffffffffffffff, r4], 0x6}, 0x58) 00:43:40 executing program 5: r0 = semget(0x1, 0x3, 0x200) (async) r1 = semget$private(0x0, 0x3, 0x0) semctl$SETALL(r1, 0x0, 0x11, &(0x7f0000001580)=[0x9, 0x2, 0x6]) (async) semctl$GETALL(r1, 0x0, 0xd, &(0x7f0000000040)=""/190) semctl$IPC_STAT(r0, 0x0, 0xe, 0x0) (async) openat$smackfs_ipv6host(0xffffffffffffff9c, &(0x7f0000000000), 0x2, 0x0) (async, rerun: 32) semop(r0, &(0x7f00000001c0)=[{0x1, 0x8, 0x1800}], 0x1) (rerun: 32) semctl$IPC_RMID(r0, 0x0, 0x0) (async) r2 = semget$private(0x0, 0x4, 0x15) semctl$GETALL(r2, 0x0, 0xd, &(0x7f0000000140)=""/10) (async) r3 = semget(0x1, 0x0, 0x4) semtimedop(r3, &(0x7f0000000100)=[{0x2, 0x0, 0x1800}], 0x1, &(0x7f0000000180)={0x0, 0x3938700}) 00:43:40 executing program 4: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f00000015c0)={&(0x7f0000000000), 0xc, &(0x7f0000001580)={&(0x7f0000000040)={{0x14}, [@NFT_MSG_DELRULE={0x1258, 0x8, 0xa, 0x801, 0x0, 0x0, {0x1, 0x0, 0x2}, [@NFTA_RULE_POSITION={0xc, 0x6, 0x1, 0x0, 0x5}, @NFTA_RULE_USERDATA={0x1004, 0x7, 0x1, 0x0, "f85247c3822867b4d6a5eba2ce486256acfbc754c08a45a9ad27ddeb544d2921d847af58930704d7614ed201cad4129b6721e2319809c7a401cc4d258b96bbf8b5ed8e870ce053cb0b32e1d0a490502997125c2e3a1cfce77494e2fc45eb031ba0728995652b581d9bae873fa1375181c22de9b467c544426212359ff03952a2666766a07f1762ec8d2f5e364605190f529dd9ed161dfdaf5fe6385256c706f94aa743643c9a54fa53a2831ce6be2192123b1036c08710bb4732b9a2edb14ce553f65ea5c3648cf6467c21d0f56f4c8d2a5517edd336da7c451786e879c7e32150fbd89305a9274ae6e85753b6092b427de27308a64f842267d6889d79c604bebe8345a6d4dd763ce20fd42e71c7bc87e9bfaf3ced0d1f4681a0885298bae53d13dca3f80ccc26c73a421165cdd6b832e54cd2c130d148a9687711cf0ca67990034149d12d4b6e481e569d59ae0125661290b21f76e29ebcf32f05a42e400608543563ffeffde5b68757b36f1877b27ca98aab17bad2cbb1267994d2d115979c5de8a0fdc9eee8d934bd726077e77d00e0fc8e2322c342b16f5f4054a8975204584cddefc581525da99ecec933f776d707497e40583ade786541e9abe38e277d873a0702f6baf73593ec7bdc0178fcd0f68711aaffd6443a2bc6bc2a3fb6137c015ce2f3ad0c2b57bcbeebd8e6db7e984a8310ccac59deaac0f082e82c9854a1eb60325c8f7b52bf3c67f7ad23135057086cc8ba903d7975535e1bc865ecc4e0c5823aedffd579169035633fab1fec57edd76f8078803fda2cfe3d2c3668e58af5f5e9b106ca8dc9f2ec35e9f74c5505b743800c22848e41060ca50ee12cbc1db95a533447de967462dfd1d3ed9097b2041c89238935a793de654307bc41998bc359e23f1ebfa92c00f97b5fa7e4b1ffbd401939079192e9a581e3fdf732df33ed6f849a04758f4ee4512fe5e5f9c1ea16b57b170cc168c6f28b9b14b53712164991dee46bb1577a27ed818ae3340feaaa71ef6fc83afc5a47c98c6c16541a62385d2891c262c3d16a8afd032f58c66519db49f810aabb8a3df51041a0edd5c93f8ee74d670154314c440d68a64e2a67dcfb97f3e39f369af2f50ae55f6ff8a34d67128c1e1c34bff2752e1037b27aef35dd700d23da51be2e161edc068e403d52c66a7429a0cb26c38451f33661aa626c68fe90018aecf5a07b89aeaffb0a1389fde954ea98c07151db3b17d69db4a6dc6897404167241814ea316a8dd3ceaa8ea71496f0b0fce1d6efcb10de74737ed7961a1211666812a411c887062074b4410711478575d9b13f42da92ff1c99f2c39f8efb7da232837de9f65d25eb01151f7ab56b14f278f01ea5fbb38c67b3bca1f5a898b637627ef3bcbf53a07bd06dd34b6fb85db0143118b92903539354fa5fc7804a5505143330abdfa69a825d1eb2f7cb0f7a620864290bbf443916c4dc12bdcf4087467aba7335eff0f7cecbb2a2e3fe8daddbd5ca866dd10b5d5b40ef2b5f12116363575f86aea06dc74a2e7b4b18d01d194f310d7d19ef04b885268ac1639217ce084a8b17456d7e8c8b0295c29fc58e0b544a285c9728adc2ff52137f51b87992630e14cf6ca3a1049b7e7a2917569716ba7db54e7829dd897a2abc81fe288d17308b29df141c0179c3ff6974c14821dd9f305bfed9fbbfd35b262bf7c21434cc13b6e0bee551bcbebc3a534c17d4d6d9141694624fbde3eebc9e0632a89e3fa0bc85565561acb7f525f377158335c757606362776e1b6637527a8eaeed857649f099b9b3fbb7213632c74169e46284bfe453f9856090c49f5b6c74d42d0ed7d0e329faf0c51f747c4b2d0e6ef1a23bf1dfc0a1a7f5c0d32507b976249153c6c8aa351c9312d9e75f78be794c53f0d4742634c1ea84b2d0c68eb048579411e1c7d5da6f038e5a90f28d4e6619a9b0fa18223a96cf24ad13ccb7f2df915a93a92e42ee3c1e677c871cbaa39f7a91ded696c623008afe7dda537e8ab35799247a716779abcb6c55306bcab77d82ec72522ee2574eae3108526323256cd1725149abc994d0d68888abbbde6faf29e116fecc8d8408bbfafc275a736217bbe358153dfe2c2b7f94ba4bb7bd672dad473f8fef9d9d5c4520728b2c68a3cb0d3096472ebf7208733ff62187ab07bc95c0340aeb23a2d9fc8d8db73dcf258be1f8dfdf26f267d1e37bbeb6b0a1718bee899823c949d4479feb79acdc3008ce0416895972535db35d6648614ef6748cc1934ab076dcdb4ed6bd162c7bb4721e40cc9d46d9895a656dc92a4c5223ad623f22a38b44cf39047ac3d393a7b66a6124e8e9384093dcaeccbf14a5e2986994c38fe74084030c74a9f073dae35daacefe8da3413aed26aaaf2a6c452582fad5cc28b63ec9a375f6c4bb710eb5925579e01504405a786e6f931baf94dd66b9e80c97005d9df6f2f168fe354aab0df1ef01e15ba862dba254755f9b01c3d8ed8b2e127b6ed0bbb37ba4a97144c6e179e92bd6d556c07ac77d706122eb4e2cd1178c555173e65f1b71e16effca7cadd7ff7ea9f4011ea20360bf4e4a4c73782271a3b6ceb9f43d86ca20a05fad734fa7a3348cc839df4f9f29a94ba36ed1d0a71d5239dee1b9d5b6d52279cd80b3c984237a460993a110968f498edf4c5f43f6dc02a2515d2a2c82dfc5fd8ecaa8bf9781904ef9746f6dc92ac99a384fdfd5c5d852c623db18013483a38d9239ac9c0e8d261655b0ebba20a08782d8d352a2d6f722ef6218676eaf102e61fa32d4d6ca526add0a7e14a31378851f4c639c04f86e22910f1d63950f3e93412f7c4bcf454a429f402f9f8b321059e58652054ead6c81dfb8f16e85dc2c52f339ef804d8c4524538cecd549667fe7f9d9dd0e7d5ffbd69e28033917c975ae78b4860f7498a38ade9ffd3d7b30f1f96a1abaa8ec5c01e095a8c18ea2aabe5abc76a4bfd590de55fbcc0cb72068065edbec166adb7d55eb741cb8d67dabe54a1bd7d0d7749bb54ee8810ca12cdd2a14189a552bba8519e4ae50f5b643e9931dd6451c1b84cfd8d5e282774f92fe655a84b43f6c1a4a860b2871c3bd43b5691543461480e7a4c9efdb1f962e76b592eaebefe0302129cf2070c7cc8dc708f65e9eaf5487c5c017c4bf353ba1c2d31cd959ae4d56813809740d694e4e4da78e3c58b2f31a07661c570bca50b03f43dcfda8e61114b46408da2adfc532ac00db00ccbf69afaf1dacfa2420f2df952f8c56bf385f717a23586ddb9255904b402b3a58088f6f63f64011dade837ca7865d905e0d91edc85da43a8b3b3df32f6c98f02fb5c5c89adb5de33c3d0a9d30f71f1df6bd397cac61bef0d06a9cc76a9c0cafcf1fb2f8e3c4a92bc0cbdc339dfb1b466d0626fca88c280a9f5c676bbc9dbf9913e2170203ba04c3d8b06e97baa4a9e16722b8953ef6738ea39c76b5d65c1e06ba31278e14bd7f13d36151125d6d5eb5b9b118e42705f603cdbdd96be54bd70cb86ca3aab444a316290468dd245651843dea0e977ea2c3ba151d606824a2991a6724560ced02c8576d82d9bc1878712874a892c8dfe0b8e27be6e352e4c3e66a90e292ae22428a1f30dbcb80534d885ed8a0120b86a7409b5c3d88618ea55eee51f10d353ccc8d35785aa6f9a4c4c54a86bca49467d219d221f741188ce61a9ec0da586133139f437bbadac9253fc57e7682bb1475065c3d9b2eac8f795d4a1257e53d8608f186127dbd40e62de9830689ac2e3057df9a4754c304f3fc13a994fbf4169a944c1606aa9d99e39bad972ab3ce8b035f049a996b9a3e114278fe65570be18e251c4c6f5ab053971ddcbafaf3d09b020c6aa9f32f8b38cfbd42b87a8c89888d80dc53df84da5e05490f60efa60d975d2fce2852661fbbacc7b77328ca5a0693675677a63c8d6df3668afd1dcea6907057740ef1c931401c72818db46f89287a6ca8cf940211155a0777aed2597112b4d7f262fae6fc68928849ab260d2c27d8cc9d6bffd197df4a35ab7eb89c9e488e6e46419b9fc6a8f4a032001dfd7ad6abfa8429249c71a7815c69e3c285d2ef0dc63cedca2340ed87ca0140923de0316b312100815d8e0d41bf06b3094bb757b8aa615f62a4d24e8b265924dc0e191c912797f07525d740ac7a59a308a18ce1def73987a241e790c84f349ec6df789625debde7d7d675376f096296f52291888eefe40d1cd9f677be332a8c8a19a5c87fc7b59669be0bbed5cad9892581b2853119a8e7f33beb461aa309a874d2be109b1834910102d5b675507099da4b82f04489dae41b42b342434f8591b74ef635a52ed687e1531b439d8ad1364665886e4f7f63ab9d51db7dfba5de83673efc1bc6f97b088cfe4fd98ce8dacee9111cc4a57a9057801d320004eccec5e6dcf3aa3691369eaf1d7883c06c115a74c58f42b58bb366a50b80c48c4543d374a41880114f505b1ea5eec040d45260183250ecb81271bd5cbee5f09be61ef405fb58ec94853796d7bc4acbf24feca3ab99b2ae83644069116c67f0cc9295f863e3f9ee14f2977d035c1cb0b60715b214499b8c0b2c3bfa83058305b1cc5375eeda6018918075f78ada19dda5a8b731163747d6205f62fcea2dc3ffbbe8746d8419974d197e30ae9190d5cfe2c83a335b425dc270a0b2cdfd9b41e6f9ed4fd5f1e62d101661d5493ecb954b5f200a7f8487eaf9420fd8cab66d8beb01df424bc2d0ee15ee2cd3423078afe1c60a06ce2a74d65a4b9521ce6eabb9fba0445b03984417af2cfcf236940d8a25678ee9ec948d6d6401aa9f2867e05d95f641fac5cafdee09af5e5b4769b621dacb03f4152ce5b7cc5804b24b421a0e81498a80796d455a28b8557d718ff49d2f254765d690a343e75adac6d2369e643f6c244f09a1266f5ea9078e65068314e94c3576577d35d207b450e062a0434aa37ab748a8f0f57b06be2d2cbc581212c4c5b7805dc1a53218c2f2e0d79b5d28a403fecc943f3053d9fdb850d722c26d707a148c7d0f10fb76455305d2f079219d1f17660113d3d883a12e8789a472d3b0f05c8444f7826fbb00fa6ef2233543537f8aad959929506ac0f7a54189c12c61b6da6867cd7555202e9614c77e1cbfca84d0b37aa1e98572727f2723d044622e4c11dd364e1b345b3907e00d78484fcd75ec1fa03b8ac31293d831817b8323fa1fc778412b526b3d89120af99845331c80aa875b5429017ec5d30c3f4a91f49b692458698a8a0a00a249adfd8fc2f5a11cf40c4cb2844e7978917875efae2225ab7e7fc4cf306925ea5c6e33718748a02f8f08eafc96b6e45605acfe088f048a77cd1760da40e1331830eb897a3d02aeabe3ab85581a91c69ef989b893e6291bf4efa2782df2ded73d3d2162448ab23a020f0df06009ff1068dcd0082f0c29d7a534c97b4aae60e4afdc290b8e2778847c43d1721f589a003c75f1f9cc3d12e8fc37bbc3cce0ff70ca23f4906e4cc1e74a2a48ec8164c26f9e5f45a65753eba193be030ebcfeabf612254d24bf122b5c1c9be6ce1d7b2b4bbd0f511fd90e94afee806ca328268305226ba2e7ee066e24d961133a1119675a6a5d553a714826fa278678b1d02b834c13e7a17bea048d95dfc527f1aea13a37fc947f420a19e75c3006e0a0da1fe8502318b9e0564d441866a5434ac1bd3a188345a3d8e9926213a423a535d0b3620ee80950ee1917104d15f74685a635699a8995a27b7e186d27f511b93c299c01eca164ccbf56f825953f43f9439e9c5087dfcba228e65873ff6f79668a263210b360493f71"}, @NFTA_RULE_POSITION_ID={0x8, 0xa, 0x1, 0x0, 0x3}, @NFTA_RULE_POSITION={0xc, 0x6, 0x1, 0x0, 0x2}, @NFTA_RULE_CHAIN={0x9, 0x2, 'syz2\x00'}, @NFTA_RULE_TABLE={0x9, 0x1, 'syz1\x00'}, @NFTA_RULE_USERDATA={0xfe, 0x7, 0x1, 0x0, "f420b9fd291afa1653dbbd3bfcd7a857fd7dda07c2a432351f79f10ab8f9bf17e295824c2499aff19692c21bb8a1e0de518c372c462b0174541d6213399b1505cd799044fdc8ac2ca91b6724ff42c9e0af663996f07e24d3563012aacada01199b569df6cc3a0a72bf4d33d9a6bdfb750de3fd733edca2f88a5ae75d484fa61c2b9d327b2855993564794763dfdee66f9c2dfbc42b8d3e3c1d1dafe2bd2b7ffa5fd13128e2f5489a800eb27a716e61d010b1350be33693313d73ba891c025d6cc178157a7e1adabc6e791dd014be07c97407c23ae34eff13af2ef8a38f78636320dd1767b80c47470151042771a74eb7fb51f8cd4efe6512be1f"}, @NFTA_RULE_USERDATA={0xfd, 0x7, 0x1, 0x0, "ada9180e577bd4e1748010d6068a41f9edd2f7f73a4a7d3fa10515bf4a09c70860fd8d43e493ad62424850973f82750ac6437931284da53d190f173f5e8913ff36ec8c73a13825ceb267055e4af45fe2e5cdea5b67f1581b786b02b14f472f4b4472d5d8f636257c2741d2a569cee8be18464caf1b195ec984eba950758d8c18f1392eba828ffb7c061e09d5ddb4f3cf42afa354e7cb3d883bd39e21c4f219f7890487662280c8af844317d66936dd4f25e31e450f8470339f0da4923f995f0f724ae831a063789d4a25cfea8ffda3388ca9c8399338fa3009b29184765809c987af2045808726e8a612429dc634ae331683eb007009fb615e"}, @NFTA_RULE_CHAIN_ID={0x8, 0xb, 0x1, 0x0, 0x7fffffff}]}, @NFT_MSG_DELOBJ={0x20, 0x14, 0xa, 0x801, 0x0, 0x0, {0x7, 0x0, 0x3}, [@NFTA_OBJ_HANDLE={0xc, 0x6, 0x1, 0x0, 0x4}]}, @NFT_MSG_DELTABLE={0x6c, 0x2, 0xa, 0x801, 0x0, 0x0, {0x1}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz1\x00'}, @NFTA_TABLE_USERDATA={0x4c, 0x6, "1c3de5cf7b618c0dc1cfc3df054c543bff1c2a51a6497e90efc57cc3947ded2616ef53029fcb13766208abf736a6ff88f79e2dc81f79987c286c44f5184b8b9f29e6cb539a927049"}]}, @NFT_MSG_NEWFLOWTABLE={0x1e4, 0x16, 0xa, 0x201, 0x0, 0x0, {0x5, 0x0, 0x7}, [@NFTA_FLOWTABLE_FLAGS={0x8}, @NFTA_FLOWTABLE_HOOK={0x114, 0x3, 0x0, 0x1, [@NFTA_FLOWTABLE_HOOK_DEVS={0x54, 0x3, 0x0, 0x1, [{0x14, 0x1, 'veth0_to_bond\x00'}, {0x14, 0x1, 'batadv_slave_0\x00'}, {0x14, 0x1, 'lo\x00'}, {0x14, 0x1, 'ipvlan0\x00'}]}, @NFTA_FLOWTABLE_HOOK_DEVS={0x40, 0x3, 0x0, 0x1, [{0x14, 0x1, 'ip6tnl0\x00'}, {0x14, 0x1, 'caif0\x00'}, {0x14, 0x1, 'macvlan1\x00'}]}, @NFTA_FLOWTABLE_HOOK_DEVS={0x7c, 0x3, 0x0, 0x1, [{0x14, 0x1, 'veth1_to_team\x00'}, {0x14, 0x1, 'nr0\x00'}, {0x14, 0x1, 'sit0\x00'}, {0x14, 0x1, 'nr0\x00'}, {0x14, 0x1, 'pimreg0\x00'}, {0x14, 0x1, 'gretap0\x00'}]}]}, @NFTA_FLOWTABLE_NAME={0x9, 0x2, 'syz0\x00'}, @NFTA_FLOWTABLE_TABLE={0x9, 0x1, 'syz1\x00'}, @NFTA_FLOWTABLE_HOOK={0x9c, 0x3, 0x0, 0x1, [@NFTA_FLOWTABLE_HOOK_DEVS={0x90, 0x3, 0x0, 0x1, [{0x14, 0x1, 'vlan1\x00'}, {0x14, 0x1, 'veth1_macvtap\x00'}, {0x14, 0x1, 'wg1\x00'}, {0x14, 0x1, 'pim6reg0\x00'}, {0x14, 0x1, 'pimreg\x00'}, {0x14, 0x1, 'team_slave_0\x00'}, {0x14, 0x1, 'ip6_vti0\x00'}]}, @NFTA_FLOWTABLE_HOOK_PRIORITY={0x8, 0x2, 0x1, 0x0, 0x6}]}]}, @NFT_MSG_NEWSET={0x20, 0x9, 0xa, 0x3, 0x0, 0x0, {0x2, 0x0, 0x4}, [@NFTA_SET_HANDLE={0xc, 0x10, 0x1, 0x0, 0x4}]}], {0x14}}, 0x1510}, 0x1, 0x0, 0x0, 0x4800}, 0x40010) 00:43:40 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x2, 0x4) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) 00:43:40 executing program 1: r0 = openat$fb0(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) ioctl$FBIOPUT_VSCREENINFO(r0, 0x4601, &(0x7f0000000040)={0x400, 0x300, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, {}, {}, {}, {}, 0x0, 0x100}) syz_clone3(&(0x7f00000014c0)={0x100000000, &(0x7f00000002c0), &(0x7f0000000300), &(0x7f0000000340)=0x0, {0x37}, &(0x7f0000000380)=""/205, 0xcd, &(0x7f0000000480)=""/4096, &(0x7f0000001480)=[0x0, 0xffffffffffffffff, 0x0, 0x0, 0xffffffffffffffff], 0x5}, 0x58) r2 = getpid() sched_setscheduler(r2, 0x2, &(0x7f0000000200)=0x4) (async) r3 = getpid() sched_setscheduler(r3, 0x2, &(0x7f0000000200)=0x4) r4 = getpid() sched_setscheduler(r4, 0x2, &(0x7f0000000200)=0x4) syz_clone3(&(0x7f0000001580)={0x200040000, &(0x7f0000000000), &(0x7f0000000140), &(0x7f0000000180), {0x36}, &(0x7f00000001c0)=""/8, 0x8, &(0x7f0000000200)=""/134, &(0x7f0000001540)=[r1, r2, 0x0, r3, 0xffffffffffffffff, r4], 0x6}, 0x58) 00:43:40 executing program 0: openat$tun(0xffffffffffffff9c, &(0x7f0000000400), 0x2, 0x0) (async) ioctl$TUNSETIFF(0xffffffffffffffff, 0x400454ca, &(0x7f0000000280)={'\x00', 0x4019}) (async) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) (async) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f0000000000)=0x5) (async, rerun: 32) r0 = getpid() (rerun: 32) sched_setscheduler(r0, 0x1, &(0x7f0000000240)=0x1) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) (async) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) (async) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) (async) execveat(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0) r3 = openat$loop_ctrl(0xffffff9c, &(0x7f0000000040), 0x0, 0x0) ioctl$LOOP_CTL_ADD(r3, 0x4c80, 0x0) (async) ioctl$LOOP_CTL_REMOVE(r3, 0x4c81, 0x0) (async) r4 = socket$inet_tcp(0x2, 0x1, 0x0) ioctl$sock_SIOCADDRT(r4, 0x890b, &(0x7f0000000040)={0x0, @l2tp={0x2, 0x2, @remote={0xac, 0x10, 0x3}}, @l2tp={0x2, 0x0, @empty, 0x0, 0xfdffffff}, @generic={0x0, "bcbc5dada046e4d15ddee9502b10"}, 0xf0f4}) (async) socket$inet_tcp(0x2, 0x1, 0x0) ioctl$sock_SIOCADDRT(0xffffffffffffffff, 0x890b, &(0x7f0000001280)={0x0, @l2tp={0x2, 0x2, @empty=0xfd000e0b}, @l2tp={0x2, 0x0, @local, 0x3}, @hci={0x1f, 0x0, 0x4}, 0xf0f4, 0x0, 0xa00000000000000}) (async, rerun: 32) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, &(0x7f0000000280)={0x0, [], 0x0, "285cbe607ecdfb"}) (rerun: 32) 00:43:40 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$SO_BINDTODEVICE(r1, 0x1, 0x19, &(0x7f0000000240)='sit0\x00', 0x10) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f00000000c0)=@ipv6_getaddrlabel={0x5c, 0x4a, 0x7, 0x10000000, 0x0, {}, [@IFAL_LABEL={0x8}, @IFAL_ADDRESS={0x14, 0x1, @mcast1}, @IFAL_LABEL={0x8}, @IFAL_ADDRESS={0x14, 0x1, @private2}, @IFAL_LABEL={0x8}]}, 0x5c}}, 0x0) sendmsg$nl_route(r0, &(0x7f0000000200)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x400}, 0xc, &(0x7f00000001c0)={&(0x7f0000000140)=@bridge_newneigh={0x44, 0x1c, 0x10, 0x70bd26, 0x25dfdbfd, {0x1c, 0x0, 0x0, 0x0, 0x40, 0x20, 0xa}, [@NDA_DST_IPV6={0x14, 0x1, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}, @NDA_DST_IPV6={0x14, 0x1, @private1={0xfc, 0x1, '\x00', 0x1}}]}, 0x44}, 0x1, 0x0, 0x0, 0x40000c0}, 0x24008005) r2 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r3 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_802154(r3, 0x8933, &(0x7f0000000940)={'wpan1\x00', 0x0}) r5 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r6 = syz_genetlink_get_family_id$ieee802154(&(0x7f0000000000), r2) sendmsg$IEEE802154_LLSEC_ADD_DEV(r5, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000200)={&(0x7f00000000c0)={0x50, r6, 0x852dd6c070cd7e4d, 0x0, 0x0, {}, [@IEEE802154_ATTR_LLSEC_FRAME_COUNTER={0x8}, @IEEE802154_ATTR_LLSEC_DEV_OVERRIDE={0x5}, @IEEE802154_ATTR_HW_ADDR={0xc}, @IEEE802154_ATTR_LLSEC_DEV_KEY_MODE={0x5}, @IEEE802154_ATTR_DEV_INDEX={0x8, 0x2, r4}, @IEEE802154_ATTR_SHORT_ADDR={0x6}, @IEEE802154_ATTR_PAN_ID={0x6, 0x6, 0x37}]}, 0x50}, 0x4, 0x700000000000700}, 0x0) sendmsg$IEEE802154_LLSEC_ADD_SECLEVEL(0xffffffffffffffff, &(0x7f0000000480)={&(0x7f0000000380)={0x10, 0x0, 0x0, 0x108101}, 0xc, &(0x7f0000000440)={&(0x7f00000003c0)={0x44, 0x0, 0x1, 0x70bd2c, 0x25dfdbfb, {}, [@IEEE802154_ATTR_LLSEC_SECLEVELS={0x5, 0x35, 0x1f}, @IEEE802154_ATTR_DEV_INDEX={0x8, 0x2, r4}, @IEEE802154_ATTR_LLSEC_FRAME_TYPE={0x5}, @IEEE802154_ATTR_LLSEC_CMD_FRAME_ID={0x5, 0x34, 0x4}, @IEEE802154_ATTR_LLSEC_CMD_FRAME_ID={0x5, 0x34, 0x5}, @IEEE802154_ATTR_LLSEC_DEV_OVERRIDE={0x5, 0x36, 0x1}]}, 0x44}, 0x1, 0x0, 0x0, 0x40080}, 0x40005) sendto(r1, &(0x7f0000000280)="ea443e052e5aef9955241bbb223ad647aac766deebffda2e7052da1becdc9177dcf6c69f9398efc2f6060a22aa72269fd91925b2a0e998b9417f2d8a68ffe1b3d58c0a0d319d609371980c3ca80db347f8d6a4dbbb4fc100049ff559398b30d3a5b0ab2f5923742dad03d14286b48a5dbb56a95d10a1842b081462eba87b9664140279ea3733bc313e9c0e238219dcca056e34c7e15348623d65237931af72a011f0b8dfec05462582abbe91b15700a2196ce1aea38b7d16fbb9fa5afdaa9b4050eeed600921fa59c6344ade6b6a002006d260bb8cf1ced333bbea18d6ae159432abbeddc913c775b7a7e8", 0xeb, 0x800, 0x0, 0x0) 00:43:40 executing program 5: r0 = semget(0x1, 0x3, 0x200) r1 = semget$private(0x0, 0x3, 0x0) semctl$SETALL(r1, 0x0, 0x11, &(0x7f0000001580)=[0x9, 0x2, 0x6]) semctl$GETALL(r1, 0x0, 0xd, &(0x7f0000000040)=""/190) semctl$IPC_STAT(r0, 0x0, 0xe, 0x0) openat$smackfs_ipv6host(0xffffffffffffff9c, &(0x7f0000000000), 0x2, 0x0) semop(r0, &(0x7f00000001c0)=[{0x1, 0x8, 0x1800}], 0x1) semctl$IPC_RMID(r0, 0x0, 0x0) r2 = semget$private(0x0, 0x4, 0x15) semctl$GETALL(r2, 0x0, 0xd, &(0x7f0000000140)=""/10) r3 = semget(0x1, 0x0, 0x4) semtimedop(r3, &(0x7f0000000100)=[{0x2, 0x0, 0x1800}], 0x1, &(0x7f0000000180)={0x0, 0x3938700}) semget(0x1, 0x3, 0x200) (async) semget$private(0x0, 0x3, 0x0) (async) semctl$SETALL(r1, 0x0, 0x11, &(0x7f0000001580)=[0x9, 0x2, 0x6]) (async) semctl$GETALL(r1, 0x0, 0xd, &(0x7f0000000040)=""/190) (async) semctl$IPC_STAT(r0, 0x0, 0xe, 0x0) (async) openat$smackfs_ipv6host(0xffffffffffffff9c, &(0x7f0000000000), 0x2, 0x0) (async) semop(r0, &(0x7f00000001c0)=[{0x1, 0x8, 0x1800}], 0x1) (async) semctl$IPC_RMID(r0, 0x0, 0x0) (async) semget$private(0x0, 0x4, 0x15) (async) semctl$GETALL(r2, 0x0, 0xd, &(0x7f0000000140)=""/10) (async) semget(0x1, 0x0, 0x4) (async) semtimedop(r3, &(0x7f0000000100)=[{0x2, 0x0, 0x1800}], 0x1, &(0x7f0000000180)={0x0, 0x3938700}) (async) 00:43:40 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) (async) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x2, 0x4) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) (async) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) 00:43:40 executing program 4: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f00000015c0)={&(0x7f0000000000), 0xc, &(0x7f0000001580)={&(0x7f0000000040)={{0x14}, [@NFT_MSG_DELRULE={0x1258, 0x8, 0xa, 0x801, 0x0, 0x0, {0x1, 0x0, 0x2}, [@NFTA_RULE_POSITION={0xc, 0x6, 0x1, 0x0, 0x5}, @NFTA_RULE_USERDATA={0x1004, 0x7, 0x1, 0x0, "f85247c3822867b4d6a5eba2ce486256acfbc754c08a45a9ad27ddeb544d2921d847af58930704d7614ed201cad4129b6721e2319809c7a401cc4d258b96bbf8b5ed8e870ce053cb0b32e1d0a490502997125c2e3a1cfce77494e2fc45eb031ba0728995652b581d9bae873fa1375181c22de9b467c544426212359ff03952a2666766a07f1762ec8d2f5e364605190f529dd9ed161dfdaf5fe6385256c706f94aa743643c9a54fa53a2831ce6be2192123b1036c08710bb4732b9a2edb14ce553f65ea5c3648cf6467c21d0f56f4c8d2a5517edd336da7c451786e879c7e32150fbd89305a9274ae6e85753b6092b427de27308a64f842267d6889d79c604bebe8345a6d4dd763ce20fd42e71c7bc87e9bfaf3ced0d1f4681a0885298bae53d13dca3f80ccc26c73a421165cdd6b832e54cd2c130d148a9687711cf0ca67990034149d12d4b6e481e569d59ae0125661290b21f76e29ebcf32f05a42e400608543563ffeffde5b68757b36f1877b27ca98aab17bad2cbb1267994d2d115979c5de8a0fdc9eee8d934bd726077e77d00e0fc8e2322c342b16f5f4054a8975204584cddefc581525da99ecec933f776d707497e40583ade786541e9abe38e277d873a0702f6baf73593ec7bdc0178fcd0f68711aaffd6443a2bc6bc2a3fb6137c015ce2f3ad0c2b57bcbeebd8e6db7e984a8310ccac59deaac0f082e82c9854a1eb60325c8f7b52bf3c67f7ad23135057086cc8ba903d7975535e1bc865ecc4e0c5823aedffd579169035633fab1fec57edd76f8078803fda2cfe3d2c3668e58af5f5e9b106ca8dc9f2ec35e9f74c5505b743800c22848e41060ca50ee12cbc1db95a533447de967462dfd1d3ed9097b2041c89238935a793de654307bc41998bc359e23f1ebfa92c00f97b5fa7e4b1ffbd401939079192e9a581e3fdf732df33ed6f849a04758f4ee4512fe5e5f9c1ea16b57b170cc168c6f28b9b14b53712164991dee46bb1577a27ed818ae3340feaaa71ef6fc83afc5a47c98c6c16541a62385d2891c262c3d16a8afd032f58c66519db49f810aabb8a3df51041a0edd5c93f8ee74d670154314c440d68a64e2a67dcfb97f3e39f369af2f50ae55f6ff8a34d67128c1e1c34bff2752e1037b27aef35dd700d23da51be2e161edc068e403d52c66a7429a0cb26c38451f33661aa626c68fe90018aecf5a07b89aeaffb0a1389fde954ea98c07151db3b17d69db4a6dc6897404167241814ea316a8dd3ceaa8ea71496f0b0fce1d6efcb10de74737ed7961a1211666812a411c887062074b4410711478575d9b13f42da92ff1c99f2c39f8efb7da232837de9f65d25eb01151f7ab56b14f278f01ea5fbb38c67b3bca1f5a898b637627ef3bcbf53a07bd06dd34b6fb85db0143118b92903539354fa5fc7804a5505143330abdfa69a825d1eb2f7cb0f7a620864290bbf443916c4dc12bdcf4087467aba7335eff0f7cecbb2a2e3fe8daddbd5ca866dd10b5d5b40ef2b5f12116363575f86aea06dc74a2e7b4b18d01d194f310d7d19ef04b885268ac1639217ce084a8b17456d7e8c8b0295c29fc58e0b544a285c9728adc2ff52137f51b87992630e14cf6ca3a1049b7e7a2917569716ba7db54e7829dd897a2abc81fe288d17308b29df141c0179c3ff6974c14821dd9f305bfed9fbbfd35b262bf7c21434cc13b6e0bee551bcbebc3a534c17d4d6d9141694624fbde3eebc9e0632a89e3fa0bc85565561acb7f525f377158335c757606362776e1b6637527a8eaeed857649f099b9b3fbb7213632c74169e46284bfe453f9856090c49f5b6c74d42d0ed7d0e329faf0c51f747c4b2d0e6ef1a23bf1dfc0a1a7f5c0d32507b976249153c6c8aa351c9312d9e75f78be794c53f0d4742634c1ea84b2d0c68eb048579411e1c7d5da6f038e5a90f28d4e6619a9b0fa18223a96cf24ad13ccb7f2df915a93a92e42ee3c1e677c871cbaa39f7a91ded696c623008afe7dda537e8ab35799247a716779abcb6c55306bcab77d82ec72522ee2574eae3108526323256cd1725149abc994d0d68888abbbde6faf29e116fecc8d8408bbfafc275a736217bbe358153dfe2c2b7f94ba4bb7bd672dad473f8fef9d9d5c4520728b2c68a3cb0d3096472ebf7208733ff62187ab07bc95c0340aeb23a2d9fc8d8db73dcf258be1f8dfdf26f267d1e37bbeb6b0a1718bee899823c949d4479feb79acdc3008ce0416895972535db35d6648614ef6748cc1934ab076dcdb4ed6bd162c7bb4721e40cc9d46d9895a656dc92a4c5223ad623f22a38b44cf39047ac3d393a7b66a6124e8e9384093dcaeccbf14a5e2986994c38fe74084030c74a9f073dae35daacefe8da3413aed26aaaf2a6c452582fad5cc28b63ec9a375f6c4bb710eb5925579e01504405a786e6f931baf94dd66b9e80c97005d9df6f2f168fe354aab0df1ef01e15ba862dba254755f9b01c3d8ed8b2e127b6ed0bbb37ba4a97144c6e179e92bd6d556c07ac77d706122eb4e2cd1178c555173e65f1b71e16effca7cadd7ff7ea9f4011ea20360bf4e4a4c73782271a3b6ceb9f43d86ca20a05fad734fa7a3348cc839df4f9f29a94ba36ed1d0a71d5239dee1b9d5b6d52279cd80b3c984237a460993a110968f498edf4c5f43f6dc02a2515d2a2c82dfc5fd8ecaa8bf9781904ef9746f6dc92ac99a384fdfd5c5d852c623db18013483a38d9239ac9c0e8d261655b0ebba20a08782d8d352a2d6f722ef6218676eaf102e61fa32d4d6ca526add0a7e14a31378851f4c639c04f86e22910f1d63950f3e93412f7c4bcf454a429f402f9f8b321059e58652054ead6c81dfb8f16e85dc2c52f339ef804d8c4524538cecd549667fe7f9d9dd0e7d5ffbd69e28033917c975ae78b4860f7498a38ade9ffd3d7b30f1f96a1abaa8ec5c01e095a8c18ea2aabe5abc76a4bfd590de55fbcc0cb72068065edbec166adb7d55eb741cb8d67dabe54a1bd7d0d7749bb54ee8810ca12cdd2a14189a552bba8519e4ae50f5b643e9931dd6451c1b84cfd8d5e282774f92fe655a84b43f6c1a4a860b2871c3bd43b5691543461480e7a4c9efdb1f962e76b592eaebefe0302129cf2070c7cc8dc708f65e9eaf5487c5c017c4bf353ba1c2d31cd959ae4d56813809740d694e4e4da78e3c58b2f31a07661c570bca50b03f43dcfda8e61114b46408da2adfc532ac00db00ccbf69afaf1dacfa2420f2df952f8c56bf385f717a23586ddb9255904b402b3a58088f6f63f64011dade837ca7865d905e0d91edc85da43a8b3b3df32f6c98f02fb5c5c89adb5de33c3d0a9d30f71f1df6bd397cac61bef0d06a9cc76a9c0cafcf1fb2f8e3c4a92bc0cbdc339dfb1b466d0626fca88c280a9f5c676bbc9dbf9913e2170203ba04c3d8b06e97baa4a9e16722b8953ef6738ea39c76b5d65c1e06ba31278e14bd7f13d36151125d6d5eb5b9b118e42705f603cdbdd96be54bd70cb86ca3aab444a316290468dd245651843dea0e977ea2c3ba151d606824a2991a6724560ced02c8576d82d9bc1878712874a892c8dfe0b8e27be6e352e4c3e66a90e292ae22428a1f30dbcb80534d885ed8a0120b86a7409b5c3d88618ea55eee51f10d353ccc8d35785aa6f9a4c4c54a86bca49467d219d221f741188ce61a9ec0da586133139f437bbadac9253fc57e7682bb1475065c3d9b2eac8f795d4a1257e53d8608f186127dbd40e62de9830689ac2e3057df9a4754c304f3fc13a994fbf4169a944c1606aa9d99e39bad972ab3ce8b035f049a996b9a3e114278fe65570be18e251c4c6f5ab053971ddcbafaf3d09b020c6aa9f32f8b38cfbd42b87a8c89888d80dc53df84da5e05490f60efa60d975d2fce2852661fbbacc7b77328ca5a0693675677a63c8d6df3668afd1dcea6907057740ef1c931401c72818db46f89287a6ca8cf940211155a0777aed2597112b4d7f262fae6fc68928849ab260d2c27d8cc9d6bffd197df4a35ab7eb89c9e488e6e46419b9fc6a8f4a032001dfd7ad6abfa8429249c71a7815c69e3c285d2ef0dc63cedca2340ed87ca0140923de0316b312100815d8e0d41bf06b3094bb757b8aa615f62a4d24e8b265924dc0e191c912797f07525d740ac7a59a308a18ce1def73987a241e790c84f349ec6df789625debde7d7d675376f096296f52291888eefe40d1cd9f677be332a8c8a19a5c87fc7b59669be0bbed5cad9892581b2853119a8e7f33beb461aa309a874d2be109b1834910102d5b675507099da4b82f04489dae41b42b342434f8591b74ef635a52ed687e1531b439d8ad1364665886e4f7f63ab9d51db7dfba5de83673efc1bc6f97b088cfe4fd98ce8dacee9111cc4a57a9057801d320004eccec5e6dcf3aa3691369eaf1d7883c06c115a74c58f42b58bb366a50b80c48c4543d374a41880114f505b1ea5eec040d45260183250ecb81271bd5cbee5f09be61ef405fb58ec94853796d7bc4acbf24feca3ab99b2ae83644069116c67f0cc9295f863e3f9ee14f2977d035c1cb0b60715b214499b8c0b2c3bfa83058305b1cc5375eeda6018918075f78ada19dda5a8b731163747d6205f62fcea2dc3ffbbe8746d8419974d197e30ae9190d5cfe2c83a335b425dc270a0b2cdfd9b41e6f9ed4fd5f1e62d101661d5493ecb954b5f200a7f8487eaf9420fd8cab66d8beb01df424bc2d0ee15ee2cd3423078afe1c60a06ce2a74d65a4b9521ce6eabb9fba0445b03984417af2cfcf236940d8a25678ee9ec948d6d6401aa9f2867e05d95f641fac5cafdee09af5e5b4769b621dacb03f4152ce5b7cc5804b24b421a0e81498a80796d455a28b8557d718ff49d2f254765d690a343e75adac6d2369e643f6c244f09a1266f5ea9078e65068314e94c3576577d35d207b450e062a0434aa37ab748a8f0f57b06be2d2cbc581212c4c5b7805dc1a53218c2f2e0d79b5d28a403fecc943f3053d9fdb850d722c26d707a148c7d0f10fb76455305d2f079219d1f17660113d3d883a12e8789a472d3b0f05c8444f7826fbb00fa6ef2233543537f8aad959929506ac0f7a54189c12c61b6da6867cd7555202e9614c77e1cbfca84d0b37aa1e98572727f2723d044622e4c11dd364e1b345b3907e00d78484fcd75ec1fa03b8ac31293d831817b8323fa1fc778412b526b3d89120af99845331c80aa875b5429017ec5d30c3f4a91f49b692458698a8a0a00a249adfd8fc2f5a11cf40c4cb2844e7978917875efae2225ab7e7fc4cf306925ea5c6e33718748a02f8f08eafc96b6e45605acfe088f048a77cd1760da40e1331830eb897a3d02aeabe3ab85581a91c69ef989b893e6291bf4efa2782df2ded73d3d2162448ab23a020f0df06009ff1068dcd0082f0c29d7a534c97b4aae60e4afdc290b8e2778847c43d1721f589a003c75f1f9cc3d12e8fc37bbc3cce0ff70ca23f4906e4cc1e74a2a48ec8164c26f9e5f45a65753eba193be030ebcfeabf612254d24bf122b5c1c9be6ce1d7b2b4bbd0f511fd90e94afee806ca328268305226ba2e7ee066e24d961133a1119675a6a5d553a714826fa278678b1d02b834c13e7a17bea048d95dfc527f1aea13a37fc947f420a19e75c3006e0a0da1fe8502318b9e0564d441866a5434ac1bd3a188345a3d8e9926213a423a535d0b3620ee80950ee1917104d15f74685a635699a8995a27b7e186d27f511b93c299c01eca164ccbf56f825953f43f9439e9c5087dfcba228e65873ff6f79668a263210b360493f71"}, @NFTA_RULE_POSITION_ID={0x8, 0xa, 0x1, 0x0, 0x3}, @NFTA_RULE_POSITION={0xc, 0x6, 0x1, 0x0, 0x2}, @NFTA_RULE_CHAIN={0x9, 0x2, 'syz2\x00'}, @NFTA_RULE_TABLE={0x9, 0x1, 'syz1\x00'}, @NFTA_RULE_USERDATA={0xfe, 0x7, 0x1, 0x0, "f420b9fd291afa1653dbbd3bfcd7a857fd7dda07c2a432351f79f10ab8f9bf17e295824c2499aff19692c21bb8a1e0de518c372c462b0174541d6213399b1505cd799044fdc8ac2ca91b6724ff42c9e0af663996f07e24d3563012aacada01199b569df6cc3a0a72bf4d33d9a6bdfb750de3fd733edca2f88a5ae75d484fa61c2b9d327b2855993564794763dfdee66f9c2dfbc42b8d3e3c1d1dafe2bd2b7ffa5fd13128e2f5489a800eb27a716e61d010b1350be33693313d73ba891c025d6cc178157a7e1adabc6e791dd014be07c97407c23ae34eff13af2ef8a38f78636320dd1767b80c47470151042771a74eb7fb51f8cd4efe6512be1f"}, @NFTA_RULE_USERDATA={0xfd, 0x7, 0x1, 0x0, "ada9180e577bd4e1748010d6068a41f9edd2f7f73a4a7d3fa10515bf4a09c70860fd8d43e493ad62424850973f82750ac6437931284da53d190f173f5e8913ff36ec8c73a13825ceb267055e4af45fe2e5cdea5b67f1581b786b02b14f472f4b4472d5d8f636257c2741d2a569cee8be18464caf1b195ec984eba950758d8c18f1392eba828ffb7c061e09d5ddb4f3cf42afa354e7cb3d883bd39e21c4f219f7890487662280c8af844317d66936dd4f25e31e450f8470339f0da4923f995f0f724ae831a063789d4a25cfea8ffda3388ca9c8399338fa3009b29184765809c987af2045808726e8a612429dc634ae331683eb007009fb615e"}, @NFTA_RULE_CHAIN_ID={0x8, 0xb, 0x1, 0x0, 0x7fffffff}]}, @NFT_MSG_DELOBJ={0x20, 0x14, 0xa, 0x801, 0x0, 0x0, {0x7, 0x0, 0x3}, [@NFTA_OBJ_HANDLE={0xc, 0x6, 0x1, 0x0, 0x4}]}, @NFT_MSG_DELTABLE={0x6c, 0x2, 0xa, 0x801, 0x0, 0x0, {0x1}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz1\x00'}, @NFTA_TABLE_USERDATA={0x4c, 0x6, "1c3de5cf7b618c0dc1cfc3df054c543bff1c2a51a6497e90efc57cc3947ded2616ef53029fcb13766208abf736a6ff88f79e2dc81f79987c286c44f5184b8b9f29e6cb539a927049"}]}, @NFT_MSG_NEWFLOWTABLE={0x1e4, 0x16, 0xa, 0x201, 0x0, 0x0, {0x5, 0x0, 0x7}, [@NFTA_FLOWTABLE_FLAGS={0x8}, @NFTA_FLOWTABLE_HOOK={0x114, 0x3, 0x0, 0x1, [@NFTA_FLOWTABLE_HOOK_DEVS={0x54, 0x3, 0x0, 0x1, [{0x14, 0x1, 'veth0_to_bond\x00'}, {0x14, 0x1, 'batadv_slave_0\x00'}, {0x14, 0x1, 'lo\x00'}, {0x14, 0x1, 'ipvlan0\x00'}]}, @NFTA_FLOWTABLE_HOOK_DEVS={0x40, 0x3, 0x0, 0x1, [{0x14, 0x1, 'ip6tnl0\x00'}, {0x14, 0x1, 'caif0\x00'}, {0x14, 0x1, 'macvlan1\x00'}]}, @NFTA_FLOWTABLE_HOOK_DEVS={0x7c, 0x3, 0x0, 0x1, [{0x14, 0x1, 'veth1_to_team\x00'}, {0x14, 0x1, 'nr0\x00'}, {0x14, 0x1, 'sit0\x00'}, {0x14, 0x1, 'nr0\x00'}, {0x14, 0x1, 'pimreg0\x00'}, {0x14, 0x1, 'gretap0\x00'}]}]}, @NFTA_FLOWTABLE_NAME={0x9, 0x2, 'syz0\x00'}, @NFTA_FLOWTABLE_TABLE={0x9, 0x1, 'syz1\x00'}, @NFTA_FLOWTABLE_HOOK={0x9c, 0x3, 0x0, 0x1, [@NFTA_FLOWTABLE_HOOK_DEVS={0x90, 0x3, 0x0, 0x1, [{0x14, 0x1, 'vlan1\x00'}, {0x14, 0x1, 'veth1_macvtap\x00'}, {0x14, 0x1, 'wg1\x00'}, {0x14, 0x1, 'pim6reg0\x00'}, {0x14, 0x1, 'pimreg\x00'}, {0x14, 0x1, 'team_slave_0\x00'}, {0x14, 0x1, 'ip6_vti0\x00'}]}, @NFTA_FLOWTABLE_HOOK_PRIORITY={0x8, 0x2, 0x1, 0x0, 0x6}]}]}, @NFT_MSG_NEWSET={0x20, 0x9, 0xa, 0x3, 0x0, 0x0, {0x2, 0x0, 0x4}, [@NFTA_SET_HANDLE={0xc, 0x10, 0x1, 0x0, 0x4}]}], {0x14}}, 0x1510}, 0x1, 0x0, 0x0, 0x4800}, 0x40010) 00:43:40 executing program 1: r0 = openat$fb0(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) ioctl$FBIOPUT_VSCREENINFO(r0, 0x4601, &(0x7f0000000040)={0x400, 0x300, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, {}, {}, {}, {}, 0x0, 0x100}) syz_clone3(&(0x7f00000014c0)={0x100000000, &(0x7f00000002c0), &(0x7f0000000300), &(0x7f0000000340)=0x0, {0x37}, &(0x7f0000000380)=""/205, 0xcd, &(0x7f0000000480)=""/4096, &(0x7f0000001480)=[0x0, 0xffffffffffffffff, 0x0, 0x0, 0xffffffffffffffff], 0x5}, 0x58) r2 = getpid() sched_setscheduler(r2, 0x2, &(0x7f0000000200)=0x4) r3 = getpid() sched_setscheduler(r3, 0x2, &(0x7f0000000200)=0x4) r4 = getpid() sched_setscheduler(r4, 0x2, &(0x7f0000000200)=0x4) syz_clone3(&(0x7f0000001580)={0x200040000, &(0x7f0000000000), &(0x7f0000000140), &(0x7f0000000180), {0x36}, &(0x7f00000001c0)=""/8, 0x8, &(0x7f0000000200)=""/134, &(0x7f0000001540)=[r1, r2, 0x0, r3, 0xffffffffffffffff, r4], 0x6}, 0x58) openat$fb0(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) (async) ioctl$FBIOPUT_VSCREENINFO(r0, 0x4601, &(0x7f0000000040)={0x400, 0x300, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, {}, {}, {}, {}, 0x0, 0x100}) (async) syz_clone3(&(0x7f00000014c0)={0x100000000, &(0x7f00000002c0), &(0x7f0000000300), &(0x7f0000000340), {0x37}, &(0x7f0000000380)=""/205, 0xcd, &(0x7f0000000480)=""/4096, &(0x7f0000001480)=[0x0, 0xffffffffffffffff, 0x0, 0x0, 0xffffffffffffffff], 0x5}, 0x58) (async) getpid() (async) sched_setscheduler(r2, 0x2, &(0x7f0000000200)=0x4) (async) getpid() (async) sched_setscheduler(r3, 0x2, &(0x7f0000000200)=0x4) (async) getpid() (async) sched_setscheduler(r4, 0x2, &(0x7f0000000200)=0x4) (async) syz_clone3(&(0x7f0000001580)={0x200040000, &(0x7f0000000000), &(0x7f0000000140), &(0x7f0000000180), {0x36}, &(0x7f00000001c0)=""/8, 0x8, &(0x7f0000000200)=""/134, &(0x7f0000001540)=[r1, r2, 0x0, r3, 0xffffffffffffffff, r4], 0x6}, 0x58) (async) 00:43:40 executing program 4: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) sendmsg$NFT_BATCH(r0, &(0x7f00000015c0)={&(0x7f0000000000), 0xc, &(0x7f0000001580)={&(0x7f0000000040)={{0x14}, [@NFT_MSG_DELRULE={0x1258, 0x8, 0xa, 0x801, 0x0, 0x0, {0x1, 0x0, 0x2}, [@NFTA_RULE_POSITION={0xc, 0x6, 0x1, 0x0, 0x5}, @NFTA_RULE_USERDATA={0x1004, 0x7, 0x1, 0x0, "f85247c3822867b4d6a5eba2ce486256acfbc754c08a45a9ad27ddeb544d2921d847af58930704d7614ed201cad4129b6721e2319809c7a401cc4d258b96bbf8b5ed8e870ce053cb0b32e1d0a490502997125c2e3a1cfce77494e2fc45eb031ba0728995652b581d9bae873fa1375181c22de9b467c544426212359ff03952a2666766a07f1762ec8d2f5e364605190f529dd9ed161dfdaf5fe6385256c706f94aa743643c9a54fa53a2831ce6be2192123b1036c08710bb4732b9a2edb14ce553f65ea5c3648cf6467c21d0f56f4c8d2a5517edd336da7c451786e879c7e32150fbd89305a9274ae6e85753b6092b427de27308a64f842267d6889d79c604bebe8345a6d4dd763ce20fd42e71c7bc87e9bfaf3ced0d1f4681a0885298bae53d13dca3f80ccc26c73a421165cdd6b832e54cd2c130d148a9687711cf0ca67990034149d12d4b6e481e569d59ae0125661290b21f76e29ebcf32f05a42e400608543563ffeffde5b68757b36f1877b27ca98aab17bad2cbb1267994d2d115979c5de8a0fdc9eee8d934bd726077e77d00e0fc8e2322c342b16f5f4054a8975204584cddefc581525da99ecec933f776d707497e40583ade786541e9abe38e277d873a0702f6baf73593ec7bdc0178fcd0f68711aaffd6443a2bc6bc2a3fb6137c015ce2f3ad0c2b57bcbeebd8e6db7e984a8310ccac59deaac0f082e82c9854a1eb60325c8f7b52bf3c67f7ad23135057086cc8ba903d7975535e1bc865ecc4e0c5823aedffd579169035633fab1fec57edd76f8078803fda2cfe3d2c3668e58af5f5e9b106ca8dc9f2ec35e9f74c5505b743800c22848e41060ca50ee12cbc1db95a533447de967462dfd1d3ed9097b2041c89238935a793de654307bc41998bc359e23f1ebfa92c00f97b5fa7e4b1ffbd401939079192e9a581e3fdf732df33ed6f849a04758f4ee4512fe5e5f9c1ea16b57b170cc168c6f28b9b14b53712164991dee46bb1577a27ed818ae3340feaaa71ef6fc83afc5a47c98c6c16541a62385d2891c262c3d16a8afd032f58c66519db49f810aabb8a3df51041a0edd5c93f8ee74d670154314c440d68a64e2a67dcfb97f3e39f369af2f50ae55f6ff8a34d67128c1e1c34bff2752e1037b27aef35dd700d23da51be2e161edc068e403d52c66a7429a0cb26c38451f33661aa626c68fe90018aecf5a07b89aeaffb0a1389fde954ea98c07151db3b17d69db4a6dc6897404167241814ea316a8dd3ceaa8ea71496f0b0fce1d6efcb10de74737ed7961a1211666812a411c887062074b4410711478575d9b13f42da92ff1c99f2c39f8efb7da232837de9f65d25eb01151f7ab56b14f278f01ea5fbb38c67b3bca1f5a898b637627ef3bcbf53a07bd06dd34b6fb85db0143118b92903539354fa5fc7804a5505143330abdfa69a825d1eb2f7cb0f7a620864290bbf443916c4dc12bdcf4087467aba7335eff0f7cecbb2a2e3fe8daddbd5ca866dd10b5d5b40ef2b5f12116363575f86aea06dc74a2e7b4b18d01d194f310d7d19ef04b885268ac1639217ce084a8b17456d7e8c8b0295c29fc58e0b544a285c9728adc2ff52137f51b87992630e14cf6ca3a1049b7e7a2917569716ba7db54e7829dd897a2abc81fe288d17308b29df141c0179c3ff6974c14821dd9f305bfed9fbbfd35b262bf7c21434cc13b6e0bee551bcbebc3a534c17d4d6d9141694624fbde3eebc9e0632a89e3fa0bc85565561acb7f525f377158335c757606362776e1b6637527a8eaeed857649f099b9b3fbb7213632c74169e46284bfe453f9856090c49f5b6c74d42d0ed7d0e329faf0c51f747c4b2d0e6ef1a23bf1dfc0a1a7f5c0d32507b976249153c6c8aa351c9312d9e75f78be794c53f0d4742634c1ea84b2d0c68eb048579411e1c7d5da6f038e5a90f28d4e6619a9b0fa18223a96cf24ad13ccb7f2df915a93a92e42ee3c1e677c871cbaa39f7a91ded696c623008afe7dda537e8ab35799247a716779abcb6c55306bcab77d82ec72522ee2574eae3108526323256cd1725149abc994d0d68888abbbde6faf29e116fecc8d8408bbfafc275a736217bbe358153dfe2c2b7f94ba4bb7bd672dad473f8fef9d9d5c4520728b2c68a3cb0d3096472ebf7208733ff62187ab07bc95c0340aeb23a2d9fc8d8db73dcf258be1f8dfdf26f267d1e37bbeb6b0a1718bee899823c949d4479feb79acdc3008ce0416895972535db35d6648614ef6748cc1934ab076dcdb4ed6bd162c7bb4721e40cc9d46d9895a656dc92a4c5223ad623f22a38b44cf39047ac3d393a7b66a6124e8e9384093dcaeccbf14a5e2986994c38fe74084030c74a9f073dae35daacefe8da3413aed26aaaf2a6c452582fad5cc28b63ec9a375f6c4bb710eb5925579e01504405a786e6f931baf94dd66b9e80c97005d9df6f2f168fe354aab0df1ef01e15ba862dba254755f9b01c3d8ed8b2e127b6ed0bbb37ba4a97144c6e179e92bd6d556c07ac77d706122eb4e2cd1178c555173e65f1b71e16effca7cadd7ff7ea9f4011ea20360bf4e4a4c73782271a3b6ceb9f43d86ca20a05fad734fa7a3348cc839df4f9f29a94ba36ed1d0a71d5239dee1b9d5b6d52279cd80b3c984237a460993a110968f498edf4c5f43f6dc02a2515d2a2c82dfc5fd8ecaa8bf9781904ef9746f6dc92ac99a384fdfd5c5d852c623db18013483a38d9239ac9c0e8d261655b0ebba20a08782d8d352a2d6f722ef6218676eaf102e61fa32d4d6ca526add0a7e14a31378851f4c639c04f86e22910f1d63950f3e93412f7c4bcf454a429f402f9f8b321059e58652054ead6c81dfb8f16e85dc2c52f339ef804d8c4524538cecd549667fe7f9d9dd0e7d5ffbd69e28033917c975ae78b4860f7498a38ade9ffd3d7b30f1f96a1abaa8ec5c01e095a8c18ea2aabe5abc76a4bfd590de55fbcc0cb72068065edbec166adb7d55eb741cb8d67dabe54a1bd7d0d7749bb54ee8810ca12cdd2a14189a552bba8519e4ae50f5b643e9931dd6451c1b84cfd8d5e282774f92fe655a84b43f6c1a4a860b2871c3bd43b5691543461480e7a4c9efdb1f962e76b592eaebefe0302129cf2070c7cc8dc708f65e9eaf5487c5c017c4bf353ba1c2d31cd959ae4d56813809740d694e4e4da78e3c58b2f31a07661c570bca50b03f43dcfda8e61114b46408da2adfc532ac00db00ccbf69afaf1dacfa2420f2df952f8c56bf385f717a23586ddb9255904b402b3a58088f6f63f64011dade837ca7865d905e0d91edc85da43a8b3b3df32f6c98f02fb5c5c89adb5de33c3d0a9d30f71f1df6bd397cac61bef0d06a9cc76a9c0cafcf1fb2f8e3c4a92bc0cbdc339dfb1b466d0626fca88c280a9f5c676bbc9dbf9913e2170203ba04c3d8b06e97baa4a9e16722b8953ef6738ea39c76b5d65c1e06ba31278e14bd7f13d36151125d6d5eb5b9b118e42705f603cdbdd96be54bd70cb86ca3aab444a316290468dd245651843dea0e977ea2c3ba151d606824a2991a6724560ced02c8576d82d9bc1878712874a892c8dfe0b8e27be6e352e4c3e66a90e292ae22428a1f30dbcb80534d885ed8a0120b86a7409b5c3d88618ea55eee51f10d353ccc8d35785aa6f9a4c4c54a86bca49467d219d221f741188ce61a9ec0da586133139f437bbadac9253fc57e7682bb1475065c3d9b2eac8f795d4a1257e53d8608f186127dbd40e62de9830689ac2e3057df9a4754c304f3fc13a994fbf4169a944c1606aa9d99e39bad972ab3ce8b035f049a996b9a3e114278fe65570be18e251c4c6f5ab053971ddcbafaf3d09b020c6aa9f32f8b38cfbd42b87a8c89888d80dc53df84da5e05490f60efa60d975d2fce2852661fbbacc7b77328ca5a0693675677a63c8d6df3668afd1dcea6907057740ef1c931401c72818db46f89287a6ca8cf940211155a0777aed2597112b4d7f262fae6fc68928849ab260d2c27d8cc9d6bffd197df4a35ab7eb89c9e488e6e46419b9fc6a8f4a032001dfd7ad6abfa8429249c71a7815c69e3c285d2ef0dc63cedca2340ed87ca0140923de0316b312100815d8e0d41bf06b3094bb757b8aa615f62a4d24e8b265924dc0e191c912797f07525d740ac7a59a308a18ce1def73987a241e790c84f349ec6df789625debde7d7d675376f096296f52291888eefe40d1cd9f677be332a8c8a19a5c87fc7b59669be0bbed5cad9892581b2853119a8e7f33beb461aa309a874d2be109b1834910102d5b675507099da4b82f04489dae41b42b342434f8591b74ef635a52ed687e1531b439d8ad1364665886e4f7f63ab9d51db7dfba5de83673efc1bc6f97b088cfe4fd98ce8dacee9111cc4a57a9057801d320004eccec5e6dcf3aa3691369eaf1d7883c06c115a74c58f42b58bb366a50b80c48c4543d374a41880114f505b1ea5eec040d45260183250ecb81271bd5cbee5f09be61ef405fb58ec94853796d7bc4acbf24feca3ab99b2ae83644069116c67f0cc9295f863e3f9ee14f2977d035c1cb0b60715b214499b8c0b2c3bfa83058305b1cc5375eeda6018918075f78ada19dda5a8b731163747d6205f62fcea2dc3ffbbe8746d8419974d197e30ae9190d5cfe2c83a335b425dc270a0b2cdfd9b41e6f9ed4fd5f1e62d101661d5493ecb954b5f200a7f8487eaf9420fd8cab66d8beb01df424bc2d0ee15ee2cd3423078afe1c60a06ce2a74d65a4b9521ce6eabb9fba0445b03984417af2cfcf236940d8a25678ee9ec948d6d6401aa9f2867e05d95f641fac5cafdee09af5e5b4769b621dacb03f4152ce5b7cc5804b24b421a0e81498a80796d455a28b8557d718ff49d2f254765d690a343e75adac6d2369e643f6c244f09a1266f5ea9078e65068314e94c3576577d35d207b450e062a0434aa37ab748a8f0f57b06be2d2cbc581212c4c5b7805dc1a53218c2f2e0d79b5d28a403fecc943f3053d9fdb850d722c26d707a148c7d0f10fb76455305d2f079219d1f17660113d3d883a12e8789a472d3b0f05c8444f7826fbb00fa6ef2233543537f8aad959929506ac0f7a54189c12c61b6da6867cd7555202e9614c77e1cbfca84d0b37aa1e98572727f2723d044622e4c11dd364e1b345b3907e00d78484fcd75ec1fa03b8ac31293d831817b8323fa1fc778412b526b3d89120af99845331c80aa875b5429017ec5d30c3f4a91f49b692458698a8a0a00a249adfd8fc2f5a11cf40c4cb2844e7978917875efae2225ab7e7fc4cf306925ea5c6e33718748a02f8f08eafc96b6e45605acfe088f048a77cd1760da40e1331830eb897a3d02aeabe3ab85581a91c69ef989b893e6291bf4efa2782df2ded73d3d2162448ab23a020f0df06009ff1068dcd0082f0c29d7a534c97b4aae60e4afdc290b8e2778847c43d1721f589a003c75f1f9cc3d12e8fc37bbc3cce0ff70ca23f4906e4cc1e74a2a48ec8164c26f9e5f45a65753eba193be030ebcfeabf612254d24bf122b5c1c9be6ce1d7b2b4bbd0f511fd90e94afee806ca328268305226ba2e7ee066e24d961133a1119675a6a5d553a714826fa278678b1d02b834c13e7a17bea048d95dfc527f1aea13a37fc947f420a19e75c3006e0a0da1fe8502318b9e0564d441866a5434ac1bd3a188345a3d8e9926213a423a535d0b3620ee80950ee1917104d15f74685a635699a8995a27b7e186d27f511b93c299c01eca164ccbf56f825953f43f9439e9c5087dfcba228e65873ff6f79668a263210b360493f71"}, @NFTA_RULE_POSITION_ID={0x8, 0xa, 0x1, 0x0, 0x3}, @NFTA_RULE_POSITION={0xc, 0x6, 0x1, 0x0, 0x2}, @NFTA_RULE_CHAIN={0x9, 0x2, 'syz2\x00'}, @NFTA_RULE_TABLE={0x9, 0x1, 'syz1\x00'}, @NFTA_RULE_USERDATA={0xfe, 0x7, 0x1, 0x0, "f420b9fd291afa1653dbbd3bfcd7a857fd7dda07c2a432351f79f10ab8f9bf17e295824c2499aff19692c21bb8a1e0de518c372c462b0174541d6213399b1505cd799044fdc8ac2ca91b6724ff42c9e0af663996f07e24d3563012aacada01199b569df6cc3a0a72bf4d33d9a6bdfb750de3fd733edca2f88a5ae75d484fa61c2b9d327b2855993564794763dfdee66f9c2dfbc42b8d3e3c1d1dafe2bd2b7ffa5fd13128e2f5489a800eb27a716e61d010b1350be33693313d73ba891c025d6cc178157a7e1adabc6e791dd014be07c97407c23ae34eff13af2ef8a38f78636320dd1767b80c47470151042771a74eb7fb51f8cd4efe6512be1f"}, @NFTA_RULE_USERDATA={0xfd, 0x7, 0x1, 0x0, "ada9180e577bd4e1748010d6068a41f9edd2f7f73a4a7d3fa10515bf4a09c70860fd8d43e493ad62424850973f82750ac6437931284da53d190f173f5e8913ff36ec8c73a13825ceb267055e4af45fe2e5cdea5b67f1581b786b02b14f472f4b4472d5d8f636257c2741d2a569cee8be18464caf1b195ec984eba950758d8c18f1392eba828ffb7c061e09d5ddb4f3cf42afa354e7cb3d883bd39e21c4f219f7890487662280c8af844317d66936dd4f25e31e450f8470339f0da4923f995f0f724ae831a063789d4a25cfea8ffda3388ca9c8399338fa3009b29184765809c987af2045808726e8a612429dc634ae331683eb007009fb615e"}, @NFTA_RULE_CHAIN_ID={0x8, 0xb, 0x1, 0x0, 0x7fffffff}]}, @NFT_MSG_DELOBJ={0x20, 0x14, 0xa, 0x801, 0x0, 0x0, {0x7, 0x0, 0x3}, [@NFTA_OBJ_HANDLE={0xc, 0x6, 0x1, 0x0, 0x4}]}, @NFT_MSG_DELTABLE={0x6c, 0x2, 0xa, 0x801, 0x0, 0x0, {0x1}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz1\x00'}, @NFTA_TABLE_USERDATA={0x4c, 0x6, "1c3de5cf7b618c0dc1cfc3df054c543bff1c2a51a6497e90efc57cc3947ded2616ef53029fcb13766208abf736a6ff88f79e2dc81f79987c286c44f5184b8b9f29e6cb539a927049"}]}, @NFT_MSG_NEWFLOWTABLE={0x1e4, 0x16, 0xa, 0x201, 0x0, 0x0, {0x5, 0x0, 0x7}, [@NFTA_FLOWTABLE_FLAGS={0x8}, @NFTA_FLOWTABLE_HOOK={0x114, 0x3, 0x0, 0x1, [@NFTA_FLOWTABLE_HOOK_DEVS={0x54, 0x3, 0x0, 0x1, [{0x14, 0x1, 'veth0_to_bond\x00'}, {0x14, 0x1, 'batadv_slave_0\x00'}, {0x14, 0x1, 'lo\x00'}, {0x14, 0x1, 'ipvlan0\x00'}]}, @NFTA_FLOWTABLE_HOOK_DEVS={0x40, 0x3, 0x0, 0x1, [{0x14, 0x1, 'ip6tnl0\x00'}, {0x14, 0x1, 'caif0\x00'}, {0x14, 0x1, 'macvlan1\x00'}]}, @NFTA_FLOWTABLE_HOOK_DEVS={0x7c, 0x3, 0x0, 0x1, [{0x14, 0x1, 'veth1_to_team\x00'}, {0x14, 0x1, 'nr0\x00'}, {0x14, 0x1, 'sit0\x00'}, {0x14, 0x1, 'nr0\x00'}, {0x14, 0x1, 'pimreg0\x00'}, {0x14, 0x1, 'gretap0\x00'}]}]}, @NFTA_FLOWTABLE_NAME={0x9, 0x2, 'syz0\x00'}, @NFTA_FLOWTABLE_TABLE={0x9, 0x1, 'syz1\x00'}, @NFTA_FLOWTABLE_HOOK={0x9c, 0x3, 0x0, 0x1, [@NFTA_FLOWTABLE_HOOK_DEVS={0x90, 0x3, 0x0, 0x1, [{0x14, 0x1, 'vlan1\x00'}, {0x14, 0x1, 'veth1_macvtap\x00'}, {0x14, 0x1, 'wg1\x00'}, {0x14, 0x1, 'pim6reg0\x00'}, {0x14, 0x1, 'pimreg\x00'}, {0x14, 0x1, 'team_slave_0\x00'}, {0x14, 0x1, 'ip6_vti0\x00'}]}, @NFTA_FLOWTABLE_HOOK_PRIORITY={0x8, 0x2, 0x1, 0x0, 0x6}]}]}, @NFT_MSG_NEWSET={0x20, 0x9, 0xa, 0x3, 0x0, 0x0, {0x2, 0x0, 0x4}, [@NFTA_SET_HANDLE={0xc, 0x10, 0x1, 0x0, 0x4}]}], {0x14}}, 0x1510}, 0x1, 0x0, 0x0, 0x4800}, 0x40010) socket$nl_netfilter(0x10, 0x3, 0xc) (async) sendmsg$NFT_BATCH(r0, &(0x7f00000015c0)={&(0x7f0000000000), 0xc, &(0x7f0000001580)={&(0x7f0000000040)={{0x14}, [@NFT_MSG_DELRULE={0x1258, 0x8, 0xa, 0x801, 0x0, 0x0, {0x1, 0x0, 0x2}, [@NFTA_RULE_POSITION={0xc, 0x6, 0x1, 0x0, 0x5}, @NFTA_RULE_USERDATA={0x1004, 0x7, 0x1, 0x0, "f85247c3822867b4d6a5eba2ce486256acfbc754c08a45a9ad27ddeb544d2921d847af58930704d7614ed201cad4129b6721e2319809c7a401cc4d258b96bbf8b5ed8e870ce053cb0b32e1d0a490502997125c2e3a1cfce77494e2fc45eb031ba0728995652b581d9bae873fa1375181c22de9b467c544426212359ff03952a2666766a07f1762ec8d2f5e364605190f529dd9ed161dfdaf5fe6385256c706f94aa743643c9a54fa53a2831ce6be2192123b1036c08710bb4732b9a2edb14ce553f65ea5c3648cf6467c21d0f56f4c8d2a5517edd336da7c451786e879c7e32150fbd89305a9274ae6e85753b6092b427de27308a64f842267d6889d79c604bebe8345a6d4dd763ce20fd42e71c7bc87e9bfaf3ced0d1f4681a0885298bae53d13dca3f80ccc26c73a421165cdd6b832e54cd2c130d148a9687711cf0ca67990034149d12d4b6e481e569d59ae0125661290b21f76e29ebcf32f05a42e400608543563ffeffde5b68757b36f1877b27ca98aab17bad2cbb1267994d2d115979c5de8a0fdc9eee8d934bd726077e77d00e0fc8e2322c342b16f5f4054a8975204584cddefc581525da99ecec933f776d707497e40583ade786541e9abe38e277d873a0702f6baf73593ec7bdc0178fcd0f68711aaffd6443a2bc6bc2a3fb6137c015ce2f3ad0c2b57bcbeebd8e6db7e984a8310ccac59deaac0f082e82c9854a1eb60325c8f7b52bf3c67f7ad23135057086cc8ba903d7975535e1bc865ecc4e0c5823aedffd579169035633fab1fec57edd76f8078803fda2cfe3d2c3668e58af5f5e9b106ca8dc9f2ec35e9f74c5505b743800c22848e41060ca50ee12cbc1db95a533447de967462dfd1d3ed9097b2041c89238935a793de654307bc41998bc359e23f1ebfa92c00f97b5fa7e4b1ffbd401939079192e9a581e3fdf732df33ed6f849a04758f4ee4512fe5e5f9c1ea16b57b170cc168c6f28b9b14b53712164991dee46bb1577a27ed818ae3340feaaa71ef6fc83afc5a47c98c6c16541a62385d2891c262c3d16a8afd032f58c66519db49f810aabb8a3df51041a0edd5c93f8ee74d670154314c440d68a64e2a67dcfb97f3e39f369af2f50ae55f6ff8a34d67128c1e1c34bff2752e1037b27aef35dd700d23da51be2e161edc068e403d52c66a7429a0cb26c38451f33661aa626c68fe90018aecf5a07b89aeaffb0a1389fde954ea98c07151db3b17d69db4a6dc6897404167241814ea316a8dd3ceaa8ea71496f0b0fce1d6efcb10de74737ed7961a1211666812a411c887062074b4410711478575d9b13f42da92ff1c99f2c39f8efb7da232837de9f65d25eb01151f7ab56b14f278f01ea5fbb38c67b3bca1f5a898b637627ef3bcbf53a07bd06dd34b6fb85db0143118b92903539354fa5fc7804a5505143330abdfa69a825d1eb2f7cb0f7a620864290bbf443916c4dc12bdcf4087467aba7335eff0f7cecbb2a2e3fe8daddbd5ca866dd10b5d5b40ef2b5f12116363575f86aea06dc74a2e7b4b18d01d194f310d7d19ef04b885268ac1639217ce084a8b17456d7e8c8b0295c29fc58e0b544a285c9728adc2ff52137f51b87992630e14cf6ca3a1049b7e7a2917569716ba7db54e7829dd897a2abc81fe288d17308b29df141c0179c3ff6974c14821dd9f305bfed9fbbfd35b262bf7c21434cc13b6e0bee551bcbebc3a534c17d4d6d9141694624fbde3eebc9e0632a89e3fa0bc85565561acb7f525f377158335c757606362776e1b6637527a8eaeed857649f099b9b3fbb7213632c74169e46284bfe453f9856090c49f5b6c74d42d0ed7d0e329faf0c51f747c4b2d0e6ef1a23bf1dfc0a1a7f5c0d32507b976249153c6c8aa351c9312d9e75f78be794c53f0d4742634c1ea84b2d0c68eb048579411e1c7d5da6f038e5a90f28d4e6619a9b0fa18223a96cf24ad13ccb7f2df915a93a92e42ee3c1e677c871cbaa39f7a91ded696c623008afe7dda537e8ab35799247a716779abcb6c55306bcab77d82ec72522ee2574eae3108526323256cd1725149abc994d0d68888abbbde6faf29e116fecc8d8408bbfafc275a736217bbe358153dfe2c2b7f94ba4bb7bd672dad473f8fef9d9d5c4520728b2c68a3cb0d3096472ebf7208733ff62187ab07bc95c0340aeb23a2d9fc8d8db73dcf258be1f8dfdf26f267d1e37bbeb6b0a1718bee899823c949d4479feb79acdc3008ce0416895972535db35d6648614ef6748cc1934ab076dcdb4ed6bd162c7bb4721e40cc9d46d9895a656dc92a4c5223ad623f22a38b44cf39047ac3d393a7b66a6124e8e9384093dcaeccbf14a5e2986994c38fe74084030c74a9f073dae35daacefe8da3413aed26aaaf2a6c452582fad5cc28b63ec9a375f6c4bb710eb5925579e01504405a786e6f931baf94dd66b9e80c97005d9df6f2f168fe354aab0df1ef01e15ba862dba254755f9b01c3d8ed8b2e127b6ed0bbb37ba4a97144c6e179e92bd6d556c07ac77d706122eb4e2cd1178c555173e65f1b71e16effca7cadd7ff7ea9f4011ea20360bf4e4a4c73782271a3b6ceb9f43d86ca20a05fad734fa7a3348cc839df4f9f29a94ba36ed1d0a71d5239dee1b9d5b6d52279cd80b3c984237a460993a110968f498edf4c5f43f6dc02a2515d2a2c82dfc5fd8ecaa8bf9781904ef9746f6dc92ac99a384fdfd5c5d852c623db18013483a38d9239ac9c0e8d261655b0ebba20a08782d8d352a2d6f722ef6218676eaf102e61fa32d4d6ca526add0a7e14a31378851f4c639c04f86e22910f1d63950f3e93412f7c4bcf454a429f402f9f8b321059e58652054ead6c81dfb8f16e85dc2c52f339ef804d8c4524538cecd549667fe7f9d9dd0e7d5ffbd69e28033917c975ae78b4860f7498a38ade9ffd3d7b30f1f96a1abaa8ec5c01e095a8c18ea2aabe5abc76a4bfd590de55fbcc0cb72068065edbec166adb7d55eb741cb8d67dabe54a1bd7d0d7749bb54ee8810ca12cdd2a14189a552bba8519e4ae50f5b643e9931dd6451c1b84cfd8d5e282774f92fe655a84b43f6c1a4a860b2871c3bd43b5691543461480e7a4c9efdb1f962e76b592eaebefe0302129cf2070c7cc8dc708f65e9eaf5487c5c017c4bf353ba1c2d31cd959ae4d56813809740d694e4e4da78e3c58b2f31a07661c570bca50b03f43dcfda8e61114b46408da2adfc532ac00db00ccbf69afaf1dacfa2420f2df952f8c56bf385f717a23586ddb9255904b402b3a58088f6f63f64011dade837ca7865d905e0d91edc85da43a8b3b3df32f6c98f02fb5c5c89adb5de33c3d0a9d30f71f1df6bd397cac61bef0d06a9cc76a9c0cafcf1fb2f8e3c4a92bc0cbdc339dfb1b466d0626fca88c280a9f5c676bbc9dbf9913e2170203ba04c3d8b06e97baa4a9e16722b8953ef6738ea39c76b5d65c1e06ba31278e14bd7f13d36151125d6d5eb5b9b118e42705f603cdbdd96be54bd70cb86ca3aab444a316290468dd245651843dea0e977ea2c3ba151d606824a2991a6724560ced02c8576d82d9bc1878712874a892c8dfe0b8e27be6e352e4c3e66a90e292ae22428a1f30dbcb80534d885ed8a0120b86a7409b5c3d88618ea55eee51f10d353ccc8d35785aa6f9a4c4c54a86bca49467d219d221f741188ce61a9ec0da586133139f437bbadac9253fc57e7682bb1475065c3d9b2eac8f795d4a1257e53d8608f186127dbd40e62de9830689ac2e3057df9a4754c304f3fc13a994fbf4169a944c1606aa9d99e39bad972ab3ce8b035f049a996b9a3e114278fe65570be18e251c4c6f5ab053971ddcbafaf3d09b020c6aa9f32f8b38cfbd42b87a8c89888d80dc53df84da5e05490f60efa60d975d2fce2852661fbbacc7b77328ca5a0693675677a63c8d6df3668afd1dcea6907057740ef1c931401c72818db46f89287a6ca8cf940211155a0777aed2597112b4d7f262fae6fc68928849ab260d2c27d8cc9d6bffd197df4a35ab7eb89c9e488e6e46419b9fc6a8f4a032001dfd7ad6abfa8429249c71a7815c69e3c285d2ef0dc63cedca2340ed87ca0140923de0316b312100815d8e0d41bf06b3094bb757b8aa615f62a4d24e8b265924dc0e191c912797f07525d740ac7a59a308a18ce1def73987a241e790c84f349ec6df789625debde7d7d675376f096296f52291888eefe40d1cd9f677be332a8c8a19a5c87fc7b59669be0bbed5cad9892581b2853119a8e7f33beb461aa309a874d2be109b1834910102d5b675507099da4b82f04489dae41b42b342434f8591b74ef635a52ed687e1531b439d8ad1364665886e4f7f63ab9d51db7dfba5de83673efc1bc6f97b088cfe4fd98ce8dacee9111cc4a57a9057801d320004eccec5e6dcf3aa3691369eaf1d7883c06c115a74c58f42b58bb366a50b80c48c4543d374a41880114f505b1ea5eec040d45260183250ecb81271bd5cbee5f09be61ef405fb58ec94853796d7bc4acbf24feca3ab99b2ae83644069116c67f0cc9295f863e3f9ee14f2977d035c1cb0b60715b214499b8c0b2c3bfa83058305b1cc5375eeda6018918075f78ada19dda5a8b731163747d6205f62fcea2dc3ffbbe8746d8419974d197e30ae9190d5cfe2c83a335b425dc270a0b2cdfd9b41e6f9ed4fd5f1e62d101661d5493ecb954b5f200a7f8487eaf9420fd8cab66d8beb01df424bc2d0ee15ee2cd3423078afe1c60a06ce2a74d65a4b9521ce6eabb9fba0445b03984417af2cfcf236940d8a25678ee9ec948d6d6401aa9f2867e05d95f641fac5cafdee09af5e5b4769b621dacb03f4152ce5b7cc5804b24b421a0e81498a80796d455a28b8557d718ff49d2f254765d690a343e75adac6d2369e643f6c244f09a1266f5ea9078e65068314e94c3576577d35d207b450e062a0434aa37ab748a8f0f57b06be2d2cbc581212c4c5b7805dc1a53218c2f2e0d79b5d28a403fecc943f3053d9fdb850d722c26d707a148c7d0f10fb76455305d2f079219d1f17660113d3d883a12e8789a472d3b0f05c8444f7826fbb00fa6ef2233543537f8aad959929506ac0f7a54189c12c61b6da6867cd7555202e9614c77e1cbfca84d0b37aa1e98572727f2723d044622e4c11dd364e1b345b3907e00d78484fcd75ec1fa03b8ac31293d831817b8323fa1fc778412b526b3d89120af99845331c80aa875b5429017ec5d30c3f4a91f49b692458698a8a0a00a249adfd8fc2f5a11cf40c4cb2844e7978917875efae2225ab7e7fc4cf306925ea5c6e33718748a02f8f08eafc96b6e45605acfe088f048a77cd1760da40e1331830eb897a3d02aeabe3ab85581a91c69ef989b893e6291bf4efa2782df2ded73d3d2162448ab23a020f0df06009ff1068dcd0082f0c29d7a534c97b4aae60e4afdc290b8e2778847c43d1721f589a003c75f1f9cc3d12e8fc37bbc3cce0ff70ca23f4906e4cc1e74a2a48ec8164c26f9e5f45a65753eba193be030ebcfeabf612254d24bf122b5c1c9be6ce1d7b2b4bbd0f511fd90e94afee806ca328268305226ba2e7ee066e24d961133a1119675a6a5d553a714826fa278678b1d02b834c13e7a17bea048d95dfc527f1aea13a37fc947f420a19e75c3006e0a0da1fe8502318b9e0564d441866a5434ac1bd3a188345a3d8e9926213a423a535d0b3620ee80950ee1917104d15f74685a635699a8995a27b7e186d27f511b93c299c01eca164ccbf56f825953f43f9439e9c5087dfcba228e65873ff6f79668a263210b360493f71"}, @NFTA_RULE_POSITION_ID={0x8, 0xa, 0x1, 0x0, 0x3}, @NFTA_RULE_POSITION={0xc, 0x6, 0x1, 0x0, 0x2}, @NFTA_RULE_CHAIN={0x9, 0x2, 'syz2\x00'}, @NFTA_RULE_TABLE={0x9, 0x1, 'syz1\x00'}, @NFTA_RULE_USERDATA={0xfe, 0x7, 0x1, 0x0, "f420b9fd291afa1653dbbd3bfcd7a857fd7dda07c2a432351f79f10ab8f9bf17e295824c2499aff19692c21bb8a1e0de518c372c462b0174541d6213399b1505cd799044fdc8ac2ca91b6724ff42c9e0af663996f07e24d3563012aacada01199b569df6cc3a0a72bf4d33d9a6bdfb750de3fd733edca2f88a5ae75d484fa61c2b9d327b2855993564794763dfdee66f9c2dfbc42b8d3e3c1d1dafe2bd2b7ffa5fd13128e2f5489a800eb27a716e61d010b1350be33693313d73ba891c025d6cc178157a7e1adabc6e791dd014be07c97407c23ae34eff13af2ef8a38f78636320dd1767b80c47470151042771a74eb7fb51f8cd4efe6512be1f"}, @NFTA_RULE_USERDATA={0xfd, 0x7, 0x1, 0x0, "ada9180e577bd4e1748010d6068a41f9edd2f7f73a4a7d3fa10515bf4a09c70860fd8d43e493ad62424850973f82750ac6437931284da53d190f173f5e8913ff36ec8c73a13825ceb267055e4af45fe2e5cdea5b67f1581b786b02b14f472f4b4472d5d8f636257c2741d2a569cee8be18464caf1b195ec984eba950758d8c18f1392eba828ffb7c061e09d5ddb4f3cf42afa354e7cb3d883bd39e21c4f219f7890487662280c8af844317d66936dd4f25e31e450f8470339f0da4923f995f0f724ae831a063789d4a25cfea8ffda3388ca9c8399338fa3009b29184765809c987af2045808726e8a612429dc634ae331683eb007009fb615e"}, @NFTA_RULE_CHAIN_ID={0x8, 0xb, 0x1, 0x0, 0x7fffffff}]}, @NFT_MSG_DELOBJ={0x20, 0x14, 0xa, 0x801, 0x0, 0x0, {0x7, 0x0, 0x3}, [@NFTA_OBJ_HANDLE={0xc, 0x6, 0x1, 0x0, 0x4}]}, @NFT_MSG_DELTABLE={0x6c, 0x2, 0xa, 0x801, 0x0, 0x0, {0x1}, [@NFTA_TABLE_NAME={0x9, 0x1, 'syz1\x00'}, @NFTA_TABLE_USERDATA={0x4c, 0x6, "1c3de5cf7b618c0dc1cfc3df054c543bff1c2a51a6497e90efc57cc3947ded2616ef53029fcb13766208abf736a6ff88f79e2dc81f79987c286c44f5184b8b9f29e6cb539a927049"}]}, @NFT_MSG_NEWFLOWTABLE={0x1e4, 0x16, 0xa, 0x201, 0x0, 0x0, {0x5, 0x0, 0x7}, [@NFTA_FLOWTABLE_FLAGS={0x8}, @NFTA_FLOWTABLE_HOOK={0x114, 0x3, 0x0, 0x1, [@NFTA_FLOWTABLE_HOOK_DEVS={0x54, 0x3, 0x0, 0x1, [{0x14, 0x1, 'veth0_to_bond\x00'}, {0x14, 0x1, 'batadv_slave_0\x00'}, {0x14, 0x1, 'lo\x00'}, {0x14, 0x1, 'ipvlan0\x00'}]}, @NFTA_FLOWTABLE_HOOK_DEVS={0x40, 0x3, 0x0, 0x1, [{0x14, 0x1, 'ip6tnl0\x00'}, {0x14, 0x1, 'caif0\x00'}, {0x14, 0x1, 'macvlan1\x00'}]}, @NFTA_FLOWTABLE_HOOK_DEVS={0x7c, 0x3, 0x0, 0x1, [{0x14, 0x1, 'veth1_to_team\x00'}, {0x14, 0x1, 'nr0\x00'}, {0x14, 0x1, 'sit0\x00'}, {0x14, 0x1, 'nr0\x00'}, {0x14, 0x1, 'pimreg0\x00'}, {0x14, 0x1, 'gretap0\x00'}]}]}, @NFTA_FLOWTABLE_NAME={0x9, 0x2, 'syz0\x00'}, @NFTA_FLOWTABLE_TABLE={0x9, 0x1, 'syz1\x00'}, @NFTA_FLOWTABLE_HOOK={0x9c, 0x3, 0x0, 0x1, [@NFTA_FLOWTABLE_HOOK_DEVS={0x90, 0x3, 0x0, 0x1, [{0x14, 0x1, 'vlan1\x00'}, {0x14, 0x1, 'veth1_macvtap\x00'}, {0x14, 0x1, 'wg1\x00'}, {0x14, 0x1, 'pim6reg0\x00'}, {0x14, 0x1, 'pimreg\x00'}, {0x14, 0x1, 'team_slave_0\x00'}, {0x14, 0x1, 'ip6_vti0\x00'}]}, @NFTA_FLOWTABLE_HOOK_PRIORITY={0x8, 0x2, 0x1, 0x0, 0x6}]}]}, @NFT_MSG_NEWSET={0x20, 0x9, 0xa, 0x3, 0x0, 0x0, {0x2, 0x0, 0x4}, [@NFTA_SET_HANDLE={0xc, 0x10, 0x1, 0x0, 0x4}]}], {0x14}}, 0x1510}, 0x1, 0x0, 0x0, 0x4800}, 0x40010) (async) 00:43:40 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) (async) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) (async) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x2, 0x4) (async) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) (async) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) 00:43:40 executing program 5: r0 = openat$fb0(0xffffffffffffff9c, &(0x7f0000000100), 0x0, 0x0) ioctl$FBIOPUT_VSCREENINFO(r0, 0x4601, &(0x7f0000000040)={0x400, 0x300, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, {}, {}, {}, {}, 0x0, 0x100}) syz_clone3(&(0x7f00000014c0)={0x100000000, &(0x7f00000002c0), &(0x7f0000000300), &(0x7f0000000340)=0x0, {0x37}, &(0x7f0000000380)=""/205, 0xcd, &(0x7f0000000480)=""/4096, &(0x7f0000001480)=[0x0, 0xffffffffffffffff, 0x0, 0x0, 0xffffffffffffffff], 0x5}, 0x58) r2 = getpid() sched_setscheduler(r2, 0x2, &(0x7f0000000200)=0x4) r3 = getpid() sched_setscheduler(r3, 0x2, &(0x7f0000000200)=0x4) r4 = getpid() sched_setscheduler(r4, 0x2, &(0x7f0000000200)=0x4) syz_clone3(&(0x7f0000001580)={0x200040000, &(0x7f0000000000), &(0x7f0000000140), &(0x7f0000000180), {0x36}, &(0x7f00000001c0)=""/8, 0x8, &(0x7f0000000200)=""/134, &(0x7f0000001540)=[r1, r2, 0x0, r3, 0xffffffffffffffff, r4], 0x6}, 0x58) 00:43:40 executing program 0: openat$tun(0xffffffffffffff9c, &(0x7f0000000400), 0x2, 0x0) ioctl$TUNSETIFF(0xffffffffffffffff, 0x400454ca, &(0x7f0000000280)={'\x00', 0x4019}) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f0000000000)=0x5) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000000240)=0x1) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) execveat(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0) r3 = openat$loop_ctrl(0xffffff9c, &(0x7f0000000040), 0x0, 0x0) ioctl$LOOP_CTL_ADD(r3, 0x4c80, 0x0) ioctl$LOOP_CTL_REMOVE(r3, 0x4c81, 0x0) r4 = socket$inet_tcp(0x2, 0x1, 0x0) ioctl$sock_SIOCADDRT(r4, 0x890b, &(0x7f0000000040)={0x0, @l2tp={0x2, 0x2, @remote={0xac, 0x10, 0x3}}, @l2tp={0x2, 0x0, @empty, 0x0, 0xfdffffff}, @generic={0x0, "bcbc5dada046e4d15ddee9502b10"}, 0xf0f4}) socket$inet_tcp(0x2, 0x1, 0x0) ioctl$sock_SIOCADDRT(0xffffffffffffffff, 0x890b, &(0x7f0000001280)={0x0, @l2tp={0x2, 0x2, @empty=0xfd000e0b}, @l2tp={0x2, 0x0, @local, 0x3}, @hci={0x1f, 0x0, 0x4}, 0xf0f4, 0x0, 0xa00000000000000}) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, &(0x7f0000000280)={0x0, [], 0x0, "285cbe607ecdfb"}) openat$tun(0xffffffffffffff9c, &(0x7f0000000400), 0x2, 0x0) (async) ioctl$TUNSETIFF(0xffffffffffffffff, 0x400454ca, &(0x7f0000000280)={'\x00', 0x4019}) (async) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) (async) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) (async) sched_setaffinity(0x0, 0x8, &(0x7f0000000000)=0x5) (async) getpid() (async) sched_setscheduler(r0, 0x1, &(0x7f0000000240)=0x1) (async) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000200)) (async) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) (async) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) (async) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) (async) execveat(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0) (async) openat$loop_ctrl(0xffffff9c, &(0x7f0000000040), 0x0, 0x0) (async) ioctl$LOOP_CTL_ADD(r3, 0x4c80, 0x0) (async) ioctl$LOOP_CTL_REMOVE(r3, 0x4c81, 0x0) (async) socket$inet_tcp(0x2, 0x1, 0x0) (async) ioctl$sock_SIOCADDRT(r4, 0x890b, &(0x7f0000000040)={0x0, @l2tp={0x2, 0x2, @remote={0xac, 0x10, 0x3}}, @l2tp={0x2, 0x0, @empty, 0x0, 0xfdffffff}, @generic={0x0, "bcbc5dada046e4d15ddee9502b10"}, 0xf0f4}) (async) socket$inet_tcp(0x2, 0x1, 0x0) (async) ioctl$sock_SIOCADDRT(0xffffffffffffffff, 0x890b, &(0x7f0000001280)={0x0, @l2tp={0x2, 0x2, @empty=0xfd000e0b}, @l2tp={0x2, 0x0, @local, 0x3}, @hci={0x1f, 0x0, 0x4}, 0xf0f4, 0x0, 0xa00000000000000}) (async) ioctl$BTRFS_IOC_GET_SUBVOL_ROOTREF(0xffffffffffffffff, 0xd000943d, &(0x7f0000000280)={0x0, [], 0x0, "285cbe607ecdfb"}) (async) 00:43:40 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) r1 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r1, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)=@ipv6_newnexthop={0x24, 0x68, 0x1fb, 0x0, 0x0, {}, [@NHA_BLACKHOLE={0x4}, @NHA_ID={0x8, 0x1, 0x1}]}, 0x24}, 0x1, 0xfc}, 0x0) listen(r1, 0xfffffffd) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) 00:43:40 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) r1 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r1, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)=@ipv6_newnexthop={0x24, 0x68, 0x1fb, 0x0, 0x0, {}, [@NHA_BLACKHOLE={0x4}, @NHA_ID={0x8, 0x1, 0x1}]}, 0x24}, 0x1, 0xfc}, 0x0) listen(r1, 0xfffffffd) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) socket$inet6_tcp(0xa, 0x1, 0x0) (async) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) (async) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) (async) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) (async) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) (async) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) (async) socket$nl_route(0x10, 0x3, 0x0) (async) sendmsg$nl_route(r1, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)=@ipv6_newnexthop={0x24, 0x68, 0x1fb, 0x0, 0x0, {}, [@NHA_BLACKHOLE={0x4}, @NHA_ID={0x8, 0x1, 0x1}]}, 0x24}, 0x1, 0xfc}, 0x0) (async) listen(r1, 0xfffffffd) (async) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) (async) 00:43:40 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) (async) r1 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$SO_BINDTODEVICE(r1, 0x1, 0x19, &(0x7f0000000240)='sit0\x00', 0x10) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f00000000c0)=@ipv6_getaddrlabel={0x5c, 0x4a, 0x7, 0x10000000, 0x0, {}, [@IFAL_LABEL={0x8}, @IFAL_ADDRESS={0x14, 0x1, @mcast1}, @IFAL_LABEL={0x8}, @IFAL_ADDRESS={0x14, 0x1, @private2}, @IFAL_LABEL={0x8}]}, 0x5c}}, 0x0) sendmsg$nl_route(r0, &(0x7f0000000200)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x400}, 0xc, &(0x7f00000001c0)={&(0x7f0000000140)=@bridge_newneigh={0x44, 0x1c, 0x10, 0x70bd26, 0x25dfdbfd, {0x1c, 0x0, 0x0, 0x0, 0x40, 0x20, 0xa}, [@NDA_DST_IPV6={0x14, 0x1, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}, @NDA_DST_IPV6={0x14, 0x1, @private1={0xfc, 0x1, '\x00', 0x1}}]}, 0x44}, 0x1, 0x0, 0x0, 0x40000c0}, 0x24008005) (async) r2 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) (async) r3 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_802154(r3, 0x8933, &(0x7f0000000940)={'wpan1\x00', 0x0}) (async) r5 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) r6 = syz_genetlink_get_family_id$ieee802154(&(0x7f0000000000), r2) sendmsg$IEEE802154_LLSEC_ADD_DEV(r5, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000200)={&(0x7f00000000c0)={0x50, r6, 0x852dd6c070cd7e4d, 0x0, 0x0, {}, [@IEEE802154_ATTR_LLSEC_FRAME_COUNTER={0x8}, @IEEE802154_ATTR_LLSEC_DEV_OVERRIDE={0x5}, @IEEE802154_ATTR_HW_ADDR={0xc}, @IEEE802154_ATTR_LLSEC_DEV_KEY_MODE={0x5}, @IEEE802154_ATTR_DEV_INDEX={0x8, 0x2, r4}, @IEEE802154_ATTR_SHORT_ADDR={0x6}, @IEEE802154_ATTR_PAN_ID={0x6, 0x6, 0x37}]}, 0x50}, 0x4, 0x700000000000700}, 0x0) (async) sendmsg$IEEE802154_LLSEC_ADD_SECLEVEL(0xffffffffffffffff, &(0x7f0000000480)={&(0x7f0000000380)={0x10, 0x0, 0x0, 0x108101}, 0xc, &(0x7f0000000440)={&(0x7f00000003c0)={0x44, 0x0, 0x1, 0x70bd2c, 0x25dfdbfb, {}, [@IEEE802154_ATTR_LLSEC_SECLEVELS={0x5, 0x35, 0x1f}, @IEEE802154_ATTR_DEV_INDEX={0x8, 0x2, r4}, @IEEE802154_ATTR_LLSEC_FRAME_TYPE={0x5}, @IEEE802154_ATTR_LLSEC_CMD_FRAME_ID={0x5, 0x34, 0x4}, @IEEE802154_ATTR_LLSEC_CMD_FRAME_ID={0x5, 0x34, 0x5}, @IEEE802154_ATTR_LLSEC_DEV_OVERRIDE={0x5, 0x36, 0x1}]}, 0x44}, 0x1, 0x0, 0x0, 0x40080}, 0x40005) sendto(r1, &(0x7f0000000280)="ea443e052e5aef9955241bbb223ad647aac766deebffda2e7052da1becdc9177dcf6c69f9398efc2f6060a22aa72269fd91925b2a0e998b9417f2d8a68ffe1b3d58c0a0d319d609371980c3ca80db347f8d6a4dbbb4fc100049ff559398b30d3a5b0ab2f5923742dad03d14286b48a5dbb56a95d10a1842b081462eba87b9664140279ea3733bc313e9c0e238219dcca056e34c7e15348623d65237931af72a011f0b8dfec05462582abbe91b15700a2196ce1aea38b7d16fbb9fa5afdaa9b4050eeed600921fa59c6344ade6b6a002006d260bb8cf1ced333bbea18d6ae159432abbeddc913c775b7a7e8", 0xeb, 0x800, 0x0, 0x0) 00:43:40 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) (async) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) (async) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) (async, rerun: 64) r1 = socket$nl_route(0x10, 0x3, 0x0) (rerun: 64) sendmsg$nl_route(r1, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)=@ipv6_newnexthop={0x24, 0x68, 0x1fb, 0x0, 0x0, {}, [@NHA_BLACKHOLE={0x4}, @NHA_ID={0x8, 0x1, 0x1}]}, 0x24}, 0x1, 0xfc}, 0x0) listen(r1, 0xfffffffd) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) 00:43:41 executing program 2: r0 = socket$nl_route(0x10, 0x3, 0x0) (async) r1 = socket$inet6_udp(0xa, 0x2, 0x0) setsockopt$SO_BINDTODEVICE(r1, 0x1, 0x19, &(0x7f0000000240)='sit0\x00', 0x10) (async, rerun: 32) sendmsg$nl_route(r0, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000040)={&(0x7f00000000c0)=@ipv6_getaddrlabel={0x5c, 0x4a, 0x7, 0x10000000, 0x0, {}, [@IFAL_LABEL={0x8}, @IFAL_ADDRESS={0x14, 0x1, @mcast1}, @IFAL_LABEL={0x8}, @IFAL_ADDRESS={0x14, 0x1, @private2}, @IFAL_LABEL={0x8}]}, 0x5c}}, 0x0) (async, rerun: 32) sendmsg$nl_route(r0, &(0x7f0000000200)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x400}, 0xc, &(0x7f00000001c0)={&(0x7f0000000140)=@bridge_newneigh={0x44, 0x1c, 0x10, 0x70bd26, 0x25dfdbfd, {0x1c, 0x0, 0x0, 0x0, 0x40, 0x20, 0xa}, [@NDA_DST_IPV6={0x14, 0x1, @initdev={0xfe, 0x88, '\x00', 0x0, 0x0}}, @NDA_DST_IPV6={0x14, 0x1, @private1={0xfc, 0x1, '\x00', 0x1}}]}, 0x44}, 0x1, 0x0, 0x0, 0x40000c0}, 0x24008005) (async) r2 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) (async) r3 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX_802154(r3, 0x8933, &(0x7f0000000940)={'wpan1\x00', 0x0}) (async) r5 = syz_init_net_socket$nl_generic(0x10, 0x3, 0x10) (async) r6 = syz_genetlink_get_family_id$ieee802154(&(0x7f0000000000), r2) sendmsg$IEEE802154_LLSEC_ADD_DEV(r5, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000200)={&(0x7f00000000c0)={0x50, r6, 0x852dd6c070cd7e4d, 0x0, 0x0, {}, [@IEEE802154_ATTR_LLSEC_FRAME_COUNTER={0x8}, @IEEE802154_ATTR_LLSEC_DEV_OVERRIDE={0x5}, @IEEE802154_ATTR_HW_ADDR={0xc}, @IEEE802154_ATTR_LLSEC_DEV_KEY_MODE={0x5}, @IEEE802154_ATTR_DEV_INDEX={0x8, 0x2, r4}, @IEEE802154_ATTR_SHORT_ADDR={0x6}, @IEEE802154_ATTR_PAN_ID={0x6, 0x6, 0x37}]}, 0x50}, 0x4, 0x700000000000700}, 0x0) (async, rerun: 32) sendmsg$IEEE802154_LLSEC_ADD_SECLEVEL(0xffffffffffffffff, &(0x7f0000000480)={&(0x7f0000000380)={0x10, 0x0, 0x0, 0x108101}, 0xc, &(0x7f0000000440)={&(0x7f00000003c0)={0x44, 0x0, 0x1, 0x70bd2c, 0x25dfdbfb, {}, [@IEEE802154_ATTR_LLSEC_SECLEVELS={0x5, 0x35, 0x1f}, @IEEE802154_ATTR_DEV_INDEX={0x8, 0x2, r4}, @IEEE802154_ATTR_LLSEC_FRAME_TYPE={0x5}, @IEEE802154_ATTR_LLSEC_CMD_FRAME_ID={0x5, 0x34, 0x4}, @IEEE802154_ATTR_LLSEC_CMD_FRAME_ID={0x5, 0x34, 0x5}, @IEEE802154_ATTR_LLSEC_DEV_OVERRIDE={0x5, 0x36, 0x1}]}, 0x44}, 0x1, 0x0, 0x0, 0x40080}, 0x40005) (async, rerun: 32) sendto(r1, &(0x7f0000000280)="ea443e052e5aef9955241bbb223ad647aac766deebffda2e7052da1becdc9177dcf6c69f9398efc2f6060a22aa72269fd91925b2a0e998b9417f2d8a68ffe1b3d58c0a0d319d609371980c3ca80db347f8d6a4dbbb4fc100049ff559398b30d3a5b0ab2f5923742dad03d14286b48a5dbb56a95d10a1842b081462eba87b9664140279ea3733bc313e9c0e238219dcca056e34c7e15348623d65237931af72a011f0b8dfec05462582abbe91b15700a2196ce1aea38b7d16fbb9fa5afdaa9b4050eeed600921fa59c6344ade6b6a002006d260bb8cf1ced333bbea18d6ae159432abbeddc913c775b7a7e8", 0xeb, 0x800, 0x0, 0x0) 00:43:41 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) r1 = openat$proc_capi20ncci(0xffffffffffffff9c, &(0x7f0000000080), 0x400, 0x0) ioctl$sock_inet6_tcp_SIOCOUTQNSD(r1, 0x894b, &(0x7f00000000c0)) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) 00:43:41 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) (async) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) (async) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) (async) r1 = openat$proc_capi20ncci(0xffffffffffffff9c, &(0x7f0000000080), 0x400, 0x0) ioctl$sock_inet6_tcp_SIOCOUTQNSD(r1, 0x894b, &(0x7f00000000c0)) (async) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) (async) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) 00:43:41 executing program 4: bpf$PROG_LOAD(0x5, &(0x7f0000000040)={0x15, 0xe, &(0x7f0000000380)=ANY=[], &(0x7f0000000340)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x28, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x80) r0 = open_tree(0xffffffffffffff9c, &(0x7f0000000200)='./file0\x00', 0x89901) move_mount(r0, &(0x7f0000000140)='.\x00', 0xffffffffffffff9c, &(0x7f0000000180)='./file0\x00', 0x0) r1 = openat(0xffffffffffffff9c, &(0x7f0000000200)='./file0\x00', 0x2080, 0x40) r2 = open_tree(0xffffffffffffff9c, &(0x7f0000000640)='\x00', 0x89901) move_mount(r2, &(0x7f0000000140)='.\x00', 0xffffffffffffff9c, &(0x7f0000000180)='./file0\x00', 0x0) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000280)={0x18, 0x4, &(0x7f00000000c0)=@raw=[@map_idx={0x18, 0xb, 0x5, 0x0, 0x8}, @map_val={0x18, 0x6, 0x2, 0x0, r0, 0x0, 0x0, 0x0, 0x5}], &(0x7f0000000100)='syzkaller\x00', 0x7fff, 0x3, &(0x7f0000000140)=""/3, 0x41100, 0x4, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000180)={0x1, 0x4}, 0x8, 0x10, &(0x7f00000001c0)={0x3, 0x8, 0xffff0564, 0x6}, 0x10, 0x0, 0x0, 0x0, &(0x7f0000000240)=[0x1, r1, 0xffffffffffffffff, r2]}, 0x80) 00:43:41 executing program 0: r0 = socket(0x11, 0x800000003, 0x0) ioctl$ifreq_SIOCGIFINDEX_team(r0, 0x8933, &(0x7f0000000600)={'team0\x00', 0x0}) r2 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000140)=@newqdisc={0x1cc, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x12, r1, {}, {0xc, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa}, {0x19c, 0x2, {{}, [@TCA_NETEM_ECN={0x8}, @TCA_NETEM_LOSS={0x60, 0x5, 0x0, 0x1, [@NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GE={0x14}]}, @TCA_NETEM_LOSS={0x8c, 0x5, 0x0, 0x1, [@NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GE={0x14}, @NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GE={0x14}]}, @TCA_NETEM_ECN={0x8}, @TCA_NETEM_LOSS={0x84, 0x5, 0x0, 0x1, [@NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GE={0x14}, @NETEM_LOSS_GE={0x14}, @NETEM_LOSS_GE={0x14}, @NETEM_LOSS_GE={0x14}, @NETEM_LOSS_GI={0x18}]}]}}}]}, 0x1cc}}, 0x0) 00:43:41 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) r1 = openat$proc_capi20ncci(0xffffffffffffff9c, &(0x7f0000000080), 0x400, 0x0) ioctl$sock_inet6_tcp_SIOCOUTQNSD(r1, 0x894b, &(0x7f00000000c0)) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) socket$inet6_tcp(0xa, 0x1, 0x0) (async) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) (async) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) (async) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) (async) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) (async) openat$proc_capi20ncci(0xffffffffffffff9c, &(0x7f0000000080), 0x400, 0x0) (async) ioctl$sock_inet6_tcp_SIOCOUTQNSD(r1, 0x894b, &(0x7f00000000c0)) (async) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) (async) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) (async) 00:43:41 executing program 5: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='blkio.throttle.io_serviced_recursive\x00', 0x26e1, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r1, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=ANY=[@ANYRESHEX=r1], 0x24}, 0x1, 0xfc}, 0x0) ioctl$EXT4_IOC_MOVE_EXT(r0, 0xc028660f, &(0x7f0000000000)={0x0, r1, 0x4, 0x6, 0x235, 0x100000001}) ioctl$FS_IOC_RESVSP(r0, 0x40305828, &(0x7f00000004c0)={0x0, 0x0, 0x0, 0x1c2dc0000}) 00:43:41 executing program 4: bpf$PROG_LOAD(0x5, &(0x7f0000000040)={0x15, 0xe, &(0x7f0000000380)=ANY=[], &(0x7f0000000340)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x28, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x80) (async) r0 = open_tree(0xffffffffffffff9c, &(0x7f0000000200)='./file0\x00', 0x89901) move_mount(r0, &(0x7f0000000140)='.\x00', 0xffffffffffffff9c, &(0x7f0000000180)='./file0\x00', 0x0) r1 = openat(0xffffffffffffff9c, &(0x7f0000000200)='./file0\x00', 0x2080, 0x40) r2 = open_tree(0xffffffffffffff9c, &(0x7f0000000640)='\x00', 0x89901) move_mount(r2, &(0x7f0000000140)='.\x00', 0xffffffffffffff9c, &(0x7f0000000180)='./file0\x00', 0x0) (async) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000280)={0x18, 0x4, &(0x7f00000000c0)=@raw=[@map_idx={0x18, 0xb, 0x5, 0x0, 0x8}, @map_val={0x18, 0x6, 0x2, 0x0, r0, 0x0, 0x0, 0x0, 0x5}], &(0x7f0000000100)='syzkaller\x00', 0x7fff, 0x3, &(0x7f0000000140)=""/3, 0x41100, 0x4, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000180)={0x1, 0x4}, 0x8, 0x10, &(0x7f00000001c0)={0x3, 0x8, 0xffff0564, 0x6}, 0x10, 0x0, 0x0, 0x0, &(0x7f0000000240)=[0x1, r1, 0xffffffffffffffff, r2]}, 0x80) 00:43:41 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f0000000080)=@gcm_256={{0x303}, '\x00', "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", "00000100", "b40d812781e71650"}, 0xfffffffffffffd8b) 00:43:41 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x8) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) getrlimit(0xb, 0x0) sendmmsg$unix(r1, &(0x7f0000000a40)=[{{&(0x7f0000000340)=@file={0x1, './file0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'}, 0x6e, &(0x7f0000000580)=[{&(0x7f0000000500)="ee263486c8e65a3b243a941c7878f5e44141ac83aa00008598d987d50d5d931a0360c7673a367049321f68d5cf1803d5298e5bbaa3d927b755017364bd9d5595c1d7996cafed45153672d5d5c218", 0x4e}, {&(0x7f0000000880)="2c158e09d2efd2d367c9ecfca2a5ce3e0115b817a3e3106aff6c3931a0f4e49f99dba94d795d8cec6ce80c4f12bd1a7ceb592ba58cc35a5ca44831fee7b8b44a5d406d5a8352d075eeef3ae3268ecdcf768ec7717b7215396f1b921d11b9adb7c35a9b7287f5d9d789935b59b1e68c0fb4", 0x71}, {&(0x7f0000000980)="158b84ac91f192d136ba6b14beb630b2795a28225dbe966e69c526b5d0d42baa67c809ecba91ae7297b138643a717ccf7a321e4c7eb3b250f950879d9ccf6e694b60b076b45e8601e89055adef88a8f878d8259b5aec8c086fca2c21f26f11b60758c207dd09177557b0d929a5a1099aabf79854f7906c8ab1", 0x79}, {&(0x7f00000001c0)='H', 0x1}], 0x4, &(0x7f0000000b40)=ANY=[@ANYRES64=r2, @ANYBLOB="8b162e80e6f2b3e623d47faa9265744f6de187cb8b22850934342df52cb1fb3b6cb954df65", @ANYRES8=r2, @ANYRES16=r2, @ANYRES32=r2, @ANYRES32=r2, @ANYRES32=r2, @ANYRES16, @ANYRES32=r1, @ANYRES32=r2, @ANYRES64=r0, @ANYRESOCT=r0, @ANYRES32, @ANYRES32, @ANYBLOB="f66f6c63e16e054839d7e6b8add15250db2d04613e568b161f69e9413587cacbf8e58b115546547ff80c0b6c6f1032c8cb7bb3dcc8f122646d173fc67f91d3f529ab5b1c99007f", @ANYBLOB='\x00\t\x00\x00'], 0x58, 0x1}}], 0x1, 0x20040000) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) socket$netlink(0x10, 0x3, 0x0) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000280)='cgroup.controllers\x00', 0x275a, 0x0) lseek(r3, 0x0, 0x0) fcntl$setstatus(r3, 0x4, 0x30000) r4 = dup(r3) pwritev2(r4, &(0x7f0000000040)=[{&(0x7f0000000080)="da", 0x20000}], 0x1, 0x1000000, 0x0, 0x0) sendfile(r4, r3, 0x0, 0x87fffa0) writev(0xffffffffffffffff, &(0x7f00000001c0), 0x0) sendto$inet(0xffffffffffffffff, &(0x7f00000012c0)="0c268a927f1f6588b967481241ba7960fcfaf65ac618ded8974895abeaf4b4834ff922b3f1e0b02bd67aa03059bcecc7a95425a3a07e758044ab4ea6f7ae55d88fecf90b1a7511bf746bec66ba", 0xfe6a, 0x4, 0x0, 0x27) recvmmsg(0xffffffffffffffff, &(0x7f00000006c0)=[{{&(0x7f00000000c0)=@in={0x2, 0x0, @broadcast}, 0x80, &(0x7f0000000000), 0x0, &(0x7f0000000180)=""/41, 0x29}, 0x1}, {{&(0x7f00000002c0)=@nl, 0x80, 0x0, 0x0, &(0x7f00000003c0)=""/80, 0x28}}, {{0x0, 0x0, &(0x7f0000000680)=[{&(0x7f0000000440)=""/153, 0x99}, {&(0x7f0000000240)=""/61, 0x3d}, {&(0x7f00000007c0)=""/170, 0x9e}, {&(0x7f00000005c0)=""/166, 0xa6}], 0x4}, 0x1}], 0x3, 0x100, &(0x7f0000000780)={0x0, 0x3938700}) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000001f80), 0x0, 0x805) 00:43:41 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) (async) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) (async) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) (async) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f0000000080)=@gcm_256={{0x303}, '\x00', "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", "00000100", "b40d812781e71650"}, 0xfffffffffffffd8b) 00:43:41 executing program 0: r0 = socket(0x11, 0x800000003, 0x0) ioctl$ifreq_SIOCGIFINDEX_team(r0, 0x8933, &(0x7f0000000600)={'team0\x00', 0x0}) (async, rerun: 32) r2 = socket$netlink(0x10, 0x3, 0x0) (rerun: 32) sendmsg$nl_route_sched(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000140)=@newqdisc={0x1cc, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x12, r1, {}, {0xc, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa}, {0x19c, 0x2, {{}, [@TCA_NETEM_ECN={0x8}, @TCA_NETEM_LOSS={0x60, 0x5, 0x0, 0x1, [@NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GE={0x14}]}, @TCA_NETEM_LOSS={0x8c, 0x5, 0x0, 0x1, [@NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GE={0x14}, @NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GE={0x14}]}, @TCA_NETEM_ECN={0x8}, @TCA_NETEM_LOSS={0x84, 0x5, 0x0, 0x1, [@NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GE={0x14}, @NETEM_LOSS_GE={0x14}, @NETEM_LOSS_GE={0x14}, @NETEM_LOSS_GE={0x14}, @NETEM_LOSS_GI={0x18}]}]}}}]}, 0x1cc}}, 0x0) 00:43:41 executing program 2: syz_mount_image$nfs4(&(0x7f0000000140), &(0x7f0000000980)='./file0\x00', 0x200000000000000, 0x0, 0x0, 0x212c010, &(0x7f0000001ac0)={[{'udp\x00'}]}, 0x0) syz_usb_connect(0x3, 0x686, &(0x7f00000001c0)={{0x12, 0x1, 0x310, 0x34, 0x39, 0x67, 0x20, 0x1199, 0x9090, 0xaf36, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x674, 0x2, 0x1f, 0x3, 0x10, 0x0, [{{0x9, 0x4, 0xcf, 0x2d, 0x1, 0x31, 0xf, 0xa3, 0x59, [@cdc_ncm={{0xb, 0x24, 0x6, 0x0, 0x1, "67574188f06a"}, {0x5}, {0xd, 0x24, 0xf, 0x1, 0x1, 0x101, 0x9, 0x9}, {0x6, 0x24, 0x1a, 0x7, 0x3b}, [@mbim_extended={0x8, 0x24, 0x1c, 0xff61, 0x9, 0x132}, @mbim={0xc, 0x24, 0x1b, 0xfff9, 0x7, 0x7, 0x56, 0xe86, 0xc0}]}, @generic={0x8a, 0x1, "f5c0c377f50b59459b6f2b4b82674c279a26354b39ae977de82e93a236c941b8a6d31bb8441dded7c35928eccd1a159321e91f9a3bf5926715255d1f86916e5676927b895ddb071784b1598b5a54a83d09904083412372b954afad070ceb10f2e57aa7f06f395e4ba0d5a57128c7f8dd965ca2f64d44c0cb965b708f35f4d932030f6d74c50e4c18"}], [{{0x9, 0x5, 0xc, 0x0, 0x40, 0x6, 0x5, 0x17, [@generic={0x31, 0x30, "85e5dffb649f3904cca17418817f444e5b5a8ea6adf96660dfe4b52b34c37bd198dc201a658f754ab21f765ff49fb0"}, @uac_iso={0x7, 0x25, 0x1, 0x1, 0x9, 0x1000}]}}]}}, {{0x9, 0x4, 0xa8, 0x7f, 0xe, 0xf4, 0xde, 0x32, 0x0, [@generic={0xb9, 0x24, "8c58e3d1b4aa0a71e5ec6a80712fd42b975258793cb758359abb32a6af9f8552ca464ebb3796c20202b6ddd136db4ca428cf25c6e1da0ac2a1c5976e4c362b8c113279830bf519dc46892aa2af2bf85dad2420ef65b2b8b03fd9915e5377e1711779b846abce6cdeecb0d3edd7df0f05561c5c8873e472429484be1a2edc09c8f12f51f8aa864f34f1d12e0eea6340de09e40d823b142b068a74614a9ddd1c87a11332df794b4980b54e701f7574f5d475c20b84d20eb0"}], [{{0x9, 0x5, 0x6, 0x0, 0x100, 0x4f, 0x81, 0x7, [@uac_iso={0x7, 0x25, 0x1, 0x3, 0x8, 0x23}, @uac_iso={0x7, 0x25, 0x1, 0x1, 0x7f, 0x4}]}}, {{0x9, 0x5, 0xf, 0x2, 0x10, 0x0, 0x2, 0x7f}}, {{0x9, 0x5, 0xc, 0x5, 0x3ff, 0xc4, 0xff, 0x80, [@generic={0x45, 0x23, "890f6457907127805dc405734241766cbe76dc5ec27546dcb8c2262ef4705613f54aa27156b93570a1a513c6e400ffd5cf6d29cd71761b7c7a7c0e0452c8b826004778"}]}}, {{0x9, 0x5, 0x5, 0x0, 0x8, 0x6, 0x2d, 0x1}}, {{0x9, 0x5, 0x3, 0x1, 0x53f56d0855dfdb9b, 0xfb, 0x28, 0x9, [@uac_iso={0x7, 0x25, 0x1, 0x2, 0xe, 0x1}, @generic={0xfd, 0xe, "8c8d864e9ea48f3282249c87e50d50f9e42cf4eef174bfd7d523973ce7ac84a7efb838739466205655235b0f81e4c1869785fcd3d011769db208c9a8300a83ac57f9a9242a1da48b309218540f32eb90fcf1c49745454f6cd79e1fb3afc93910a6c6a349360fa3d85fc1c294d2f79a6a34d21cc90b51126f0fe4272ee1ec2fa6b08a5ac79f55f47a7f648f2c88b9a5e927c321ff832bd93bd6c8e7b6dda6054875729a4640425c5718c7f38e4f944c7da396f654c52694d26cdb74166924c1dd476b831d54a9f7c747d864f87d636fc99b4953e1e0bd6373751f30d7eaffc8467bbf8bdcc758a67e2c097b66e51e8780930ec65adb64072a1f27e1"}]}}, {{0x9, 0x5, 0xf, 0x0, 0x10, 0x3, 0x0, 0x20, [@uac_iso={0x7, 0x25, 0x1, 0x0, 0x1, 0x932}]}}, {{0x9, 0x5, 0x0, 0x0, 0x10, 0xff, 0xf8, 0xe0, [@generic={0x6c, 0x22, "a985e01e3ff0581365642fd5a611932e564e2741c6e3436d48904338a0f8dec0fdac20f4a575934a28af9c27a4f17879f8d59e48956acf4f215a3835e51d4eed305c81af0aa166890026d29b1e43b905c9377f54185ef9a40d14bd77b18a2b0814ad52e1d4df0020a0bd"}, @generic={0x26, 0x7, "c706e01f547ec38285d12a58751f05a6582996b7f2da07574467abd0f5c2a1672d969065"}]}}, {{0x9, 0x5, 0xe, 0x10, 0x10, 0x0, 0x8, 0x7f, [@generic={0xf, 0xb, "1fa21aecdc5f713bfaaf2372eb"}, @generic={0x69, 0x30, "0e372ae1e65ef7b043510f2896438616f0488f575b97796023819676d841a0da7fcdc2baa4f3cd255d2ce568df6062cd56c9f876d865bd2b95b0a13a40c1c7cac49748cc9dd7c43cc767e951b15ea926876adbf245641349179691c9c75550ff2921ea44d1d3c6"}]}}, {{0x9, 0x5, 0xd, 0x0, 0x400, 0x7f, 0x8, 0x3f}}, {{0x9, 0x5, 0x8, 0x10, 0x20, 0x1, 0x1f, 0x0, [@generic={0xea, 0xf, "b4ca914f8b4ae4b73192b02da3415402ef5bc1a7f23f2cfcacaca19e0852381a4ab39b8072c3841236b4aa39265b09208f788b24e2cec2ce879c96cda0bb9660b2664857f788282669e60b060622b61c63b599fc7e4f7905eca5a5edfa858cebcb92125d1730d1073b628fca38a8403a5cb76e70360a5f4bbb3c52c867a73703fb5820935377343351bf123bd5e93d744c4238a8e943cb58674f1bb8b117905e347263389b52c22c74aed1521c57f1754559ff0654b08b4fb2bc98ce146de99ead29198743035a1fcc35563f907352a1c1a88dc08189d12e7d8ecbdf420c9ec957474c33ab6c6d4f"}]}}, {{0x9, 0x5, 0xa, 0x0, 0x218, 0x0, 0x20, 0x9, [@generic={0x44, 0x4, "01e1d288dc76391f3d49f10374ee379d1236a1c4dbee565e03b864b8f2189c712f58b84ee4d2bbabbb809fd234b097ae87bd368a521a6c76818c040f260016ed6fc6"}]}}, {{0x9, 0x5, 0x2, 0x0, 0x20, 0x8, 0x6, 0x20, [@generic={0x7c, 0x2, "1224f314bdc71d9c6d3a0341718a4173b0a5840b7843c4fc7cac75bb7be110118f8f9ad3a1574b0430a7b7d88b1668d58a7bf3648017a2bd6e9d3babd9b3387b4fa1b89669289c9836a13ffb4cf029ace64ac12ebf906085a4349f99f810e3834077feee8df6a0e1eb9f85478641b8a7caca5f08e886736c3438"}]}}, {{0x9, 0x5, 0x4, 0x2, 0x40, 0x8, 0x5, 0x3, [@uac_iso={0x7, 0x25, 0x1, 0x1, 0x9, 0x1}]}}, {{0x9, 0x5, 0x7, 0x0, 0x40, 0xaf, 0x4, 0x3, [@uac_iso={0x7, 0x25, 0x1, 0x2, 0x8, 0x101}]}}]}}]}}]}}, &(0x7f0000000c40)={0xa, &(0x7f0000000040)={0xa, 0x6, 0x310, 0x8, 0x8, 0x2, 0x10, 0x81}, 0x5, &(0x7f0000000080)={0x5, 0xf, 0x5}}) ioctl$F2FS_IOC_GET_COMPRESS_BLOCKS(0xffffffffffffffff, 0x8008f511, &(0x7f0000000000)) syz_usb_connect$printer(0x1, 0x2d, &(0x7f00000000c0)={{0x12, 0x1, 0x201, 0x0, 0x0, 0x0, 0x40, 0x525, 0xa4a8, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x1b, 0x1, 0x1, 0x0, 0x0, 0xb7, [{{0x9, 0x4, 0x0, 0xe7, 0x2, 0x7, 0x1, 0x3, 0x7f, "", {{{0x9, 0x5, 0x1, 0x2, 0x10, 0xff, 0x0, 0x8}}}}}]}}]}}, &(0x7f0000000940)={0xa, &(0x7f0000000100)={0xa, 0x6, 0x300, 0x8, 0x0, 0x1, 0x10, 0x40}, 0x5a, &(0x7f0000000880)={0x5, 0xf, 0x5a, 0x5, [@ext_cap={0x7, 0x10, 0x2, 0x2, 0x6, 0x4, 0x5}, @wireless={0xb, 0x10, 0x1, 0x2, 0x16, 0x0, 0x4f, 0x6, 0x7}, @ss_container_id={0x14, 0x10, 0x4, 0x80, "424e8f80419da314c41ce7b4a2e7e60b"}, @ssp_cap={0x24, 0x10, 0xa, 0xfa, 0x6, 0x3a, 0x0, 0x1000, [0x3f00, 0xf0, 0xc00f, 0xff0000, 0xc000, 0xff00]}, @wireless={0xb, 0x10, 0x1, 0xc, 0x2, 0x7f, 0x4, 0x58, 0x40}]}, 0x1, [{0x4, &(0x7f0000000900)=@lang_id={0x4, 0x3, 0x40c}}]}) 00:43:41 executing program 4: bpf$PROG_LOAD(0x5, &(0x7f0000000040)={0x15, 0xe, &(0x7f0000000380)=ANY=[], &(0x7f0000000340)='syzkaller\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x28, 0xffffffffffffffff, 0x8, &(0x7f0000000000), 0x8, 0x10, &(0x7f0000000000), 0x10}, 0x80) (async) r0 = open_tree(0xffffffffffffff9c, &(0x7f0000000200)='./file0\x00', 0x89901) move_mount(r0, &(0x7f0000000140)='.\x00', 0xffffffffffffff9c, &(0x7f0000000180)='./file0\x00', 0x0) r1 = openat(0xffffffffffffff9c, &(0x7f0000000200)='./file0\x00', 0x2080, 0x40) (async, rerun: 64) r2 = open_tree(0xffffffffffffff9c, &(0x7f0000000640)='\x00', 0x89901) (rerun: 64) move_mount(r2, &(0x7f0000000140)='.\x00', 0xffffffffffffff9c, &(0x7f0000000180)='./file0\x00', 0x0) (async, rerun: 32) bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000280)={0x18, 0x4, &(0x7f00000000c0)=@raw=[@map_idx={0x18, 0xb, 0x5, 0x0, 0x8}, @map_val={0x18, 0x6, 0x2, 0x0, r0, 0x0, 0x0, 0x0, 0x5}], &(0x7f0000000100)='syzkaller\x00', 0x7fff, 0x3, &(0x7f0000000140)=""/3, 0x41100, 0x4, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, &(0x7f0000000180)={0x1, 0x4}, 0x8, 0x10, &(0x7f00000001c0)={0x3, 0x8, 0xffff0564, 0x6}, 0x10, 0x0, 0x0, 0x0, &(0x7f0000000240)=[0x1, r1, 0xffffffffffffffff, r2]}, 0x80) (rerun: 32) [ 317.402262][T14557] UDC core: USB Raw Gadget: couldn't find an available UDC or it's busy [ 317.404505][T14557] misc raw-gadget: fail, usb_gadget_register_driver returned -16 00:43:41 executing program 5: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='blkio.throttle.io_serviced_recursive\x00', 0x26e1, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r1, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=ANY=[@ANYRESHEX=r1], 0x24}, 0x1, 0xfc}, 0x0) ioctl$EXT4_IOC_MOVE_EXT(r0, 0xc028660f, &(0x7f0000000000)={0x0, r1, 0x4, 0x6, 0x235, 0x100000001}) ioctl$FS_IOC_RESVSP(r0, 0x40305828, &(0x7f00000004c0)={0x0, 0x0, 0x0, 0x1c2dc0000}) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='blkio.throttle.io_serviced_recursive\x00', 0x26e1, 0x0) (async) socket$nl_route(0x10, 0x3, 0x0) (async) sendmsg$nl_route(r1, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=ANY=[@ANYRESHEX=r1], 0x24}, 0x1, 0xfc}, 0x0) (async) ioctl$EXT4_IOC_MOVE_EXT(r0, 0xc028660f, &(0x7f0000000000)={0x0, r1, 0x4, 0x6, 0x235, 0x100000001}) (async) ioctl$FS_IOC_RESVSP(r0, 0x40305828, &(0x7f00000004c0)={0x0, 0x0, 0x0, 0x1c2dc0000}) (async) [ 317.417751][T14557] UDC core: USB Raw Gadget: couldn't find an available UDC or it's busy [ 317.431631][T14557] misc raw-gadget: fail, usb_gadget_register_driver returned -16 00:43:41 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) (async) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) (async) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f0000000080)=@gcm_256={{0x303}, '\x00', "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", "00000100", "b40d812781e71650"}, 0xfffffffffffffd8b) 00:43:41 executing program 0: r0 = socket(0x11, 0x800000003, 0x0) ioctl$ifreq_SIOCGIFINDEX_team(r0, 0x8933, &(0x7f0000000600)={'team0\x00', 0x0}) r2 = socket$netlink(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000140)=@newqdisc={0x1cc, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x12, r1, {}, {0xc, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa}, {0x19c, 0x2, {{}, [@TCA_NETEM_ECN={0x8}, @TCA_NETEM_LOSS={0x60, 0x5, 0x0, 0x1, [@NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GE={0x14}]}, @TCA_NETEM_LOSS={0x8c, 0x5, 0x0, 0x1, [@NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GE={0x14}, @NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GE={0x14}]}, @TCA_NETEM_ECN={0x8}, @TCA_NETEM_LOSS={0x84, 0x5, 0x0, 0x1, [@NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GE={0x14}, @NETEM_LOSS_GE={0x14}, @NETEM_LOSS_GE={0x14}, @NETEM_LOSS_GE={0x14}, @NETEM_LOSS_GI={0x18}]}]}}}]}, 0x1cc}}, 0x0) socket(0x11, 0x800000003, 0x0) (async) ioctl$ifreq_SIOCGIFINDEX_team(r0, 0x8933, &(0x7f0000000600)) (async) socket$netlink(0x10, 0x3, 0x0) (async) sendmsg$nl_route_sched(r2, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000140)=@newqdisc={0x1cc, 0x24, 0xf0b, 0x0, 0x0, {0x0, 0x0, 0x12, r1, {}, {0xc, 0xffff}}, [@qdisc_kind_options=@q_netem={{0xa}, {0x19c, 0x2, {{}, [@TCA_NETEM_ECN={0x8}, @TCA_NETEM_LOSS={0x60, 0x5, 0x0, 0x1, [@NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GE={0x14}]}, @TCA_NETEM_LOSS={0x8c, 0x5, 0x0, 0x1, [@NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GE={0x14}, @NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GE={0x14}]}, @TCA_NETEM_ECN={0x8}, @TCA_NETEM_LOSS={0x84, 0x5, 0x0, 0x1, [@NETEM_LOSS_GI={0x18}, @NETEM_LOSS_GE={0x14}, @NETEM_LOSS_GE={0x14}, @NETEM_LOSS_GE={0x14}, @NETEM_LOSS_GE={0x14}, @NETEM_LOSS_GI={0x18}]}]}}}]}, 0x1cc}}, 0x0) (async) 00:43:41 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) r1 = socket$pptp(0x18, 0x1, 0x2) sendmmsg(r1, &(0x7f0000003140)=[{{0x0, 0x0, &(0x7f0000001700)=[{&(0x7f0000000080)="90c96edd7e92d52c179f39bad590153c148c2e74e24d4aa065a6245834a9e6764daaaa685bc914f7197a61bf5d97dd2938f5e0427549d34921383b209fb39ae744b822d8fc101b40bfea5ec7707fa49578fb3af635d31b79e7c92b1325c0fba3096e162837400fa9ea73c2f813d2489e7d33de46020878cb07525e428441b80196cf482b3267509727bdcbfb97f1fd8dbaf258539b23b4b4d310f67e2c0084814ae8cdf7cbe6b7a6c691f4ddbcec2048325ee3a5e0abe74d959414d989a24b86fa7c7660dbdd1021", 0xc8}, {&(0x7f0000000280)="66332e89d090ee73496470ea700f421b6014f75159b1e43b46f4e9b51a2897ff2ef5fade0c692794b73aa1f4318300004a044b52c394862b57e5b491259a9974d4bc06b12d3697476b8e9c563ac3de1f64b5bc19b0219a572fa692c11c84e0bef446a02d4c53dc358a0f92327383ba1deb5b3f74f01fff4201e161a2491576fce41a832f31f3d6dd5875061bdc640ad4ef3651457619cb3f569a0749a82f075640e3b1f71b6a5b43649bfec2134172c36b2bd0943455ce4d28d051e76cb56bd8326461e504d4c799cc23d0fbb275274601794d15663afb98b781b878822e3bd23cac797d60671f6f41095cee53efcd129afb782370862dc1", 0xf8}, {&(0x7f0000000180)="afe0fa7034915bf77e879ef3e3d43d014e3c6585d99a72cd30a0d0cfd47bf271a3e41d0c80759c3f86c4333bf82ef8ed6e5e67c70adf51dee1ea78", 0x3b}, {&(0x7f0000000380)="c7cb6940b10c060a52a3f5cf9b8c12db9b5e3bebb5fe1a1b6b281885e3d55f1a81816d7b614a5982341674e3f090ea897c3d91a5c527bcc8726dd04018fd8cd0e0bb26d240d6da792e34af99433fcc28652da10428d7f3dbeb9a4bc0fa61b45beb4a33337c9ec5aa7f4b8e5902473f22a4e5a7ae4f545f8ae9c92745c615c39e2eb0f6dc8ea231210208facc2a3511c372a39b08a4f08b77e5ff492abcf7a096dc3e10bb9cd3efb7811de38e6274f1cd8b9c", 0xb2}, {&(0x7f0000000440)="5a4ff8fca71d86ce7d48a6821805d8c7b1c6256c4416a1a36574c4e5b807b63358b3b8d314f81557e71e153b8e9976f93080718b6f5beb922822709ea72677f4148aac7520c1d0ad0033c314", 0x4c}, {&(0x7f0000000580)="f05ba5c7cc712613485bad7d5eae19fed4c6e58fad9d2aef4b11ecedb9ab8043acad654e4af4f8a974571ec38b6bf27cbe7cab6d7a857026c82cd6de733258ba3dc556b1c351793a68acb5c771d5edaad34121dfc480f7431f6e97b1dcf6523c9d9dabafe19cc8815842cd43f74185f7119c027a6798fbaff35977e5b566012b8f0d49a62b17157a21fb9fd23161247996ab8e8d6076f919cb6d36f32514edb07fa0d4a6fa15303d019a4f159df81b74c571c22508c693fd59a2cb8cd5d4456067a29a32a9f3c388e112e2e3a5452c474a8b1df1f600786c70f18d4416cd24bc220b8a171ab818cddcf0b342e536410f9e3f31f9bfa1d695e62be0a428162a54b3c6503726f38128f01c423c200303830202f5a140f0e1ad400a38edb90d8f136f095741862b25c8e22fe52aef07e7e5c88647d71b7b94c97848d211352f5010883ef247ad014aa361c05acecce290bf8247a5a78fa43bf141045e7c92da159fb6da4b7383ba4f93cf314a331018e2073ab8b916d7fa22ac56b85c4ec565bde6426b1f3791db7cec3fdee3f323470bc7534bd6bb13fb572e78aecb808e573364507125bcc10f103c5998959c20c7181688727cbf4145d52b9fb6f63a60d02c98138a1b4270971f954598c56f727c8395b5c72c84fbd038899da5b111949b21bbe97cac1ffaf0cda3a181b5ffe8b1d5c9acae82701663e3d5c47c868f81f5f2dde28df7b317a22f390ad8f96b40597676af02bf4ddf43794fa638c3c45526dbca35c82862e557918512b5cf1da5c0c4c26c22c22b557f417cb0014521b8897ee11649f7d347776627f29bb870b85ba7442413eb68686ed1f7a495846f7e6017801b280e7219b6b8844cef82bd2bacd8ea659c69f911ada99ba4bb1f03df915b8fb59f06030ad0a49603757be8bab8e17b63edd899bd0101441816bd56257b01488da9fd990c8d36bfda2d753c557b0106a67150ea3cb9532fabf14a71927303b6b333215e5b0ac72e6d6cf9ed7ce5c83d34160582da6c4613efbc7e7ad673a812a2fe6e589b114b5a843d78e272b815b76778090d96f3099910d874da14d562556a80557c8547a1e46f149223889d6ab74fa5b20079aa9f88dbd664ce4086badd184a346841a2cc5b61881c690a826d255652b91e635ec301779ff9e5eaca7ce6cdf73adce36e4c1d6c63432a58fa981c214842b6751e0c4d53d23fe187e2b05a0b754a115be996c214e6d1a47281e4198311c94e62fb63f88f84dc3bcababf47f3bddef02436768cca8ae60e0bc7772415fd77227e9f9a1cdfd586b0170ac869ba5534859a08a5630573e48939b63b848f32518d3d477e77c439aa08176b1ab8e0f2e5d3a48b4c2260f5245a8a757a3e6f6d49f9587eb61ee6cabbbe5339cc0aa8544e965e575986f2d3afa1c2e13bfb5e78b98253f33fc40850be0639a61d65288d34ca1da6306231a57595a12deceac7e63f96c25b72409a654ef2f4b4357e426ae723979940e420a046d64bc41b6fa545ce30397a2b6a00129ab1052c3d57a20272b30f300164832c9fe196c09328944f675040c743109af3f2c5204ad87aa918fb5959a45717264c3e803afe595f5ccac32a55d4383cfbd8ab27ca4e4b19e2ac74aea5f48175ae5ea282fb8e7d2c6ab5e8337066b2268e0fac9f9789a88d6d0cd1bf99e5c68cb898463f0cbe4fed7da5bd9cf46c0049f889e363ea503757ac9ea46a44f5ccca6746f6d6b4ef5580544aebf6804e26f1de80f903ece60430de757054cafc15b99362b2767634b52ff781ee0c98609b729caf2ad41dc429c8a45c11c50f89b21af27e8d13823badc3d77977718470d6db547b170808a5e4a01de9459ba08a8ae0ac9453cbd8bdf26a9548edc290ddac30a09f1b1c4af3d7be6d139d694184d4b0a779f50c6a1ae4a4cfab0f09a718c9123df707b4b7f816fda8e9cced98e1abb3242d177b628b0127205c187404f82d32ed8a1b7f07f4dc71a9913204cc22309ac51841b6a93874a26b9bcad70d68f5f815a7438d4c77754a23a491cca2bc841f89d23a049930a5cad6b0c346dda533195ff879ce22bc185a63c7b718858b2f1530ca2e56e4ce6aba6875ed0765a7ee5c4f4481c1907437483d323b102df7dbf17bc48f04ca630a192d5597eff36419f48f1a13ca813f9e6f842c0788143dc4a0e58139638b5948b9fbf6ea4f0d8d0177539c87a47e9df38db5bc4c1cfdd09337d178d6a17d83e4530d67e39d1957a870aa6852a605a4c79bbfe3de4c19e9649f035041ddfd86ef36362695f15d8149dd0065802eb287800d3104762dafd77bfbb7b28ca9e2a4e3dee4e8808e480a21461973200c2f970a44920880af0d45dd4ed333616643236381b678c26c7ff78c31ad5fc946e2e68f16a4de4fda080fcd7825b489da4ee09f0a9a8af5d293e5cd1f137c975b4e71ab4ee2d10a1ceb34bd59669e78b3cc7b1c752526f20dedbec82aeddbf1f9a430e84c66dc2493fbe61d9cbaf2c67c500ea1a1fd2566ac76e01e69002763278d73f17826ff1531d4baf0d28dd6591f88d02c1b1542c8fbf51487bd2ac9e423b4c2b0f4589f602e44da5869bd4a733c94d31d47d8a0b3cd6b24c171b7ca7cc28881b3c2c97dbcad9a2e113bd35cdfc9dbbbd4bf1cadef76acb55b004e2d255ea1264f949247eca47b109b3b5b8d7902695f4b5886a976fa9d86b3cf77cfba954fc64400c729832118d3ebceda6c3ff9c921029f8c7fca108dba757eedee4fac5a1be1d19454e204f053a834aaa26c3361c68b5ec1b4e7f7f2d2210b702d6941d264dd48f466788db33e98f24c2af7f9e65098cbabfb460f151867aae3811d80a8a8edc607582bbe2f1d598d422f919b3118d254e831b331fcf1df3244fe8013f4c558c4458ff10869faffa83c3b2bfd57323dc729e945f2d707d450ca06a57bdca12b8fe3cd5a4e872429b787581fc9f21e7c186a45a6c6d53336a8ad3f0c04b0cb1c5b7a14b1e0c446153d3646cf4726939be118616db011b422a156e6266009792a58eb233503b4715641828791b0b8eae04a8a7d97fa327d87efd8e232f8a05ded0114d2c573ca31bd85484d713818331a5168abc79c79c14495372d13449d90bcc1826bcce4faf15979cf2ecc4c32495117f82a453f853a30a89a2ad11fbbe1d4bd6337e197cf6ecdd9befdd64be5b543c23075f5c098d584b1666d362791f1942bd42bab5454f2663add45e860a30c2aa33ec9c4aab6bc4e06ed0c757381c02f7632380bbc41ca6a04e7cdd8cff394d0f34f3a6284ee36191224d3967a6e028120993406302794613aee43ba72f7f91751b6d5db480d4f4f17937952c3f9db6be3f58fd9a2acf2cff09b74bc5c12516c1a81e1c027c0e3b016659a6e5cba170bc2e02d92416a0287af77af06af313694409bb41f2b183c2e810b67ab457268df38eaeaabdbd58ae645394b1ec6ccbea5c6a2c79f31988ba2744fc410f9baccf5e4cf255862ca8afd17f216f7eeff724fd96e72e2789a56f2a8a7f48d6e7382dee45fe4cec04f21758c36132d3b7f073a5a66d9327f1d823e44a87992251229b60aecb3960e9483a45f1ea5660048939021aa9f3b380eca7154292cf2437b84ddbff720cdb5fe5ef0f9a95a3fd73a0d1ff02b1a2ffe8e62d5da31500eaa33d1dcc45ac7c816c38629663d1ccd7dca07ce2d1cdf431b498e3e45bc0bc3631be4bf1ea9e2930b6666dd9246241483dccb2f5314a8c1d5938c2413ee1b87b0226b16b2a973e92a21bf8bec529097c58ff8df35ac26206a493f5251b61d2be2515cc6770ef602a65042f4b5d92a309e63ef814a7e91b1810e0b329384464fcf91e8191fdb53a86477aec9d9bb1f0b368c56ae0d453cd56a17ed2b53fd197600682aca3bfca47697e9f098753038a4455954cc6861f6df003dd6104e6e680ccd986d084e2d2c4dfcb0da0787921ab1ab582c7b1fb6b4500fd0d819db8c32ea04910555128c7683362a68444083f679258ccd9cd5e93d5f53ef2e078a237b79fbb90fca82280db1fe6d5b3b94d8089bf46077930d39508860eb48388fd374445e6e5e32a258c733980eb0c91c8aa56c676f4588fee76d8d4ac7b56dca9ebc9896430b42628c2065029ffd910ce1c7ea7a44f25e65ed0cf7d8603bd2b0c0e80a06c711197869b25648feaa7a4195718f22dc68ad7c4de93e0ff59f59872f2cee2979cfd276d957335e73defcce0741a26121fe029a019c7a684827c52e73297bc64e98188e3bd87e406c9e9da30303c8a736fc6b66ef1ccf8ed31771a3dcdc7d17ad388cb7530cd2b48b231c4a9a8d2ed88b3d33ab16cd5ee588534f574ba2136c774e114b440f171b9acdef0bf18321ea76e1dec3846fef1e8c1d11eb341065eda76bb1fbbab8fdaf7464bb3d9e51b6f802f369315b5a8cce81aca0e40d6b2eae1e178280c1d05e1ce48fa757353a748cf2fe80dd41940042638004f3497ce8e7eb4d04801eb5238ba9b7ae1624de93d3a363fc6e7cbc1ff36575d8c25cf0711e4b21b7b82cb522bb5e8aa210cd8d66d50d963e3558adcea0d63def374c58d4aa079c86575fe1f4a476d232a0ab43afcbf5a923e71f9a2cc6ea98f2ebe98ef1c5cd37b1ac0debc69c28d31417be0bef0bbf2dcdc5b45c42c87fbff054c02ee61a04fc74795cf1c320d1c7cd4bce0c7ae1062e820a48048ee0c0beb7a190e95cc0c0a55d0fffbe31d594512d0b7757d9a0c2265c568719792e08c520ec2468848914411cdb68fb06d90e24924223d955be4173d312f299b93b8685b329a6aa1f4f660b41965ea8573da9893332febf1687da9936383411e02ef4fd6b348a1f3e059248110d54c5ca2baba7c087eac2a175b48822edbd7e0912bab041d2919ed94ce26ee5257b2ebb8c4ea109b0cbf8e4d295df2ef109b5160d039719758411ecd533403897fd8b45dc50a0597adcb8c043ef8f9a6ec5ec2bbb59e39dd05c44daf3d7380caf07849dccc47ba5d3b2d30936b72b9d9eb805c327d8fb84d400c911b71cd8a637770ba44172f90185c54f51c282b179c1639b01b9c02b4ffd77bc36f4b0d9a55c627b6202bfbc8cbfe2334b7ebec3405eab7a2779fd597fa035f21e2738dbb4982f0559e6cda66823f0ed10bb8680a70bf83889d9f180c86e1ea0f003f6ce2a271fc44e445ea2cf4db7d482ab8d99b75863bc8edf90f9e17fd4122b8ed5ece47a474c2c7afce3085db8ab0ab4e6710b967c44e35748bc92f5974fb048e06683dca5bb2d7e7775eedf234897dc3f4ba0408008fd3c38ee85171bf9a602e9175fefc167d1fa9dabef4faff99edfd3b41d7a2bfdcea85d5494a2f7c4a0ac90f40fb924e877d47308fac2aff0177e56d3a6896b267702429c3e01c324f254576fe4ca53dac121b17a0b5162679e1f4d5b0efee446ab7b7e62304ddd99f9585e0809d8a25840788cf2cbfb4127872c9ed3c0c4f68e424d9ab1a8754dd3f818b66f704e4a71164f4d11713eac24fede5506a069f472cdd9a6bdfa2952d70714b7fbfa04fdbb585ba1bfcc967a9982f73279d8732cada50e0316435f3613944350eaa8b61795922231be0458d7aeb2edb432426c94c07a353f1cd02dc53c351ef5034c7491831df27cdafeb6cfed0df1bcb47975765ef6b4032a9f94894297fde881e2ffe9d745a6c66b2084d63180819c1f4f9401a296c5f708df796fedff3027e5c1723ff6287a4f1ddb7e6598395534b3e2cd372dfa3185b5da8c60893cf9ed3bf922b726b3c5a34b4d09f9a7f687348660ed7f69e8c5b9cbf090624e3cd25f85f20b", 0x1000}, {&(0x7f00000001c0)="fb1bd8dd0d069edde9e8f976cec4ce14995b29c3283f1b1a5e64aa82c848935b07c83f", 0x23}, {&(0x7f0000001580)="570ab044530e29540d98ef4bd1e67108bddb1bb6fb3d187598b340d3a742c079a39a89c631bc5d9fff741886f1bc4452b18e32d0d7d53bef8faf64cb8fd5259282925307914954303e", 0x49}, {&(0x7f0000001600)="b05e3a4bf5d6ebc869ca7271eea748dca840c01bd5f7bb9f9d0e45ac1b5d0f7344481d57c0f104bfe7db983ac4a35456d27756680ced24979fd946bb77b7d6a0a8ebf59702c0556d809a97e12d1c93a9ff65972479a2e6a2337b3eb6234d7137e21373ce16e11abbb790878865ac72a67394fed4f8667c458d7c79", 0x7b}, {&(0x7f0000001680)="ebb4296368029faae09f9476225551648670a80700000000000000ff1e0958d28050b07ad4d1a74a6dddf8b29bb63ca387a255ec7218579971320b34eeefbf959da30741487f3cab611f291d622f4a69562248d8a7dd2876c4fa215e201332a304", 0x61}], 0xa, &(0x7f00000017c0)=[{0xc8, 0x0, 0x7, "df77000a52ecfd6bdadd2c05919bccca32dc4a15730523f98b9b48c377df93c5478e5ca1ecef0b5e49d32bf169d2bee43fc74d05d7d2929823eaafb699a10c000476ffce3fdac3b6d9b7237e985b0746dfd3a66b9a32ae6afd4f3e0f4056f1db4e99e994a500c2a44aef7587b0ec2f575b635cb0792d2bd35a9898e9eea70dc1d415c94b3599e261db079ece342d06e67e19af9c45071e416cf54efe278c65516f5b2a57d5ae399a832046ffef2877c4ec175b8e4f22"}, {0x1010, 0x114, 0xd1, "9e2c2fe06d0bfc7e21bfc5eac8b16d283c7ce24dfb555186ad2c2deb15a38539e9f0103af075c3dfe880169dccecdae81559e78597147a3dae69d0844b811c2e0a8011fbbe365ce4f2099dce2dca79d32ace7a2c18863941d7885ae45f2539a58a9ace4f7a033bdf9bd1a034a05e36d92e885ef7c939648a272e81475697809bf447974b3632adb0e073f7410b751dfdf08a842d74450b88fb53d34a96f6449e3640bfc531fc5156cf5994862feade149af3df4cb87a35b8de52225e1dffa33f04f03a4801cb153736f83354291ee3880d9453f0a252e0c786a9cd67cb8ad37082149c702b2f908ceed86e48dd0946fbd243cb453b5bd88ec79a8609a5e17fc05bf4e74603306fd4897187a66262a30a05b19ffdf64e25b836b1474d4f7423149cd17bb64561d296142aa6589f788f39624c5913da9a5563735ea26cee30734b9130f97087c52401baae87d9dd1e026cdf8554e2a208a43adda4a4540ad0511b2916409283b2f86b4d0b7749a3f5c2dcaccce24d8b25655a09b934a449cfa8a02f51d0379fa662db4f2150e06869ca249fe967f0be322b3f80ead3ad208375284fdd88f00752711119971f9d7c72415a113c63b950cc4414ceafed5acebd477f0189fe3d958ca62722b110069ee54ca916d783d36beb7accd1d70434599f1db1c8e8580ac95a765e60e1b014479f313e0ab4c3066e7b6da0cc45c9499676f3daa0d2056f902bd0603eb4c9de65083d2f3a8820bba09bc859c3307e497b782bee409e9401d9feedf3ed63b82ecc6924bf5aa4efbc223ab0d0bea190f7c8faa2e60f1085f396fbe055529cd56758068b019bb3ba86f9b91a194aaaed9c0bb040a0980e65c1ee9f86c6faa28e6d0578f98d980b633ce8d439a5977bf78cec282fabcdbc07d2c34f054dda1f57009124b8bef916d6684c19e310451fa69b628598d4a4b0e526271a171d481eb800779956a0f6c909a1774094499a737b7fc3b517ccf4e08bddbd8bace0e66ee38eb8059675085f81c777fa16cd55a3f9669e1f8041f0ae22b905189c5b40c91810a9769d0e3c4d15cd4fd5e272b2342c470b8b3d677fca7af402bfd23df960ccf834748b8dce801fbde9c5e4aeb26012e7dd0948422075d12186b6d3fe51f784a7675e013983938e3753b9c6739dbbcb83b99fdaa6d4f6151becb3c79fa82ce96d010ef67529da56c14e6f89a7f0d8a67a48d8c7e6f682fabdb7698da38ad25150feaeba4551380b5c101457bd7742f0dee1288d955f13c1a99eba6b4ecf3dd397057b6291f827cfe16d18b279ab7d8c463004704aeef3875e2d701a9ebfccf883b964f1775af993882ecc55f5c2ed72c3d1c9b57fb6375c8d536face15511bd1f758692c498d72d170322e6b59a1a132d5e61a5c6c6d996206edad666efa58461d068431f2b589ee0ec30581c45137639931f9fecebc43d1c1fc0e7fc0ad2d2a8ba4ce54fa3e283cac147d4a0ece7bb9ab67bf48c16ccbeb54a8fed065fc366b1cc29b35f19a3493c0c0183a5d6562bdd478510ca21db9d5891ca1827554ecf1323eadee45a97fd8396595394e4717680e3f4e996482f49e7ec1ed0c75bb9b60c838508026f163d9b5980c251d4091bccc82a9dfae3e53ae45afd0744212f71bc4805e8e83a4fd0e3e44e8a29ef5f359c91a86271a27d1b66dd4d6e051681e4e54cbc060bfda87a8117488a6549ad690433fa048a86c0bb8127b5924f97505a773bcb574d8a1a7344628d15445c4d9eaa48a43260809faaf0670970c0d5f11ba452161f9fdd9d41e23951ea1b859541e6e6683de7d0107fc6fb044ea13afd14eed3e9bf95b5f565b55db30a81708551965ed218da2f2fc040566e27bb0fd075749f4cf1fdec989435af605d42aa582905d04d6ba40d3b5d4e55a95cc36eef66d554e4934d1737a8ec2d743cca5b8195da9f60525daed48bff4368974df5b06aaaf56e82b71767ed33acd0cd83286ea19316cbc828774038c4522c7f144859b0832bca64218d721d8e9e2171a5ffedb32a5c22acbcdf4f6abc97abed3356d8cd37aa881d8c4cf93f6ad567f55eddbdfc2cbd13a2fd8df86531eba5ec15379afd67b2ee4055c3911ccc967e720a92882f3c9fc961b6614bc311ffcedbe58230e4a326aa352a875081170919831c3d61374ba8c2610e9265fb6e5354f0a9e87e19fb4ad8e097e16399ad9350f9108eadc1e5b8886876cc1283b9240a9560932ea5c61cf196b1b25d46c4633c24c1d522fed3d54413b7d682b8031086c64de82ebaf96d146c96fcac1c4a7faec6a1d7e528faf4f3d07f115554c8ad1571479c2e294f2785b0f63f329f4d4617088434b04a2026e9fb9884d51c37c399d72c468f206dbdc92ae1ccc07d45c5d5d1556a7337f8093b9486fc2bcaae58b748c6f3cf00d6153a060753dcd30016ea40d2a4cc59b02c941e65bc96e02b89a52f511893ca7fb2c6151214cb93bfb1adf7c01f5367c69250e8243bfd7677c99dc3943a0344774287b19b05322fa8608af8ca45b8cc764c891cd8a8a2b65f65771e999d22468408afcd5eb60ce713b7deba395752824cf64e6366579ce5c06325a09161e924fdb010d6f3904057e6473a4ef1ad31d8ed6b4e5116505d4daecdd3fdfab3f1c750eaf5e3f1551865f255faa24ce32a14a162abfb3da77c72174fcd4f009febd4fce3b3898674770ab27bb896e1cdeec488213f5fe0250073f5bb6ed21754aa24ea6d17e7e731190bcc9821dc81857094f1bb286d371d2a0fd3ee21994045d1488bdc9d88abbda517f8239581a44788a99f376797b5dcdfdb1668ad3835820f764e1fae4b36cca9c98dfc562857c0b927e04a7bef8d524c8fe6ec30c23f1ad0d79290f6717696588b15983b43c381ed2da099ee4490ea70efc6544dbd4ea312ef77fe691569d1e70c8cc65bd6fc57994f0497aaac5b571c3dd2b9a3f4f1d454b9353a36a427f874687b3fd63032199025c4c612c6383f545156b4231fd12291d5ff98a178d967d27456c750ef3b5cea3d70134b0375565087b94745a48bcafc265e794242dda04029056848dddead60d18c844c295698f7312fbc10182a0f72b5e079b8f0123d6cc4d632e030a83a527dfa2e80cfbd6ae91c1b535e6fc5af3f69020528bf6ae339748e81b4c371256ecb3d7fad1c9a00116ec50d94dc1ed371d8d125e85dd7e87b2c222e71326de5cc2f9c381b47d00be9e08d27d4836ee6e027e5aa755cbb4ed09154bcbe862db351c8e0ce247c6ea16107e4cce101369281c442daa0f5976dbd7006b1941f621afcc31c0b1dcfd2ffb2139631f5adef90211802caadbdc027ebdbee80b06313453c1b4c86235ae0256eeb3219026a6a355d08674b78adcc6b6efdb1e0aced6489ef072188b579217c1e31dacee6ea8d5da26f451fe1aaba823d643e97017ffbdd4d491caddda9997a86008d2b08d93fc7d25d829c5b3fba96efdd79690b02c65ce85f202fcacf416f8a1a91aa2fdae39901a368f0127124d5cfdc7216f5ab52efc4e0ccad016567e65650c35bd0b5625cf96aaff0083390120bc3e97da476a90d97f9fa1084c883d75b71e891008986170ab69cb41f0278e916b578ae035508de7bd1e30e18ad7ae65ea3807656fecbfefbdda47d57d03914b9592a7a4d8549bf3c21fcaa7256d17749d4d9b4eac9a271914be3ca57539b7bc93f10ec594d6da9b802637db93b0f0cb6d1c71f42ef7ee31cceac42f899f039b083846d5cc5eb5863fea2569008983d5a3551ff9dfa91767966068b9e1e4b0889aaf736a5e34126ada707f0cb3c01d6bf0f1de18bf35350978384525104a10ee3023f645c3bf3d0ed96239463937f0fe845929c88dc255831e7f8c2a8a33613e4e1e2e2996a36ced672b6b3f488c8755c8823b7ba80764e16225a0eefde06a7105cb80c39ae63c22d86eefc1a5ecb88443a80fa95cf861cc27872b2019705f09b32a3c8c1a9c3d99505e51c83dd6c62063108d71dc90547487dd60bcd8290b35aec243439c72339ca395c5199f1d14b827e67bf566c58ba980d46e408493e4da36b024ae657af6ea02e83fe12275e855c5666e46fc8344ed19dacd8da7589df9e0b8e85a56fa3cfabfc9dd1be663b5240954f656f93586d1ca5d9434c277556ad60e7e51f00158e399572235a701efd1c1fdbede39473633faf72b4ad8c64edb2ae90ce459e388f6ce309a7ad31290ff9151c42cec67051d855e29b4130feee0c99263e8aec661460536fad3cc9205544beb0c9cc26c8d93d1c91975dae0a05d99b202436b65dc49732cf37b889588ca89e88c1e678763520b0234a3cd5f5bb66bda38bfd5c2b6e7be3a83c814206900b2ddcd3a3a443c57cfdf5f88ea7b33c3e7847fe8370b9c927142bd7703469e7041e48f4ea9b241da37a2965852a04dc0f6cfb0c35007af0b4921ecbac8b219abe8cfc03d36c6eba253ce2a3008a11753ad4056a3a77a6af1fb4abc585545be7831e81e484706e9eac507af4a1f87bf4ac6b0f9debb952958f19504c9a1d9ebe2a8714d1afc171a6da1c60c976f6ebe73d2c0b353a513d2b65a32c2cefbd981abf7acdd2bec381545e182501419d6ada937e837908ba1ed34f7bab72a4da6d59235d99c4391b63df7b66de0dcc87d2a9ff3cf555ac0e4d7580440c5dd45f85c915f77cab178a07f4471c85213c59973c8fe802e4fcd94863cc444486debbe4dd01f8592c6822b45d5674a650e0b856ea72ee10763dd9721a3733b1e980561d0fc56130027ef9becfec81231bb676dc7a43bd2b82a34d5e52a3927644c451b348178f6791dcbc1c3d6926451f62b27bbdcd6254beac974604bf0b5966806dec18a643ac233440bfef2df6bf78481608b6d4a753bbaba7a939d709a113e67344fd72142a660a4474eaa2d6fe5895d96a422a2cd1fa295f3012d45d1b72f1d47b473ea4117bfd6f9f0ec9127b07a1799d37264d00734261932d51fbe9e4687df0ab6fe3e4f30c60283b7929bef79a1a301bba0b43b8c44eaa9d75ed89397eea85eec8db2ad8e920718d24f3f9b9e9384c3878a5c5c24a4f1973d850c3325265689151ab2bd1aa6d2a21b8aedf86b7dda9f0772736e318ce3714b0c621e21a000d9ba922b7dc9d06b2b036c9ca0f988a5cf6abe58666b9dcbd5601bcb9dba40f038518cc7f11fb1a837e02c6dcb319b90c1905bb1b64ed072a98201163c662694387eaa935f862f05cc301b403e80d33aa2b90ee412f93ed0ae70458ce2fadb1fd0cd51d9c3d57cfc44db3016e263eea4f53696e2060668435287dc1a1aae3b77329ce2730a5679819564fb7011bfd0249b61c440e4cf3a41fbfc274d7015bfd612055a83184e3b000407dcbf08bdde3719c167f80cfac5ff6b854c975581539d95ba2cfddf27a36f584bad6b6ff2f69d2c31bd4106529274cd730511fe87682530bb245788485cca4788bfe5205d0bd40fc0fd524338cc9407a9d642184602436cd4e10ec70fe7caeb27a8fd4ed6aecaa0cd79e7864ebea7b33f542269e6e1e5471ee27919ef1c0d1047287ddf5353c4b926d1ab07beb437e4fc2464dbb6efd960d115ee78387a165810cc761447fb853b575fb2073d1d50b94f6b39e833e2a436f8dc1f1c02952bcf669287384a68a2c41ca019f3f8bb52167df2a463277f13266e2d1fffd1c82c19e4fc2e0045d5f74418c23e5dd3dae9cd861a91d8289ea1af0f9c967428cb2944cb682ed201863b435c7a963dd2c8de9d8491fdfd6fe21e1e4b041e58b142149988e52210b31807b048874ca0651aa48cae2d549a7d4aab1"}, {0xd0, 0x10f, 0x3, "7959b2b8bbe519f9f57475e2bb82c068b0dff3c93094b504baa35b5cbb9f9140f1d891c9b0bea919239f04c952d8efdb72e8017762855c78a027eefc10d7bb56cc17b4e9dced0a34a95536b9305b9dce9d3d99ec5be8166537fea2cd049817ee0e3548420051beb616472ea97c458c54fdd72cd7bd798486415dc0c2370e9a21ee551327ab9ce6a9beb222031894a90f440e49139a5a0e34242ebcdd5fec840a3821fe35ec05471be2afb389436da0e65feac21b48cd99719e8c"}, {0x110, 0x116, 0x0, "30969998a584b29bd116708a5263e6baacf0db9dd9b8461dc14e744b53d1a24b0f4949c75a30fd05c2a5a94a2bb81a319e6a019881e3f146aa1e60ce55757942b3f388f88ac1aeb4bfc3330f218a379c6be55977c16401bf9ef45c7f2f60c3768f8a6d598419b471f479ece3c0b68444e7b42dd3f95603f8bcaab2f646f966a189d133a8f246d672932ac7081290386fa89283c0a7a83c89ed9c9ade7262cc78252991029b1f272d29cee53c1f22b8417cff7031a61c1c1368ef992b9c4f91c3a8f5b87b84845f3155620c1016e7b1196c6deb1b468f183855df3b7c5fbfc5feded85ef76a7b774c5d82921c960981bd8e6ac927a911f708fcc1"}, {0x78, 0x119, 0x0, "512be8cf56f9a3a36cd1fb224cec8d02c019095825fd583b8bf2a37270ce58bbc81febbe0ff3b5571c52cebfced0e898893b345b6536e6366e119557e03b4362419e657a31c50e5a97bcb806f548403e7b77e1c61873f9fbb98567632a55bda396a13bffe17fd90d"}, {0x38, 0x110, 0xfffffffb, "e6f1707d74588abcd5ef307e0fa842fdd7a36dbb1a2396083b6abfe71d554b0839864da3"}, {0x48, 0x104, 0x7, "8963bf49564c79d23c92612e29e4355ef7dbc6bf69c0bdcee8d277ea95230f356f6ef4034362812d13b1171f2096df69809536ecac"}, {0x110, 0x1, 0x1, "c073d6237c79154b1aae15440f5d99377f10644c91c865d909d27b44801155528d3d9550bf2d8932c8af72a31a8b291363f76a77e8f8b7947c9709f5ab4025c4319d01344266859e8cfd80a5f28777a67fd742192bd755523fd307e9b3974c137ea2fc4c96d1f88a5962f151d9d0c7d2c91cad4770ee9590b7e89d8ee1e5c32d12b3dc89fe4c5e9f40145405f3975cdcbefc4e55cb2cde6460fa22e0a07d2caaace68c9bbba92c72bc5b40f0c8fff29989a8f5043b118f9cd8bc2ef2b871df0300c7fcba5dc5abf367b703e2194a5b364902b3a6d67bd995b222eb9b83684e1369d03fab4c8074522dba2b17681c6538682a9fb639a87a94b43be853c98826"}], 0x14c0}}, {{&(0x7f0000002c80)=@nfc_llcp={0x27, 0x1, 0x0, 0x7, 0x6, 0x9, "d03dfd877c3db1a1254a9d6bd6df9c5d02eff2dc5ad536c2e0d60fcd3ed0115ca9431c7b6451a8f0dd2e78773b1fba2bfbb0a2201650ebddbf91b204d52a91", 0x10}, 0x80, &(0x7f0000002e00)=[{&(0x7f0000002d00)="e3adc0bbb7479bcef003ade77fad232ecb0a792ab86005111d73d129bac2ca9c968353099e5813ba6d045ed2cd48a2ce046e3033e8c1c9183bf5b5174a1256910dc185afeb97362a818db39890c46e4afc0f97300e72fa5a40bd20a50a30281ceaaa26115f63100b985bd05d3f83cf1ffbd0711ed42f79797704d5700cfe1af80eba9e96474d4ed2045bead32b6e43f269bcdba5a3588824129f075798bd96041bf5fbaa969c6669398fb0aa6e2f3115", 0xb0}, {&(0x7f0000002dc0)="881fa5bf316589994cff", 0xa}], 0x2, &(0x7f0000002e40)=[{0x50, 0x108, 0x41ac95d2, "f8b2afe63c359582ff5629eb9d9b9be9a98a12bee167af3681b1cb237f3123a5deea1b55abe33e5ea70c97fe49a2723c28bbfa816ab6663069876bf49b4927cb"}, {0xf0, 0x112, 0x4, "e71bda0339be802a187ea1c53e3703015eb345c9b31425bbee70531bdc6874c102def3f4638431405ce553f360fb74a6a2394214b68a27ab970059e28caa9385804dba91fcf1bf902b9d8dc3daba5886f6fc664c17c68c690cb3a919aae90c0610d36c60f9183ffe11b3415022d4f77533d5c9806474b61edb2704facd914f0279dad7c469de912f8eed2429b80c28c7d05f1f7ba9c677c11b841261e3fec6052073382b3e236b1a695bc431c812cf20e61aca4d496f0f3b78e9d920f47a3dc045ace893a9b280d058f591b9f7fb2bde9fb19c87b9b56f7c7687e50fd8"}, {0x98, 0x112, 0xe6e9, "1701831ffe290c1f242eb00b733bf364b7e6c51d96c194c436d672f134362754147ab31edebbd9498bbefb29db4b095ab2675306a322f82b8b60dba89b4fcc7e888a12edbbb2851589066aee8752c0e63326db66c38016c83b0a5857bc112a277883882e34393f1f208b9ba4c74524dfcc75fac825210ee26222ed60bd4771bea4790b"}, {0xf8, 0x112, 0x7, "2a11ebed326be9ec1393bb06c3e060d7f09104bcd1902d726889d8288d3e251d339cb2676985f00429acd2e2626b429571c5f40a5e60f0d077ae0e4266eada799861418b4624bc8bd74c63681df6167f216d424d421c30801302eda5ea8c349a34127f1f3d7da709354550ba8a7172327bab3f7f663d90f2ed2d7e2ea8bf20c113612bb57c8a1c6bfdcc15f1ad49e77064cba43962df7ce484018d77e6bcaf27c9b927aa3d6650ba7aa583d39d7ddd918b818b0b7e8bd338c7c8d616a7b6868bdaae748b20895b902eefaed18388d5a5ee822a6d9f1a77b0ea4c165b91e18d8f1d484905609f63"}], 0x2d0}}], 0x2, 0x40000880) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) 00:43:41 executing program 5: r0 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='blkio.throttle.io_serviced_recursive\x00', 0x26e1, 0x0) r1 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r1, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=ANY=[@ANYRESHEX=r1], 0x24}, 0x1, 0xfc}, 0x0) ioctl$EXT4_IOC_MOVE_EXT(r0, 0xc028660f, &(0x7f0000000000)={0x0, r1, 0x4, 0x6, 0x235, 0x100000001}) ioctl$FS_IOC_RESVSP(r0, 0x40305828, &(0x7f00000004c0)={0x0, 0x0, 0x0, 0x1c2dc0000}) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000080)='blkio.throttle.io_serviced_recursive\x00', 0x26e1, 0x0) (async) socket$nl_route(0x10, 0x3, 0x0) (async) sendmsg$nl_route(r1, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000040)=ANY=[@ANYRESHEX=r1], 0x24}, 0x1, 0xfc}, 0x0) (async) ioctl$EXT4_IOC_MOVE_EXT(r0, 0xc028660f, &(0x7f0000000000)={0x0, r1, 0x4, 0x6, 0x235, 0x100000001}) (async) ioctl$FS_IOC_RESVSP(r0, 0x40305828, &(0x7f00000004c0)={0x0, 0x0, 0x0, 0x1c2dc0000}) (async) 00:43:41 executing program 4: r0 = socket$inet6(0xa, 0x6, 0xfffffffe) bind$inet6(r0, &(0x7f0000000180)={0xa, 0x4e20, 0x0, @empty}, 0x1c) listen(r0, 0x5) r1 = socket$inet_dccp(0x2, 0x6, 0x0) r2 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000500)=@newtaction={0x50, 0x30, 0x1, 0x0, 0x0, {}, [{0x3c, 0x1, [@m_vlan={0x38, 0x1, 0x0, 0x0, {{0x9}, {0xc, 0x2, 0x0, 0x1, [@TCA_VLAN_PUSH_VLAN_PRIORITY={0x5}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0x50}}, 0x0) ioctl$sock_inet6_udp_SIOCOUTQ(r2, 0x5411, &(0x7f0000000040)) r3 = syz_init_net_socket$802154_dgram(0x24, 0x2, 0x0) r4 = bpf$ITER_CREATE(0x21, &(0x7f0000000080), 0x8) setsockopt$MRT_ADD_MFC_PROXY(r4, 0x0, 0xd2, &(0x7f00000000c0)={@multicast1, @dev={0xac, 0x14, 0x14, 0x13}, 0x0, "e0fd51acb2202f95f459b8b7bb95051dd5e06eb8f9235f90761d6773620ed013", 0x5, 0x4, 0xffffffff, 0x7}, 0x3c) ioctl$BTRFS_IOC_QGROUP_ASSIGN(r3, 0x40189429, &(0x7f0000000000)={0x1, 0x68, 0x101}) connect$inet(r1, &(0x7f0000e5c000)={0x2, 0x4e20, @dev}, 0xfffffffffffffe1b) sendmmsg(r1, &(0x7f0000001cc0)=[{{0x0, 0x0, 0x0, 0x0, &(0x7f0000000300)=[{0x10}, {0x10}], 0x20}}], 0x1, 0x0) 00:43:41 executing program 4: r0 = socket$inet6(0xa, 0x6, 0xfffffffe) bind$inet6(r0, &(0x7f0000000180)={0xa, 0x4e20, 0x0, @empty}, 0x1c) (async, rerun: 64) listen(r0, 0x5) (async, rerun: 64) r1 = socket$inet_dccp(0x2, 0x6, 0x0) (async, rerun: 64) r2 = socket(0x10, 0x3, 0x0) (rerun: 64) sendmsg$nl_route_sched(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000500)=@newtaction={0x50, 0x30, 0x1, 0x0, 0x0, {}, [{0x3c, 0x1, [@m_vlan={0x38, 0x1, 0x0, 0x0, {{0x9}, {0xc, 0x2, 0x0, 0x1, [@TCA_VLAN_PUSH_VLAN_PRIORITY={0x5}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0x50}}, 0x0) (async, rerun: 32) ioctl$sock_inet6_udp_SIOCOUTQ(r2, 0x5411, &(0x7f0000000040)) (async, rerun: 32) r3 = syz_init_net_socket$802154_dgram(0x24, 0x2, 0x0) r4 = bpf$ITER_CREATE(0x21, &(0x7f0000000080), 0x8) setsockopt$MRT_ADD_MFC_PROXY(r4, 0x0, 0xd2, &(0x7f00000000c0)={@multicast1, @dev={0xac, 0x14, 0x14, 0x13}, 0x0, "e0fd51acb2202f95f459b8b7bb95051dd5e06eb8f9235f90761d6773620ed013", 0x5, 0x4, 0xffffffff, 0x7}, 0x3c) ioctl$BTRFS_IOC_QGROUP_ASSIGN(r3, 0x40189429, &(0x7f0000000000)={0x1, 0x68, 0x101}) connect$inet(r1, &(0x7f0000e5c000)={0x2, 0x4e20, @dev}, 0xfffffffffffffe1b) sendmmsg(r1, &(0x7f0000001cc0)=[{{0x0, 0x0, 0x0, 0x0, &(0x7f0000000300)=[{0x10}, {0x10}], 0x20}}], 0x1, 0x0) 00:43:41 executing program 2: syz_mount_image$nfs4(&(0x7f0000000140), &(0x7f0000000980)='./file0\x00', 0x200000000000000, 0x0, 0x0, 0x212c010, &(0x7f0000001ac0)={[{'udp\x00'}]}, 0x0) (async) syz_usb_connect(0x3, 0x686, &(0x7f00000001c0)={{0x12, 0x1, 0x310, 0x34, 0x39, 0x67, 0x20, 0x1199, 0x9090, 0xaf36, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x674, 0x2, 0x1f, 0x3, 0x10, 0x0, [{{0x9, 0x4, 0xcf, 0x2d, 0x1, 0x31, 0xf, 0xa3, 0x59, [@cdc_ncm={{0xb, 0x24, 0x6, 0x0, 0x1, "67574188f06a"}, {0x5}, {0xd, 0x24, 0xf, 0x1, 0x1, 0x101, 0x9, 0x9}, {0x6, 0x24, 0x1a, 0x7, 0x3b}, [@mbim_extended={0x8, 0x24, 0x1c, 0xff61, 0x9, 0x132}, @mbim={0xc, 0x24, 0x1b, 0xfff9, 0x7, 0x7, 0x56, 0xe86, 0xc0}]}, @generic={0x8a, 0x1, "f5c0c377f50b59459b6f2b4b82674c279a26354b39ae977de82e93a236c941b8a6d31bb8441dded7c35928eccd1a159321e91f9a3bf5926715255d1f86916e5676927b895ddb071784b1598b5a54a83d09904083412372b954afad070ceb10f2e57aa7f06f395e4ba0d5a57128c7f8dd965ca2f64d44c0cb965b708f35f4d932030f6d74c50e4c18"}], [{{0x9, 0x5, 0xc, 0x0, 0x40, 0x6, 0x5, 0x17, [@generic={0x31, 0x30, "85e5dffb649f3904cca17418817f444e5b5a8ea6adf96660dfe4b52b34c37bd198dc201a658f754ab21f765ff49fb0"}, @uac_iso={0x7, 0x25, 0x1, 0x1, 0x9, 0x1000}]}}]}}, {{0x9, 0x4, 0xa8, 0x7f, 0xe, 0xf4, 0xde, 0x32, 0x0, [@generic={0xb9, 0x24, "8c58e3d1b4aa0a71e5ec6a80712fd42b975258793cb758359abb32a6af9f8552ca464ebb3796c20202b6ddd136db4ca428cf25c6e1da0ac2a1c5976e4c362b8c113279830bf519dc46892aa2af2bf85dad2420ef65b2b8b03fd9915e5377e1711779b846abce6cdeecb0d3edd7df0f05561c5c8873e472429484be1a2edc09c8f12f51f8aa864f34f1d12e0eea6340de09e40d823b142b068a74614a9ddd1c87a11332df794b4980b54e701f7574f5d475c20b84d20eb0"}], [{{0x9, 0x5, 0x6, 0x0, 0x100, 0x4f, 0x81, 0x7, [@uac_iso={0x7, 0x25, 0x1, 0x3, 0x8, 0x23}, @uac_iso={0x7, 0x25, 0x1, 0x1, 0x7f, 0x4}]}}, {{0x9, 0x5, 0xf, 0x2, 0x10, 0x0, 0x2, 0x7f}}, {{0x9, 0x5, 0xc, 0x5, 0x3ff, 0xc4, 0xff, 0x80, [@generic={0x45, 0x23, "890f6457907127805dc405734241766cbe76dc5ec27546dcb8c2262ef4705613f54aa27156b93570a1a513c6e400ffd5cf6d29cd71761b7c7a7c0e0452c8b826004778"}]}}, {{0x9, 0x5, 0x5, 0x0, 0x8, 0x6, 0x2d, 0x1}}, {{0x9, 0x5, 0x3, 0x1, 0x53f56d0855dfdb9b, 0xfb, 0x28, 0x9, [@uac_iso={0x7, 0x25, 0x1, 0x2, 0xe, 0x1}, @generic={0xfd, 0xe, "8c8d864e9ea48f3282249c87e50d50f9e42cf4eef174bfd7d523973ce7ac84a7efb838739466205655235b0f81e4c1869785fcd3d011769db208c9a8300a83ac57f9a9242a1da48b309218540f32eb90fcf1c49745454f6cd79e1fb3afc93910a6c6a349360fa3d85fc1c294d2f79a6a34d21cc90b51126f0fe4272ee1ec2fa6b08a5ac79f55f47a7f648f2c88b9a5e927c321ff832bd93bd6c8e7b6dda6054875729a4640425c5718c7f38e4f944c7da396f654c52694d26cdb74166924c1dd476b831d54a9f7c747d864f87d636fc99b4953e1e0bd6373751f30d7eaffc8467bbf8bdcc758a67e2c097b66e51e8780930ec65adb64072a1f27e1"}]}}, {{0x9, 0x5, 0xf, 0x0, 0x10, 0x3, 0x0, 0x20, [@uac_iso={0x7, 0x25, 0x1, 0x0, 0x1, 0x932}]}}, {{0x9, 0x5, 0x0, 0x0, 0x10, 0xff, 0xf8, 0xe0, [@generic={0x6c, 0x22, "a985e01e3ff0581365642fd5a611932e564e2741c6e3436d48904338a0f8dec0fdac20f4a575934a28af9c27a4f17879f8d59e48956acf4f215a3835e51d4eed305c81af0aa166890026d29b1e43b905c9377f54185ef9a40d14bd77b18a2b0814ad52e1d4df0020a0bd"}, @generic={0x26, 0x7, "c706e01f547ec38285d12a58751f05a6582996b7f2da07574467abd0f5c2a1672d969065"}]}}, {{0x9, 0x5, 0xe, 0x10, 0x10, 0x0, 0x8, 0x7f, [@generic={0xf, 0xb, "1fa21aecdc5f713bfaaf2372eb"}, @generic={0x69, 0x30, "0e372ae1e65ef7b043510f2896438616f0488f575b97796023819676d841a0da7fcdc2baa4f3cd255d2ce568df6062cd56c9f876d865bd2b95b0a13a40c1c7cac49748cc9dd7c43cc767e951b15ea926876adbf245641349179691c9c75550ff2921ea44d1d3c6"}]}}, {{0x9, 0x5, 0xd, 0x0, 0x400, 0x7f, 0x8, 0x3f}}, {{0x9, 0x5, 0x8, 0x10, 0x20, 0x1, 0x1f, 0x0, [@generic={0xea, 0xf, "b4ca914f8b4ae4b73192b02da3415402ef5bc1a7f23f2cfcacaca19e0852381a4ab39b8072c3841236b4aa39265b09208f788b24e2cec2ce879c96cda0bb9660b2664857f788282669e60b060622b61c63b599fc7e4f7905eca5a5edfa858cebcb92125d1730d1073b628fca38a8403a5cb76e70360a5f4bbb3c52c867a73703fb5820935377343351bf123bd5e93d744c4238a8e943cb58674f1bb8b117905e347263389b52c22c74aed1521c57f1754559ff0654b08b4fb2bc98ce146de99ead29198743035a1fcc35563f907352a1c1a88dc08189d12e7d8ecbdf420c9ec957474c33ab6c6d4f"}]}}, {{0x9, 0x5, 0xa, 0x0, 0x218, 0x0, 0x20, 0x9, [@generic={0x44, 0x4, "01e1d288dc76391f3d49f10374ee379d1236a1c4dbee565e03b864b8f2189c712f58b84ee4d2bbabbb809fd234b097ae87bd368a521a6c76818c040f260016ed6fc6"}]}}, {{0x9, 0x5, 0x2, 0x0, 0x20, 0x8, 0x6, 0x20, [@generic={0x7c, 0x2, "1224f314bdc71d9c6d3a0341718a4173b0a5840b7843c4fc7cac75bb7be110118f8f9ad3a1574b0430a7b7d88b1668d58a7bf3648017a2bd6e9d3babd9b3387b4fa1b89669289c9836a13ffb4cf029ace64ac12ebf906085a4349f99f810e3834077feee8df6a0e1eb9f85478641b8a7caca5f08e886736c3438"}]}}, {{0x9, 0x5, 0x4, 0x2, 0x40, 0x8, 0x5, 0x3, [@uac_iso={0x7, 0x25, 0x1, 0x1, 0x9, 0x1}]}}, {{0x9, 0x5, 0x7, 0x0, 0x40, 0xaf, 0x4, 0x3, [@uac_iso={0x7, 0x25, 0x1, 0x2, 0x8, 0x101}]}}]}}]}}]}}, &(0x7f0000000c40)={0xa, &(0x7f0000000040)={0xa, 0x6, 0x310, 0x8, 0x8, 0x2, 0x10, 0x81}, 0x5, &(0x7f0000000080)={0x5, 0xf, 0x5}}) (async) ioctl$F2FS_IOC_GET_COMPRESS_BLOCKS(0xffffffffffffffff, 0x8008f511, &(0x7f0000000000)) (async) syz_usb_connect$printer(0x1, 0x2d, &(0x7f00000000c0)={{0x12, 0x1, 0x201, 0x0, 0x0, 0x0, 0x40, 0x525, 0xa4a8, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x1b, 0x1, 0x1, 0x0, 0x0, 0xb7, [{{0x9, 0x4, 0x0, 0xe7, 0x2, 0x7, 0x1, 0x3, 0x7f, "", {{{0x9, 0x5, 0x1, 0x2, 0x10, 0xff, 0x0, 0x8}}}}}]}}]}}, &(0x7f0000000940)={0xa, &(0x7f0000000100)={0xa, 0x6, 0x300, 0x8, 0x0, 0x1, 0x10, 0x40}, 0x5a, &(0x7f0000000880)={0x5, 0xf, 0x5a, 0x5, [@ext_cap={0x7, 0x10, 0x2, 0x2, 0x6, 0x4, 0x5}, @wireless={0xb, 0x10, 0x1, 0x2, 0x16, 0x0, 0x4f, 0x6, 0x7}, @ss_container_id={0x14, 0x10, 0x4, 0x80, "424e8f80419da314c41ce7b4a2e7e60b"}, @ssp_cap={0x24, 0x10, 0xa, 0xfa, 0x6, 0x3a, 0x0, 0x1000, [0x3f00, 0xf0, 0xc00f, 0xff0000, 0xc000, 0xff00]}, @wireless={0xb, 0x10, 0x1, 0xc, 0x2, 0x7f, 0x4, 0x58, 0x40}]}, 0x1, [{0x4, &(0x7f0000000900)=@lang_id={0x4, 0x3, 0x40c}}]}) [ 317.952845][T14595] UDC core: USB Raw Gadget: couldn't find an available UDC or it's busy [ 317.959146][T14595] misc raw-gadget: fail, usb_gadget_register_driver returned -16 00:43:42 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) (async) r1 = socket$pptp(0x18, 0x1, 0x2) sendmmsg(r1, &(0x7f0000003140)=[{{0x0, 0x0, &(0x7f0000001700)=[{&(0x7f0000000080)="90c96edd7e92d52c179f39bad590153c148c2e74e24d4aa065a6245834a9e6764daaaa685bc914f7197a61bf5d97dd2938f5e0427549d34921383b209fb39ae744b822d8fc101b40bfea5ec7707fa49578fb3af635d31b79e7c92b1325c0fba3096e162837400fa9ea73c2f813d2489e7d33de46020878cb07525e428441b80196cf482b3267509727bdcbfb97f1fd8dbaf258539b23b4b4d310f67e2c0084814ae8cdf7cbe6b7a6c691f4ddbcec2048325ee3a5e0abe74d959414d989a24b86fa7c7660dbdd1021", 0xc8}, {&(0x7f0000000280)="66332e89d090ee73496470ea700f421b6014f75159b1e43b46f4e9b51a2897ff2ef5fade0c692794b73aa1f4318300004a044b52c394862b57e5b491259a9974d4bc06b12d3697476b8e9c563ac3de1f64b5bc19b0219a572fa692c11c84e0bef446a02d4c53dc358a0f92327383ba1deb5b3f74f01fff4201e161a2491576fce41a832f31f3d6dd5875061bdc640ad4ef3651457619cb3f569a0749a82f075640e3b1f71b6a5b43649bfec2134172c36b2bd0943455ce4d28d051e76cb56bd8326461e504d4c799cc23d0fbb275274601794d15663afb98b781b878822e3bd23cac797d60671f6f41095cee53efcd129afb782370862dc1", 0xf8}, {&(0x7f0000000180)="afe0fa7034915bf77e879ef3e3d43d014e3c6585d99a72cd30a0d0cfd47bf271a3e41d0c80759c3f86c4333bf82ef8ed6e5e67c70adf51dee1ea78", 0x3b}, {&(0x7f0000000380)="c7cb6940b10c060a52a3f5cf9b8c12db9b5e3bebb5fe1a1b6b281885e3d55f1a81816d7b614a5982341674e3f090ea897c3d91a5c527bcc8726dd04018fd8cd0e0bb26d240d6da792e34af99433fcc28652da10428d7f3dbeb9a4bc0fa61b45beb4a33337c9ec5aa7f4b8e5902473f22a4e5a7ae4f545f8ae9c92745c615c39e2eb0f6dc8ea231210208facc2a3511c372a39b08a4f08b77e5ff492abcf7a096dc3e10bb9cd3efb7811de38e6274f1cd8b9c", 0xb2}, {&(0x7f0000000440)="5a4ff8fca71d86ce7d48a6821805d8c7b1c6256c4416a1a36574c4e5b807b63358b3b8d314f81557e71e153b8e9976f93080718b6f5beb922822709ea72677f4148aac7520c1d0ad0033c314", 0x4c}, {&(0x7f0000000580)="f05ba5c7cc712613485bad7d5eae19fed4c6e58fad9d2aef4b11ecedb9ab8043acad654e4af4f8a974571ec38b6bf27cbe7cab6d7a857026c82cd6de733258ba3dc556b1c351793a68acb5c771d5edaad34121dfc480f7431f6e97b1dcf6523c9d9dabafe19cc8815842cd43f74185f7119c027a6798fbaff35977e5b566012b8f0d49a62b17157a21fb9fd23161247996ab8e8d6076f919cb6d36f32514edb07fa0d4a6fa15303d019a4f159df81b74c571c22508c693fd59a2cb8cd5d4456067a29a32a9f3c388e112e2e3a5452c474a8b1df1f600786c70f18d4416cd24bc220b8a171ab818cddcf0b342e536410f9e3f31f9bfa1d695e62be0a428162a54b3c6503726f38128f01c423c200303830202f5a140f0e1ad400a38edb90d8f136f095741862b25c8e22fe52aef07e7e5c88647d71b7b94c97848d211352f5010883ef247ad014aa361c05acecce290bf8247a5a78fa43bf141045e7c92da159fb6da4b7383ba4f93cf314a331018e2073ab8b916d7fa22ac56b85c4ec565bde6426b1f3791db7cec3fdee3f323470bc7534bd6bb13fb572e78aecb808e573364507125bcc10f103c5998959c20c7181688727cbf4145d52b9fb6f63a60d02c98138a1b4270971f954598c56f727c8395b5c72c84fbd038899da5b111949b21bbe97cac1ffaf0cda3a181b5ffe8b1d5c9acae82701663e3d5c47c868f81f5f2dde28df7b317a22f390ad8f96b40597676af02bf4ddf43794fa638c3c45526dbca35c82862e557918512b5cf1da5c0c4c26c22c22b557f417cb0014521b8897ee11649f7d347776627f29bb870b85ba7442413eb68686ed1f7a495846f7e6017801b280e7219b6b8844cef82bd2bacd8ea659c69f911ada99ba4bb1f03df915b8fb59f06030ad0a49603757be8bab8e17b63edd899bd0101441816bd56257b01488da9fd990c8d36bfda2d753c557b0106a67150ea3cb9532fabf14a71927303b6b333215e5b0ac72e6d6cf9ed7ce5c83d34160582da6c4613efbc7e7ad673a812a2fe6e589b114b5a843d78e272b815b76778090d96f3099910d874da14d562556a80557c8547a1e46f149223889d6ab74fa5b20079aa9f88dbd664ce4086badd184a346841a2cc5b61881c690a826d255652b91e635ec301779ff9e5eaca7ce6cdf73adce36e4c1d6c63432a58fa981c214842b6751e0c4d53d23fe187e2b05a0b754a115be996c214e6d1a47281e4198311c94e62fb63f88f84dc3bcababf47f3bddef02436768cca8ae60e0bc7772415fd77227e9f9a1cdfd586b0170ac869ba5534859a08a5630573e48939b63b848f32518d3d477e77c439aa08176b1ab8e0f2e5d3a48b4c2260f5245a8a757a3e6f6d49f9587eb61ee6cabbbe5339cc0aa8544e965e575986f2d3afa1c2e13bfb5e78b98253f33fc40850be0639a61d65288d34ca1da6306231a57595a12deceac7e63f96c25b72409a654ef2f4b4357e426ae723979940e420a046d64bc41b6fa545ce30397a2b6a00129ab1052c3d57a20272b30f300164832c9fe196c09328944f675040c743109af3f2c5204ad87aa918fb5959a45717264c3e803afe595f5ccac32a55d4383cfbd8ab27ca4e4b19e2ac74aea5f48175ae5ea282fb8e7d2c6ab5e8337066b2268e0fac9f9789a88d6d0cd1bf99e5c68cb898463f0cbe4fed7da5bd9cf46c0049f889e363ea503757ac9ea46a44f5ccca6746f6d6b4ef5580544aebf6804e26f1de80f903ece60430de757054cafc15b99362b2767634b52ff781ee0c98609b729caf2ad41dc429c8a45c11c50f89b21af27e8d13823badc3d77977718470d6db547b170808a5e4a01de9459ba08a8ae0ac9453cbd8bdf26a9548edc290ddac30a09f1b1c4af3d7be6d139d694184d4b0a779f50c6a1ae4a4cfab0f09a718c9123df707b4b7f816fda8e9cced98e1abb3242d177b628b0127205c187404f82d32ed8a1b7f07f4dc71a9913204cc22309ac51841b6a93874a26b9bcad70d68f5f815a7438d4c77754a23a491cca2bc841f89d23a049930a5cad6b0c346dda533195ff879ce22bc185a63c7b718858b2f1530ca2e56e4ce6aba6875ed0765a7ee5c4f4481c1907437483d323b102df7dbf17bc48f04ca630a192d5597eff36419f48f1a13ca813f9e6f842c0788143dc4a0e58139638b5948b9fbf6ea4f0d8d0177539c87a47e9df38db5bc4c1cfdd09337d178d6a17d83e4530d67e39d1957a870aa6852a605a4c79bbfe3de4c19e9649f035041ddfd86ef36362695f15d8149dd0065802eb287800d3104762dafd77bfbb7b28ca9e2a4e3dee4e8808e480a21461973200c2f970a44920880af0d45dd4ed333616643236381b678c26c7ff78c31ad5fc946e2e68f16a4de4fda080fcd7825b489da4ee09f0a9a8af5d293e5cd1f137c975b4e71ab4ee2d10a1ceb34bd59669e78b3cc7b1c752526f20dedbec82aeddbf1f9a430e84c66dc2493fbe61d9cbaf2c67c500ea1a1fd2566ac76e01e69002763278d73f17826ff1531d4baf0d28dd6591f88d02c1b1542c8fbf51487bd2ac9e423b4c2b0f4589f602e44da5869bd4a733c94d31d47d8a0b3cd6b24c171b7ca7cc28881b3c2c97dbcad9a2e113bd35cdfc9dbbbd4bf1cadef76acb55b004e2d255ea1264f949247eca47b109b3b5b8d7902695f4b5886a976fa9d86b3cf77cfba954fc64400c729832118d3ebceda6c3ff9c921029f8c7fca108dba757eedee4fac5a1be1d19454e204f053a834aaa26c3361c68b5ec1b4e7f7f2d2210b702d6941d264dd48f466788db33e98f24c2af7f9e65098cbabfb460f151867aae3811d80a8a8edc607582bbe2f1d598d422f919b3118d254e831b331fcf1df3244fe8013f4c558c4458ff10869faffa83c3b2bfd57323dc729e945f2d707d450ca06a57bdca12b8fe3cd5a4e872429b787581fc9f21e7c186a45a6c6d53336a8ad3f0c04b0cb1c5b7a14b1e0c446153d3646cf4726939be118616db011b422a156e6266009792a58eb233503b4715641828791b0b8eae04a8a7d97fa327d87efd8e232f8a05ded0114d2c573ca31bd85484d713818331a5168abc79c79c14495372d13449d90bcc1826bcce4faf15979cf2ecc4c32495117f82a453f853a30a89a2ad11fbbe1d4bd6337e197cf6ecdd9befdd64be5b543c23075f5c098d584b1666d362791f1942bd42bab5454f2663add45e860a30c2aa33ec9c4aab6bc4e06ed0c757381c02f7632380bbc41ca6a04e7cdd8cff394d0f34f3a6284ee36191224d3967a6e028120993406302794613aee43ba72f7f91751b6d5db480d4f4f17937952c3f9db6be3f58fd9a2acf2cff09b74bc5c12516c1a81e1c027c0e3b016659a6e5cba170bc2e02d92416a0287af77af06af313694409bb41f2b183c2e810b67ab457268df38eaeaabdbd58ae645394b1ec6ccbea5c6a2c79f31988ba2744fc410f9baccf5e4cf255862ca8afd17f216f7eeff724fd96e72e2789a56f2a8a7f48d6e7382dee45fe4cec04f21758c36132d3b7f073a5a66d9327f1d823e44a87992251229b60aecb3960e9483a45f1ea5660048939021aa9f3b380eca7154292cf2437b84ddbff720cdb5fe5ef0f9a95a3fd73a0d1ff02b1a2ffe8e62d5da31500eaa33d1dcc45ac7c816c38629663d1ccd7dca07ce2d1cdf431b498e3e45bc0bc3631be4bf1ea9e2930b6666dd9246241483dccb2f5314a8c1d5938c2413ee1b87b0226b16b2a973e92a21bf8bec529097c58ff8df35ac26206a493f5251b61d2be2515cc6770ef602a65042f4b5d92a309e63ef814a7e91b1810e0b329384464fcf91e8191fdb53a86477aec9d9bb1f0b368c56ae0d453cd56a17ed2b53fd197600682aca3bfca47697e9f098753038a4455954cc6861f6df003dd6104e6e680ccd986d084e2d2c4dfcb0da0787921ab1ab582c7b1fb6b4500fd0d819db8c32ea04910555128c7683362a68444083f679258ccd9cd5e93d5f53ef2e078a237b79fbb90fca82280db1fe6d5b3b94d8089bf46077930d39508860eb48388fd374445e6e5e32a258c733980eb0c91c8aa56c676f4588fee76d8d4ac7b56dca9ebc9896430b42628c2065029ffd910ce1c7ea7a44f25e65ed0cf7d8603bd2b0c0e80a06c711197869b25648feaa7a4195718f22dc68ad7c4de93e0ff59f59872f2cee2979cfd276d957335e73defcce0741a26121fe029a019c7a684827c52e73297bc64e98188e3bd87e406c9e9da30303c8a736fc6b66ef1ccf8ed31771a3dcdc7d17ad388cb7530cd2b48b231c4a9a8d2ed88b3d33ab16cd5ee588534f574ba2136c774e114b440f171b9acdef0bf18321ea76e1dec3846fef1e8c1d11eb341065eda76bb1fbbab8fdaf7464bb3d9e51b6f802f369315b5a8cce81aca0e40d6b2eae1e178280c1d05e1ce48fa757353a748cf2fe80dd41940042638004f3497ce8e7eb4d04801eb5238ba9b7ae1624de93d3a363fc6e7cbc1ff36575d8c25cf0711e4b21b7b82cb522bb5e8aa210cd8d66d50d963e3558adcea0d63def374c58d4aa079c86575fe1f4a476d232a0ab43afcbf5a923e71f9a2cc6ea98f2ebe98ef1c5cd37b1ac0debc69c28d31417be0bef0bbf2dcdc5b45c42c87fbff054c02ee61a04fc74795cf1c320d1c7cd4bce0c7ae1062e820a48048ee0c0beb7a190e95cc0c0a55d0fffbe31d594512d0b7757d9a0c2265c568719792e08c520ec2468848914411cdb68fb06d90e24924223d955be4173d312f299b93b8685b329a6aa1f4f660b41965ea8573da9893332febf1687da9936383411e02ef4fd6b348a1f3e059248110d54c5ca2baba7c087eac2a175b48822edbd7e0912bab041d2919ed94ce26ee5257b2ebb8c4ea109b0cbf8e4d295df2ef109b5160d039719758411ecd533403897fd8b45dc50a0597adcb8c043ef8f9a6ec5ec2bbb59e39dd05c44daf3d7380caf07849dccc47ba5d3b2d30936b72b9d9eb805c327d8fb84d400c911b71cd8a637770ba44172f90185c54f51c282b179c1639b01b9c02b4ffd77bc36f4b0d9a55c627b6202bfbc8cbfe2334b7ebec3405eab7a2779fd597fa035f21e2738dbb4982f0559e6cda66823f0ed10bb8680a70bf83889d9f180c86e1ea0f003f6ce2a271fc44e445ea2cf4db7d482ab8d99b75863bc8edf90f9e17fd4122b8ed5ece47a474c2c7afce3085db8ab0ab4e6710b967c44e35748bc92f5974fb048e06683dca5bb2d7e7775eedf234897dc3f4ba0408008fd3c38ee85171bf9a602e9175fefc167d1fa9dabef4faff99edfd3b41d7a2bfdcea85d5494a2f7c4a0ac90f40fb924e877d47308fac2aff0177e56d3a6896b267702429c3e01c324f254576fe4ca53dac121b17a0b5162679e1f4d5b0efee446ab7b7e62304ddd99f9585e0809d8a25840788cf2cbfb4127872c9ed3c0c4f68e424d9ab1a8754dd3f818b66f704e4a71164f4d11713eac24fede5506a069f472cdd9a6bdfa2952d70714b7fbfa04fdbb585ba1bfcc967a9982f73279d8732cada50e0316435f3613944350eaa8b61795922231be0458d7aeb2edb432426c94c07a353f1cd02dc53c351ef5034c7491831df27cdafeb6cfed0df1bcb47975765ef6b4032a9f94894297fde881e2ffe9d745a6c66b2084d63180819c1f4f9401a296c5f708df796fedff3027e5c1723ff6287a4f1ddb7e6598395534b3e2cd372dfa3185b5da8c60893cf9ed3bf922b726b3c5a34b4d09f9a7f687348660ed7f69e8c5b9cbf090624e3cd25f85f20b", 0x1000}, {&(0x7f00000001c0)="fb1bd8dd0d069edde9e8f976cec4ce14995b29c3283f1b1a5e64aa82c848935b07c83f", 0x23}, {&(0x7f0000001580)="570ab044530e29540d98ef4bd1e67108bddb1bb6fb3d187598b340d3a742c079a39a89c631bc5d9fff741886f1bc4452b18e32d0d7d53bef8faf64cb8fd5259282925307914954303e", 0x49}, {&(0x7f0000001600)="b05e3a4bf5d6ebc869ca7271eea748dca840c01bd5f7bb9f9d0e45ac1b5d0f7344481d57c0f104bfe7db983ac4a35456d27756680ced24979fd946bb77b7d6a0a8ebf59702c0556d809a97e12d1c93a9ff65972479a2e6a2337b3eb6234d7137e21373ce16e11abbb790878865ac72a67394fed4f8667c458d7c79", 0x7b}, {&(0x7f0000001680)="ebb4296368029faae09f9476225551648670a80700000000000000ff1e0958d28050b07ad4d1a74a6dddf8b29bb63ca387a255ec7218579971320b34eeefbf959da30741487f3cab611f291d622f4a69562248d8a7dd2876c4fa215e201332a304", 0x61}], 0xa, &(0x7f00000017c0)=[{0xc8, 0x0, 0x7, "df77000a52ecfd6bdadd2c05919bccca32dc4a15730523f98b9b48c377df93c5478e5ca1ecef0b5e49d32bf169d2bee43fc74d05d7d2929823eaafb699a10c000476ffce3fdac3b6d9b7237e985b0746dfd3a66b9a32ae6afd4f3e0f4056f1db4e99e994a500c2a44aef7587b0ec2f575b635cb0792d2bd35a9898e9eea70dc1d415c94b3599e261db079ece342d06e67e19af9c45071e416cf54efe278c65516f5b2a57d5ae399a832046ffef2877c4ec175b8e4f22"}, {0x1010, 0x114, 0xd1, "9e2c2fe06d0bfc7e21bfc5eac8b16d283c7ce24dfb555186ad2c2deb15a38539e9f0103af075c3dfe880169dccecdae81559e78597147a3dae69d0844b811c2e0a8011fbbe365ce4f2099dce2dca79d32ace7a2c18863941d7885ae45f2539a58a9ace4f7a033bdf9bd1a034a05e36d92e885ef7c939648a272e81475697809bf447974b3632adb0e073f7410b751dfdf08a842d74450b88fb53d34a96f6449e3640bfc531fc5156cf5994862feade149af3df4cb87a35b8de52225e1dffa33f04f03a4801cb153736f83354291ee3880d9453f0a252e0c786a9cd67cb8ad37082149c702b2f908ceed86e48dd0946fbd243cb453b5bd88ec79a8609a5e17fc05bf4e74603306fd4897187a66262a30a05b19ffdf64e25b836b1474d4f7423149cd17bb64561d296142aa6589f788f39624c5913da9a5563735ea26cee30734b9130f97087c52401baae87d9dd1e026cdf8554e2a208a43adda4a4540ad0511b2916409283b2f86b4d0b7749a3f5c2dcaccce24d8b25655a09b934a449cfa8a02f51d0379fa662db4f2150e06869ca249fe967f0be322b3f80ead3ad208375284fdd88f00752711119971f9d7c72415a113c63b950cc4414ceafed5acebd477f0189fe3d958ca62722b110069ee54ca916d783d36beb7accd1d70434599f1db1c8e8580ac95a765e60e1b014479f313e0ab4c3066e7b6da0cc45c9499676f3daa0d2056f902bd0603eb4c9de65083d2f3a8820bba09bc859c3307e497b782bee409e9401d9feedf3ed63b82ecc6924bf5aa4efbc223ab0d0bea190f7c8faa2e60f1085f396fbe055529cd56758068b019bb3ba86f9b91a194aaaed9c0bb040a0980e65c1ee9f86c6faa28e6d0578f98d980b633ce8d439a5977bf78cec282fabcdbc07d2c34f054dda1f57009124b8bef916d6684c19e310451fa69b628598d4a4b0e526271a171d481eb800779956a0f6c909a1774094499a737b7fc3b517ccf4e08bddbd8bace0e66ee38eb8059675085f81c777fa16cd55a3f9669e1f8041f0ae22b905189c5b40c91810a9769d0e3c4d15cd4fd5e272b2342c470b8b3d677fca7af402bfd23df960ccf834748b8dce801fbde9c5e4aeb26012e7dd0948422075d12186b6d3fe51f784a7675e013983938e3753b9c6739dbbcb83b99fdaa6d4f6151becb3c79fa82ce96d010ef67529da56c14e6f89a7f0d8a67a48d8c7e6f682fabdb7698da38ad25150feaeba4551380b5c101457bd7742f0dee1288d955f13c1a99eba6b4ecf3dd397057b6291f827cfe16d18b279ab7d8c463004704aeef3875e2d701a9ebfccf883b964f1775af993882ecc55f5c2ed72c3d1c9b57fb6375c8d536face15511bd1f758692c498d72d170322e6b59a1a132d5e61a5c6c6d996206edad666efa58461d068431f2b589ee0ec30581c45137639931f9fecebc43d1c1fc0e7fc0ad2d2a8ba4ce54fa3e283cac147d4a0ece7bb9ab67bf48c16ccbeb54a8fed065fc366b1cc29b35f19a3493c0c0183a5d6562bdd478510ca21db9d5891ca1827554ecf1323eadee45a97fd8396595394e4717680e3f4e996482f49e7ec1ed0c75bb9b60c838508026f163d9b5980c251d4091bccc82a9dfae3e53ae45afd0744212f71bc4805e8e83a4fd0e3e44e8a29ef5f359c91a86271a27d1b66dd4d6e051681e4e54cbc060bfda87a8117488a6549ad690433fa048a86c0bb8127b5924f97505a773bcb574d8a1a7344628d15445c4d9eaa48a43260809faaf0670970c0d5f11ba452161f9fdd9d41e23951ea1b859541e6e6683de7d0107fc6fb044ea13afd14eed3e9bf95b5f565b55db30a81708551965ed218da2f2fc040566e27bb0fd075749f4cf1fdec989435af605d42aa582905d04d6ba40d3b5d4e55a95cc36eef66d554e4934d1737a8ec2d743cca5b8195da9f60525daed48bff4368974df5b06aaaf56e82b71767ed33acd0cd83286ea19316cbc828774038c4522c7f144859b0832bca64218d721d8e9e2171a5ffedb32a5c22acbcdf4f6abc97abed3356d8cd37aa881d8c4cf93f6ad567f55eddbdfc2cbd13a2fd8df86531eba5ec15379afd67b2ee4055c3911ccc967e720a92882f3c9fc961b6614bc311ffcedbe58230e4a326aa352a875081170919831c3d61374ba8c2610e9265fb6e5354f0a9e87e19fb4ad8e097e16399ad9350f9108eadc1e5b8886876cc1283b9240a9560932ea5c61cf196b1b25d46c4633c24c1d522fed3d54413b7d682b8031086c64de82ebaf96d146c96fcac1c4a7faec6a1d7e528faf4f3d07f115554c8ad1571479c2e294f2785b0f63f329f4d4617088434b04a2026e9fb9884d51c37c399d72c468f206dbdc92ae1ccc07d45c5d5d1556a7337f8093b9486fc2bcaae58b748c6f3cf00d6153a060753dcd30016ea40d2a4cc59b02c941e65bc96e02b89a52f511893ca7fb2c6151214cb93bfb1adf7c01f5367c69250e8243bfd7677c99dc3943a0344774287b19b05322fa8608af8ca45b8cc764c891cd8a8a2b65f65771e999d22468408afcd5eb60ce713b7deba395752824cf64e6366579ce5c06325a09161e924fdb010d6f3904057e6473a4ef1ad31d8ed6b4e5116505d4daecdd3fdfab3f1c750eaf5e3f1551865f255faa24ce32a14a162abfb3da77c72174fcd4f009febd4fce3b3898674770ab27bb896e1cdeec488213f5fe0250073f5bb6ed21754aa24ea6d17e7e731190bcc9821dc81857094f1bb286d371d2a0fd3ee21994045d1488bdc9d88abbda517f8239581a44788a99f376797b5dcdfdb1668ad3835820f764e1fae4b36cca9c98dfc562857c0b927e04a7bef8d524c8fe6ec30c23f1ad0d79290f6717696588b15983b43c381ed2da099ee4490ea70efc6544dbd4ea312ef77fe691569d1e70c8cc65bd6fc57994f0497aaac5b571c3dd2b9a3f4f1d454b9353a36a427f874687b3fd63032199025c4c612c6383f545156b4231fd12291d5ff98a178d967d27456c750ef3b5cea3d70134b0375565087b94745a48bcafc265e794242dda04029056848dddead60d18c844c295698f7312fbc10182a0f72b5e079b8f0123d6cc4d632e030a83a527dfa2e80cfbd6ae91c1b535e6fc5af3f69020528bf6ae339748e81b4c371256ecb3d7fad1c9a00116ec50d94dc1ed371d8d125e85dd7e87b2c222e71326de5cc2f9c381b47d00be9e08d27d4836ee6e027e5aa755cbb4ed09154bcbe862db351c8e0ce247c6ea16107e4cce101369281c442daa0f5976dbd7006b1941f621afcc31c0b1dcfd2ffb2139631f5adef90211802caadbdc027ebdbee80b06313453c1b4c86235ae0256eeb3219026a6a355d08674b78adcc6b6efdb1e0aced6489ef072188b579217c1e31dacee6ea8d5da26f451fe1aaba823d643e97017ffbdd4d491caddda9997a86008d2b08d93fc7d25d829c5b3fba96efdd79690b02c65ce85f202fcacf416f8a1a91aa2fdae39901a368f0127124d5cfdc7216f5ab52efc4e0ccad016567e65650c35bd0b5625cf96aaff0083390120bc3e97da476a90d97f9fa1084c883d75b71e891008986170ab69cb41f0278e916b578ae035508de7bd1e30e18ad7ae65ea3807656fecbfefbdda47d57d03914b9592a7a4d8549bf3c21fcaa7256d17749d4d9b4eac9a271914be3ca57539b7bc93f10ec594d6da9b802637db93b0f0cb6d1c71f42ef7ee31cceac42f899f039b083846d5cc5eb5863fea2569008983d5a3551ff9dfa91767966068b9e1e4b0889aaf736a5e34126ada707f0cb3c01d6bf0f1de18bf35350978384525104a10ee3023f645c3bf3d0ed96239463937f0fe845929c88dc255831e7f8c2a8a33613e4e1e2e2996a36ced672b6b3f488c8755c8823b7ba80764e16225a0eefde06a7105cb80c39ae63c22d86eefc1a5ecb88443a80fa95cf861cc27872b2019705f09b32a3c8c1a9c3d99505e51c83dd6c62063108d71dc90547487dd60bcd8290b35aec243439c72339ca395c5199f1d14b827e67bf566c58ba980d46e408493e4da36b024ae657af6ea02e83fe12275e855c5666e46fc8344ed19dacd8da7589df9e0b8e85a56fa3cfabfc9dd1be663b5240954f656f93586d1ca5d9434c277556ad60e7e51f00158e399572235a701efd1c1fdbede39473633faf72b4ad8c64edb2ae90ce459e388f6ce309a7ad31290ff9151c42cec67051d855e29b4130feee0c99263e8aec661460536fad3cc9205544beb0c9cc26c8d93d1c91975dae0a05d99b202436b65dc49732cf37b889588ca89e88c1e678763520b0234a3cd5f5bb66bda38bfd5c2b6e7be3a83c814206900b2ddcd3a3a443c57cfdf5f88ea7b33c3e7847fe8370b9c927142bd7703469e7041e48f4ea9b241da37a2965852a04dc0f6cfb0c35007af0b4921ecbac8b219abe8cfc03d36c6eba253ce2a3008a11753ad4056a3a77a6af1fb4abc585545be7831e81e484706e9eac507af4a1f87bf4ac6b0f9debb952958f19504c9a1d9ebe2a8714d1afc171a6da1c60c976f6ebe73d2c0b353a513d2b65a32c2cefbd981abf7acdd2bec381545e182501419d6ada937e837908ba1ed34f7bab72a4da6d59235d99c4391b63df7b66de0dcc87d2a9ff3cf555ac0e4d7580440c5dd45f85c915f77cab178a07f4471c85213c59973c8fe802e4fcd94863cc444486debbe4dd01f8592c6822b45d5674a650e0b856ea72ee10763dd9721a3733b1e980561d0fc56130027ef9becfec81231bb676dc7a43bd2b82a34d5e52a3927644c451b348178f6791dcbc1c3d6926451f62b27bbdcd6254beac974604bf0b5966806dec18a643ac233440bfef2df6bf78481608b6d4a753bbaba7a939d709a113e67344fd72142a660a4474eaa2d6fe5895d96a422a2cd1fa295f3012d45d1b72f1d47b473ea4117bfd6f9f0ec9127b07a1799d37264d00734261932d51fbe9e4687df0ab6fe3e4f30c60283b7929bef79a1a301bba0b43b8c44eaa9d75ed89397eea85eec8db2ad8e920718d24f3f9b9e9384c3878a5c5c24a4f1973d850c3325265689151ab2bd1aa6d2a21b8aedf86b7dda9f0772736e318ce3714b0c621e21a000d9ba922b7dc9d06b2b036c9ca0f988a5cf6abe58666b9dcbd5601bcb9dba40f038518cc7f11fb1a837e02c6dcb319b90c1905bb1b64ed072a98201163c662694387eaa935f862f05cc301b403e80d33aa2b90ee412f93ed0ae70458ce2fadb1fd0cd51d9c3d57cfc44db3016e263eea4f53696e2060668435287dc1a1aae3b77329ce2730a5679819564fb7011bfd0249b61c440e4cf3a41fbfc274d7015bfd612055a83184e3b000407dcbf08bdde3719c167f80cfac5ff6b854c975581539d95ba2cfddf27a36f584bad6b6ff2f69d2c31bd4106529274cd730511fe87682530bb245788485cca4788bfe5205d0bd40fc0fd524338cc9407a9d642184602436cd4e10ec70fe7caeb27a8fd4ed6aecaa0cd79e7864ebea7b33f542269e6e1e5471ee27919ef1c0d1047287ddf5353c4b926d1ab07beb437e4fc2464dbb6efd960d115ee78387a165810cc761447fb853b575fb2073d1d50b94f6b39e833e2a436f8dc1f1c02952bcf669287384a68a2c41ca019f3f8bb52167df2a463277f13266e2d1fffd1c82c19e4fc2e0045d5f74418c23e5dd3dae9cd861a91d8289ea1af0f9c967428cb2944cb682ed201863b435c7a963dd2c8de9d8491fdfd6fe21e1e4b041e58b142149988e52210b31807b048874ca0651aa48cae2d549a7d4aab1"}, {0xd0, 0x10f, 0x3, "7959b2b8bbe519f9f57475e2bb82c068b0dff3c93094b504baa35b5cbb9f9140f1d891c9b0bea919239f04c952d8efdb72e8017762855c78a027eefc10d7bb56cc17b4e9dced0a34a95536b9305b9dce9d3d99ec5be8166537fea2cd049817ee0e3548420051beb616472ea97c458c54fdd72cd7bd798486415dc0c2370e9a21ee551327ab9ce6a9beb222031894a90f440e49139a5a0e34242ebcdd5fec840a3821fe35ec05471be2afb389436da0e65feac21b48cd99719e8c"}, {0x110, 0x116, 0x0, "30969998a584b29bd116708a5263e6baacf0db9dd9b8461dc14e744b53d1a24b0f4949c75a30fd05c2a5a94a2bb81a319e6a019881e3f146aa1e60ce55757942b3f388f88ac1aeb4bfc3330f218a379c6be55977c16401bf9ef45c7f2f60c3768f8a6d598419b471f479ece3c0b68444e7b42dd3f95603f8bcaab2f646f966a189d133a8f246d672932ac7081290386fa89283c0a7a83c89ed9c9ade7262cc78252991029b1f272d29cee53c1f22b8417cff7031a61c1c1368ef992b9c4f91c3a8f5b87b84845f3155620c1016e7b1196c6deb1b468f183855df3b7c5fbfc5feded85ef76a7b774c5d82921c960981bd8e6ac927a911f708fcc1"}, {0x78, 0x119, 0x0, "512be8cf56f9a3a36cd1fb224cec8d02c019095825fd583b8bf2a37270ce58bbc81febbe0ff3b5571c52cebfced0e898893b345b6536e6366e119557e03b4362419e657a31c50e5a97bcb806f548403e7b77e1c61873f9fbb98567632a55bda396a13bffe17fd90d"}, {0x38, 0x110, 0xfffffffb, "e6f1707d74588abcd5ef307e0fa842fdd7a36dbb1a2396083b6abfe71d554b0839864da3"}, {0x48, 0x104, 0x7, "8963bf49564c79d23c92612e29e4355ef7dbc6bf69c0bdcee8d277ea95230f356f6ef4034362812d13b1171f2096df69809536ecac"}, {0x110, 0x1, 0x1, "c073d6237c79154b1aae15440f5d99377f10644c91c865d909d27b44801155528d3d9550bf2d8932c8af72a31a8b291363f76a77e8f8b7947c9709f5ab4025c4319d01344266859e8cfd80a5f28777a67fd742192bd755523fd307e9b3974c137ea2fc4c96d1f88a5962f151d9d0c7d2c91cad4770ee9590b7e89d8ee1e5c32d12b3dc89fe4c5e9f40145405f3975cdcbefc4e55cb2cde6460fa22e0a07d2caaace68c9bbba92c72bc5b40f0c8fff29989a8f5043b118f9cd8bc2ef2b871df0300c7fcba5dc5abf367b703e2194a5b364902b3a6d67bd995b222eb9b83684e1369d03fab4c8074522dba2b17681c6538682a9fb639a87a94b43be853c98826"}], 0x14c0}}, {{&(0x7f0000002c80)=@nfc_llcp={0x27, 0x1, 0x0, 0x7, 0x6, 0x9, "d03dfd877c3db1a1254a9d6bd6df9c5d02eff2dc5ad536c2e0d60fcd3ed0115ca9431c7b6451a8f0dd2e78773b1fba2bfbb0a2201650ebddbf91b204d52a91", 0x10}, 0x80, &(0x7f0000002e00)=[{&(0x7f0000002d00)="e3adc0bbb7479bcef003ade77fad232ecb0a792ab86005111d73d129bac2ca9c968353099e5813ba6d045ed2cd48a2ce046e3033e8c1c9183bf5b5174a1256910dc185afeb97362a818db39890c46e4afc0f97300e72fa5a40bd20a50a30281ceaaa26115f63100b985bd05d3f83cf1ffbd0711ed42f79797704d5700cfe1af80eba9e96474d4ed2045bead32b6e43f269bcdba5a3588824129f075798bd96041bf5fbaa969c6669398fb0aa6e2f3115", 0xb0}, {&(0x7f0000002dc0)="881fa5bf316589994cff", 0xa}], 0x2, &(0x7f0000002e40)=[{0x50, 0x108, 0x41ac95d2, "f8b2afe63c359582ff5629eb9d9b9be9a98a12bee167af3681b1cb237f3123a5deea1b55abe33e5ea70c97fe49a2723c28bbfa816ab6663069876bf49b4927cb"}, {0xf0, 0x112, 0x4, "e71bda0339be802a187ea1c53e3703015eb345c9b31425bbee70531bdc6874c102def3f4638431405ce553f360fb74a6a2394214b68a27ab970059e28caa9385804dba91fcf1bf902b9d8dc3daba5886f6fc664c17c68c690cb3a919aae90c0610d36c60f9183ffe11b3415022d4f77533d5c9806474b61edb2704facd914f0279dad7c469de912f8eed2429b80c28c7d05f1f7ba9c677c11b841261e3fec6052073382b3e236b1a695bc431c812cf20e61aca4d496f0f3b78e9d920f47a3dc045ace893a9b280d058f591b9f7fb2bde9fb19c87b9b56f7c7687e50fd8"}, {0x98, 0x112, 0xe6e9, "1701831ffe290c1f242eb00b733bf364b7e6c51d96c194c436d672f134362754147ab31edebbd9498bbefb29db4b095ab2675306a322f82b8b60dba89b4fcc7e888a12edbbb2851589066aee8752c0e63326db66c38016c83b0a5857bc112a277883882e34393f1f208b9ba4c74524dfcc75fac825210ee26222ed60bd4771bea4790b"}, {0xf8, 0x112, 0x7, "2a11ebed326be9ec1393bb06c3e060d7f09104bcd1902d726889d8288d3e251d339cb2676985f00429acd2e2626b429571c5f40a5e60f0d077ae0e4266eada799861418b4624bc8bd74c63681df6167f216d424d421c30801302eda5ea8c349a34127f1f3d7da709354550ba8a7172327bab3f7f663d90f2ed2d7e2ea8bf20c113612bb57c8a1c6bfdcc15f1ad49e77064cba43962df7ce484018d77e6bcaf27c9b927aa3d6650ba7aa583d39d7ddd918b818b0b7e8bd338c7c8d616a7b6868bdaae748b20895b902eefaed18388d5a5ee822a6d9f1a77b0ea4c165b91e18d8f1d484905609f63"}], 0x2d0}}], 0x2, 0x40000880) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) (async) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) (async) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) 00:43:42 executing program 0: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1ae7, 0x7a, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010044256076000000000000001000000c00030000020000090000000020000000202010000000000000000004000000180000000200000016000000020700000100000000010000000f000034000000cc0e00006e1f1f630000000032000000000000000000000000000000000000000000000000000000000000000000000000000000701ea274223843458e4239ea57c1431a00000000000000000000000000000000715586d1947f00"/192, 0xc0, 0x8000}, {&(0x7f00000100c0)="ffffffff01000000200000001a000000040000000200"/32, 0x20, 0x9000}, {&(0x7f00000100e0)="0000000000000000200000001a000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffff000000800000000000000000000000001a0000007f00"/2144, 0x860, 0x9800}, {&(0x7f0000010940)="008000f800"/32, 0x20, 0xa800}, {&(0x7f0000010960), 0x0, 0xaa00}, {&(0x7f0000010980)="040000000b00"/32, 0x20, 0xac00}, {&(0x7f00000109a0)="00000000000000000100"/32, 0x20, 0xb020}, {&(0x7f00000109c0)="6e1f1f63010000000100000001000000040000000b00000000200000000000000200000000000000010000000000000000000000008001006e1f1f63000000006e1f1f63000000006e1f1f63000000006e1f1f63000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000100"/160, 0xa0, 0xb200}, {&(0x7f0000010a60)="00000000000000000000000000000000830003001200000000000000000000000000000000000000020000000900"/64, 0x40, 0xb2e0}, {&(0x7f0000010aa0)="6e1f1f63010000000200000001000000040000000b00000000600000000000000600000000000000010000000000000000000000008001006e1f1f63000000006e1f1f63000000006e1f1f63000000006e1f1f630000000000000000000000000000000000000000000000000000000000000000000000000200000000000000", 0x80, 0xb400}, {&(0x7f0000010b20)="00000000000000000000000000000000830003001200000000000000000000000000000000000000060000001000"/64, 0x40, 0xb4e0}, {&(0x7f0000010b60)="6e1f1f63010000000300000001000000040000000b00000000000000000000000000000000000000010000000000000000000000008001006e1f1f63000000006e1f1f63000000006e1f1f63000000006e1f1f630000000000000000000000000000000000000000000000000000000000000000000000000200000000000000", 0x80, 0xb600}, {&(0x7f0000010be0)="00000000000000000000000000000000830002001200"/32, 0x20, 0xb6e0}, {&(0x7f0000010c00)="6e1f1f63010000000400000001000000040000000b00000000000000000000000000000000000000010000000000000000000000008003006e1f1f63000000006e1f1f63000000006e1f1f63000000006e1f1f630000000000000000000000000000000000000000000000000000000000000000000000000200000000000000", 0x80}, {&(0x7f0000010ca0)="6e1f1f63010000001000000001000000040000000b00000000200000", 0x1c, 0xd000}, {&(0x7f0000010d40)="000000000000000000000000000000008300030012000000000000000000000000000000000000000200000020", 0x2d, 0xd0e0}, {&(0x7f0000010e40)="cc0e000000000000a00e0000000000000000000001", 0x15, 0x10000}, {&(0x7f0000010e80)}, {0x0}, {0x0}, {0x0}, {&(0x7f0000000040)="7aa55a2ad53604cf2a29c7606a188ffa6a4237dcd444a43780fd7723c4d7c3ed117a776a53a4e4f6b21c79d7c96856dd75619405800468667130262702bb684304078378074ee30b", 0x48}, {&(0x7f0000012380)="6e1f1f6301000000010000000100000004000000180000000020", 0x1a, 0x18200}, {&(0x7f0000012420)="000000000000000000000000000000008300030012000000000000000000000000000000000000000200000016", 0x2d, 0x182e0}, {0x0}, {&(0x7f0000012880)="6e1f1f63100000000200000001000000040000001c00000028000000000000000000000000000000030000000000000000000000ed41", 0x36, 0x1c400}, {0x0, 0x0, 0x101}, {&(0x7f0000012d40)="ffffffff01000000400000003600000004", 0x11, 0x20000}, {&(0x7f0000013600)="040000001c", 0x5, 0x21c00}, {0x0}, {0x0}, {&(0x7f00000141e0)="21436587010000000100000000010000001000000c0000000009201001", 0x1d, 0xf01000}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0, 0x0, 0x6}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0, 0x0, 0xf53ba0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {&(0x7f000004ca20)}, {0x0}, {0x0}, {0x0, 0x0, 0x400000}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}], 0x0, &(0x7f0000052260), 0x1) 00:43:42 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x8) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) getrlimit(0xb, 0x0) sendmmsg$unix(r1, &(0x7f0000000a40)=[{{&(0x7f0000000340)=@file={0x1, './file0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'}, 0x6e, &(0x7f0000000580)=[{&(0x7f0000000500)="ee263486c8e65a3b243a941c7878f5e44141ac83aa00008598d987d50d5d931a0360c7673a367049321f68d5cf1803d5298e5bbaa3d927b755017364bd9d5595c1d7996cafed45153672d5d5c218", 0x4e}, {&(0x7f0000000880)="2c158e09d2efd2d367c9ecfca2a5ce3e0115b817a3e3106aff6c3931a0f4e49f99dba94d795d8cec6ce80c4f12bd1a7ceb592ba58cc35a5ca44831fee7b8b44a5d406d5a8352d075eeef3ae3268ecdcf768ec7717b7215396f1b921d11b9adb7c35a9b7287f5d9d789935b59b1e68c0fb4", 0x71}, {&(0x7f0000000980)="158b84ac91f192d136ba6b14beb630b2795a28225dbe966e69c526b5d0d42baa67c809ecba91ae7297b138643a717ccf7a321e4c7eb3b250f950879d9ccf6e694b60b076b45e8601e89055adef88a8f878d8259b5aec8c086fca2c21f26f11b60758c207dd09177557b0d929a5a1099aabf79854f7906c8ab1", 0x79}, {&(0x7f00000001c0)='H', 0x1}], 0x4, &(0x7f0000000b40)=ANY=[@ANYRES64=r2, @ANYBLOB="8b162e80e6f2b3e623d47faa9265744f6de187cb8b22850934342df52cb1fb3b6cb954df65", @ANYRES8=r2, @ANYRES16=r2, @ANYRES32=r2, @ANYRES32=r2, @ANYRES32=r2, @ANYRES16, @ANYRES32=r1, @ANYRES32=r2, @ANYRES64=r0, @ANYRESOCT=r0, @ANYRES32, @ANYRES32, @ANYBLOB="f66f6c63e16e054839d7e6b8add15250db2d04613e568b161f69e9413587cacbf8e58b115546547ff80c0b6c6f1032c8cb7bb3dcc8f122646d173fc67f91d3f529ab5b1c99007f", @ANYBLOB='\x00\t\x00\x00'], 0x58, 0x1}}], 0x1, 0x20040000) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) socket$netlink(0x10, 0x3, 0x0) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000280)='cgroup.controllers\x00', 0x275a, 0x0) lseek(r3, 0x0, 0x0) fcntl$setstatus(r3, 0x4, 0x30000) r4 = dup(r3) pwritev2(r4, &(0x7f0000000040)=[{&(0x7f0000000080)="da", 0x20000}], 0x1, 0x1000000, 0x0, 0x0) sendfile(r4, r3, 0x0, 0x87fffa0) writev(0xffffffffffffffff, &(0x7f00000001c0), 0x0) sendto$inet(0xffffffffffffffff, &(0x7f00000012c0)="0c268a927f1f6588b967481241ba7960fcfaf65ac618ded8974895abeaf4b4834ff922b3f1e0b02bd67aa03059bcecc7a95425a3a07e758044ab4ea6f7ae55d88fecf90b1a7511bf746bec66ba", 0xfe6a, 0x4, 0x0, 0x27) recvmmsg(0xffffffffffffffff, &(0x7f00000006c0)=[{{&(0x7f00000000c0)=@in={0x2, 0x0, @broadcast}, 0x80, &(0x7f0000000000), 0x0, &(0x7f0000000180)=""/41, 0x29}, 0x1}, {{&(0x7f00000002c0)=@nl, 0x80, 0x0, 0x0, &(0x7f00000003c0)=""/80, 0x28}}, {{0x0, 0x0, &(0x7f0000000680)=[{&(0x7f0000000440)=""/153, 0x99}, {&(0x7f0000000240)=""/61, 0x3d}, {&(0x7f00000007c0)=""/170, 0x9e}, {&(0x7f00000005c0)=""/166, 0xa6}], 0x4}, 0x1}], 0x3, 0x100, &(0x7f0000000780)={0x0, 0x3938700}) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000001f80), 0x0, 0x805) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) (async) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x8) (async) getpid() (async) sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) (async) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)) (async) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) (async) getrlimit(0xb, 0x0) (async) sendmmsg$unix(r1, &(0x7f0000000a40)=[{{&(0x7f0000000340)=@file={0x1, './file0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'}, 0x6e, &(0x7f0000000580)=[{&(0x7f0000000500)="ee263486c8e65a3b243a941c7878f5e44141ac83aa00008598d987d50d5d931a0360c7673a367049321f68d5cf1803d5298e5bbaa3d927b755017364bd9d5595c1d7996cafed45153672d5d5c218", 0x4e}, {&(0x7f0000000880)="2c158e09d2efd2d367c9ecfca2a5ce3e0115b817a3e3106aff6c3931a0f4e49f99dba94d795d8cec6ce80c4f12bd1a7ceb592ba58cc35a5ca44831fee7b8b44a5d406d5a8352d075eeef3ae3268ecdcf768ec7717b7215396f1b921d11b9adb7c35a9b7287f5d9d789935b59b1e68c0fb4", 0x71}, {&(0x7f0000000980)="158b84ac91f192d136ba6b14beb630b2795a28225dbe966e69c526b5d0d42baa67c809ecba91ae7297b138643a717ccf7a321e4c7eb3b250f950879d9ccf6e694b60b076b45e8601e89055adef88a8f878d8259b5aec8c086fca2c21f26f11b60758c207dd09177557b0d929a5a1099aabf79854f7906c8ab1", 0x79}, {&(0x7f00000001c0)='H', 0x1}], 0x4, &(0x7f0000000b40)=ANY=[@ANYRES64=r2, @ANYBLOB="8b162e80e6f2b3e623d47faa9265744f6de187cb8b22850934342df52cb1fb3b6cb954df65", @ANYRES8=r2, @ANYRES16=r2, @ANYRES32=r2, @ANYRES32=r2, @ANYRES32=r2, @ANYRES16, @ANYRES32=r1, @ANYRES32=r2, @ANYRES64=r0, @ANYRESOCT=r0, @ANYRES32, @ANYRES32, @ANYBLOB="f66f6c63e16e054839d7e6b8add15250db2d04613e568b161f69e9413587cacbf8e58b115546547ff80c0b6c6f1032c8cb7bb3dcc8f122646d173fc67f91d3f529ab5b1c99007f", @ANYBLOB='\x00\t\x00\x00'], 0x58, 0x1}}], 0x1, 0x20040000) (async) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) (async) socket$netlink(0x10, 0x3, 0x0) (async) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000280)='cgroup.controllers\x00', 0x275a, 0x0) (async) lseek(r3, 0x0, 0x0) (async) fcntl$setstatus(r3, 0x4, 0x30000) (async) dup(r3) (async) pwritev2(r4, &(0x7f0000000040)=[{&(0x7f0000000080)="da", 0x20000}], 0x1, 0x1000000, 0x0, 0x0) (async) sendfile(r4, r3, 0x0, 0x87fffa0) (async) writev(0xffffffffffffffff, &(0x7f00000001c0), 0x0) (async) sendto$inet(0xffffffffffffffff, &(0x7f00000012c0)="0c268a927f1f6588b967481241ba7960fcfaf65ac618ded8974895abeaf4b4834ff922b3f1e0b02bd67aa03059bcecc7a95425a3a07e758044ab4ea6f7ae55d88fecf90b1a7511bf746bec66ba", 0xfe6a, 0x4, 0x0, 0x27) (async) recvmmsg(0xffffffffffffffff, &(0x7f00000006c0)=[{{&(0x7f00000000c0)=@in={0x2, 0x0, @broadcast}, 0x80, &(0x7f0000000000), 0x0, &(0x7f0000000180)=""/41, 0x29}, 0x1}, {{&(0x7f00000002c0)=@nl, 0x80, 0x0, 0x0, &(0x7f00000003c0)=""/80, 0x28}}, {{0x0, 0x0, &(0x7f0000000680)=[{&(0x7f0000000440)=""/153, 0x99}, {&(0x7f0000000240)=""/61, 0x3d}, {&(0x7f00000007c0)=""/170, 0x9e}, {&(0x7f00000005c0)=""/166, 0xa6}], 0x4}, 0x1}], 0x3, 0x100, &(0x7f0000000780)={0x0, 0x3938700}) (async) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000001f80), 0x0, 0x805) (async) 00:43:42 executing program 4: r0 = socket$inet6(0xa, 0x6, 0xfffffffe) bind$inet6(r0, &(0x7f0000000180)={0xa, 0x4e20, 0x0, @empty}, 0x1c) listen(r0, 0x5) r1 = socket$inet_dccp(0x2, 0x6, 0x0) r2 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000500)=@newtaction={0x50, 0x30, 0x1, 0x0, 0x0, {}, [{0x3c, 0x1, [@m_vlan={0x38, 0x1, 0x0, 0x0, {{0x9}, {0xc, 0x2, 0x0, 0x1, [@TCA_VLAN_PUSH_VLAN_PRIORITY={0x5}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0x50}}, 0x0) ioctl$sock_inet6_udp_SIOCOUTQ(r2, 0x5411, &(0x7f0000000040)) r3 = syz_init_net_socket$802154_dgram(0x24, 0x2, 0x0) r4 = bpf$ITER_CREATE(0x21, &(0x7f0000000080), 0x8) setsockopt$MRT_ADD_MFC_PROXY(r4, 0x0, 0xd2, &(0x7f00000000c0)={@multicast1, @dev={0xac, 0x14, 0x14, 0x13}, 0x0, "e0fd51acb2202f95f459b8b7bb95051dd5e06eb8f9235f90761d6773620ed013", 0x5, 0x4, 0xffffffff, 0x7}, 0x3c) ioctl$BTRFS_IOC_QGROUP_ASSIGN(r3, 0x40189429, &(0x7f0000000000)={0x1, 0x68, 0x101}) connect$inet(r1, &(0x7f0000e5c000)={0x2, 0x4e20, @dev}, 0xfffffffffffffe1b) sendmmsg(r1, &(0x7f0000001cc0)=[{{0x0, 0x0, 0x0, 0x0, &(0x7f0000000300)=[{0x10}, {0x10}], 0x20}}], 0x1, 0x0) socket$inet6(0xa, 0x6, 0xfffffffe) (async) bind$inet6(r0, &(0x7f0000000180)={0xa, 0x4e20, 0x0, @empty}, 0x1c) (async) listen(r0, 0x5) (async) socket$inet_dccp(0x2, 0x6, 0x0) (async) socket(0x10, 0x3, 0x0) (async) sendmsg$nl_route_sched(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000500)=@newtaction={0x50, 0x30, 0x1, 0x0, 0x0, {}, [{0x3c, 0x1, [@m_vlan={0x38, 0x1, 0x0, 0x0, {{0x9}, {0xc, 0x2, 0x0, 0x1, [@TCA_VLAN_PUSH_VLAN_PRIORITY={0x5}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0x50}}, 0x0) (async) ioctl$sock_inet6_udp_SIOCOUTQ(r2, 0x5411, &(0x7f0000000040)) (async) syz_init_net_socket$802154_dgram(0x24, 0x2, 0x0) (async) bpf$ITER_CREATE(0x21, &(0x7f0000000080), 0x8) (async) setsockopt$MRT_ADD_MFC_PROXY(r4, 0x0, 0xd2, &(0x7f00000000c0)={@multicast1, @dev={0xac, 0x14, 0x14, 0x13}, 0x0, "e0fd51acb2202f95f459b8b7bb95051dd5e06eb8f9235f90761d6773620ed013", 0x5, 0x4, 0xffffffff, 0x7}, 0x3c) (async) ioctl$BTRFS_IOC_QGROUP_ASSIGN(r3, 0x40189429, &(0x7f0000000000)={0x1, 0x68, 0x101}) (async) connect$inet(r1, &(0x7f0000e5c000)={0x2, 0x4e20, @dev}, 0xfffffffffffffe1b) (async) sendmmsg(r1, &(0x7f0000001cc0)=[{{0x0, 0x0, 0x0, 0x0, &(0x7f0000000300)=[{0x10}, {0x10}], 0x20}}], 0x1, 0x0) (async) 00:43:42 executing program 5: r0 = openat$vcsu(0xffffffffffffff9c, &(0x7f00000005c0), 0x460040, 0x0) r1 = add_key$fscrypt_v1(&(0x7f0000000600), &(0x7f0000000640)={'fscrypt:', @desc3}, &(0x7f0000000680)={0x0, "ad8c207adf8d7a3d47f53831e2beec5358ce811a2153017d3f4153549e2a9e81046800dcaaca3d852c3cd139cbede27bb5474e6cf130c71d1e790f2c71f2e034", 0x3b}, 0x48, 0xfffffffffffffff8) ioctl$FS_IOC_ADD_ENCRYPTION_KEY(r0, 0xc0506617, &(0x7f0000000700)={@id={0x2, 0x0, @c}, 0x10, r1, '\x00', @d}) r2 = syz_open_procfs(0x0, &(0x7f0000000240)='mountinfo\x00') r3 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) r4 = geteuid() dup3(0xffffffffffffffff, 0xffffffffffffffff, 0x80000) pipe2$watch_queue(&(0x7f00000014c0)={0xffffffffffffffff, 0xffffffffffffffff}, 0x80) write$RDMA_USER_CM_CMD_JOIN_MCAST(r6, &(0x7f0000003580)={0x16, 0x98, 0xfa00, {0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0, @ib={0x1b, 0x0, 0x0, {"9fa54e2a56e242cac40f563b8cffb39b"}}}}, 0xa0) sendmsg$802154_dgram(r6, &(0x7f0000000100)={&(0x7f0000000000)={0x24, @long={0x3, 0x3, {0xaaaaaaaaaaaa0102}}}, 0x14, &(0x7f0000000780)={&(0x7f0000000040)="b3620808b819bb21762d171ecc90de158cc8553d68981af057a2b639048950674581d31ba3d68da30bec20185d69433e174ad24f25d6ee960d00302d8e32ce11b656b95abfc61f636999e832025a9f5787", 0x51}, 0x1, 0x0, 0x0, 0x20000000}, 0x4040010) write$RDMA_USER_CM_CMD_CREATE_ID(r6, &(0x7f0000000240)={0x0, 0x18, 0xfa00, {0x1, &(0x7f0000000200)={0xffffffffffffffff}, 0x111, 0x4}}, 0x20) write$RDMA_USER_CM_CMD_JOIN_MCAST(r6, &(0x7f0000000280)={0x16, 0x98, 0xfa00, {&(0x7f00000001c0), 0x0, r7, 0x1c, 0x0, @ib={0x1b, 0x4, 0x2, {"4ec0815cce9c22d3006551f7e47f0bbe"}, 0xfff, 0x8, 0x7fff}}}, 0xa0) getsockopt$inet_IP_XFRM_POLICY(r6, 0x0, 0x11, &(0x7f0000000380)={{{@in=@remote, @in=@initdev, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, {{@in=@dev}, 0x0, @in=@dev}}, &(0x7f0000000480)=0xe8) getresgid(&(0x7f00000004c0), &(0x7f0000000500)=0x0, &(0x7f0000000540)) ioctl$AUTOFS_DEV_IOCTL_REQUESTER(r6, 0xc018937b, &(0x7f0000000580)={{0x1, 0x1, 0x18, r5, {r8, r9}}, './file0\x00'}) getsockopt$inet_IP_IPSEC_POLICY(0xffffffffffffffff, 0x0, 0x10, &(0x7f00000000c0)={{{@in6=@mcast2, @in=@empty, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, {{@in6=@private2}, 0x0, @in6=@mcast1}}, &(0x7f00000001c0)=0xe8) mount$fuse(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000080), 0x2000c00, &(0x7f0000000280)={{}, 0x2c, {'rootmode', 0x3d, 0xa000}, 0x2c, {'user_id', 0x3d, r4}, 0x2c, {'group_id', 0x3d, r9}, 0x2c, {[{@max_read={'max_read', 0x3d, 0x6000000}}], [{@seclabel}, {@context={'context', 0x3d, 'sysadm_u'}}, {@uid_eq={'uid', 0x3d, r10}}, {@obj_type={'obj_type', 0x3d, '/\x86'}}, {@defcontext={'defcontext', 0x3d, 'root'}}, {@context={'context', 0x3d, 'system_u'}}]}}) sendfile(r3, r2, 0x0, 0x800000080004106) r11 = mmap$IORING_OFF_CQ_RING(&(0x7f0000ffa000/0x3000)=nil, 0x3000, 0x1000000, 0x1010, 0xffffffffffffffff, 0x8000000) syz_io_uring_submit(r11, 0x0, &(0x7f0000000000)=@IORING_OP_MADVISE={0x19, 0x1, 0x0, 0x0, 0x0, &(0x7f0000ffb000/0x2000)=nil, 0x2000, 0x14, 0x1}, 0xfffffc00) 00:43:42 executing program 2: syz_mount_image$nfs4(&(0x7f0000000140), &(0x7f0000000980)='./file0\x00', 0x200000000000000, 0x0, 0x0, 0x212c010, &(0x7f0000001ac0)={[{'udp\x00'}]}, 0x0) (async) syz_usb_connect(0x3, 0x686, &(0x7f00000001c0)={{0x12, 0x1, 0x310, 0x34, 0x39, 0x67, 0x20, 0x1199, 0x9090, 0xaf36, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x674, 0x2, 0x1f, 0x3, 0x10, 0x0, [{{0x9, 0x4, 0xcf, 0x2d, 0x1, 0x31, 0xf, 0xa3, 0x59, [@cdc_ncm={{0xb, 0x24, 0x6, 0x0, 0x1, "67574188f06a"}, {0x5}, {0xd, 0x24, 0xf, 0x1, 0x1, 0x101, 0x9, 0x9}, {0x6, 0x24, 0x1a, 0x7, 0x3b}, [@mbim_extended={0x8, 0x24, 0x1c, 0xff61, 0x9, 0x132}, @mbim={0xc, 0x24, 0x1b, 0xfff9, 0x7, 0x7, 0x56, 0xe86, 0xc0}]}, @generic={0x8a, 0x1, "f5c0c377f50b59459b6f2b4b82674c279a26354b39ae977de82e93a236c941b8a6d31bb8441dded7c35928eccd1a159321e91f9a3bf5926715255d1f86916e5676927b895ddb071784b1598b5a54a83d09904083412372b954afad070ceb10f2e57aa7f06f395e4ba0d5a57128c7f8dd965ca2f64d44c0cb965b708f35f4d932030f6d74c50e4c18"}], [{{0x9, 0x5, 0xc, 0x0, 0x40, 0x6, 0x5, 0x17, [@generic={0x31, 0x30, "85e5dffb649f3904cca17418817f444e5b5a8ea6adf96660dfe4b52b34c37bd198dc201a658f754ab21f765ff49fb0"}, @uac_iso={0x7, 0x25, 0x1, 0x1, 0x9, 0x1000}]}}]}}, {{0x9, 0x4, 0xa8, 0x7f, 0xe, 0xf4, 0xde, 0x32, 0x0, [@generic={0xb9, 0x24, "8c58e3d1b4aa0a71e5ec6a80712fd42b975258793cb758359abb32a6af9f8552ca464ebb3796c20202b6ddd136db4ca428cf25c6e1da0ac2a1c5976e4c362b8c113279830bf519dc46892aa2af2bf85dad2420ef65b2b8b03fd9915e5377e1711779b846abce6cdeecb0d3edd7df0f05561c5c8873e472429484be1a2edc09c8f12f51f8aa864f34f1d12e0eea6340de09e40d823b142b068a74614a9ddd1c87a11332df794b4980b54e701f7574f5d475c20b84d20eb0"}], [{{0x9, 0x5, 0x6, 0x0, 0x100, 0x4f, 0x81, 0x7, [@uac_iso={0x7, 0x25, 0x1, 0x3, 0x8, 0x23}, @uac_iso={0x7, 0x25, 0x1, 0x1, 0x7f, 0x4}]}}, {{0x9, 0x5, 0xf, 0x2, 0x10, 0x0, 0x2, 0x7f}}, {{0x9, 0x5, 0xc, 0x5, 0x3ff, 0xc4, 0xff, 0x80, [@generic={0x45, 0x23, "890f6457907127805dc405734241766cbe76dc5ec27546dcb8c2262ef4705613f54aa27156b93570a1a513c6e400ffd5cf6d29cd71761b7c7a7c0e0452c8b826004778"}]}}, {{0x9, 0x5, 0x5, 0x0, 0x8, 0x6, 0x2d, 0x1}}, {{0x9, 0x5, 0x3, 0x1, 0x53f56d0855dfdb9b, 0xfb, 0x28, 0x9, [@uac_iso={0x7, 0x25, 0x1, 0x2, 0xe, 0x1}, @generic={0xfd, 0xe, "8c8d864e9ea48f3282249c87e50d50f9e42cf4eef174bfd7d523973ce7ac84a7efb838739466205655235b0f81e4c1869785fcd3d011769db208c9a8300a83ac57f9a9242a1da48b309218540f32eb90fcf1c49745454f6cd79e1fb3afc93910a6c6a349360fa3d85fc1c294d2f79a6a34d21cc90b51126f0fe4272ee1ec2fa6b08a5ac79f55f47a7f648f2c88b9a5e927c321ff832bd93bd6c8e7b6dda6054875729a4640425c5718c7f38e4f944c7da396f654c52694d26cdb74166924c1dd476b831d54a9f7c747d864f87d636fc99b4953e1e0bd6373751f30d7eaffc8467bbf8bdcc758a67e2c097b66e51e8780930ec65adb64072a1f27e1"}]}}, {{0x9, 0x5, 0xf, 0x0, 0x10, 0x3, 0x0, 0x20, [@uac_iso={0x7, 0x25, 0x1, 0x0, 0x1, 0x932}]}}, {{0x9, 0x5, 0x0, 0x0, 0x10, 0xff, 0xf8, 0xe0, [@generic={0x6c, 0x22, "a985e01e3ff0581365642fd5a611932e564e2741c6e3436d48904338a0f8dec0fdac20f4a575934a28af9c27a4f17879f8d59e48956acf4f215a3835e51d4eed305c81af0aa166890026d29b1e43b905c9377f54185ef9a40d14bd77b18a2b0814ad52e1d4df0020a0bd"}, @generic={0x26, 0x7, "c706e01f547ec38285d12a58751f05a6582996b7f2da07574467abd0f5c2a1672d969065"}]}}, {{0x9, 0x5, 0xe, 0x10, 0x10, 0x0, 0x8, 0x7f, [@generic={0xf, 0xb, "1fa21aecdc5f713bfaaf2372eb"}, @generic={0x69, 0x30, "0e372ae1e65ef7b043510f2896438616f0488f575b97796023819676d841a0da7fcdc2baa4f3cd255d2ce568df6062cd56c9f876d865bd2b95b0a13a40c1c7cac49748cc9dd7c43cc767e951b15ea926876adbf245641349179691c9c75550ff2921ea44d1d3c6"}]}}, {{0x9, 0x5, 0xd, 0x0, 0x400, 0x7f, 0x8, 0x3f}}, {{0x9, 0x5, 0x8, 0x10, 0x20, 0x1, 0x1f, 0x0, [@generic={0xea, 0xf, "b4ca914f8b4ae4b73192b02da3415402ef5bc1a7f23f2cfcacaca19e0852381a4ab39b8072c3841236b4aa39265b09208f788b24e2cec2ce879c96cda0bb9660b2664857f788282669e60b060622b61c63b599fc7e4f7905eca5a5edfa858cebcb92125d1730d1073b628fca38a8403a5cb76e70360a5f4bbb3c52c867a73703fb5820935377343351bf123bd5e93d744c4238a8e943cb58674f1bb8b117905e347263389b52c22c74aed1521c57f1754559ff0654b08b4fb2bc98ce146de99ead29198743035a1fcc35563f907352a1c1a88dc08189d12e7d8ecbdf420c9ec957474c33ab6c6d4f"}]}}, {{0x9, 0x5, 0xa, 0x0, 0x218, 0x0, 0x20, 0x9, [@generic={0x44, 0x4, "01e1d288dc76391f3d49f10374ee379d1236a1c4dbee565e03b864b8f2189c712f58b84ee4d2bbabbb809fd234b097ae87bd368a521a6c76818c040f260016ed6fc6"}]}}, {{0x9, 0x5, 0x2, 0x0, 0x20, 0x8, 0x6, 0x20, [@generic={0x7c, 0x2, "1224f314bdc71d9c6d3a0341718a4173b0a5840b7843c4fc7cac75bb7be110118f8f9ad3a1574b0430a7b7d88b1668d58a7bf3648017a2bd6e9d3babd9b3387b4fa1b89669289c9836a13ffb4cf029ace64ac12ebf906085a4349f99f810e3834077feee8df6a0e1eb9f85478641b8a7caca5f08e886736c3438"}]}}, {{0x9, 0x5, 0x4, 0x2, 0x40, 0x8, 0x5, 0x3, [@uac_iso={0x7, 0x25, 0x1, 0x1, 0x9, 0x1}]}}, {{0x9, 0x5, 0x7, 0x0, 0x40, 0xaf, 0x4, 0x3, [@uac_iso={0x7, 0x25, 0x1, 0x2, 0x8, 0x101}]}}]}}]}}]}}, &(0x7f0000000c40)={0xa, &(0x7f0000000040)={0xa, 0x6, 0x310, 0x8, 0x8, 0x2, 0x10, 0x81}, 0x5, &(0x7f0000000080)={0x5, 0xf, 0x5}}) (async) ioctl$F2FS_IOC_GET_COMPRESS_BLOCKS(0xffffffffffffffff, 0x8008f511, &(0x7f0000000000)) syz_usb_connect$printer(0x1, 0x2d, &(0x7f00000000c0)={{0x12, 0x1, 0x201, 0x0, 0x0, 0x0, 0x40, 0x525, 0xa4a8, 0x40, 0x1, 0x2, 0x3, 0x1, [{{0x9, 0x2, 0x1b, 0x1, 0x1, 0x0, 0x0, 0xb7, [{{0x9, 0x4, 0x0, 0xe7, 0x2, 0x7, 0x1, 0x3, 0x7f, "", {{{0x9, 0x5, 0x1, 0x2, 0x10, 0xff, 0x0, 0x8}}}}}]}}]}}, &(0x7f0000000940)={0xa, &(0x7f0000000100)={0xa, 0x6, 0x300, 0x8, 0x0, 0x1, 0x10, 0x40}, 0x5a, &(0x7f0000000880)={0x5, 0xf, 0x5a, 0x5, [@ext_cap={0x7, 0x10, 0x2, 0x2, 0x6, 0x4, 0x5}, @wireless={0xb, 0x10, 0x1, 0x2, 0x16, 0x0, 0x4f, 0x6, 0x7}, @ss_container_id={0x14, 0x10, 0x4, 0x80, "424e8f80419da314c41ce7b4a2e7e60b"}, @ssp_cap={0x24, 0x10, 0xa, 0xfa, 0x6, 0x3a, 0x0, 0x1000, [0x3f00, 0xf0, 0xc00f, 0xff0000, 0xc000, 0xff00]}, @wireless={0xb, 0x10, 0x1, 0xc, 0x2, 0x7f, 0x4, 0x58, 0x40}]}, 0x1, [{0x4, &(0x7f0000000900)=@lang_id={0x4, 0x3, 0x40c}}]}) [ 318.221831][T14606] loop0: detected capacity change from 0 to 62779 [ 318.224004][T14602] UDC core: USB Raw Gadget: couldn't find an available UDC or it's busy [ 318.227132][T14602] misc raw-gadget: fail, usb_gadget_register_driver returned -16 [ 318.234635][T14606] Mount JFS Failure: -22 [ 318.235587][T14606] jfs_mount failed w/return code = -22 [ 318.238085][T14603] UDC core: USB Raw Gadget: couldn't find an available UDC or it's busy [ 318.250803][T14603] misc raw-gadget: fail, usb_gadget_register_driver returned -16 00:43:42 executing program 5: r0 = openat$vcsu(0xffffffffffffff9c, &(0x7f00000005c0), 0x460040, 0x0) r1 = add_key$fscrypt_v1(&(0x7f0000000600), &(0x7f0000000640)={'fscrypt:', @desc3}, &(0x7f0000000680)={0x0, "ad8c207adf8d7a3d47f53831e2beec5358ce811a2153017d3f4153549e2a9e81046800dcaaca3d852c3cd139cbede27bb5474e6cf130c71d1e790f2c71f2e034", 0x3b}, 0x48, 0xfffffffffffffff8) ioctl$FS_IOC_ADD_ENCRYPTION_KEY(r0, 0xc0506617, &(0x7f0000000700)={@id={0x2, 0x0, @c}, 0x10, r1, '\x00', @d}) r2 = syz_open_procfs(0x0, &(0x7f0000000240)='mountinfo\x00') r3 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) (async) r4 = geteuid() (async) dup3(0xffffffffffffffff, 0xffffffffffffffff, 0x80000) (async) pipe2$watch_queue(&(0x7f00000014c0)={0xffffffffffffffff, 0xffffffffffffffff}, 0x80) write$RDMA_USER_CM_CMD_JOIN_MCAST(r6, &(0x7f0000003580)={0x16, 0x98, 0xfa00, {0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0, @ib={0x1b, 0x0, 0x0, {"9fa54e2a56e242cac40f563b8cffb39b"}}}}, 0xa0) sendmsg$802154_dgram(r6, &(0x7f0000000100)={&(0x7f0000000000)={0x24, @long={0x3, 0x3, {0xaaaaaaaaaaaa0102}}}, 0x14, &(0x7f0000000780)={&(0x7f0000000040)="b3620808b819bb21762d171ecc90de158cc8553d68981af057a2b639048950674581d31ba3d68da30bec20185d69433e174ad24f25d6ee960d00302d8e32ce11b656b95abfc61f636999e832025a9f5787", 0x51}, 0x1, 0x0, 0x0, 0x20000000}, 0x4040010) write$RDMA_USER_CM_CMD_CREATE_ID(r6, &(0x7f0000000240)={0x0, 0x18, 0xfa00, {0x1, &(0x7f0000000200)={0xffffffffffffffff}, 0x111, 0x4}}, 0x20) write$RDMA_USER_CM_CMD_JOIN_MCAST(r6, &(0x7f0000000280)={0x16, 0x98, 0xfa00, {&(0x7f00000001c0), 0x0, r7, 0x1c, 0x0, @ib={0x1b, 0x4, 0x2, {"4ec0815cce9c22d3006551f7e47f0bbe"}, 0xfff, 0x8, 0x7fff}}}, 0xa0) getsockopt$inet_IP_XFRM_POLICY(r6, 0x0, 0x11, &(0x7f0000000380)={{{@in=@remote, @in=@initdev, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, {{@in=@dev}, 0x0, @in=@dev}}, &(0x7f0000000480)=0xe8) getresgid(&(0x7f00000004c0), &(0x7f0000000500)=0x0, &(0x7f0000000540)) ioctl$AUTOFS_DEV_IOCTL_REQUESTER(r6, 0xc018937b, &(0x7f0000000580)={{0x1, 0x1, 0x18, r5, {r8, r9}}, './file0\x00'}) (async, rerun: 32) getsockopt$inet_IP_IPSEC_POLICY(0xffffffffffffffff, 0x0, 0x10, &(0x7f00000000c0)={{{@in6=@mcast2, @in=@empty, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, {{@in6=@private2}, 0x0, @in6=@mcast1}}, &(0x7f00000001c0)=0xe8) (rerun: 32) mount$fuse(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000080), 0x2000c00, &(0x7f0000000280)={{}, 0x2c, {'rootmode', 0x3d, 0xa000}, 0x2c, {'user_id', 0x3d, r4}, 0x2c, {'group_id', 0x3d, r9}, 0x2c, {[{@max_read={'max_read', 0x3d, 0x6000000}}], [{@seclabel}, {@context={'context', 0x3d, 'sysadm_u'}}, {@uid_eq={'uid', 0x3d, r10}}, {@obj_type={'obj_type', 0x3d, '/\x86'}}, {@defcontext={'defcontext', 0x3d, 'root'}}, {@context={'context', 0x3d, 'system_u'}}]}}) (async) sendfile(r3, r2, 0x0, 0x800000080004106) (async) r11 = mmap$IORING_OFF_CQ_RING(&(0x7f0000ffa000/0x3000)=nil, 0x3000, 0x1000000, 0x1010, 0xffffffffffffffff, 0x8000000) syz_io_uring_submit(r11, 0x0, &(0x7f0000000000)=@IORING_OP_MADVISE={0x19, 0x1, 0x0, 0x0, 0x0, &(0x7f0000ffb000/0x2000)=nil, 0x2000, 0x14, 0x1}, 0xfffffc00) 00:43:42 executing program 4: write$RDMA_USER_CM_CMD_ACCEPT(0xffffffffffffffff, &(0x7f00000000c0)={0x8, 0x120, 0xfa00, {0x0, {0x83aa, 0x8, "e9bb70a24170b937b3c7059a77594a93413841f6906ec9dcd43ecbb702f4b5ea3f025ea688ec090547c23ed9cbd936bb548c1094f9185f1b71e8d6e76a53ae752d12adec99f307a36cf9b7a9f71935e41283c185bc7ecc9969547832dfd82f38687a44cefeb9a0f6e1ac5e6134e5afa7809a35d54c0c2145ab498df199097b450bf13fc14d5b5921730827cf5988f45ada5c16553b2957c06e36984b2feb80699517a291bb9c92a559e7484a0a06ae31737774fdefd3271e4970fbaf35e976217417df102f11c89a7d42535518ed1b214907503ab137bf8bf32b317ddada06059a4ec2fbe0dca25dd0f0c0393bdc16f97112df78fa07724e5f065f8259978e6c", 0xb6, 0x7c, 0xea, 0x1f, 0x0, 0x4, 0x85, 0x1}}}, 0x128) r0 = open_tree(0xffffffffffffff9c, &(0x7f00000005c0)='./file0\x00', 0x81901) move_mount(r0, &(0x7f0000000140)='.\x00', 0xffffffffffffff9c, &(0x7f0000000180)='./file0\x00', 0x0) write$RDMA_USER_CM_CMD_LEAVE_MCAST(r0, &(0x7f0000000200)={0x11, 0x10, 0xfa00, {&(0x7f0000000040)}}, 0x18) r1 = bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x6, 0x6, &(0x7f0000000000)=@framed={{0xffffffb4, 0x0, 0x0, 0x0, 0x0, 0x61, 0x11, 0x14}, [@func={0x85, 0x0, 0x1, 0x0, 0x2}, @call={0x85, 0x0, 0x0, 0x5}, @exit]}, &(0x7f0000000080)='GPL\x00', 0x4, 0xc3, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, 0x21, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x70) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000280)={r1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) 00:43:42 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) r1 = socket$pptp(0x18, 0x1, 0x2) sendmmsg(r1, &(0x7f0000003140)=[{{0x0, 0x0, &(0x7f0000001700)=[{&(0x7f0000000080)="90c96edd7e92d52c179f39bad590153c148c2e74e24d4aa065a6245834a9e6764daaaa685bc914f7197a61bf5d97dd2938f5e0427549d34921383b209fb39ae744b822d8fc101b40bfea5ec7707fa49578fb3af635d31b79e7c92b1325c0fba3096e162837400fa9ea73c2f813d2489e7d33de46020878cb07525e428441b80196cf482b3267509727bdcbfb97f1fd8dbaf258539b23b4b4d310f67e2c0084814ae8cdf7cbe6b7a6c691f4ddbcec2048325ee3a5e0abe74d959414d989a24b86fa7c7660dbdd1021", 0xc8}, {&(0x7f0000000280)="66332e89d090ee73496470ea700f421b6014f75159b1e43b46f4e9b51a2897ff2ef5fade0c692794b73aa1f4318300004a044b52c394862b57e5b491259a9974d4bc06b12d3697476b8e9c563ac3de1f64b5bc19b0219a572fa692c11c84e0bef446a02d4c53dc358a0f92327383ba1deb5b3f74f01fff4201e161a2491576fce41a832f31f3d6dd5875061bdc640ad4ef3651457619cb3f569a0749a82f075640e3b1f71b6a5b43649bfec2134172c36b2bd0943455ce4d28d051e76cb56bd8326461e504d4c799cc23d0fbb275274601794d15663afb98b781b878822e3bd23cac797d60671f6f41095cee53efcd129afb782370862dc1", 0xf8}, {&(0x7f0000000180)="afe0fa7034915bf77e879ef3e3d43d014e3c6585d99a72cd30a0d0cfd47bf271a3e41d0c80759c3f86c4333bf82ef8ed6e5e67c70adf51dee1ea78", 0x3b}, {&(0x7f0000000380)="c7cb6940b10c060a52a3f5cf9b8c12db9b5e3bebb5fe1a1b6b281885e3d55f1a81816d7b614a5982341674e3f090ea897c3d91a5c527bcc8726dd04018fd8cd0e0bb26d240d6da792e34af99433fcc28652da10428d7f3dbeb9a4bc0fa61b45beb4a33337c9ec5aa7f4b8e5902473f22a4e5a7ae4f545f8ae9c92745c615c39e2eb0f6dc8ea231210208facc2a3511c372a39b08a4f08b77e5ff492abcf7a096dc3e10bb9cd3efb7811de38e6274f1cd8b9c", 0xb2}, {&(0x7f0000000440)="5a4ff8fca71d86ce7d48a6821805d8c7b1c6256c4416a1a36574c4e5b807b63358b3b8d314f81557e71e153b8e9976f93080718b6f5beb922822709ea72677f4148aac7520c1d0ad0033c314", 0x4c}, {&(0x7f0000000580)="f05ba5c7cc712613485bad7d5eae19fed4c6e58fad9d2aef4b11ecedb9ab8043acad654e4af4f8a974571ec38b6bf27cbe7cab6d7a857026c82cd6de733258ba3dc556b1c351793a68acb5c771d5edaad34121dfc480f7431f6e97b1dcf6523c9d9dabafe19cc8815842cd43f74185f7119c027a6798fbaff35977e5b566012b8f0d49a62b17157a21fb9fd23161247996ab8e8d6076f919cb6d36f32514edb07fa0d4a6fa15303d019a4f159df81b74c571c22508c693fd59a2cb8cd5d4456067a29a32a9f3c388e112e2e3a5452c474a8b1df1f600786c70f18d4416cd24bc220b8a171ab818cddcf0b342e536410f9e3f31f9bfa1d695e62be0a428162a54b3c6503726f38128f01c423c200303830202f5a140f0e1ad400a38edb90d8f136f095741862b25c8e22fe52aef07e7e5c88647d71b7b94c97848d211352f5010883ef247ad014aa361c05acecce290bf8247a5a78fa43bf141045e7c92da159fb6da4b7383ba4f93cf314a331018e2073ab8b916d7fa22ac56b85c4ec565bde6426b1f3791db7cec3fdee3f323470bc7534bd6bb13fb572e78aecb808e573364507125bcc10f103c5998959c20c7181688727cbf4145d52b9fb6f63a60d02c98138a1b4270971f954598c56f727c8395b5c72c84fbd038899da5b111949b21bbe97cac1ffaf0cda3a181b5ffe8b1d5c9acae82701663e3d5c47c868f81f5f2dde28df7b317a22f390ad8f96b40597676af02bf4ddf43794fa638c3c45526dbca35c82862e557918512b5cf1da5c0c4c26c22c22b557f417cb0014521b8897ee11649f7d347776627f29bb870b85ba7442413eb68686ed1f7a495846f7e6017801b280e7219b6b8844cef82bd2bacd8ea659c69f911ada99ba4bb1f03df915b8fb59f06030ad0a49603757be8bab8e17b63edd899bd0101441816bd56257b01488da9fd990c8d36bfda2d753c557b0106a67150ea3cb9532fabf14a71927303b6b333215e5b0ac72e6d6cf9ed7ce5c83d34160582da6c4613efbc7e7ad673a812a2fe6e589b114b5a843d78e272b815b76778090d96f3099910d874da14d562556a80557c8547a1e46f149223889d6ab74fa5b20079aa9f88dbd664ce4086badd184a346841a2cc5b61881c690a826d255652b91e635ec301779ff9e5eaca7ce6cdf73adce36e4c1d6c63432a58fa981c214842b6751e0c4d53d23fe187e2b05a0b754a115be996c214e6d1a47281e4198311c94e62fb63f88f84dc3bcababf47f3bddef02436768cca8ae60e0bc7772415fd77227e9f9a1cdfd586b0170ac869ba5534859a08a5630573e48939b63b848f32518d3d477e77c439aa08176b1ab8e0f2e5d3a48b4c2260f5245a8a757a3e6f6d49f9587eb61ee6cabbbe5339cc0aa8544e965e575986f2d3afa1c2e13bfb5e78b98253f33fc40850be0639a61d65288d34ca1da6306231a57595a12deceac7e63f96c25b72409a654ef2f4b4357e426ae723979940e420a046d64bc41b6fa545ce30397a2b6a00129ab1052c3d57a20272b30f300164832c9fe196c09328944f675040c743109af3f2c5204ad87aa918fb5959a45717264c3e803afe595f5ccac32a55d4383cfbd8ab27ca4e4b19e2ac74aea5f48175ae5ea282fb8e7d2c6ab5e8337066b2268e0fac9f9789a88d6d0cd1bf99e5c68cb898463f0cbe4fed7da5bd9cf46c0049f889e363ea503757ac9ea46a44f5ccca6746f6d6b4ef5580544aebf6804e26f1de80f903ece60430de757054cafc15b99362b2767634b52ff781ee0c98609b729caf2ad41dc429c8a45c11c50f89b21af27e8d13823badc3d77977718470d6db547b170808a5e4a01de9459ba08a8ae0ac9453cbd8bdf26a9548edc290ddac30a09f1b1c4af3d7be6d139d694184d4b0a779f50c6a1ae4a4cfab0f09a718c9123df707b4b7f816fda8e9cced98e1abb3242d177b628b0127205c187404f82d32ed8a1b7f07f4dc71a9913204cc22309ac51841b6a93874a26b9bcad70d68f5f815a7438d4c77754a23a491cca2bc841f89d23a049930a5cad6b0c346dda533195ff879ce22bc185a63c7b718858b2f1530ca2e56e4ce6aba6875ed0765a7ee5c4f4481c1907437483d323b102df7dbf17bc48f04ca630a192d5597eff36419f48f1a13ca813f9e6f842c0788143dc4a0e58139638b5948b9fbf6ea4f0d8d0177539c87a47e9df38db5bc4c1cfdd09337d178d6a17d83e4530d67e39d1957a870aa6852a605a4c79bbfe3de4c19e9649f035041ddfd86ef36362695f15d8149dd0065802eb287800d3104762dafd77bfbb7b28ca9e2a4e3dee4e8808e480a21461973200c2f970a44920880af0d45dd4ed333616643236381b678c26c7ff78c31ad5fc946e2e68f16a4de4fda080fcd7825b489da4ee09f0a9a8af5d293e5cd1f137c975b4e71ab4ee2d10a1ceb34bd59669e78b3cc7b1c752526f20dedbec82aeddbf1f9a430e84c66dc2493fbe61d9cbaf2c67c500ea1a1fd2566ac76e01e69002763278d73f17826ff1531d4baf0d28dd6591f88d02c1b1542c8fbf51487bd2ac9e423b4c2b0f4589f602e44da5869bd4a733c94d31d47d8a0b3cd6b24c171b7ca7cc28881b3c2c97dbcad9a2e113bd35cdfc9dbbbd4bf1cadef76acb55b004e2d255ea1264f949247eca47b109b3b5b8d7902695f4b5886a976fa9d86b3cf77cfba954fc64400c729832118d3ebceda6c3ff9c921029f8c7fca108dba757eedee4fac5a1be1d19454e204f053a834aaa26c3361c68b5ec1b4e7f7f2d2210b702d6941d264dd48f466788db33e98f24c2af7f9e65098cbabfb460f151867aae3811d80a8a8edc607582bbe2f1d598d422f919b3118d254e831b331fcf1df3244fe8013f4c558c4458ff10869faffa83c3b2bfd57323dc729e945f2d707d450ca06a57bdca12b8fe3cd5a4e872429b787581fc9f21e7c186a45a6c6d53336a8ad3f0c04b0cb1c5b7a14b1e0c446153d3646cf4726939be118616db011b422a156e6266009792a58eb233503b4715641828791b0b8eae04a8a7d97fa327d87efd8e232f8a05ded0114d2c573ca31bd85484d713818331a5168abc79c79c14495372d13449d90bcc1826bcce4faf15979cf2ecc4c32495117f82a453f853a30a89a2ad11fbbe1d4bd6337e197cf6ecdd9befdd64be5b543c23075f5c098d584b1666d362791f1942bd42bab5454f2663add45e860a30c2aa33ec9c4aab6bc4e06ed0c757381c02f7632380bbc41ca6a04e7cdd8cff394d0f34f3a6284ee36191224d3967a6e028120993406302794613aee43ba72f7f91751b6d5db480d4f4f17937952c3f9db6be3f58fd9a2acf2cff09b74bc5c12516c1a81e1c027c0e3b016659a6e5cba170bc2e02d92416a0287af77af06af313694409bb41f2b183c2e810b67ab457268df38eaeaabdbd58ae645394b1ec6ccbea5c6a2c79f31988ba2744fc410f9baccf5e4cf255862ca8afd17f216f7eeff724fd96e72e2789a56f2a8a7f48d6e7382dee45fe4cec04f21758c36132d3b7f073a5a66d9327f1d823e44a87992251229b60aecb3960e9483a45f1ea5660048939021aa9f3b380eca7154292cf2437b84ddbff720cdb5fe5ef0f9a95a3fd73a0d1ff02b1a2ffe8e62d5da31500eaa33d1dcc45ac7c816c38629663d1ccd7dca07ce2d1cdf431b498e3e45bc0bc3631be4bf1ea9e2930b6666dd9246241483dccb2f5314a8c1d5938c2413ee1b87b0226b16b2a973e92a21bf8bec529097c58ff8df35ac26206a493f5251b61d2be2515cc6770ef602a65042f4b5d92a309e63ef814a7e91b1810e0b329384464fcf91e8191fdb53a86477aec9d9bb1f0b368c56ae0d453cd56a17ed2b53fd197600682aca3bfca47697e9f098753038a4455954cc6861f6df003dd6104e6e680ccd986d084e2d2c4dfcb0da0787921ab1ab582c7b1fb6b4500fd0d819db8c32ea04910555128c7683362a68444083f679258ccd9cd5e93d5f53ef2e078a237b79fbb90fca82280db1fe6d5b3b94d8089bf46077930d39508860eb48388fd374445e6e5e32a258c733980eb0c91c8aa56c676f4588fee76d8d4ac7b56dca9ebc9896430b42628c2065029ffd910ce1c7ea7a44f25e65ed0cf7d8603bd2b0c0e80a06c711197869b25648feaa7a4195718f22dc68ad7c4de93e0ff59f59872f2cee2979cfd276d957335e73defcce0741a26121fe029a019c7a684827c52e73297bc64e98188e3bd87e406c9e9da30303c8a736fc6b66ef1ccf8ed31771a3dcdc7d17ad388cb7530cd2b48b231c4a9a8d2ed88b3d33ab16cd5ee588534f574ba2136c774e114b440f171b9acdef0bf18321ea76e1dec3846fef1e8c1d11eb341065eda76bb1fbbab8fdaf7464bb3d9e51b6f802f369315b5a8cce81aca0e40d6b2eae1e178280c1d05e1ce48fa757353a748cf2fe80dd41940042638004f3497ce8e7eb4d04801eb5238ba9b7ae1624de93d3a363fc6e7cbc1ff36575d8c25cf0711e4b21b7b82cb522bb5e8aa210cd8d66d50d963e3558adcea0d63def374c58d4aa079c86575fe1f4a476d232a0ab43afcbf5a923e71f9a2cc6ea98f2ebe98ef1c5cd37b1ac0debc69c28d31417be0bef0bbf2dcdc5b45c42c87fbff054c02ee61a04fc74795cf1c320d1c7cd4bce0c7ae1062e820a48048ee0c0beb7a190e95cc0c0a55d0fffbe31d594512d0b7757d9a0c2265c568719792e08c520ec2468848914411cdb68fb06d90e24924223d955be4173d312f299b93b8685b329a6aa1f4f660b41965ea8573da9893332febf1687da9936383411e02ef4fd6b348a1f3e059248110d54c5ca2baba7c087eac2a175b48822edbd7e0912bab041d2919ed94ce26ee5257b2ebb8c4ea109b0cbf8e4d295df2ef109b5160d039719758411ecd533403897fd8b45dc50a0597adcb8c043ef8f9a6ec5ec2bbb59e39dd05c44daf3d7380caf07849dccc47ba5d3b2d30936b72b9d9eb805c327d8fb84d400c911b71cd8a637770ba44172f90185c54f51c282b179c1639b01b9c02b4ffd77bc36f4b0d9a55c627b6202bfbc8cbfe2334b7ebec3405eab7a2779fd597fa035f21e2738dbb4982f0559e6cda66823f0ed10bb8680a70bf83889d9f180c86e1ea0f003f6ce2a271fc44e445ea2cf4db7d482ab8d99b75863bc8edf90f9e17fd4122b8ed5ece47a474c2c7afce3085db8ab0ab4e6710b967c44e35748bc92f5974fb048e06683dca5bb2d7e7775eedf234897dc3f4ba0408008fd3c38ee85171bf9a602e9175fefc167d1fa9dabef4faff99edfd3b41d7a2bfdcea85d5494a2f7c4a0ac90f40fb924e877d47308fac2aff0177e56d3a6896b267702429c3e01c324f254576fe4ca53dac121b17a0b5162679e1f4d5b0efee446ab7b7e62304ddd99f9585e0809d8a25840788cf2cbfb4127872c9ed3c0c4f68e424d9ab1a8754dd3f818b66f704e4a71164f4d11713eac24fede5506a069f472cdd9a6bdfa2952d70714b7fbfa04fdbb585ba1bfcc967a9982f73279d8732cada50e0316435f3613944350eaa8b61795922231be0458d7aeb2edb432426c94c07a353f1cd02dc53c351ef5034c7491831df27cdafeb6cfed0df1bcb47975765ef6b4032a9f94894297fde881e2ffe9d745a6c66b2084d63180819c1f4f9401a296c5f708df796fedff3027e5c1723ff6287a4f1ddb7e6598395534b3e2cd372dfa3185b5da8c60893cf9ed3bf922b726b3c5a34b4d09f9a7f687348660ed7f69e8c5b9cbf090624e3cd25f85f20b", 0x1000}, {&(0x7f00000001c0)="fb1bd8dd0d069edde9e8f976cec4ce14995b29c3283f1b1a5e64aa82c848935b07c83f", 0x23}, {&(0x7f0000001580)="570ab044530e29540d98ef4bd1e67108bddb1bb6fb3d187598b340d3a742c079a39a89c631bc5d9fff741886f1bc4452b18e32d0d7d53bef8faf64cb8fd5259282925307914954303e", 0x49}, {&(0x7f0000001600)="b05e3a4bf5d6ebc869ca7271eea748dca840c01bd5f7bb9f9d0e45ac1b5d0f7344481d57c0f104bfe7db983ac4a35456d27756680ced24979fd946bb77b7d6a0a8ebf59702c0556d809a97e12d1c93a9ff65972479a2e6a2337b3eb6234d7137e21373ce16e11abbb790878865ac72a67394fed4f8667c458d7c79", 0x7b}, {&(0x7f0000001680)="ebb4296368029faae09f9476225551648670a80700000000000000ff1e0958d28050b07ad4d1a74a6dddf8b29bb63ca387a255ec7218579971320b34eeefbf959da30741487f3cab611f291d622f4a69562248d8a7dd2876c4fa215e201332a304", 0x61}], 0xa, &(0x7f00000017c0)=[{0xc8, 0x0, 0x7, "df77000a52ecfd6bdadd2c05919bccca32dc4a15730523f98b9b48c377df93c5478e5ca1ecef0b5e49d32bf169d2bee43fc74d05d7d2929823eaafb699a10c000476ffce3fdac3b6d9b7237e985b0746dfd3a66b9a32ae6afd4f3e0f4056f1db4e99e994a500c2a44aef7587b0ec2f575b635cb0792d2bd35a9898e9eea70dc1d415c94b3599e261db079ece342d06e67e19af9c45071e416cf54efe278c65516f5b2a57d5ae399a832046ffef2877c4ec175b8e4f22"}, {0x1010, 0x114, 0xd1, "9e2c2fe06d0bfc7e21bfc5eac8b16d283c7ce24dfb555186ad2c2deb15a38539e9f0103af075c3dfe880169dccecdae81559e78597147a3dae69d0844b811c2e0a8011fbbe365ce4f2099dce2dca79d32ace7a2c18863941d7885ae45f2539a58a9ace4f7a033bdf9bd1a034a05e36d92e885ef7c939648a272e81475697809bf447974b3632adb0e073f7410b751dfdf08a842d74450b88fb53d34a96f6449e3640bfc531fc5156cf5994862feade149af3df4cb87a35b8de52225e1dffa33f04f03a4801cb153736f83354291ee3880d9453f0a252e0c786a9cd67cb8ad37082149c702b2f908ceed86e48dd0946fbd243cb453b5bd88ec79a8609a5e17fc05bf4e74603306fd4897187a66262a30a05b19ffdf64e25b836b1474d4f7423149cd17bb64561d296142aa6589f788f39624c5913da9a5563735ea26cee30734b9130f97087c52401baae87d9dd1e026cdf8554e2a208a43adda4a4540ad0511b2916409283b2f86b4d0b7749a3f5c2dcaccce24d8b25655a09b934a449cfa8a02f51d0379fa662db4f2150e06869ca249fe967f0be322b3f80ead3ad208375284fdd88f00752711119971f9d7c72415a113c63b950cc4414ceafed5acebd477f0189fe3d958ca62722b110069ee54ca916d783d36beb7accd1d70434599f1db1c8e8580ac95a765e60e1b014479f313e0ab4c3066e7b6da0cc45c9499676f3daa0d2056f902bd0603eb4c9de65083d2f3a8820bba09bc859c3307e497b782bee409e9401d9feedf3ed63b82ecc6924bf5aa4efbc223ab0d0bea190f7c8faa2e60f1085f396fbe055529cd56758068b019bb3ba86f9b91a194aaaed9c0bb040a0980e65c1ee9f86c6faa28e6d0578f98d980b633ce8d439a5977bf78cec282fabcdbc07d2c34f054dda1f57009124b8bef916d6684c19e310451fa69b628598d4a4b0e526271a171d481eb800779956a0f6c909a1774094499a737b7fc3b517ccf4e08bddbd8bace0e66ee38eb8059675085f81c777fa16cd55a3f9669e1f8041f0ae22b905189c5b40c91810a9769d0e3c4d15cd4fd5e272b2342c470b8b3d677fca7af402bfd23df960ccf834748b8dce801fbde9c5e4aeb26012e7dd0948422075d12186b6d3fe51f784a7675e013983938e3753b9c6739dbbcb83b99fdaa6d4f6151becb3c79fa82ce96d010ef67529da56c14e6f89a7f0d8a67a48d8c7e6f682fabdb7698da38ad25150feaeba4551380b5c101457bd7742f0dee1288d955f13c1a99eba6b4ecf3dd397057b6291f827cfe16d18b279ab7d8c463004704aeef3875e2d701a9ebfccf883b964f1775af993882ecc55f5c2ed72c3d1c9b57fb6375c8d536face15511bd1f758692c498d72d170322e6b59a1a132d5e61a5c6c6d996206edad666efa58461d068431f2b589ee0ec30581c45137639931f9fecebc43d1c1fc0e7fc0ad2d2a8ba4ce54fa3e283cac147d4a0ece7bb9ab67bf48c16ccbeb54a8fed065fc366b1cc29b35f19a3493c0c0183a5d6562bdd478510ca21db9d5891ca1827554ecf1323eadee45a97fd8396595394e4717680e3f4e996482f49e7ec1ed0c75bb9b60c838508026f163d9b5980c251d4091bccc82a9dfae3e53ae45afd0744212f71bc4805e8e83a4fd0e3e44e8a29ef5f359c91a86271a27d1b66dd4d6e051681e4e54cbc060bfda87a8117488a6549ad690433fa048a86c0bb8127b5924f97505a773bcb574d8a1a7344628d15445c4d9eaa48a43260809faaf0670970c0d5f11ba452161f9fdd9d41e23951ea1b859541e6e6683de7d0107fc6fb044ea13afd14eed3e9bf95b5f565b55db30a81708551965ed218da2f2fc040566e27bb0fd075749f4cf1fdec989435af605d42aa582905d04d6ba40d3b5d4e55a95cc36eef66d554e4934d1737a8ec2d743cca5b8195da9f60525daed48bff4368974df5b06aaaf56e82b71767ed33acd0cd83286ea19316cbc828774038c4522c7f144859b0832bca64218d721d8e9e2171a5ffedb32a5c22acbcdf4f6abc97abed3356d8cd37aa881d8c4cf93f6ad567f55eddbdfc2cbd13a2fd8df86531eba5ec15379afd67b2ee4055c3911ccc967e720a92882f3c9fc961b6614bc311ffcedbe58230e4a326aa352a875081170919831c3d61374ba8c2610e9265fb6e5354f0a9e87e19fb4ad8e097e16399ad9350f9108eadc1e5b8886876cc1283b9240a9560932ea5c61cf196b1b25d46c4633c24c1d522fed3d54413b7d682b8031086c64de82ebaf96d146c96fcac1c4a7faec6a1d7e528faf4f3d07f115554c8ad1571479c2e294f2785b0f63f329f4d4617088434b04a2026e9fb9884d51c37c399d72c468f206dbdc92ae1ccc07d45c5d5d1556a7337f8093b9486fc2bcaae58b748c6f3cf00d6153a060753dcd30016ea40d2a4cc59b02c941e65bc96e02b89a52f511893ca7fb2c6151214cb93bfb1adf7c01f5367c69250e8243bfd7677c99dc3943a0344774287b19b05322fa8608af8ca45b8cc764c891cd8a8a2b65f65771e999d22468408afcd5eb60ce713b7deba395752824cf64e6366579ce5c06325a09161e924fdb010d6f3904057e6473a4ef1ad31d8ed6b4e5116505d4daecdd3fdfab3f1c750eaf5e3f1551865f255faa24ce32a14a162abfb3da77c72174fcd4f009febd4fce3b3898674770ab27bb896e1cdeec488213f5fe0250073f5bb6ed21754aa24ea6d17e7e731190bcc9821dc81857094f1bb286d371d2a0fd3ee21994045d1488bdc9d88abbda517f8239581a44788a99f376797b5dcdfdb1668ad3835820f764e1fae4b36cca9c98dfc562857c0b927e04a7bef8d524c8fe6ec30c23f1ad0d79290f6717696588b15983b43c381ed2da099ee4490ea70efc6544dbd4ea312ef77fe691569d1e70c8cc65bd6fc57994f0497aaac5b571c3dd2b9a3f4f1d454b9353a36a427f874687b3fd63032199025c4c612c6383f545156b4231fd12291d5ff98a178d967d27456c750ef3b5cea3d70134b0375565087b94745a48bcafc265e794242dda04029056848dddead60d18c844c295698f7312fbc10182a0f72b5e079b8f0123d6cc4d632e030a83a527dfa2e80cfbd6ae91c1b535e6fc5af3f69020528bf6ae339748e81b4c371256ecb3d7fad1c9a00116ec50d94dc1ed371d8d125e85dd7e87b2c222e71326de5cc2f9c381b47d00be9e08d27d4836ee6e027e5aa755cbb4ed09154bcbe862db351c8e0ce247c6ea16107e4cce101369281c442daa0f5976dbd7006b1941f621afcc31c0b1dcfd2ffb2139631f5adef90211802caadbdc027ebdbee80b06313453c1b4c86235ae0256eeb3219026a6a355d08674b78adcc6b6efdb1e0aced6489ef072188b579217c1e31dacee6ea8d5da26f451fe1aaba823d643e97017ffbdd4d491caddda9997a86008d2b08d93fc7d25d829c5b3fba96efdd79690b02c65ce85f202fcacf416f8a1a91aa2fdae39901a368f0127124d5cfdc7216f5ab52efc4e0ccad016567e65650c35bd0b5625cf96aaff0083390120bc3e97da476a90d97f9fa1084c883d75b71e891008986170ab69cb41f0278e916b578ae035508de7bd1e30e18ad7ae65ea3807656fecbfefbdda47d57d03914b9592a7a4d8549bf3c21fcaa7256d17749d4d9b4eac9a271914be3ca57539b7bc93f10ec594d6da9b802637db93b0f0cb6d1c71f42ef7ee31cceac42f899f039b083846d5cc5eb5863fea2569008983d5a3551ff9dfa91767966068b9e1e4b0889aaf736a5e34126ada707f0cb3c01d6bf0f1de18bf35350978384525104a10ee3023f645c3bf3d0ed96239463937f0fe845929c88dc255831e7f8c2a8a33613e4e1e2e2996a36ced672b6b3f488c8755c8823b7ba80764e16225a0eefde06a7105cb80c39ae63c22d86eefc1a5ecb88443a80fa95cf861cc27872b2019705f09b32a3c8c1a9c3d99505e51c83dd6c62063108d71dc90547487dd60bcd8290b35aec243439c72339ca395c5199f1d14b827e67bf566c58ba980d46e408493e4da36b024ae657af6ea02e83fe12275e855c5666e46fc8344ed19dacd8da7589df9e0b8e85a56fa3cfabfc9dd1be663b5240954f656f93586d1ca5d9434c277556ad60e7e51f00158e399572235a701efd1c1fdbede39473633faf72b4ad8c64edb2ae90ce459e388f6ce309a7ad31290ff9151c42cec67051d855e29b4130feee0c99263e8aec661460536fad3cc9205544beb0c9cc26c8d93d1c91975dae0a05d99b202436b65dc49732cf37b889588ca89e88c1e678763520b0234a3cd5f5bb66bda38bfd5c2b6e7be3a83c814206900b2ddcd3a3a443c57cfdf5f88ea7b33c3e7847fe8370b9c927142bd7703469e7041e48f4ea9b241da37a2965852a04dc0f6cfb0c35007af0b4921ecbac8b219abe8cfc03d36c6eba253ce2a3008a11753ad4056a3a77a6af1fb4abc585545be7831e81e484706e9eac507af4a1f87bf4ac6b0f9debb952958f19504c9a1d9ebe2a8714d1afc171a6da1c60c976f6ebe73d2c0b353a513d2b65a32c2cefbd981abf7acdd2bec381545e182501419d6ada937e837908ba1ed34f7bab72a4da6d59235d99c4391b63df7b66de0dcc87d2a9ff3cf555ac0e4d7580440c5dd45f85c915f77cab178a07f4471c85213c59973c8fe802e4fcd94863cc444486debbe4dd01f8592c6822b45d5674a650e0b856ea72ee10763dd9721a3733b1e980561d0fc56130027ef9becfec81231bb676dc7a43bd2b82a34d5e52a3927644c451b348178f6791dcbc1c3d6926451f62b27bbdcd6254beac974604bf0b5966806dec18a643ac233440bfef2df6bf78481608b6d4a753bbaba7a939d709a113e67344fd72142a660a4474eaa2d6fe5895d96a422a2cd1fa295f3012d45d1b72f1d47b473ea4117bfd6f9f0ec9127b07a1799d37264d00734261932d51fbe9e4687df0ab6fe3e4f30c60283b7929bef79a1a301bba0b43b8c44eaa9d75ed89397eea85eec8db2ad8e920718d24f3f9b9e9384c3878a5c5c24a4f1973d850c3325265689151ab2bd1aa6d2a21b8aedf86b7dda9f0772736e318ce3714b0c621e21a000d9ba922b7dc9d06b2b036c9ca0f988a5cf6abe58666b9dcbd5601bcb9dba40f038518cc7f11fb1a837e02c6dcb319b90c1905bb1b64ed072a98201163c662694387eaa935f862f05cc301b403e80d33aa2b90ee412f93ed0ae70458ce2fadb1fd0cd51d9c3d57cfc44db3016e263eea4f53696e2060668435287dc1a1aae3b77329ce2730a5679819564fb7011bfd0249b61c440e4cf3a41fbfc274d7015bfd612055a83184e3b000407dcbf08bdde3719c167f80cfac5ff6b854c975581539d95ba2cfddf27a36f584bad6b6ff2f69d2c31bd4106529274cd730511fe87682530bb245788485cca4788bfe5205d0bd40fc0fd524338cc9407a9d642184602436cd4e10ec70fe7caeb27a8fd4ed6aecaa0cd79e7864ebea7b33f542269e6e1e5471ee27919ef1c0d1047287ddf5353c4b926d1ab07beb437e4fc2464dbb6efd960d115ee78387a165810cc761447fb853b575fb2073d1d50b94f6b39e833e2a436f8dc1f1c02952bcf669287384a68a2c41ca019f3f8bb52167df2a463277f13266e2d1fffd1c82c19e4fc2e0045d5f74418c23e5dd3dae9cd861a91d8289ea1af0f9c967428cb2944cb682ed201863b435c7a963dd2c8de9d8491fdfd6fe21e1e4b041e58b142149988e52210b31807b048874ca0651aa48cae2d549a7d4aab1"}, {0xd0, 0x10f, 0x3, "7959b2b8bbe519f9f57475e2bb82c068b0dff3c93094b504baa35b5cbb9f9140f1d891c9b0bea919239f04c952d8efdb72e8017762855c78a027eefc10d7bb56cc17b4e9dced0a34a95536b9305b9dce9d3d99ec5be8166537fea2cd049817ee0e3548420051beb616472ea97c458c54fdd72cd7bd798486415dc0c2370e9a21ee551327ab9ce6a9beb222031894a90f440e49139a5a0e34242ebcdd5fec840a3821fe35ec05471be2afb389436da0e65feac21b48cd99719e8c"}, {0x110, 0x116, 0x0, "30969998a584b29bd116708a5263e6baacf0db9dd9b8461dc14e744b53d1a24b0f4949c75a30fd05c2a5a94a2bb81a319e6a019881e3f146aa1e60ce55757942b3f388f88ac1aeb4bfc3330f218a379c6be55977c16401bf9ef45c7f2f60c3768f8a6d598419b471f479ece3c0b68444e7b42dd3f95603f8bcaab2f646f966a189d133a8f246d672932ac7081290386fa89283c0a7a83c89ed9c9ade7262cc78252991029b1f272d29cee53c1f22b8417cff7031a61c1c1368ef992b9c4f91c3a8f5b87b84845f3155620c1016e7b1196c6deb1b468f183855df3b7c5fbfc5feded85ef76a7b774c5d82921c960981bd8e6ac927a911f708fcc1"}, {0x78, 0x119, 0x0, "512be8cf56f9a3a36cd1fb224cec8d02c019095825fd583b8bf2a37270ce58bbc81febbe0ff3b5571c52cebfced0e898893b345b6536e6366e119557e03b4362419e657a31c50e5a97bcb806f548403e7b77e1c61873f9fbb98567632a55bda396a13bffe17fd90d"}, {0x38, 0x110, 0xfffffffb, "e6f1707d74588abcd5ef307e0fa842fdd7a36dbb1a2396083b6abfe71d554b0839864da3"}, {0x48, 0x104, 0x7, "8963bf49564c79d23c92612e29e4355ef7dbc6bf69c0bdcee8d277ea95230f356f6ef4034362812d13b1171f2096df69809536ecac"}, {0x110, 0x1, 0x1, "c073d6237c79154b1aae15440f5d99377f10644c91c865d909d27b44801155528d3d9550bf2d8932c8af72a31a8b291363f76a77e8f8b7947c9709f5ab4025c4319d01344266859e8cfd80a5f28777a67fd742192bd755523fd307e9b3974c137ea2fc4c96d1f88a5962f151d9d0c7d2c91cad4770ee9590b7e89d8ee1e5c32d12b3dc89fe4c5e9f40145405f3975cdcbefc4e55cb2cde6460fa22e0a07d2caaace68c9bbba92c72bc5b40f0c8fff29989a8f5043b118f9cd8bc2ef2b871df0300c7fcba5dc5abf367b703e2194a5b364902b3a6d67bd995b222eb9b83684e1369d03fab4c8074522dba2b17681c6538682a9fb639a87a94b43be853c98826"}], 0x14c0}}, {{&(0x7f0000002c80)=@nfc_llcp={0x27, 0x1, 0x0, 0x7, 0x6, 0x9, "d03dfd877c3db1a1254a9d6bd6df9c5d02eff2dc5ad536c2e0d60fcd3ed0115ca9431c7b6451a8f0dd2e78773b1fba2bfbb0a2201650ebddbf91b204d52a91", 0x10}, 0x80, &(0x7f0000002e00)=[{&(0x7f0000002d00)="e3adc0bbb7479bcef003ade77fad232ecb0a792ab86005111d73d129bac2ca9c968353099e5813ba6d045ed2cd48a2ce046e3033e8c1c9183bf5b5174a1256910dc185afeb97362a818db39890c46e4afc0f97300e72fa5a40bd20a50a30281ceaaa26115f63100b985bd05d3f83cf1ffbd0711ed42f79797704d5700cfe1af80eba9e96474d4ed2045bead32b6e43f269bcdba5a3588824129f075798bd96041bf5fbaa969c6669398fb0aa6e2f3115", 0xb0}, {&(0x7f0000002dc0)="881fa5bf316589994cff", 0xa}], 0x2, &(0x7f0000002e40)=[{0x50, 0x108, 0x41ac95d2, "f8b2afe63c359582ff5629eb9d9b9be9a98a12bee167af3681b1cb237f3123a5deea1b55abe33e5ea70c97fe49a2723c28bbfa816ab6663069876bf49b4927cb"}, {0xf0, 0x112, 0x4, "e71bda0339be802a187ea1c53e3703015eb345c9b31425bbee70531bdc6874c102def3f4638431405ce553f360fb74a6a2394214b68a27ab970059e28caa9385804dba91fcf1bf902b9d8dc3daba5886f6fc664c17c68c690cb3a919aae90c0610d36c60f9183ffe11b3415022d4f77533d5c9806474b61edb2704facd914f0279dad7c469de912f8eed2429b80c28c7d05f1f7ba9c677c11b841261e3fec6052073382b3e236b1a695bc431c812cf20e61aca4d496f0f3b78e9d920f47a3dc045ace893a9b280d058f591b9f7fb2bde9fb19c87b9b56f7c7687e50fd8"}, {0x98, 0x112, 0xe6e9, "1701831ffe290c1f242eb00b733bf364b7e6c51d96c194c436d672f134362754147ab31edebbd9498bbefb29db4b095ab2675306a322f82b8b60dba89b4fcc7e888a12edbbb2851589066aee8752c0e63326db66c38016c83b0a5857bc112a277883882e34393f1f208b9ba4c74524dfcc75fac825210ee26222ed60bd4771bea4790b"}, {0xf8, 0x112, 0x7, "2a11ebed326be9ec1393bb06c3e060d7f09104bcd1902d726889d8288d3e251d339cb2676985f00429acd2e2626b429571c5f40a5e60f0d077ae0e4266eada799861418b4624bc8bd74c63681df6167f216d424d421c30801302eda5ea8c349a34127f1f3d7da709354550ba8a7172327bab3f7f663d90f2ed2d7e2ea8bf20c113612bb57c8a1c6bfdcc15f1ad49e77064cba43962df7ce484018d77e6bcaf27c9b927aa3d6650ba7aa583d39d7ddd918b818b0b7e8bd338c7c8d616a7b6868bdaae748b20895b902eefaed18388d5a5ee822a6d9f1a77b0ea4c165b91e18d8f1d484905609f63"}], 0x2d0}}], 0x2, 0x40000880) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) socket$inet6_tcp(0xa, 0x1, 0x0) (async) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) (async) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) (async) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) (async) socket$pptp(0x18, 0x1, 0x2) (async) sendmmsg(r1, &(0x7f0000003140)=[{{0x0, 0x0, &(0x7f0000001700)=[{&(0x7f0000000080)="90c96edd7e92d52c179f39bad590153c148c2e74e24d4aa065a6245834a9e6764daaaa685bc914f7197a61bf5d97dd2938f5e0427549d34921383b209fb39ae744b822d8fc101b40bfea5ec7707fa49578fb3af635d31b79e7c92b1325c0fba3096e162837400fa9ea73c2f813d2489e7d33de46020878cb07525e428441b80196cf482b3267509727bdcbfb97f1fd8dbaf258539b23b4b4d310f67e2c0084814ae8cdf7cbe6b7a6c691f4ddbcec2048325ee3a5e0abe74d959414d989a24b86fa7c7660dbdd1021", 0xc8}, {&(0x7f0000000280)="66332e89d090ee73496470ea700f421b6014f75159b1e43b46f4e9b51a2897ff2ef5fade0c692794b73aa1f4318300004a044b52c394862b57e5b491259a9974d4bc06b12d3697476b8e9c563ac3de1f64b5bc19b0219a572fa692c11c84e0bef446a02d4c53dc358a0f92327383ba1deb5b3f74f01fff4201e161a2491576fce41a832f31f3d6dd5875061bdc640ad4ef3651457619cb3f569a0749a82f075640e3b1f71b6a5b43649bfec2134172c36b2bd0943455ce4d28d051e76cb56bd8326461e504d4c799cc23d0fbb275274601794d15663afb98b781b878822e3bd23cac797d60671f6f41095cee53efcd129afb782370862dc1", 0xf8}, {&(0x7f0000000180)="afe0fa7034915bf77e879ef3e3d43d014e3c6585d99a72cd30a0d0cfd47bf271a3e41d0c80759c3f86c4333bf82ef8ed6e5e67c70adf51dee1ea78", 0x3b}, {&(0x7f0000000380)="c7cb6940b10c060a52a3f5cf9b8c12db9b5e3bebb5fe1a1b6b281885e3d55f1a81816d7b614a5982341674e3f090ea897c3d91a5c527bcc8726dd04018fd8cd0e0bb26d240d6da792e34af99433fcc28652da10428d7f3dbeb9a4bc0fa61b45beb4a33337c9ec5aa7f4b8e5902473f22a4e5a7ae4f545f8ae9c92745c615c39e2eb0f6dc8ea231210208facc2a3511c372a39b08a4f08b77e5ff492abcf7a096dc3e10bb9cd3efb7811de38e6274f1cd8b9c", 0xb2}, {&(0x7f0000000440)="5a4ff8fca71d86ce7d48a6821805d8c7b1c6256c4416a1a36574c4e5b807b63358b3b8d314f81557e71e153b8e9976f93080718b6f5beb922822709ea72677f4148aac7520c1d0ad0033c314", 0x4c}, {&(0x7f0000000580)="f05ba5c7cc712613485bad7d5eae19fed4c6e58fad9d2aef4b11ecedb9ab8043acad654e4af4f8a974571ec38b6bf27cbe7cab6d7a857026c82cd6de733258ba3dc556b1c351793a68acb5c771d5edaad34121dfc480f7431f6e97b1dcf6523c9d9dabafe19cc8815842cd43f74185f7119c027a6798fbaff35977e5b566012b8f0d49a62b17157a21fb9fd23161247996ab8e8d6076f919cb6d36f32514edb07fa0d4a6fa15303d019a4f159df81b74c571c22508c693fd59a2cb8cd5d4456067a29a32a9f3c388e112e2e3a5452c474a8b1df1f600786c70f18d4416cd24bc220b8a171ab818cddcf0b342e536410f9e3f31f9bfa1d695e62be0a428162a54b3c6503726f38128f01c423c200303830202f5a140f0e1ad400a38edb90d8f136f095741862b25c8e22fe52aef07e7e5c88647d71b7b94c97848d211352f5010883ef247ad014aa361c05acecce290bf8247a5a78fa43bf141045e7c92da159fb6da4b7383ba4f93cf314a331018e2073ab8b916d7fa22ac56b85c4ec565bde6426b1f3791db7cec3fdee3f323470bc7534bd6bb13fb572e78aecb808e573364507125bcc10f103c5998959c20c7181688727cbf4145d52b9fb6f63a60d02c98138a1b4270971f954598c56f727c8395b5c72c84fbd038899da5b111949b21bbe97cac1ffaf0cda3a181b5ffe8b1d5c9acae82701663e3d5c47c868f81f5f2dde28df7b317a22f390ad8f96b40597676af02bf4ddf43794fa638c3c45526dbca35c82862e557918512b5cf1da5c0c4c26c22c22b557f417cb0014521b8897ee11649f7d347776627f29bb870b85ba7442413eb68686ed1f7a495846f7e6017801b280e7219b6b8844cef82bd2bacd8ea659c69f911ada99ba4bb1f03df915b8fb59f06030ad0a49603757be8bab8e17b63edd899bd0101441816bd56257b01488da9fd990c8d36bfda2d753c557b0106a67150ea3cb9532fabf14a71927303b6b333215e5b0ac72e6d6cf9ed7ce5c83d34160582da6c4613efbc7e7ad673a812a2fe6e589b114b5a843d78e272b815b76778090d96f3099910d874da14d562556a80557c8547a1e46f149223889d6ab74fa5b20079aa9f88dbd664ce4086badd184a346841a2cc5b61881c690a826d255652b91e635ec301779ff9e5eaca7ce6cdf73adce36e4c1d6c63432a58fa981c214842b6751e0c4d53d23fe187e2b05a0b754a115be996c214e6d1a47281e4198311c94e62fb63f88f84dc3bcababf47f3bddef02436768cca8ae60e0bc7772415fd77227e9f9a1cdfd586b0170ac869ba5534859a08a5630573e48939b63b848f32518d3d477e77c439aa08176b1ab8e0f2e5d3a48b4c2260f5245a8a757a3e6f6d49f9587eb61ee6cabbbe5339cc0aa8544e965e575986f2d3afa1c2e13bfb5e78b98253f33fc40850be0639a61d65288d34ca1da6306231a57595a12deceac7e63f96c25b72409a654ef2f4b4357e426ae723979940e420a046d64bc41b6fa545ce30397a2b6a00129ab1052c3d57a20272b30f300164832c9fe196c09328944f675040c743109af3f2c5204ad87aa918fb5959a45717264c3e803afe595f5ccac32a55d4383cfbd8ab27ca4e4b19e2ac74aea5f48175ae5ea282fb8e7d2c6ab5e8337066b2268e0fac9f9789a88d6d0cd1bf99e5c68cb898463f0cbe4fed7da5bd9cf46c0049f889e363ea503757ac9ea46a44f5ccca6746f6d6b4ef5580544aebf6804e26f1de80f903ece60430de757054cafc15b99362b2767634b52ff781ee0c98609b729caf2ad41dc429c8a45c11c50f89b21af27e8d13823badc3d77977718470d6db547b170808a5e4a01de9459ba08a8ae0ac9453cbd8bdf26a9548edc290ddac30a09f1b1c4af3d7be6d139d694184d4b0a779f50c6a1ae4a4cfab0f09a718c9123df707b4b7f816fda8e9cced98e1abb3242d177b628b0127205c187404f82d32ed8a1b7f07f4dc71a9913204cc22309ac51841b6a93874a26b9bcad70d68f5f815a7438d4c77754a23a491cca2bc841f89d23a049930a5cad6b0c346dda533195ff879ce22bc185a63c7b718858b2f1530ca2e56e4ce6aba6875ed0765a7ee5c4f4481c1907437483d323b102df7dbf17bc48f04ca630a192d5597eff36419f48f1a13ca813f9e6f842c0788143dc4a0e58139638b5948b9fbf6ea4f0d8d0177539c87a47e9df38db5bc4c1cfdd09337d178d6a17d83e4530d67e39d1957a870aa6852a605a4c79bbfe3de4c19e9649f035041ddfd86ef36362695f15d8149dd0065802eb287800d3104762dafd77bfbb7b28ca9e2a4e3dee4e8808e480a21461973200c2f970a44920880af0d45dd4ed333616643236381b678c26c7ff78c31ad5fc946e2e68f16a4de4fda080fcd7825b489da4ee09f0a9a8af5d293e5cd1f137c975b4e71ab4ee2d10a1ceb34bd59669e78b3cc7b1c752526f20dedbec82aeddbf1f9a430e84c66dc2493fbe61d9cbaf2c67c500ea1a1fd2566ac76e01e69002763278d73f17826ff1531d4baf0d28dd6591f88d02c1b1542c8fbf51487bd2ac9e423b4c2b0f4589f602e44da5869bd4a733c94d31d47d8a0b3cd6b24c171b7ca7cc28881b3c2c97dbcad9a2e113bd35cdfc9dbbbd4bf1cadef76acb55b004e2d255ea1264f949247eca47b109b3b5b8d7902695f4b5886a976fa9d86b3cf77cfba954fc64400c729832118d3ebceda6c3ff9c921029f8c7fca108dba757eedee4fac5a1be1d19454e204f053a834aaa26c3361c68b5ec1b4e7f7f2d2210b702d6941d264dd48f466788db33e98f24c2af7f9e65098cbabfb460f151867aae3811d80a8a8edc607582bbe2f1d598d422f919b3118d254e831b331fcf1df3244fe8013f4c558c4458ff10869faffa83c3b2bfd57323dc729e945f2d707d450ca06a57bdca12b8fe3cd5a4e872429b787581fc9f21e7c186a45a6c6d53336a8ad3f0c04b0cb1c5b7a14b1e0c446153d3646cf4726939be118616db011b422a156e6266009792a58eb233503b4715641828791b0b8eae04a8a7d97fa327d87efd8e232f8a05ded0114d2c573ca31bd85484d713818331a5168abc79c79c14495372d13449d90bcc1826bcce4faf15979cf2ecc4c32495117f82a453f853a30a89a2ad11fbbe1d4bd6337e197cf6ecdd9befdd64be5b543c23075f5c098d584b1666d362791f1942bd42bab5454f2663add45e860a30c2aa33ec9c4aab6bc4e06ed0c757381c02f7632380bbc41ca6a04e7cdd8cff394d0f34f3a6284ee36191224d3967a6e028120993406302794613aee43ba72f7f91751b6d5db480d4f4f17937952c3f9db6be3f58fd9a2acf2cff09b74bc5c12516c1a81e1c027c0e3b016659a6e5cba170bc2e02d92416a0287af77af06af313694409bb41f2b183c2e810b67ab457268df38eaeaabdbd58ae645394b1ec6ccbea5c6a2c79f31988ba2744fc410f9baccf5e4cf255862ca8afd17f216f7eeff724fd96e72e2789a56f2a8a7f48d6e7382dee45fe4cec04f21758c36132d3b7f073a5a66d9327f1d823e44a87992251229b60aecb3960e9483a45f1ea5660048939021aa9f3b380eca7154292cf2437b84ddbff720cdb5fe5ef0f9a95a3fd73a0d1ff02b1a2ffe8e62d5da31500eaa33d1dcc45ac7c816c38629663d1ccd7dca07ce2d1cdf431b498e3e45bc0bc3631be4bf1ea9e2930b6666dd9246241483dccb2f5314a8c1d5938c2413ee1b87b0226b16b2a973e92a21bf8bec529097c58ff8df35ac26206a493f5251b61d2be2515cc6770ef602a65042f4b5d92a309e63ef814a7e91b1810e0b329384464fcf91e8191fdb53a86477aec9d9bb1f0b368c56ae0d453cd56a17ed2b53fd197600682aca3bfca47697e9f098753038a4455954cc6861f6df003dd6104e6e680ccd986d084e2d2c4dfcb0da0787921ab1ab582c7b1fb6b4500fd0d819db8c32ea04910555128c7683362a68444083f679258ccd9cd5e93d5f53ef2e078a237b79fbb90fca82280db1fe6d5b3b94d8089bf46077930d39508860eb48388fd374445e6e5e32a258c733980eb0c91c8aa56c676f4588fee76d8d4ac7b56dca9ebc9896430b42628c2065029ffd910ce1c7ea7a44f25e65ed0cf7d8603bd2b0c0e80a06c711197869b25648feaa7a4195718f22dc68ad7c4de93e0ff59f59872f2cee2979cfd276d957335e73defcce0741a26121fe029a019c7a684827c52e73297bc64e98188e3bd87e406c9e9da30303c8a736fc6b66ef1ccf8ed31771a3dcdc7d17ad388cb7530cd2b48b231c4a9a8d2ed88b3d33ab16cd5ee588534f574ba2136c774e114b440f171b9acdef0bf18321ea76e1dec3846fef1e8c1d11eb341065eda76bb1fbbab8fdaf7464bb3d9e51b6f802f369315b5a8cce81aca0e40d6b2eae1e178280c1d05e1ce48fa757353a748cf2fe80dd41940042638004f3497ce8e7eb4d04801eb5238ba9b7ae1624de93d3a363fc6e7cbc1ff36575d8c25cf0711e4b21b7b82cb522bb5e8aa210cd8d66d50d963e3558adcea0d63def374c58d4aa079c86575fe1f4a476d232a0ab43afcbf5a923e71f9a2cc6ea98f2ebe98ef1c5cd37b1ac0debc69c28d31417be0bef0bbf2dcdc5b45c42c87fbff054c02ee61a04fc74795cf1c320d1c7cd4bce0c7ae1062e820a48048ee0c0beb7a190e95cc0c0a55d0fffbe31d594512d0b7757d9a0c2265c568719792e08c520ec2468848914411cdb68fb06d90e24924223d955be4173d312f299b93b8685b329a6aa1f4f660b41965ea8573da9893332febf1687da9936383411e02ef4fd6b348a1f3e059248110d54c5ca2baba7c087eac2a175b48822edbd7e0912bab041d2919ed94ce26ee5257b2ebb8c4ea109b0cbf8e4d295df2ef109b5160d039719758411ecd533403897fd8b45dc50a0597adcb8c043ef8f9a6ec5ec2bbb59e39dd05c44daf3d7380caf07849dccc47ba5d3b2d30936b72b9d9eb805c327d8fb84d400c911b71cd8a637770ba44172f90185c54f51c282b179c1639b01b9c02b4ffd77bc36f4b0d9a55c627b6202bfbc8cbfe2334b7ebec3405eab7a2779fd597fa035f21e2738dbb4982f0559e6cda66823f0ed10bb8680a70bf83889d9f180c86e1ea0f003f6ce2a271fc44e445ea2cf4db7d482ab8d99b75863bc8edf90f9e17fd4122b8ed5ece47a474c2c7afce3085db8ab0ab4e6710b967c44e35748bc92f5974fb048e06683dca5bb2d7e7775eedf234897dc3f4ba0408008fd3c38ee85171bf9a602e9175fefc167d1fa9dabef4faff99edfd3b41d7a2bfdcea85d5494a2f7c4a0ac90f40fb924e877d47308fac2aff0177e56d3a6896b267702429c3e01c324f254576fe4ca53dac121b17a0b5162679e1f4d5b0efee446ab7b7e62304ddd99f9585e0809d8a25840788cf2cbfb4127872c9ed3c0c4f68e424d9ab1a8754dd3f818b66f704e4a71164f4d11713eac24fede5506a069f472cdd9a6bdfa2952d70714b7fbfa04fdbb585ba1bfcc967a9982f73279d8732cada50e0316435f3613944350eaa8b61795922231be0458d7aeb2edb432426c94c07a353f1cd02dc53c351ef5034c7491831df27cdafeb6cfed0df1bcb47975765ef6b4032a9f94894297fde881e2ffe9d745a6c66b2084d63180819c1f4f9401a296c5f708df796fedff3027e5c1723ff6287a4f1ddb7e6598395534b3e2cd372dfa3185b5da8c60893cf9ed3bf922b726b3c5a34b4d09f9a7f687348660ed7f69e8c5b9cbf090624e3cd25f85f20b", 0x1000}, {&(0x7f00000001c0)="fb1bd8dd0d069edde9e8f976cec4ce14995b29c3283f1b1a5e64aa82c848935b07c83f", 0x23}, {&(0x7f0000001580)="570ab044530e29540d98ef4bd1e67108bddb1bb6fb3d187598b340d3a742c079a39a89c631bc5d9fff741886f1bc4452b18e32d0d7d53bef8faf64cb8fd5259282925307914954303e", 0x49}, {&(0x7f0000001600)="b05e3a4bf5d6ebc869ca7271eea748dca840c01bd5f7bb9f9d0e45ac1b5d0f7344481d57c0f104bfe7db983ac4a35456d27756680ced24979fd946bb77b7d6a0a8ebf59702c0556d809a97e12d1c93a9ff65972479a2e6a2337b3eb6234d7137e21373ce16e11abbb790878865ac72a67394fed4f8667c458d7c79", 0x7b}, {&(0x7f0000001680)="ebb4296368029faae09f9476225551648670a80700000000000000ff1e0958d28050b07ad4d1a74a6dddf8b29bb63ca387a255ec7218579971320b34eeefbf959da30741487f3cab611f291d622f4a69562248d8a7dd2876c4fa215e201332a304", 0x61}], 0xa, &(0x7f00000017c0)=[{0xc8, 0x0, 0x7, "df77000a52ecfd6bdadd2c05919bccca32dc4a15730523f98b9b48c377df93c5478e5ca1ecef0b5e49d32bf169d2bee43fc74d05d7d2929823eaafb699a10c000476ffce3fdac3b6d9b7237e985b0746dfd3a66b9a32ae6afd4f3e0f4056f1db4e99e994a500c2a44aef7587b0ec2f575b635cb0792d2bd35a9898e9eea70dc1d415c94b3599e261db079ece342d06e67e19af9c45071e416cf54efe278c65516f5b2a57d5ae399a832046ffef2877c4ec175b8e4f22"}, {0x1010, 0x114, 0xd1, "9e2c2fe06d0bfc7e21bfc5eac8b16d283c7ce24dfb555186ad2c2deb15a38539e9f0103af075c3dfe880169dccecdae81559e78597147a3dae69d0844b811c2e0a8011fbbe365ce4f2099dce2dca79d32ace7a2c18863941d7885ae45f2539a58a9ace4f7a033bdf9bd1a034a05e36d92e885ef7c939648a272e81475697809bf447974b3632adb0e073f7410b751dfdf08a842d74450b88fb53d34a96f6449e3640bfc531fc5156cf5994862feade149af3df4cb87a35b8de52225e1dffa33f04f03a4801cb153736f83354291ee3880d9453f0a252e0c786a9cd67cb8ad37082149c702b2f908ceed86e48dd0946fbd243cb453b5bd88ec79a8609a5e17fc05bf4e74603306fd4897187a66262a30a05b19ffdf64e25b836b1474d4f7423149cd17bb64561d296142aa6589f788f39624c5913da9a5563735ea26cee30734b9130f97087c52401baae87d9dd1e026cdf8554e2a208a43adda4a4540ad0511b2916409283b2f86b4d0b7749a3f5c2dcaccce24d8b25655a09b934a449cfa8a02f51d0379fa662db4f2150e06869ca249fe967f0be322b3f80ead3ad208375284fdd88f00752711119971f9d7c72415a113c63b950cc4414ceafed5acebd477f0189fe3d958ca62722b110069ee54ca916d783d36beb7accd1d70434599f1db1c8e8580ac95a765e60e1b014479f313e0ab4c3066e7b6da0cc45c9499676f3daa0d2056f902bd0603eb4c9de65083d2f3a8820bba09bc859c3307e497b782bee409e9401d9feedf3ed63b82ecc6924bf5aa4efbc223ab0d0bea190f7c8faa2e60f1085f396fbe055529cd56758068b019bb3ba86f9b91a194aaaed9c0bb040a0980e65c1ee9f86c6faa28e6d0578f98d980b633ce8d439a5977bf78cec282fabcdbc07d2c34f054dda1f57009124b8bef916d6684c19e310451fa69b628598d4a4b0e526271a171d481eb800779956a0f6c909a1774094499a737b7fc3b517ccf4e08bddbd8bace0e66ee38eb8059675085f81c777fa16cd55a3f9669e1f8041f0ae22b905189c5b40c91810a9769d0e3c4d15cd4fd5e272b2342c470b8b3d677fca7af402bfd23df960ccf834748b8dce801fbde9c5e4aeb26012e7dd0948422075d12186b6d3fe51f784a7675e013983938e3753b9c6739dbbcb83b99fdaa6d4f6151becb3c79fa82ce96d010ef67529da56c14e6f89a7f0d8a67a48d8c7e6f682fabdb7698da38ad25150feaeba4551380b5c101457bd7742f0dee1288d955f13c1a99eba6b4ecf3dd397057b6291f827cfe16d18b279ab7d8c463004704aeef3875e2d701a9ebfccf883b964f1775af993882ecc55f5c2ed72c3d1c9b57fb6375c8d536face15511bd1f758692c498d72d170322e6b59a1a132d5e61a5c6c6d996206edad666efa58461d068431f2b589ee0ec30581c45137639931f9fecebc43d1c1fc0e7fc0ad2d2a8ba4ce54fa3e283cac147d4a0ece7bb9ab67bf48c16ccbeb54a8fed065fc366b1cc29b35f19a3493c0c0183a5d6562bdd478510ca21db9d5891ca1827554ecf1323eadee45a97fd8396595394e4717680e3f4e996482f49e7ec1ed0c75bb9b60c838508026f163d9b5980c251d4091bccc82a9dfae3e53ae45afd0744212f71bc4805e8e83a4fd0e3e44e8a29ef5f359c91a86271a27d1b66dd4d6e051681e4e54cbc060bfda87a8117488a6549ad690433fa048a86c0bb8127b5924f97505a773bcb574d8a1a7344628d15445c4d9eaa48a43260809faaf0670970c0d5f11ba452161f9fdd9d41e23951ea1b859541e6e6683de7d0107fc6fb044ea13afd14eed3e9bf95b5f565b55db30a81708551965ed218da2f2fc040566e27bb0fd075749f4cf1fdec989435af605d42aa582905d04d6ba40d3b5d4e55a95cc36eef66d554e4934d1737a8ec2d743cca5b8195da9f60525daed48bff4368974df5b06aaaf56e82b71767ed33acd0cd83286ea19316cbc828774038c4522c7f144859b0832bca64218d721d8e9e2171a5ffedb32a5c22acbcdf4f6abc97abed3356d8cd37aa881d8c4cf93f6ad567f55eddbdfc2cbd13a2fd8df86531eba5ec15379afd67b2ee4055c3911ccc967e720a92882f3c9fc961b6614bc311ffcedbe58230e4a326aa352a875081170919831c3d61374ba8c2610e9265fb6e5354f0a9e87e19fb4ad8e097e16399ad9350f9108eadc1e5b8886876cc1283b9240a9560932ea5c61cf196b1b25d46c4633c24c1d522fed3d54413b7d682b8031086c64de82ebaf96d146c96fcac1c4a7faec6a1d7e528faf4f3d07f115554c8ad1571479c2e294f2785b0f63f329f4d4617088434b04a2026e9fb9884d51c37c399d72c468f206dbdc92ae1ccc07d45c5d5d1556a7337f8093b9486fc2bcaae58b748c6f3cf00d6153a060753dcd30016ea40d2a4cc59b02c941e65bc96e02b89a52f511893ca7fb2c6151214cb93bfb1adf7c01f5367c69250e8243bfd7677c99dc3943a0344774287b19b05322fa8608af8ca45b8cc764c891cd8a8a2b65f65771e999d22468408afcd5eb60ce713b7deba395752824cf64e6366579ce5c06325a09161e924fdb010d6f3904057e6473a4ef1ad31d8ed6b4e5116505d4daecdd3fdfab3f1c750eaf5e3f1551865f255faa24ce32a14a162abfb3da77c72174fcd4f009febd4fce3b3898674770ab27bb896e1cdeec488213f5fe0250073f5bb6ed21754aa24ea6d17e7e731190bcc9821dc81857094f1bb286d371d2a0fd3ee21994045d1488bdc9d88abbda517f8239581a44788a99f376797b5dcdfdb1668ad3835820f764e1fae4b36cca9c98dfc562857c0b927e04a7bef8d524c8fe6ec30c23f1ad0d79290f6717696588b15983b43c381ed2da099ee4490ea70efc6544dbd4ea312ef77fe691569d1e70c8cc65bd6fc57994f0497aaac5b571c3dd2b9a3f4f1d454b9353a36a427f874687b3fd63032199025c4c612c6383f545156b4231fd12291d5ff98a178d967d27456c750ef3b5cea3d70134b0375565087b94745a48bcafc265e794242dda04029056848dddead60d18c844c295698f7312fbc10182a0f72b5e079b8f0123d6cc4d632e030a83a527dfa2e80cfbd6ae91c1b535e6fc5af3f69020528bf6ae339748e81b4c371256ecb3d7fad1c9a00116ec50d94dc1ed371d8d125e85dd7e87b2c222e71326de5cc2f9c381b47d00be9e08d27d4836ee6e027e5aa755cbb4ed09154bcbe862db351c8e0ce247c6ea16107e4cce101369281c442daa0f5976dbd7006b1941f621afcc31c0b1dcfd2ffb2139631f5adef90211802caadbdc027ebdbee80b06313453c1b4c86235ae0256eeb3219026a6a355d08674b78adcc6b6efdb1e0aced6489ef072188b579217c1e31dacee6ea8d5da26f451fe1aaba823d643e97017ffbdd4d491caddda9997a86008d2b08d93fc7d25d829c5b3fba96efdd79690b02c65ce85f202fcacf416f8a1a91aa2fdae39901a368f0127124d5cfdc7216f5ab52efc4e0ccad016567e65650c35bd0b5625cf96aaff0083390120bc3e97da476a90d97f9fa1084c883d75b71e891008986170ab69cb41f0278e916b578ae035508de7bd1e30e18ad7ae65ea3807656fecbfefbdda47d57d03914b9592a7a4d8549bf3c21fcaa7256d17749d4d9b4eac9a271914be3ca57539b7bc93f10ec594d6da9b802637db93b0f0cb6d1c71f42ef7ee31cceac42f899f039b083846d5cc5eb5863fea2569008983d5a3551ff9dfa91767966068b9e1e4b0889aaf736a5e34126ada707f0cb3c01d6bf0f1de18bf35350978384525104a10ee3023f645c3bf3d0ed96239463937f0fe845929c88dc255831e7f8c2a8a33613e4e1e2e2996a36ced672b6b3f488c8755c8823b7ba80764e16225a0eefde06a7105cb80c39ae63c22d86eefc1a5ecb88443a80fa95cf861cc27872b2019705f09b32a3c8c1a9c3d99505e51c83dd6c62063108d71dc90547487dd60bcd8290b35aec243439c72339ca395c5199f1d14b827e67bf566c58ba980d46e408493e4da36b024ae657af6ea02e83fe12275e855c5666e46fc8344ed19dacd8da7589df9e0b8e85a56fa3cfabfc9dd1be663b5240954f656f93586d1ca5d9434c277556ad60e7e51f00158e399572235a701efd1c1fdbede39473633faf72b4ad8c64edb2ae90ce459e388f6ce309a7ad31290ff9151c42cec67051d855e29b4130feee0c99263e8aec661460536fad3cc9205544beb0c9cc26c8d93d1c91975dae0a05d99b202436b65dc49732cf37b889588ca89e88c1e678763520b0234a3cd5f5bb66bda38bfd5c2b6e7be3a83c814206900b2ddcd3a3a443c57cfdf5f88ea7b33c3e7847fe8370b9c927142bd7703469e7041e48f4ea9b241da37a2965852a04dc0f6cfb0c35007af0b4921ecbac8b219abe8cfc03d36c6eba253ce2a3008a11753ad4056a3a77a6af1fb4abc585545be7831e81e484706e9eac507af4a1f87bf4ac6b0f9debb952958f19504c9a1d9ebe2a8714d1afc171a6da1c60c976f6ebe73d2c0b353a513d2b65a32c2cefbd981abf7acdd2bec381545e182501419d6ada937e837908ba1ed34f7bab72a4da6d59235d99c4391b63df7b66de0dcc87d2a9ff3cf555ac0e4d7580440c5dd45f85c915f77cab178a07f4471c85213c59973c8fe802e4fcd94863cc444486debbe4dd01f8592c6822b45d5674a650e0b856ea72ee10763dd9721a3733b1e980561d0fc56130027ef9becfec81231bb676dc7a43bd2b82a34d5e52a3927644c451b348178f6791dcbc1c3d6926451f62b27bbdcd6254beac974604bf0b5966806dec18a643ac233440bfef2df6bf78481608b6d4a753bbaba7a939d709a113e67344fd72142a660a4474eaa2d6fe5895d96a422a2cd1fa295f3012d45d1b72f1d47b473ea4117bfd6f9f0ec9127b07a1799d37264d00734261932d51fbe9e4687df0ab6fe3e4f30c60283b7929bef79a1a301bba0b43b8c44eaa9d75ed89397eea85eec8db2ad8e920718d24f3f9b9e9384c3878a5c5c24a4f1973d850c3325265689151ab2bd1aa6d2a21b8aedf86b7dda9f0772736e318ce3714b0c621e21a000d9ba922b7dc9d06b2b036c9ca0f988a5cf6abe58666b9dcbd5601bcb9dba40f038518cc7f11fb1a837e02c6dcb319b90c1905bb1b64ed072a98201163c662694387eaa935f862f05cc301b403e80d33aa2b90ee412f93ed0ae70458ce2fadb1fd0cd51d9c3d57cfc44db3016e263eea4f53696e2060668435287dc1a1aae3b77329ce2730a5679819564fb7011bfd0249b61c440e4cf3a41fbfc274d7015bfd612055a83184e3b000407dcbf08bdde3719c167f80cfac5ff6b854c975581539d95ba2cfddf27a36f584bad6b6ff2f69d2c31bd4106529274cd730511fe87682530bb245788485cca4788bfe5205d0bd40fc0fd524338cc9407a9d642184602436cd4e10ec70fe7caeb27a8fd4ed6aecaa0cd79e7864ebea7b33f542269e6e1e5471ee27919ef1c0d1047287ddf5353c4b926d1ab07beb437e4fc2464dbb6efd960d115ee78387a165810cc761447fb853b575fb2073d1d50b94f6b39e833e2a436f8dc1f1c02952bcf669287384a68a2c41ca019f3f8bb52167df2a463277f13266e2d1fffd1c82c19e4fc2e0045d5f74418c23e5dd3dae9cd861a91d8289ea1af0f9c967428cb2944cb682ed201863b435c7a963dd2c8de9d8491fdfd6fe21e1e4b041e58b142149988e52210b31807b048874ca0651aa48cae2d549a7d4aab1"}, {0xd0, 0x10f, 0x3, "7959b2b8bbe519f9f57475e2bb82c068b0dff3c93094b504baa35b5cbb9f9140f1d891c9b0bea919239f04c952d8efdb72e8017762855c78a027eefc10d7bb56cc17b4e9dced0a34a95536b9305b9dce9d3d99ec5be8166537fea2cd049817ee0e3548420051beb616472ea97c458c54fdd72cd7bd798486415dc0c2370e9a21ee551327ab9ce6a9beb222031894a90f440e49139a5a0e34242ebcdd5fec840a3821fe35ec05471be2afb389436da0e65feac21b48cd99719e8c"}, {0x110, 0x116, 0x0, "30969998a584b29bd116708a5263e6baacf0db9dd9b8461dc14e744b53d1a24b0f4949c75a30fd05c2a5a94a2bb81a319e6a019881e3f146aa1e60ce55757942b3f388f88ac1aeb4bfc3330f218a379c6be55977c16401bf9ef45c7f2f60c3768f8a6d598419b471f479ece3c0b68444e7b42dd3f95603f8bcaab2f646f966a189d133a8f246d672932ac7081290386fa89283c0a7a83c89ed9c9ade7262cc78252991029b1f272d29cee53c1f22b8417cff7031a61c1c1368ef992b9c4f91c3a8f5b87b84845f3155620c1016e7b1196c6deb1b468f183855df3b7c5fbfc5feded85ef76a7b774c5d82921c960981bd8e6ac927a911f708fcc1"}, {0x78, 0x119, 0x0, "512be8cf56f9a3a36cd1fb224cec8d02c019095825fd583b8bf2a37270ce58bbc81febbe0ff3b5571c52cebfced0e898893b345b6536e6366e119557e03b4362419e657a31c50e5a97bcb806f548403e7b77e1c61873f9fbb98567632a55bda396a13bffe17fd90d"}, {0x38, 0x110, 0xfffffffb, "e6f1707d74588abcd5ef307e0fa842fdd7a36dbb1a2396083b6abfe71d554b0839864da3"}, {0x48, 0x104, 0x7, "8963bf49564c79d23c92612e29e4355ef7dbc6bf69c0bdcee8d277ea95230f356f6ef4034362812d13b1171f2096df69809536ecac"}, {0x110, 0x1, 0x1, "c073d6237c79154b1aae15440f5d99377f10644c91c865d909d27b44801155528d3d9550bf2d8932c8af72a31a8b291363f76a77e8f8b7947c9709f5ab4025c4319d01344266859e8cfd80a5f28777a67fd742192bd755523fd307e9b3974c137ea2fc4c96d1f88a5962f151d9d0c7d2c91cad4770ee9590b7e89d8ee1e5c32d12b3dc89fe4c5e9f40145405f3975cdcbefc4e55cb2cde6460fa22e0a07d2caaace68c9bbba92c72bc5b40f0c8fff29989a8f5043b118f9cd8bc2ef2b871df0300c7fcba5dc5abf367b703e2194a5b364902b3a6d67bd995b222eb9b83684e1369d03fab4c8074522dba2b17681c6538682a9fb639a87a94b43be853c98826"}], 0x14c0}}, {{&(0x7f0000002c80)=@nfc_llcp={0x27, 0x1, 0x0, 0x7, 0x6, 0x9, "d03dfd877c3db1a1254a9d6bd6df9c5d02eff2dc5ad536c2e0d60fcd3ed0115ca9431c7b6451a8f0dd2e78773b1fba2bfbb0a2201650ebddbf91b204d52a91", 0x10}, 0x80, &(0x7f0000002e00)=[{&(0x7f0000002d00)="e3adc0bbb7479bcef003ade77fad232ecb0a792ab86005111d73d129bac2ca9c968353099e5813ba6d045ed2cd48a2ce046e3033e8c1c9183bf5b5174a1256910dc185afeb97362a818db39890c46e4afc0f97300e72fa5a40bd20a50a30281ceaaa26115f63100b985bd05d3f83cf1ffbd0711ed42f79797704d5700cfe1af80eba9e96474d4ed2045bead32b6e43f269bcdba5a3588824129f075798bd96041bf5fbaa969c6669398fb0aa6e2f3115", 0xb0}, {&(0x7f0000002dc0)="881fa5bf316589994cff", 0xa}], 0x2, &(0x7f0000002e40)=[{0x50, 0x108, 0x41ac95d2, "f8b2afe63c359582ff5629eb9d9b9be9a98a12bee167af3681b1cb237f3123a5deea1b55abe33e5ea70c97fe49a2723c28bbfa816ab6663069876bf49b4927cb"}, {0xf0, 0x112, 0x4, "e71bda0339be802a187ea1c53e3703015eb345c9b31425bbee70531bdc6874c102def3f4638431405ce553f360fb74a6a2394214b68a27ab970059e28caa9385804dba91fcf1bf902b9d8dc3daba5886f6fc664c17c68c690cb3a919aae90c0610d36c60f9183ffe11b3415022d4f77533d5c9806474b61edb2704facd914f0279dad7c469de912f8eed2429b80c28c7d05f1f7ba9c677c11b841261e3fec6052073382b3e236b1a695bc431c812cf20e61aca4d496f0f3b78e9d920f47a3dc045ace893a9b280d058f591b9f7fb2bde9fb19c87b9b56f7c7687e50fd8"}, {0x98, 0x112, 0xe6e9, "1701831ffe290c1f242eb00b733bf364b7e6c51d96c194c436d672f134362754147ab31edebbd9498bbefb29db4b095ab2675306a322f82b8b60dba89b4fcc7e888a12edbbb2851589066aee8752c0e63326db66c38016c83b0a5857bc112a277883882e34393f1f208b9ba4c74524dfcc75fac825210ee26222ed60bd4771bea4790b"}, {0xf8, 0x112, 0x7, "2a11ebed326be9ec1393bb06c3e060d7f09104bcd1902d726889d8288d3e251d339cb2676985f00429acd2e2626b429571c5f40a5e60f0d077ae0e4266eada799861418b4624bc8bd74c63681df6167f216d424d421c30801302eda5ea8c349a34127f1f3d7da709354550ba8a7172327bab3f7f663d90f2ed2d7e2ea8bf20c113612bb57c8a1c6bfdcc15f1ad49e77064cba43962df7ce484018d77e6bcaf27c9b927aa3d6650ba7aa583d39d7ddd918b818b0b7e8bd338c7c8d616a7b6868bdaae748b20895b902eefaed18388d5a5ee822a6d9f1a77b0ea4c165b91e18d8f1d484905609f63"}], 0x2d0}}], 0x2, 0x40000880) (async) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) (async) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) (async) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) (async) 00:43:42 executing program 5: r0 = openat$vcsu(0xffffffffffffff9c, &(0x7f00000005c0), 0x460040, 0x0) (async) r1 = add_key$fscrypt_v1(&(0x7f0000000600), &(0x7f0000000640)={'fscrypt:', @desc3}, &(0x7f0000000680)={0x0, "ad8c207adf8d7a3d47f53831e2beec5358ce811a2153017d3f4153549e2a9e81046800dcaaca3d852c3cd139cbede27bb5474e6cf130c71d1e790f2c71f2e034", 0x3b}, 0x48, 0xfffffffffffffff8) ioctl$FS_IOC_ADD_ENCRYPTION_KEY(r0, 0xc0506617, &(0x7f0000000700)={@id={0x2, 0x0, @c}, 0x10, r1, '\x00', @d}) (async) r2 = syz_open_procfs(0x0, &(0x7f0000000240)='mountinfo\x00') (async) r3 = openat$fuse(0xffffffffffffff9c, &(0x7f0000002080), 0x42, 0x0) (async) r4 = geteuid() (async) dup3(0xffffffffffffffff, 0xffffffffffffffff, 0x80000) (async) pipe2$watch_queue(&(0x7f00000014c0)={0xffffffffffffffff, 0xffffffffffffffff}, 0x80) write$RDMA_USER_CM_CMD_JOIN_MCAST(r6, &(0x7f0000003580)={0x16, 0x98, 0xfa00, {0x0, 0x0, 0xffffffffffffffff, 0x0, 0x0, @ib={0x1b, 0x0, 0x0, {"9fa54e2a56e242cac40f563b8cffb39b"}}}}, 0xa0) (async) sendmsg$802154_dgram(r6, &(0x7f0000000100)={&(0x7f0000000000)={0x24, @long={0x3, 0x3, {0xaaaaaaaaaaaa0102}}}, 0x14, &(0x7f0000000780)={&(0x7f0000000040)="b3620808b819bb21762d171ecc90de158cc8553d68981af057a2b639048950674581d31ba3d68da30bec20185d69433e174ad24f25d6ee960d00302d8e32ce11b656b95abfc61f636999e832025a9f5787", 0x51}, 0x1, 0x0, 0x0, 0x20000000}, 0x4040010) write$RDMA_USER_CM_CMD_CREATE_ID(r6, &(0x7f0000000240)={0x0, 0x18, 0xfa00, {0x1, &(0x7f0000000200)={0xffffffffffffffff}, 0x111, 0x4}}, 0x20) write$RDMA_USER_CM_CMD_JOIN_MCAST(r6, &(0x7f0000000280)={0x16, 0x98, 0xfa00, {&(0x7f00000001c0), 0x0, r7, 0x1c, 0x0, @ib={0x1b, 0x4, 0x2, {"4ec0815cce9c22d3006551f7e47f0bbe"}, 0xfff, 0x8, 0x7fff}}}, 0xa0) getsockopt$inet_IP_XFRM_POLICY(r6, 0x0, 0x11, &(0x7f0000000380)={{{@in=@remote, @in=@initdev, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, {{@in=@dev}, 0x0, @in=@dev}}, &(0x7f0000000480)=0xe8) (async) getresgid(&(0x7f00000004c0), &(0x7f0000000500)=0x0, &(0x7f0000000540)) ioctl$AUTOFS_DEV_IOCTL_REQUESTER(r6, 0xc018937b, &(0x7f0000000580)={{0x1, 0x1, 0x18, r5, {r8, r9}}, './file0\x00'}) (async) getsockopt$inet_IP_IPSEC_POLICY(0xffffffffffffffff, 0x0, 0x10, &(0x7f00000000c0)={{{@in6=@mcast2, @in=@empty, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, {{@in6=@private2}, 0x0, @in6=@mcast1}}, &(0x7f00000001c0)=0xe8) mount$fuse(0x0, &(0x7f0000000040)='./file0\x00', &(0x7f0000000080), 0x2000c00, &(0x7f0000000280)={{}, 0x2c, {'rootmode', 0x3d, 0xa000}, 0x2c, {'user_id', 0x3d, r4}, 0x2c, {'group_id', 0x3d, r9}, 0x2c, {[{@max_read={'max_read', 0x3d, 0x6000000}}], [{@seclabel}, {@context={'context', 0x3d, 'sysadm_u'}}, {@uid_eq={'uid', 0x3d, r10}}, {@obj_type={'obj_type', 0x3d, '/\x86'}}, {@defcontext={'defcontext', 0x3d, 'root'}}, {@context={'context', 0x3d, 'system_u'}}]}}) (async) sendfile(r3, r2, 0x0, 0x800000080004106) (async) r11 = mmap$IORING_OFF_CQ_RING(&(0x7f0000ffa000/0x3000)=nil, 0x3000, 0x1000000, 0x1010, 0xffffffffffffffff, 0x8000000) syz_io_uring_submit(r11, 0x0, &(0x7f0000000000)=@IORING_OP_MADVISE={0x19, 0x1, 0x0, 0x0, 0x0, &(0x7f0000ffb000/0x2000)=nil, 0x2000, 0x14, 0x1}, 0xfffffc00) 00:43:42 executing program 0: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1ae7, 0x7a, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010044256076000000000000001000000c00030000020000090000000020000000202010000000000000000004000000180000000200000016000000020700000100000000010000000f000034000000cc0e00006e1f1f630000000032000000000000000000000000000000000000000000000000000000000000000000000000000000701ea274223843458e4239ea57c1431a00000000000000000000000000000000715586d1947f00"/192, 0xc0, 0x8000}, {&(0x7f00000100c0)="ffffffff01000000200000001a000000040000000200"/32, 0x20, 0x9000}, {&(0x7f00000100e0)="0000000000000000200000001a000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffff000000800000000000000000000000001a0000007f00"/2144, 0x860, 0x9800}, {&(0x7f0000010940)="008000f800"/32, 0x20, 0xa800}, {&(0x7f0000010960), 0x0, 0xaa00}, {&(0x7f0000010980)="040000000b00"/32, 0x20, 0xac00}, {&(0x7f00000109a0)="00000000000000000100"/32, 0x20, 0xb020}, {&(0x7f00000109c0)="6e1f1f63010000000100000001000000040000000b00000000200000000000000200000000000000010000000000000000000000008001006e1f1f63000000006e1f1f63000000006e1f1f63000000006e1f1f63000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000100"/160, 0xa0, 0xb200}, {&(0x7f0000010a60)="00000000000000000000000000000000830003001200000000000000000000000000000000000000020000000900"/64, 0x40, 0xb2e0}, {&(0x7f0000010aa0)="6e1f1f63010000000200000001000000040000000b00000000600000000000000600000000000000010000000000000000000000008001006e1f1f63000000006e1f1f63000000006e1f1f63000000006e1f1f630000000000000000000000000000000000000000000000000000000000000000000000000200000000000000", 0x80, 0xb400}, {&(0x7f0000010b20)="00000000000000000000000000000000830003001200000000000000000000000000000000000000060000001000"/64, 0x40, 0xb4e0}, {&(0x7f0000010b60)="6e1f1f63010000000300000001000000040000000b00000000000000000000000000000000000000010000000000000000000000008001006e1f1f63000000006e1f1f63000000006e1f1f63000000006e1f1f630000000000000000000000000000000000000000000000000000000000000000000000000200000000000000", 0x80, 0xb600}, {&(0x7f0000010be0)="00000000000000000000000000000000830002001200"/32, 0x20, 0xb6e0}, {&(0x7f0000010c00)="6e1f1f63010000000400000001000000040000000b00000000000000000000000000000000000000010000000000000000000000008003006e1f1f63000000006e1f1f63000000006e1f1f63000000006e1f1f630000000000000000000000000000000000000000000000000000000000000000000000000200000000000000", 0x80}, {&(0x7f0000010ca0)="6e1f1f63010000001000000001000000040000000b00000000200000", 0x1c, 0xd000}, {&(0x7f0000010d40)="000000000000000000000000000000008300030012000000000000000000000000000000000000000200000020", 0x2d, 0xd0e0}, {&(0x7f0000010e40)="cc0e000000000000a00e0000000000000000000001", 0x15, 0x10000}, {&(0x7f0000010e80)}, {0x0}, {0x0}, {0x0}, {&(0x7f0000000040)="7aa55a2ad53604cf2a29c7606a188ffa6a4237dcd444a43780fd7723c4d7c3ed117a776a53a4e4f6b21c79d7c96856dd75619405800468667130262702bb684304078378074ee30b", 0x48}, {&(0x7f0000012380)="6e1f1f6301000000010000000100000004000000180000000020", 0x1a, 0x18200}, {&(0x7f0000012420)="000000000000000000000000000000008300030012000000000000000000000000000000000000000200000016", 0x2d, 0x182e0}, {0x0}, {&(0x7f0000012880)="6e1f1f63100000000200000001000000040000001c00000028000000000000000000000000000000030000000000000000000000ed41", 0x36, 0x1c400}, {0x0, 0x0, 0x101}, {&(0x7f0000012d40)="ffffffff01000000400000003600000004", 0x11, 0x20000}, {&(0x7f0000013600)="040000001c", 0x5, 0x21c00}, {0x0}, {0x0}, {&(0x7f00000141e0)="21436587010000000100000000010000001000000c0000000009201001", 0x1d, 0xf01000}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0, 0x0, 0x6}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0, 0x0, 0xf53ba0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {&(0x7f000004ca20)}, {0x0}, {0x0}, {0x0, 0x0, 0x400000}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}], 0x0, &(0x7f0000052260), 0x1) syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1ae7, 0x7a, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010044256076000000000000001000000c00030000020000090000000020000000202010000000000000000004000000180000000200000016000000020700000100000000010000000f000034000000cc0e00006e1f1f630000000032000000000000000000000000000000000000000000000000000000000000000000000000000000701ea274223843458e4239ea57c1431a00000000000000000000000000000000715586d1947f00"/192, 0xc0, 0x8000}, {&(0x7f00000100c0)="ffffffff01000000200000001a000000040000000200"/32, 0x20, 0x9000}, {&(0x7f00000100e0)="0000000000000000200000001a000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffff000000800000000000000000000000001a0000007f00"/2144, 0x860, 0x9800}, {&(0x7f0000010940)="008000f800"/32, 0x20, 0xa800}, {&(0x7f0000010960), 0x0, 0xaa00}, {&(0x7f0000010980)="040000000b00"/32, 0x20, 0xac00}, {&(0x7f00000109a0)="00000000000000000100"/32, 0x20, 0xb020}, {&(0x7f00000109c0)="6e1f1f63010000000100000001000000040000000b00000000200000000000000200000000000000010000000000000000000000008001006e1f1f63000000006e1f1f63000000006e1f1f63000000006e1f1f63000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000100"/160, 0xa0, 0xb200}, {&(0x7f0000010a60)="00000000000000000000000000000000830003001200000000000000000000000000000000000000020000000900"/64, 0x40, 0xb2e0}, {&(0x7f0000010aa0)="6e1f1f63010000000200000001000000040000000b00000000600000000000000600000000000000010000000000000000000000008001006e1f1f63000000006e1f1f63000000006e1f1f63000000006e1f1f630000000000000000000000000000000000000000000000000000000000000000000000000200000000000000", 0x80, 0xb400}, {&(0x7f0000010b20)="00000000000000000000000000000000830003001200000000000000000000000000000000000000060000001000"/64, 0x40, 0xb4e0}, {&(0x7f0000010b60)="6e1f1f63010000000300000001000000040000000b00000000000000000000000000000000000000010000000000000000000000008001006e1f1f63000000006e1f1f63000000006e1f1f63000000006e1f1f630000000000000000000000000000000000000000000000000000000000000000000000000200000000000000", 0x80, 0xb600}, {&(0x7f0000010be0)="00000000000000000000000000000000830002001200"/32, 0x20, 0xb6e0}, {&(0x7f0000010c00)="6e1f1f63010000000400000001000000040000000b00000000000000000000000000000000000000010000000000000000000000008003006e1f1f63000000006e1f1f63000000006e1f1f63000000006e1f1f630000000000000000000000000000000000000000000000000000000000000000000000000200000000000000", 0x80}, {&(0x7f0000010ca0)="6e1f1f63010000001000000001000000040000000b00000000200000", 0x1c, 0xd000}, {&(0x7f0000010d40)="000000000000000000000000000000008300030012000000000000000000000000000000000000000200000020", 0x2d, 0xd0e0}, {&(0x7f0000010e40)="cc0e000000000000a00e0000000000000000000001", 0x15, 0x10000}, {&(0x7f0000010e80)}, {0x0}, {0x0}, {0x0}, {&(0x7f0000000040)="7aa55a2ad53604cf2a29c7606a188ffa6a4237dcd444a43780fd7723c4d7c3ed117a776a53a4e4f6b21c79d7c96856dd75619405800468667130262702bb684304078378074ee30b", 0x48}, {&(0x7f0000012380)="6e1f1f6301000000010000000100000004000000180000000020", 0x1a, 0x18200}, {&(0x7f0000012420)="000000000000000000000000000000008300030012000000000000000000000000000000000000000200000016", 0x2d, 0x182e0}, {0x0}, {&(0x7f0000012880)="6e1f1f63100000000200000001000000040000001c00000028000000000000000000000000000000030000000000000000000000ed41", 0x36, 0x1c400}, {0x0, 0x0, 0x101}, {&(0x7f0000012d40)="ffffffff01000000400000003600000004", 0x11, 0x20000}, {&(0x7f0000013600)="040000001c", 0x5, 0x21c00}, {0x0}, {0x0}, {&(0x7f00000141e0)="21436587010000000100000000010000001000000c0000000009201001", 0x1d, 0xf01000}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0, 0x0, 0x6}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0, 0x0, 0xf53ba0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {&(0x7f000004ca20)}, {0x0}, {0x0}, {0x0, 0x0, 0x400000}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}], 0x0, &(0x7f0000052260), 0x1) (async) 00:43:42 executing program 5: setsockopt$inet_sctp_SCTP_FRAGMENT_INTERLEAVE(0xffffffffffffffff, 0x84, 0x12, &(0x7f0000000000)=0x20, 0x4) r0 = syz_io_uring_setup(0x3533, &(0x7f0000000040)={0x0, 0x6e64, 0x8, 0x0, 0x18e}, &(0x7f0000ffd000/0x3000)=nil, &(0x7f0000ffc000/0x4000)=nil, &(0x7f00000000c0), &(0x7f0000000100)=0x0) syz_io_uring_submit(0x0, r1, &(0x7f0000000180)=@IORING_OP_TIMEOUT={0xb, 0x0, 0x0, 0x0, 0x7, &(0x7f0000000140), 0x1, 0x0, 0x1}, 0xe5c4) r2 = syz_init_net_socket$802154_raw(0x24, 0x3, 0x0) r3 = open_tree(0xffffffffffffff9c, &(0x7f0000000640)='\x00', 0x89901) move_mount(r3, &(0x7f0000000140)='.\x00', 0xffffffffffffff9c, &(0x7f0000000180)='./file0\x00', 0x0) mmap$snddsp_control(&(0x7f0000ff0000/0x10000)=nil, 0x1000, 0x3000000, 0x30, r3, 0x83000000) r4 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) setsockopt$bt_hci_HCI_DATA_DIR(r4, 0x0, 0x1, &(0x7f0000000240), 0x4) setsockopt$inet_sctp_SCTP_PARTIAL_DELIVERY_POINT(0xffffffffffffffff, 0x84, 0x13, &(0x7f0000000380)=0x95, 0x4) getsockopt$inet_sctp_SCTP_PEER_AUTH_CHUNKS(0xffffffffffffffff, 0x84, 0x1a, &(0x7f00000003c0)={0x0, 0x4b, "6479d0d355563e69ceb97abf95322b7e1a81a84841351110426faf9c7d5a6bbd076720da9eb32ea29ffaf61f1fd2beab51eb137c3c4a9fe32c0cd0757f04ab7d8694847f6416db21dd619f"}, &(0x7f0000000440)=0x53) ioctl$BTRFS_IOC_TREE_SEARCH(r2, 0xd0009411, &(0x7f0000000580)={{0x0, 0x4b, 0x0, 0x0, 0x1000, 0x0, 0x0, 0x8, 0x0, 0x0, 0x5, 0x0, 0x0, 0x7, 0xffffffff}}) r5 = mmap$IORING_OFF_CQ_RING(&(0x7f0000ffd000/0x1000)=nil, 0x1000, 0x3, 0x1010, r0, 0x8000000) r6 = mmap$IORING_OFF_SQES(&(0x7f0000ffc000/0x3000)=nil, 0x3000, 0x2000008, 0x4030010, r0, 0x10000000) clock_gettime(0x0, &(0x7f00000001c0)={0x0, 0x0}) syz_io_uring_submit(r5, r6, &(0x7f0000000280)=@IORING_OP_LINK_TIMEOUT={0xf, 0x4, 0x0, 0x0, 0x0, &(0x7f0000000200)={r7, r8+10000000}, 0x1, 0x1, 0x1}, 0x1) [ 318.340290][T14652] loop0: detected capacity change from 0 to 62779 00:43:42 executing program 4: write$RDMA_USER_CM_CMD_ACCEPT(0xffffffffffffffff, &(0x7f00000000c0)={0x8, 0x120, 0xfa00, {0x0, {0x83aa, 0x8, "e9bb70a24170b937b3c7059a77594a93413841f6906ec9dcd43ecbb702f4b5ea3f025ea688ec090547c23ed9cbd936bb548c1094f9185f1b71e8d6e76a53ae752d12adec99f307a36cf9b7a9f71935e41283c185bc7ecc9969547832dfd82f38687a44cefeb9a0f6e1ac5e6134e5afa7809a35d54c0c2145ab498df199097b450bf13fc14d5b5921730827cf5988f45ada5c16553b2957c06e36984b2feb80699517a291bb9c92a559e7484a0a06ae31737774fdefd3271e4970fbaf35e976217417df102f11c89a7d42535518ed1b214907503ab137bf8bf32b317ddada06059a4ec2fbe0dca25dd0f0c0393bdc16f97112df78fa07724e5f065f8259978e6c", 0xb6, 0x7c, 0xea, 0x1f, 0x0, 0x4, 0x85, 0x1}}}, 0x128) r0 = open_tree(0xffffffffffffff9c, &(0x7f00000005c0)='./file0\x00', 0x81901) move_mount(r0, &(0x7f0000000140)='.\x00', 0xffffffffffffff9c, &(0x7f0000000180)='./file0\x00', 0x0) write$RDMA_USER_CM_CMD_LEAVE_MCAST(r0, &(0x7f0000000200)={0x11, 0x10, 0xfa00, {&(0x7f0000000040)}}, 0x18) r1 = bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x6, 0x6, &(0x7f0000000000)=@framed={{0xffffffb4, 0x0, 0x0, 0x0, 0x0, 0x61, 0x11, 0x14}, [@func={0x85, 0x0, 0x1, 0x0, 0x2}, @call={0x85, 0x0, 0x0, 0x5}, @exit]}, &(0x7f0000000080)='GPL\x00', 0x4, 0xc3, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, 0x21, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x70) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000280)={r1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) write$RDMA_USER_CM_CMD_ACCEPT(0xffffffffffffffff, &(0x7f00000000c0)={0x8, 0x120, 0xfa00, {0x0, {0x83aa, 0x8, "e9bb70a24170b937b3c7059a77594a93413841f6906ec9dcd43ecbb702f4b5ea3f025ea688ec090547c23ed9cbd936bb548c1094f9185f1b71e8d6e76a53ae752d12adec99f307a36cf9b7a9f71935e41283c185bc7ecc9969547832dfd82f38687a44cefeb9a0f6e1ac5e6134e5afa7809a35d54c0c2145ab498df199097b450bf13fc14d5b5921730827cf5988f45ada5c16553b2957c06e36984b2feb80699517a291bb9c92a559e7484a0a06ae31737774fdefd3271e4970fbaf35e976217417df102f11c89a7d42535518ed1b214907503ab137bf8bf32b317ddada06059a4ec2fbe0dca25dd0f0c0393bdc16f97112df78fa07724e5f065f8259978e6c", 0xb6, 0x7c, 0xea, 0x1f, 0x0, 0x4, 0x85, 0x1}}}, 0x128) (async) open_tree(0xffffffffffffff9c, &(0x7f00000005c0)='./file0\x00', 0x81901) (async) move_mount(r0, &(0x7f0000000140)='.\x00', 0xffffffffffffff9c, &(0x7f0000000180)='./file0\x00', 0x0) (async) write$RDMA_USER_CM_CMD_LEAVE_MCAST(r0, &(0x7f0000000200)={0x11, 0x10, 0xfa00, {&(0x7f0000000040)}}, 0x18) (async) bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x6, 0x6, &(0x7f0000000000)=@framed={{0xffffffb4, 0x0, 0x0, 0x0, 0x0, 0x61, 0x11, 0x14}, [@func={0x85, 0x0, 0x1, 0x0, 0x2}, @call={0x85, 0x0, 0x0, 0x5}, @exit]}, &(0x7f0000000080)='GPL\x00', 0x4, 0xc3, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, 0x21, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x70) (async) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000280)={r1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) (async) [ 318.355635][T14652] Mount JFS Failure: -22 [ 318.359190][T14652] jfs_mount failed w/return code = -22 00:43:42 executing program 4: write$RDMA_USER_CM_CMD_ACCEPT(0xffffffffffffffff, &(0x7f00000000c0)={0x8, 0x120, 0xfa00, {0x0, {0x83aa, 0x8, "e9bb70a24170b937b3c7059a77594a93413841f6906ec9dcd43ecbb702f4b5ea3f025ea688ec090547c23ed9cbd936bb548c1094f9185f1b71e8d6e76a53ae752d12adec99f307a36cf9b7a9f71935e41283c185bc7ecc9969547832dfd82f38687a44cefeb9a0f6e1ac5e6134e5afa7809a35d54c0c2145ab498df199097b450bf13fc14d5b5921730827cf5988f45ada5c16553b2957c06e36984b2feb80699517a291bb9c92a559e7484a0a06ae31737774fdefd3271e4970fbaf35e976217417df102f11c89a7d42535518ed1b214907503ab137bf8bf32b317ddada06059a4ec2fbe0dca25dd0f0c0393bdc16f97112df78fa07724e5f065f8259978e6c", 0xb6, 0x7c, 0xea, 0x1f, 0x0, 0x4, 0x85, 0x1}}}, 0x128) r0 = open_tree(0xffffffffffffff9c, &(0x7f00000005c0)='./file0\x00', 0x81901) move_mount(r0, &(0x7f0000000140)='.\x00', 0xffffffffffffff9c, &(0x7f0000000180)='./file0\x00', 0x0) write$RDMA_USER_CM_CMD_LEAVE_MCAST(r0, &(0x7f0000000200)={0x11, 0x10, 0xfa00, {&(0x7f0000000040)}}, 0x18) r1 = bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x6, 0x6, &(0x7f0000000000)=@framed={{0xffffffb4, 0x0, 0x0, 0x0, 0x0, 0x61, 0x11, 0x14}, [@func={0x85, 0x0, 0x1, 0x0, 0x2}, @call={0x85, 0x0, 0x0, 0x5}, @exit]}, &(0x7f0000000080)='GPL\x00', 0x4, 0xc3, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, 0x21, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x70) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000280)={r1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) write$RDMA_USER_CM_CMD_ACCEPT(0xffffffffffffffff, &(0x7f00000000c0)={0x8, 0x120, 0xfa00, {0x0, {0x83aa, 0x8, "e9bb70a24170b937b3c7059a77594a93413841f6906ec9dcd43ecbb702f4b5ea3f025ea688ec090547c23ed9cbd936bb548c1094f9185f1b71e8d6e76a53ae752d12adec99f307a36cf9b7a9f71935e41283c185bc7ecc9969547832dfd82f38687a44cefeb9a0f6e1ac5e6134e5afa7809a35d54c0c2145ab498df199097b450bf13fc14d5b5921730827cf5988f45ada5c16553b2957c06e36984b2feb80699517a291bb9c92a559e7484a0a06ae31737774fdefd3271e4970fbaf35e976217417df102f11c89a7d42535518ed1b214907503ab137bf8bf32b317ddada06059a4ec2fbe0dca25dd0f0c0393bdc16f97112df78fa07724e5f065f8259978e6c", 0xb6, 0x7c, 0xea, 0x1f, 0x0, 0x4, 0x85, 0x1}}}, 0x128) (async) open_tree(0xffffffffffffff9c, &(0x7f00000005c0)='./file0\x00', 0x81901) (async) move_mount(r0, &(0x7f0000000140)='.\x00', 0xffffffffffffff9c, &(0x7f0000000180)='./file0\x00', 0x0) (async) write$RDMA_USER_CM_CMD_LEAVE_MCAST(r0, &(0x7f0000000200)={0x11, 0x10, 0xfa00, {&(0x7f0000000040)}}, 0x18) (async) bpf$PROG_LOAD(0x5, &(0x7f0000000440)={0x6, 0x6, &(0x7f0000000000)=@framed={{0xffffffb4, 0x0, 0x0, 0x0, 0x0, 0x61, 0x11, 0x14}, [@func={0x85, 0x0, 0x1, 0x0, 0x2}, @call={0x85, 0x0, 0x0, 0x5}, @exit]}, &(0x7f0000000080)='GPL\x00', 0x4, 0xc3, &(0x7f000000cf3d)=""/195, 0x0, 0x0, '\x00', 0x0, 0x21, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x70) (async) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000280)={r1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x48) (async) 00:43:42 executing program 1: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x8) r0 = getpid() sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) getrlimit(0xb, 0x0) sendmmsg$unix(r1, &(0x7f0000000a40)=[{{&(0x7f0000000340)=@file={0x1, './file0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'}, 0x6e, &(0x7f0000000580)=[{&(0x7f0000000500)="ee263486c8e65a3b243a941c7878f5e44141ac83aa00008598d987d50d5d931a0360c7673a367049321f68d5cf1803d5298e5bbaa3d927b755017364bd9d5595c1d7996cafed45153672d5d5c218", 0x4e}, {&(0x7f0000000880)="2c158e09d2efd2d367c9ecfca2a5ce3e0115b817a3e3106aff6c3931a0f4e49f99dba94d795d8cec6ce80c4f12bd1a7ceb592ba58cc35a5ca44831fee7b8b44a5d406d5a8352d075eeef3ae3268ecdcf768ec7717b7215396f1b921d11b9adb7c35a9b7287f5d9d789935b59b1e68c0fb4", 0x71}, {&(0x7f0000000980)="158b84ac91f192d136ba6b14beb630b2795a28225dbe966e69c526b5d0d42baa67c809ecba91ae7297b138643a717ccf7a321e4c7eb3b250f950879d9ccf6e694b60b076b45e8601e89055adef88a8f878d8259b5aec8c086fca2c21f26f11b60758c207dd09177557b0d929a5a1099aabf79854f7906c8ab1", 0x79}, {&(0x7f00000001c0)='H', 0x1}], 0x4, &(0x7f0000000b40)=ANY=[@ANYRES64=r2, @ANYBLOB="8b162e80e6f2b3e623d47faa9265744f6de187cb8b22850934342df52cb1fb3b6cb954df65", @ANYRES8=r2, @ANYRES16=r2, @ANYRES32=r2, @ANYRES32=r2, @ANYRES32=r2, @ANYRES16, @ANYRES32=r1, @ANYRES32=r2, @ANYRES64=r0, @ANYRESOCT=r0, @ANYRES32, @ANYRES32, @ANYBLOB="f66f6c63e16e054839d7e6b8add15250db2d04613e568b161f69e9413587cacbf8e58b115546547ff80c0b6c6f1032c8cb7bb3dcc8f122646d173fc67f91d3f529ab5b1c99007f", @ANYBLOB='\x00\t\x00\x00'], 0x58, 0x1}}], 0x1, 0x20040000) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) socket$netlink(0x10, 0x3, 0x0) r3 = openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000280)='cgroup.controllers\x00', 0x275a, 0x0) lseek(r3, 0x0, 0x0) fcntl$setstatus(r3, 0x4, 0x30000) r4 = dup(r3) pwritev2(r4, &(0x7f0000000040)=[{&(0x7f0000000080)="da", 0x20000}], 0x1, 0x1000000, 0x0, 0x0) sendfile(r4, r3, 0x0, 0x87fffa0) writev(0xffffffffffffffff, &(0x7f00000001c0), 0x0) sendto$inet(0xffffffffffffffff, &(0x7f00000012c0)="0c268a927f1f6588b967481241ba7960fcfaf65ac618ded8974895abeaf4b4834ff922b3f1e0b02bd67aa03059bcecc7a95425a3a07e758044ab4ea6f7ae55d88fecf90b1a7511bf746bec66ba", 0xfe6a, 0x4, 0x0, 0x27) recvmmsg(0xffffffffffffffff, &(0x7f00000006c0)=[{{&(0x7f00000000c0)=@in={0x2, 0x0, @broadcast}, 0x80, &(0x7f0000000000), 0x0, &(0x7f0000000180)=""/41, 0x29}, 0x1}, {{&(0x7f00000002c0)=@nl, 0x80, 0x0, 0x0, &(0x7f00000003c0)=""/80, 0x28}}, {{0x0, 0x0, &(0x7f0000000680)=[{&(0x7f0000000440)=""/153, 0x99}, {&(0x7f0000000240)=""/61, 0x3d}, {&(0x7f00000007c0)=""/170, 0x9e}, {&(0x7f00000005c0)=""/166, 0xa6}], 0x4}, 0x1}], 0x3, 0x100, &(0x7f0000000780)={0x0, 0x3938700}) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000001f80), 0x0, 0x805) prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) (async) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x8) (async) getpid() (async) sched_setscheduler(r0, 0x1, &(0x7f0000001700)=0x4) (async) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000200)) (async) connect$unix(r1, &(0x7f000057eff8)=@abs, 0x6e) (async) getrlimit(0xb, 0x0) (async) sendmmsg$unix(r1, &(0x7f0000000a40)=[{{&(0x7f0000000340)=@file={0x1, './file0aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'}, 0x6e, &(0x7f0000000580)=[{&(0x7f0000000500)="ee263486c8e65a3b243a941c7878f5e44141ac83aa00008598d987d50d5d931a0360c7673a367049321f68d5cf1803d5298e5bbaa3d927b755017364bd9d5595c1d7996cafed45153672d5d5c218", 0x4e}, {&(0x7f0000000880)="2c158e09d2efd2d367c9ecfca2a5ce3e0115b817a3e3106aff6c3931a0f4e49f99dba94d795d8cec6ce80c4f12bd1a7ceb592ba58cc35a5ca44831fee7b8b44a5d406d5a8352d075eeef3ae3268ecdcf768ec7717b7215396f1b921d11b9adb7c35a9b7287f5d9d789935b59b1e68c0fb4", 0x71}, {&(0x7f0000000980)="158b84ac91f192d136ba6b14beb630b2795a28225dbe966e69c526b5d0d42baa67c809ecba91ae7297b138643a717ccf7a321e4c7eb3b250f950879d9ccf6e694b60b076b45e8601e89055adef88a8f878d8259b5aec8c086fca2c21f26f11b60758c207dd09177557b0d929a5a1099aabf79854f7906c8ab1", 0x79}, {&(0x7f00000001c0)='H', 0x1}], 0x4, &(0x7f0000000b40)=ANY=[@ANYRES64=r2, @ANYBLOB="8b162e80e6f2b3e623d47faa9265744f6de187cb8b22850934342df52cb1fb3b6cb954df65", @ANYRES8=r2, @ANYRES16=r2, @ANYRES32=r2, @ANYRES32=r2, @ANYRES32=r2, @ANYRES16, @ANYRES32=r1, @ANYRES32=r2, @ANYRES64=r0, @ANYRESOCT=r0, @ANYRES32, @ANYRES32, @ANYBLOB="f66f6c63e16e054839d7e6b8add15250db2d04613e568b161f69e9413587cacbf8e58b115546547ff80c0b6c6f1032c8cb7bb3dcc8f122646d173fc67f91d3f529ab5b1c99007f", @ANYBLOB='\x00\t\x00\x00'], 0x58, 0x1}}], 0x1, 0x20040000) (async) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) (async) socket$netlink(0x10, 0x3, 0x0) (async) openat$cgroup_ro(0xffffffffffffff9c, &(0x7f0000000280)='cgroup.controllers\x00', 0x275a, 0x0) (async) lseek(r3, 0x0, 0x0) (async) fcntl$setstatus(r3, 0x4, 0x30000) (async) dup(r3) (async) pwritev2(r4, &(0x7f0000000040)=[{&(0x7f0000000080)="da", 0x20000}], 0x1, 0x1000000, 0x0, 0x0) (async) sendfile(r4, r3, 0x0, 0x87fffa0) (async) writev(0xffffffffffffffff, &(0x7f00000001c0), 0x0) (async) sendto$inet(0xffffffffffffffff, &(0x7f00000012c0)="0c268a927f1f6588b967481241ba7960fcfaf65ac618ded8974895abeaf4b4834ff922b3f1e0b02bd67aa03059bcecc7a95425a3a07e758044ab4ea6f7ae55d88fecf90b1a7511bf746bec66ba", 0xfe6a, 0x4, 0x0, 0x27) (async) recvmmsg(0xffffffffffffffff, &(0x7f00000006c0)=[{{&(0x7f00000000c0)=@in={0x2, 0x0, @broadcast}, 0x80, &(0x7f0000000000), 0x0, &(0x7f0000000180)=""/41, 0x29}, 0x1}, {{&(0x7f00000002c0)=@nl, 0x80, 0x0, 0x0, &(0x7f00000003c0)=""/80, 0x28}}, {{0x0, 0x0, &(0x7f0000000680)=[{&(0x7f0000000440)=""/153, 0x99}, {&(0x7f0000000240)=""/61, 0x3d}, {&(0x7f00000007c0)=""/170, 0x9e}, {&(0x7f00000005c0)=""/166, 0xa6}], 0x4}, 0x1}], 0x3, 0x100, &(0x7f0000000780)={0x0, 0x3938700}) (async) sendmmsg$unix(0xffffffffffffffff, &(0x7f0000001f80), 0x0, 0x805) (async) 00:43:42 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) r1 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000500)=@newtaction={0x50, 0x30, 0x1, 0x0, 0x0, {}, [{0x3c, 0x1, [@m_vlan={0x38, 0x1, 0x0, 0x0, {{0x9}, {0xc, 0x2, 0x0, 0x1, [@TCA_VLAN_PUSH_VLAN_PRIORITY={0x5}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0x50}}, 0x0) ioctl$F2FS_IOC_MOVE_RANGE(r1, 0xc020f509, &(0x7f0000000180)={r0, 0x9, 0x3, 0x7fff}) getsockopt$inet6_tcp_TCP_ZEROCOPY_RECEIVE(r2, 0x6, 0x23, &(0x7f00000001c0)={&(0x7f0000ffb000/0x2000)=nil, 0x2000, 0x0, 0x0, 0x0, &(0x7f0000000300)=""/187, 0xbb, 0x1, &(0x7f00000003c0)=""/207, 0xcf}, &(0x7f0000000280)=0x40) setsockopt$inet6_tcp_buf(r1, 0x6, 0x1c, &(0x7f0000000080)="b7bd39c6866fb16657a28a9c148ccc4c04a84cff64c9d76e6c59af2098fd5bb0530584a5baac4b8156000837d80e3c4aa62d0098deb8b8c2ac208725eb81f612392d985d00c2cdb944ab9e2e4bfde0854512d1ddf464dc0918c92802b0cf16cb6639083f9e47bf207533602a697a096fdb35d8657e12852291cf61f509fbb1ab6cc2c7cc3b865ea88fcd7713ea410ce637a2d8e1b49a7eedc66a1e425f6399606d1fbd0ee69dbfaf8b151e1873552b01c31262266204aadf74c33b4cc950a32496aa422d4c1f92fa90070b3480cfa00c31f533bb9d5525391ec0816c068421d9c61bdf4db70b9c66d7f6df43a81e8bf419328e54a0243b796d14", 0xfa) 00:43:42 executing program 5: setsockopt$inet_sctp_SCTP_FRAGMENT_INTERLEAVE(0xffffffffffffffff, 0x84, 0x12, &(0x7f0000000000)=0x20, 0x4) (async) r0 = syz_io_uring_setup(0x3533, &(0x7f0000000040)={0x0, 0x6e64, 0x8, 0x0, 0x18e}, &(0x7f0000ffd000/0x3000)=nil, &(0x7f0000ffc000/0x4000)=nil, &(0x7f00000000c0), &(0x7f0000000100)=0x0) syz_io_uring_submit(0x0, r1, &(0x7f0000000180)=@IORING_OP_TIMEOUT={0xb, 0x0, 0x0, 0x0, 0x7, &(0x7f0000000140), 0x1, 0x0, 0x1}, 0xe5c4) (async) r2 = syz_init_net_socket$802154_raw(0x24, 0x3, 0x0) (async) r3 = open_tree(0xffffffffffffff9c, &(0x7f0000000640)='\x00', 0x89901) move_mount(r3, &(0x7f0000000140)='.\x00', 0xffffffffffffff9c, &(0x7f0000000180)='./file0\x00', 0x0) (async) mmap$snddsp_control(&(0x7f0000ff0000/0x10000)=nil, 0x1000, 0x3000000, 0x30, r3, 0x83000000) (async) r4 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) setsockopt$bt_hci_HCI_DATA_DIR(r4, 0x0, 0x1, &(0x7f0000000240), 0x4) (async) setsockopt$inet_sctp_SCTP_PARTIAL_DELIVERY_POINT(0xffffffffffffffff, 0x84, 0x13, &(0x7f0000000380)=0x95, 0x4) (async) getsockopt$inet_sctp_SCTP_PEER_AUTH_CHUNKS(0xffffffffffffffff, 0x84, 0x1a, &(0x7f00000003c0)={0x0, 0x4b, "6479d0d355563e69ceb97abf95322b7e1a81a84841351110426faf9c7d5a6bbd076720da9eb32ea29ffaf61f1fd2beab51eb137c3c4a9fe32c0cd0757f04ab7d8694847f6416db21dd619f"}, &(0x7f0000000440)=0x53) ioctl$BTRFS_IOC_TREE_SEARCH(r2, 0xd0009411, &(0x7f0000000580)={{0x0, 0x4b, 0x0, 0x0, 0x1000, 0x0, 0x0, 0x8, 0x0, 0x0, 0x5, 0x0, 0x0, 0x7, 0xffffffff}}) (async) r5 = mmap$IORING_OFF_CQ_RING(&(0x7f0000ffd000/0x1000)=nil, 0x1000, 0x3, 0x1010, r0, 0x8000000) r6 = mmap$IORING_OFF_SQES(&(0x7f0000ffc000/0x3000)=nil, 0x3000, 0x2000008, 0x4030010, r0, 0x10000000) (async) clock_gettime(0x0, &(0x7f00000001c0)={0x0, 0x0}) syz_io_uring_submit(r5, r6, &(0x7f0000000280)=@IORING_OP_LINK_TIMEOUT={0xf, 0x4, 0x0, 0x0, 0x0, &(0x7f0000000200)={r7, r8+10000000}, 0x1, 0x1, 0x1}, 0x1) [ 318.412879][T14652] loop0: detected capacity change from 0 to 62779 [ 318.420842][T14652] Mount JFS Failure: -22 [ 318.423221][T14652] jfs_mount failed w/return code = -22 [ 318.463802][T11620] I/O error, dev loop0, sector 62592 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 2 00:43:42 executing program 2: r0 = shmget$private(0x0, 0x4000, 0x4, &(0x7f0000ffc000/0x4000)=nil) shmctl$SHM_LOCK(r0, 0xb) shmat(r0, &(0x7f0000ffe000/0x2000)=nil, 0x5000) r1 = shmget$private(0x0, 0x4000, 0x1, &(0x7f0000ffc000/0x4000)=nil) shmget(0x0, 0x1000, 0x10, &(0x7f0000ffc000/0x1000)=nil) shmctl$IPC_STAT(r0, 0x2, &(0x7f0000000000)=""/121) shmctl$SHM_UNLOCK(r1, 0xc) mbind(&(0x7f0000ffd000/0x3000)=nil, 0x3000, 0x2, &(0x7f0000000200)=0xfffffffffffff001, 0x6, 0x0) shmget(0x2, 0x4000, 0x4, &(0x7f0000ffb000/0x4000)=nil) r2 = shmget(0x3, 0x1000, 0x100, &(0x7f0000ffd000/0x1000)=nil) shmctl$IPC_RMID(r2, 0x0) mbind(&(0x7f0000ffc000/0x4000)=nil, 0x4000, 0x0, 0x0, 0x0, 0x0) 00:43:42 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) (async) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) (async, rerun: 64) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) (rerun: 64) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) r1 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000500)=@newtaction={0x50, 0x30, 0x1, 0x0, 0x0, {}, [{0x3c, 0x1, [@m_vlan={0x38, 0x1, 0x0, 0x0, {{0x9}, {0xc, 0x2, 0x0, 0x1, [@TCA_VLAN_PUSH_VLAN_PRIORITY={0x5}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0x50}}, 0x0) ioctl$F2FS_IOC_MOVE_RANGE(r1, 0xc020f509, &(0x7f0000000180)={r0, 0x9, 0x3, 0x7fff}) getsockopt$inet6_tcp_TCP_ZEROCOPY_RECEIVE(r2, 0x6, 0x23, &(0x7f00000001c0)={&(0x7f0000ffb000/0x2000)=nil, 0x2000, 0x0, 0x0, 0x0, &(0x7f0000000300)=""/187, 0xbb, 0x1, &(0x7f00000003c0)=""/207, 0xcf}, &(0x7f0000000280)=0x40) (async, rerun: 64) setsockopt$inet6_tcp_buf(r1, 0x6, 0x1c, &(0x7f0000000080)="b7bd39c6866fb16657a28a9c148ccc4c04a84cff64c9d76e6c59af2098fd5bb0530584a5baac4b8156000837d80e3c4aa62d0098deb8b8c2ac208725eb81f612392d985d00c2cdb944ab9e2e4bfde0854512d1ddf464dc0918c92802b0cf16cb6639083f9e47bf207533602a697a096fdb35d8657e12852291cf61f509fbb1ab6cc2c7cc3b865ea88fcd7713ea410ce637a2d8e1b49a7eedc66a1e425f6399606d1fbd0ee69dbfaf8b151e1873552b01c31262266204aadf74c33b4cc950a32496aa422d4c1f92fa90070b3480cfa00c31f533bb9d5525391ec0816c068421d9c61bdf4db70b9c66d7f6df43a81e8bf419328e54a0243b796d14", 0xfa) (rerun: 64) 00:43:42 executing program 4: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="200000008000000006000000600000000f000000000000000100000001000000004000000040000020000000d8f4655fd8f4655f0100ffff53ef", 0x3a, 0x3fc}, {&(0x7f0000010400)="120000001200000022", 0x9, 0xefb9}, {&(0x7f0000012e00)="ed41000000080000d8f4655fd8f4655fd8f4655f000000000000040004", 0x1d}], 0x0, &(0x7f0000000040)={[{@user_xattr}, {@nodelalloc}], [{@euid_gt={'euid>', 0xee01}}, {@context={'context', 0x3d, 'staff_u'}}, {@pcr={'pcr', 0x3d, 0x2}}, {@permit_directio}, {@seclabel}, {@obj_role={'obj_role', 0x3d, '*)#.$.{'}}, {@subj_type={'subj_type', 0x3d, 'ext4\x00'}}, {@audit}, {@dont_measure}, {@smackfstransmute}]}, 0x0) 00:43:42 executing program 5: setsockopt$inet_sctp_SCTP_FRAGMENT_INTERLEAVE(0xffffffffffffffff, 0x84, 0x12, &(0x7f0000000000)=0x20, 0x4) r0 = syz_io_uring_setup(0x3533, &(0x7f0000000040)={0x0, 0x6e64, 0x8, 0x0, 0x18e}, &(0x7f0000ffd000/0x3000)=nil, &(0x7f0000ffc000/0x4000)=nil, &(0x7f00000000c0), &(0x7f0000000100)=0x0) syz_io_uring_submit(0x0, r1, &(0x7f0000000180)=@IORING_OP_TIMEOUT={0xb, 0x0, 0x0, 0x0, 0x7, &(0x7f0000000140), 0x1, 0x0, 0x1}, 0xe5c4) r2 = syz_init_net_socket$802154_raw(0x24, 0x3, 0x0) r3 = open_tree(0xffffffffffffff9c, &(0x7f0000000640)='\x00', 0x89901) move_mount(r3, &(0x7f0000000140)='.\x00', 0xffffffffffffff9c, &(0x7f0000000180)='./file0\x00', 0x0) mmap$snddsp_control(&(0x7f0000ff0000/0x10000)=nil, 0x1000, 0x3000000, 0x30, r3, 0x83000000) r4 = syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) setsockopt$bt_hci_HCI_DATA_DIR(r4, 0x0, 0x1, &(0x7f0000000240), 0x4) setsockopt$inet_sctp_SCTP_PARTIAL_DELIVERY_POINT(0xffffffffffffffff, 0x84, 0x13, &(0x7f0000000380)=0x95, 0x4) getsockopt$inet_sctp_SCTP_PEER_AUTH_CHUNKS(0xffffffffffffffff, 0x84, 0x1a, &(0x7f00000003c0)={0x0, 0x4b, "6479d0d355563e69ceb97abf95322b7e1a81a84841351110426faf9c7d5a6bbd076720da9eb32ea29ffaf61f1fd2beab51eb137c3c4a9fe32c0cd0757f04ab7d8694847f6416db21dd619f"}, &(0x7f0000000440)=0x53) ioctl$BTRFS_IOC_TREE_SEARCH(r2, 0xd0009411, &(0x7f0000000580)={{0x0, 0x4b, 0x0, 0x0, 0x1000, 0x0, 0x0, 0x8, 0x0, 0x0, 0x5, 0x0, 0x0, 0x7, 0xffffffff}}) r5 = mmap$IORING_OFF_CQ_RING(&(0x7f0000ffd000/0x1000)=nil, 0x1000, 0x3, 0x1010, r0, 0x8000000) r6 = mmap$IORING_OFF_SQES(&(0x7f0000ffc000/0x3000)=nil, 0x3000, 0x2000008, 0x4030010, r0, 0x10000000) clock_gettime(0x0, &(0x7f00000001c0)={0x0, 0x0}) syz_io_uring_submit(r5, r6, &(0x7f0000000280)=@IORING_OP_LINK_TIMEOUT={0xf, 0x4, 0x0, 0x0, 0x0, &(0x7f0000000200)={r7, r8+10000000}, 0x1, 0x1, 0x1}, 0x1) setsockopt$inet_sctp_SCTP_FRAGMENT_INTERLEAVE(0xffffffffffffffff, 0x84, 0x12, &(0x7f0000000000)=0x20, 0x4) (async) syz_io_uring_setup(0x3533, &(0x7f0000000040)={0x0, 0x6e64, 0x8, 0x0, 0x18e}, &(0x7f0000ffd000/0x3000)=nil, &(0x7f0000ffc000/0x4000)=nil, &(0x7f00000000c0), &(0x7f0000000100)) (async) syz_io_uring_submit(0x0, r1, &(0x7f0000000180)=@IORING_OP_TIMEOUT={0xb, 0x0, 0x0, 0x0, 0x7, &(0x7f0000000140), 0x1, 0x0, 0x1}, 0xe5c4) (async) syz_init_net_socket$802154_raw(0x24, 0x3, 0x0) (async) open_tree(0xffffffffffffff9c, &(0x7f0000000640)='\x00', 0x89901) (async) move_mount(r3, &(0x7f0000000140)='.\x00', 0xffffffffffffff9c, &(0x7f0000000180)='./file0\x00', 0x0) (async) mmap$snddsp_control(&(0x7f0000ff0000/0x10000)=nil, 0x1000, 0x3000000, 0x30, r3, 0x83000000) (async) syz_init_net_socket$bt_hci(0x1f, 0x3, 0x1) (async) setsockopt$bt_hci_HCI_DATA_DIR(r4, 0x0, 0x1, &(0x7f0000000240), 0x4) (async) setsockopt$inet_sctp_SCTP_PARTIAL_DELIVERY_POINT(0xffffffffffffffff, 0x84, 0x13, &(0x7f0000000380)=0x95, 0x4) (async) getsockopt$inet_sctp_SCTP_PEER_AUTH_CHUNKS(0xffffffffffffffff, 0x84, 0x1a, &(0x7f00000003c0)={0x0, 0x4b, "6479d0d355563e69ceb97abf95322b7e1a81a84841351110426faf9c7d5a6bbd076720da9eb32ea29ffaf61f1fd2beab51eb137c3c4a9fe32c0cd0757f04ab7d8694847f6416db21dd619f"}, &(0x7f0000000440)=0x53) (async) ioctl$BTRFS_IOC_TREE_SEARCH(r2, 0xd0009411, &(0x7f0000000580)={{0x0, 0x4b, 0x0, 0x0, 0x1000, 0x0, 0x0, 0x8, 0x0, 0x0, 0x5, 0x0, 0x0, 0x7, 0xffffffff}}) (async) mmap$IORING_OFF_CQ_RING(&(0x7f0000ffd000/0x1000)=nil, 0x1000, 0x3, 0x1010, r0, 0x8000000) (async) mmap$IORING_OFF_SQES(&(0x7f0000ffc000/0x3000)=nil, 0x3000, 0x2000008, 0x4030010, r0, 0x10000000) (async) clock_gettime(0x0, &(0x7f00000001c0)) (async) syz_io_uring_submit(r5, r6, &(0x7f0000000280)=@IORING_OP_LINK_TIMEOUT={0xf, 0x4, 0x0, 0x0, 0x0, &(0x7f0000000200)={r7, r8+10000000}, 0x1, 0x1, 0x1}, 0x1) (async) 00:43:42 executing program 0: syz_mount_image$jfs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x1ae7, 0x7a, &(0x7f0000000200)=[{&(0x7f0000010000)="4a465331010044256076000000000000001000000c00030000020000090000000020000000202010000000000000000004000000180000000200000016000000020700000100000000010000000f000034000000cc0e00006e1f1f630000000032000000000000000000000000000000000000000000000000000000000000000000000000000000701ea274223843458e4239ea57c1431a00000000000000000000000000000000715586d1947f00"/192, 0xc0, 0x8000}, {&(0x7f00000100c0)="ffffffff01000000200000001a000000040000000200"/32, 0x20, 0x9000}, {&(0x7f00000100e0)="0000000000000000200000001a000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000ffffffffffffffff0000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffff7fffffffffffffffffffffffff000000800000000000000000000000001a0000007f00"/2144, 0x860, 0x9800}, {&(0x7f0000010940)="008000f800"/32, 0x20, 0xa800}, {&(0x7f0000010960), 0x0, 0xaa00}, {&(0x7f0000010980)="040000000b00"/32, 0x20, 0xac00}, {&(0x7f00000109a0)="00000000000000000100"/32, 0x20, 0xb020}, {&(0x7f00000109c0)="6e1f1f63010000000100000001000000040000000b00000000200000000000000200000000000000010000000000000000000000008001006e1f1f63000000006e1f1f63000000006e1f1f63000000006e1f1f63000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000100"/160, 0xa0, 0xb200}, {&(0x7f0000010a60)="00000000000000000000000000000000830003001200000000000000000000000000000000000000020000000900"/64, 0x40, 0xb2e0}, {&(0x7f0000010aa0)="6e1f1f63010000000200000001000000040000000b00000000600000000000000600000000000000010000000000000000000000008001006e1f1f63000000006e1f1f63000000006e1f1f63000000006e1f1f630000000000000000000000000000000000000000000000000000000000000000000000000200000000000000", 0x80, 0xb400}, {&(0x7f0000010b20)="00000000000000000000000000000000830003001200000000000000000000000000000000000000060000001000"/64, 0x40, 0xb4e0}, {&(0x7f0000010b60)="6e1f1f63010000000300000001000000040000000b00000000000000000000000000000000000000010000000000000000000000008001006e1f1f63000000006e1f1f63000000006e1f1f63000000006e1f1f630000000000000000000000000000000000000000000000000000000000000000000000000200000000000000", 0x80, 0xb600}, {&(0x7f0000010be0)="00000000000000000000000000000000830002001200"/32, 0x20, 0xb6e0}, {&(0x7f0000010c00)="6e1f1f63010000000400000001000000040000000b00000000000000000000000000000000000000010000000000000000000000008003006e1f1f63000000006e1f1f63000000006e1f1f63000000006e1f1f630000000000000000000000000000000000000000000000000000000000000000000000000200000000000000", 0x80}, {&(0x7f0000010ca0)="6e1f1f63010000001000000001000000040000000b00000000200000", 0x1c, 0xd000}, {&(0x7f0000010d40)="000000000000000000000000000000008300030012000000000000000000000000000000000000000200000020", 0x2d, 0xd0e0}, {&(0x7f0000010e40)="cc0e000000000000a00e0000000000000000000001", 0x15, 0x10000}, {&(0x7f0000010e80)}, {0x0}, {0x0}, {0x0}, {&(0x7f0000000040)="7aa55a2ad53604cf2a29c7606a188ffa6a4237dcd444a43780fd7723c4d7c3ed117a776a53a4e4f6b21c79d7c96856dd75619405800468667130262702bb684304078378074ee30b", 0x48}, {&(0x7f0000012380)="6e1f1f6301000000010000000100000004000000180000000020", 0x1a, 0x18200}, {&(0x7f0000012420)="000000000000000000000000000000008300030012000000000000000000000000000000000000000200000016", 0x2d, 0x182e0}, {0x0}, {&(0x7f0000012880)="6e1f1f63100000000200000001000000040000001c00000028000000000000000000000000000000030000000000000000000000ed41", 0x36, 0x1c400}, {0x0, 0x0, 0x101}, {&(0x7f0000012d40)="ffffffff01000000400000003600000004", 0x11, 0x20000}, {&(0x7f0000013600)="040000001c", 0x5, 0x21c00}, {0x0}, {0x0}, {&(0x7f00000141e0)="21436587010000000100000000010000001000000c0000000009201001", 0x1d, 0xf01000}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0, 0x0, 0x6}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0, 0x0, 0xf53ba0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {&(0x7f000004ca20)}, {0x0}, {0x0}, {0x0, 0x0, 0x400000}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}, {0x0}], 0x0, &(0x7f0000052260), 0x1) 00:43:42 executing program 1: read$FUSE(0xffffffffffffffff, &(0x7f0000000840)={0x2020, 0x0, 0x0, 0x0}, 0x2020) syz_mount_image$vfat(&(0x7f00000000c0), &(0x7f0000000340)='./file0\x00', 0x0, 0x2, &(0x7f0000000700)=[{&(0x7f0000000100)="eb6d4eed376673ded2617400108001000240000004f8c58927ddd401c3fb16eaf3c54f16032dad8e856c5bccc4ce0fd3392c8587a187e0eb92e823e75136823296ff96ab794949b1e33c859c82b8cfbf56da3f66c014d6fe9be5650b7e4d81d961f188427f1d783eabb92905eaa02bbca51ceb87cbc7e7ad4972cab70b6e2a7f3346851c9754ce5356f7a5644bc10244a9eac2d662c0b6aed0881f506d65722236e1961d7bf42b7d11f0aff26b199bffe78487cf5feb871ee7ad98948e72543ea31023af7a0b86832d8831ef2e7ed53621f053909bd0d46a59309c6eb7d3e108704273424dc60e13732bd651ca1e3e660faf6ae147386dd82577315dccc53b803a45409e28dfd2f4cabfbc934fcfd565331ec886fa2a24", 0x117}, {0x0, 0x0, 0x600}], 0x1008000, &(0x7f0000000000)={[], [{@smackfshat={'smackfshat', 0x3d, 'vfat\x00'}}, {@fowner_gt={'fowner>', r0}}, {@audit}, {@rootcontext={'rootcontext', 0x3d, 'staff_u'}}, {@appraise}]}, 0x0) r1 = open_tree(0xffffffffffffff9c, &(0x7f0000000640)='\x00', 0x89901) move_mount(r1, &(0x7f0000000140)='.\x00', 0xffffffffffffff9c, &(0x7f0000000180)='./file0\x00', 0x0) r2 = open_tree(0xffffffffffffff9c, &(0x7f0000000200)='./file0\x00', 0x89901) move_mount(r2, &(0x7f0000000140)='.\x00', 0xffffffffffffff9c, &(0x7f0000000180)='./file0\x00', 0x0) read$FUSE(r2, &(0x7f00000048c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r1, &(0x7f0000000240)={0x50, 0x0, r3, {0x7, 0x24, 0x4, 0x800010, 0x7, 0x1f, 0x8001, 0x20}}, 0x50) [ 318.772273][T14689] loop4: detected capacity change from 0 to 512 [ 318.778239][T14694] loop0: detected capacity change from 0 to 62779 [ 318.780092][T14689] ext4: Unknown parameter 'euid>00000000000000060929' [ 318.789620][T14690] loop1: detected capacity change from 0 to 6 [ 318.797292][T14690] FAT-fs (loop1): unable to read boot sector (logical sector size = 4096) [ 318.800063][T14694] Mount JFS Failure: -22 [ 318.805752][T14694] jfs_mount failed w/return code = -22 00:43:42 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) (async) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) (async) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) (async) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) (async) r1 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f00000002c0)={&(0x7f0000000500)=@newtaction={0x50, 0x30, 0x1, 0x0, 0x0, {}, [{0x3c, 0x1, [@m_vlan={0x38, 0x1, 0x0, 0x0, {{0x9}, {0xc, 0x2, 0x0, 0x1, [@TCA_VLAN_PUSH_VLAN_PRIORITY={0x5}]}, {0x4}, {0xc}, {0xc}}}]}]}, 0x50}}, 0x0) ioctl$F2FS_IOC_MOVE_RANGE(r1, 0xc020f509, &(0x7f0000000180)={r0, 0x9, 0x3, 0x7fff}) getsockopt$inet6_tcp_TCP_ZEROCOPY_RECEIVE(r2, 0x6, 0x23, &(0x7f00000001c0)={&(0x7f0000ffb000/0x2000)=nil, 0x2000, 0x0, 0x0, 0x0, &(0x7f0000000300)=""/187, 0xbb, 0x1, &(0x7f00000003c0)=""/207, 0xcf}, &(0x7f0000000280)=0x40) setsockopt$inet6_tcp_buf(r1, 0x6, 0x1c, &(0x7f0000000080)="b7bd39c6866fb16657a28a9c148ccc4c04a84cff64c9d76e6c59af2098fd5bb0530584a5baac4b8156000837d80e3c4aa62d0098deb8b8c2ac208725eb81f612392d985d00c2cdb944ab9e2e4bfde0854512d1ddf464dc0918c92802b0cf16cb6639083f9e47bf207533602a697a096fdb35d8657e12852291cf61f509fbb1ab6cc2c7cc3b865ea88fcd7713ea410ce637a2d8e1b49a7eedc66a1e425f6399606d1fbd0ee69dbfaf8b151e1873552b01c31262266204aadf74c33b4cc950a32496aa422d4c1f92fa90070b3480cfa00c31f533bb9d5525391ec0816c068421d9c61bdf4db70b9c66d7f6df43a81e8bf419328e54a0243b796d14", 0xfa) 00:43:42 executing program 2: r0 = shmget$private(0x0, 0x4000, 0x4, &(0x7f0000ffc000/0x4000)=nil) shmctl$SHM_LOCK(r0, 0xb) shmat(r0, &(0x7f0000ffe000/0x2000)=nil, 0x5000) r1 = shmget$private(0x0, 0x4000, 0x1, &(0x7f0000ffc000/0x4000)=nil) shmget(0x0, 0x1000, 0x10, &(0x7f0000ffc000/0x1000)=nil) shmctl$IPC_STAT(r0, 0x2, &(0x7f0000000000)=""/121) shmctl$SHM_UNLOCK(r1, 0xc) mbind(&(0x7f0000ffd000/0x3000)=nil, 0x3000, 0x2, &(0x7f0000000200)=0xfffffffffffff001, 0x6, 0x0) shmget(0x2, 0x4000, 0x4, &(0x7f0000ffb000/0x4000)=nil) r2 = shmget(0x3, 0x1000, 0x100, &(0x7f0000ffd000/0x1000)=nil) shmctl$IPC_RMID(r2, 0x0) mbind(&(0x7f0000ffc000/0x4000)=nil, 0x4000, 0x0, 0x0, 0x0, 0x0) shmget$private(0x0, 0x4000, 0x4, &(0x7f0000ffc000/0x4000)=nil) (async) shmctl$SHM_LOCK(r0, 0xb) (async) shmat(r0, &(0x7f0000ffe000/0x2000)=nil, 0x5000) (async) shmget$private(0x0, 0x4000, 0x1, &(0x7f0000ffc000/0x4000)=nil) (async) shmget(0x0, 0x1000, 0x10, &(0x7f0000ffc000/0x1000)=nil) (async) shmctl$IPC_STAT(r0, 0x2, &(0x7f0000000000)=""/121) (async) shmctl$SHM_UNLOCK(r1, 0xc) (async) mbind(&(0x7f0000ffd000/0x3000)=nil, 0x3000, 0x2, &(0x7f0000000200)=0xfffffffffffff001, 0x6, 0x0) (async) shmget(0x2, 0x4000, 0x4, &(0x7f0000ffb000/0x4000)=nil) (async) shmget(0x3, 0x1000, 0x100, &(0x7f0000ffd000/0x1000)=nil) (async) shmctl$IPC_RMID(r2, 0x0) (async) mbind(&(0x7f0000ffc000/0x4000)=nil, 0x4000, 0x0, 0x0, 0x0, 0x0) (async) 00:43:42 executing program 5: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000540)={0x8, 0x3, &(0x7f0000000000)=@framed, &(0x7f0000000440)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) socketpair(0xf, 0x3, 0xffffff80, &(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) sendto(r1, &(0x7f0000000080)="6762af83ccdfb41ff6b9dfbe0c7452d680a184a77330148eafc73a86c3271b1981bbee4d6f98282d5ea509b4dff2741020fa1702ceeedb1b28c2b1c2d651500c52f5f10124eeec901f8e32cf639a6e22c91ce213d0d0bedc92ffa54ae13a6091f22571a8d0797e767c7c668d9a38465534b48478fc73d9e80159a95ab0644e1a58c6896614bcbdfdfd1c5918b8178a92a6aebed94ee49afef5e67712e527dfc310f1f3b5c406423e3111ff00a282342e7f2f5a1a1b5f72f2368b9553c0373d57c6270371a6aad23f6781fe384b250cb1ae0850b36e36d033fadddf9b4a6fc781b3cfef169cce60fac3e0185bdd901c52d0f77775ad97a498", 0xf8, 0x840, &(0x7f0000000180)=@caif=@dgm={0x25, 0x2}, 0x80) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000300)={r0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80}, 0x48) 00:43:42 executing program 4: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="200000008000000006000000600000000f000000000000000100000001000000004000000040000020000000d8f4655fd8f4655f0100ffff53ef", 0x3a, 0x3fc}, {&(0x7f0000010400)="120000001200000022", 0x9, 0xefb9}, {&(0x7f0000012e00)="ed41000000080000d8f4655fd8f4655fd8f4655f000000000000040004", 0x1d}], 0x0, &(0x7f0000000040)={[{@user_xattr}, {@nodelalloc}], [{@euid_gt={'euid>', 0xee01}}, {@context={'context', 0x3d, 'staff_u'}}, {@pcr={'pcr', 0x3d, 0x2}}, {@permit_directio}, {@seclabel}, {@obj_role={'obj_role', 0x3d, '*)#.$.{'}}, {@subj_type={'subj_type', 0x3d, 'ext4\x00'}}, {@audit}, {@dont_measure}, {@smackfstransmute}]}, 0x0) 00:43:42 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) ioctl$sock_kcm_SIOCKCMCLONE(0xffffffffffffffff, 0x89e2, &(0x7f0000000140)={r0}) getsockopt$inet6_tcp_buf(r1, 0x6, 0xd, &(0x7f0000000180)=""/6, &(0x7f00000001c0)=0x6) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) sendto$inet6(r0, &(0x7f0000000080)="e45abb04af4c4a0eee8270f99d6376176f8946d5f59511111dad9c4c99b43f11b7ca8b57c327d76f1b3accd4e85428c29186606e3eb6238d767a3f4ddcf22ef1e9ba064d94d35b65c30a70ed274a7ec892e8912a3b308be96c613a2d6d1160667790df7a965f9182a4fdff38a3e76c5b2fc808089f6740b20a474ba37f13a001a5ab89065aac2e9e7c26e75cee876471fa51e1a67bcddbf9ce88c49e86bae658159e", 0xa2, 0x1, 0x0, 0x0) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c45741aefadcb38", "04faf5f6bd6b356177746fd000", 'c\x00', "6f43729d9b020004"}, 0x38) 00:43:42 executing program 0: r0 = socket(0x1, 0x2, 0x0) ioctl$sock_ipv6_tunnel_SIOCADDTUNNEL(r0, 0x89f1, &(0x7f00000001c0)={'ip6gre0\x00', &(0x7f0000000080)={'syztnl1\x00', 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @ipv4={'\x00', '\xff\xff', @initdev={0xac, 0x1e, 0x0, 0x0}}, @loopback={0x0, 0x460c6}}}) 00:43:42 executing program 1: read$FUSE(0xffffffffffffffff, &(0x7f0000000840)={0x2020, 0x0, 0x0, 0x0}, 0x2020) syz_mount_image$vfat(&(0x7f00000000c0), &(0x7f0000000340)='./file0\x00', 0x0, 0x2, &(0x7f0000000700)=[{&(0x7f0000000100)="eb6d4eed376673ded2617400108001000240000004f8c58927ddd401c3fb16eaf3c54f16032dad8e856c5bccc4ce0fd3392c8587a187e0eb92e823e75136823296ff96ab794949b1e33c859c82b8cfbf56da3f66c014d6fe9be5650b7e4d81d961f188427f1d783eabb92905eaa02bbca51ceb87cbc7e7ad4972cab70b6e2a7f3346851c9754ce5356f7a5644bc10244a9eac2d662c0b6aed0881f506d65722236e1961d7bf42b7d11f0aff26b199bffe78487cf5feb871ee7ad98948e72543ea31023af7a0b86832d8831ef2e7ed53621f053909bd0d46a59309c6eb7d3e108704273424dc60e13732bd651ca1e3e660faf6ae147386dd82577315dccc53b803a45409e28dfd2f4cabfbc934fcfd565331ec886fa2a24", 0x117}, {0x0, 0x0, 0x600}], 0x1008000, &(0x7f0000000000)={[], [{@smackfshat={'smackfshat', 0x3d, 'vfat\x00'}}, {@fowner_gt={'fowner>', r0}}, {@audit}, {@rootcontext={'rootcontext', 0x3d, 'staff_u'}}, {@appraise}]}, 0x0) (async) r1 = open_tree(0xffffffffffffff9c, &(0x7f0000000640)='\x00', 0x89901) move_mount(r1, &(0x7f0000000140)='.\x00', 0xffffffffffffff9c, &(0x7f0000000180)='./file0\x00', 0x0) (async) r2 = open_tree(0xffffffffffffff9c, &(0x7f0000000200)='./file0\x00', 0x89901) move_mount(r2, &(0x7f0000000140)='.\x00', 0xffffffffffffff9c, &(0x7f0000000180)='./file0\x00', 0x0) (async) read$FUSE(r2, &(0x7f00000048c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r1, &(0x7f0000000240)={0x50, 0x0, r3, {0x7, 0x24, 0x4, 0x800010, 0x7, 0x1f, 0x8001, 0x20}}, 0x50) [ 318.876191][T14723] loop4: detected capacity change from 0 to 512 [ 318.878391][T14723] ext4: Unknown parameter 'euid>00000000000000060929' [ 318.888955][T14730] loop1: detected capacity change from 0 to 6 00:43:42 executing program 5: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000540)={0x8, 0x3, &(0x7f0000000000)=@framed, &(0x7f0000000440)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) socketpair(0xf, 0x3, 0xffffff80, &(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) sendto(r1, &(0x7f0000000080)="6762af83ccdfb41ff6b9dfbe0c7452d680a184a77330148eafc73a86c3271b1981bbee4d6f98282d5ea509b4dff2741020fa1702ceeedb1b28c2b1c2d651500c52f5f10124eeec901f8e32cf639a6e22c91ce213d0d0bedc92ffa54ae13a6091f22571a8d0797e767c7c668d9a38465534b48478fc73d9e80159a95ab0644e1a58c6896614bcbdfdfd1c5918b8178a92a6aebed94ee49afef5e67712e527dfc310f1f3b5c406423e3111ff00a282342e7f2f5a1a1b5f72f2368b9553c0373d57c6270371a6aad23f6781fe384b250cb1ae0850b36e36d033fadddf9b4a6fc781b3cfef169cce60fac3e0185bdd901c52d0f77775ad97a498", 0xf8, 0x840, &(0x7f0000000180)=@caif=@dgm={0x25, 0x2}, 0x80) (async) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000300)={r0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80}, 0x48) 00:43:42 executing program 0: r0 = socket(0x1, 0x2, 0x0) ioctl$sock_ipv6_tunnel_SIOCADDTUNNEL(r0, 0x89f1, &(0x7f00000001c0)={'ip6gre0\x00', &(0x7f0000000080)={'syztnl1\x00', 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @ipv4={'\x00', '\xff\xff', @initdev={0xac, 0x1e, 0x0, 0x0}}, @loopback={0x0, 0x460c6}}}) [ 318.913257][T14730] FAT-fs (loop1): unable to read boot sector (logical sector size = 4096) 00:43:42 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) (async) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) (async) ioctl$sock_kcm_SIOCKCMCLONE(0xffffffffffffffff, 0x89e2, &(0x7f0000000140)={r0}) getsockopt$inet6_tcp_buf(r1, 0x6, 0xd, &(0x7f0000000180)=""/6, &(0x7f00000001c0)=0x6) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) (async) sendto$inet6(r0, &(0x7f0000000080)="e45abb04af4c4a0eee8270f99d6376176f8946d5f59511111dad9c4c99b43f11b7ca8b57c327d76f1b3accd4e85428c29186606e3eb6238d767a3f4ddcf22ef1e9ba064d94d35b65c30a70ed274a7ec892e8912a3b308be96c613a2d6d1160667790df7a965f9182a4fdff38a3e76c5b2fc808089f6740b20a474ba37f13a001a5ab89065aac2e9e7c26e75cee876471fa51e1a67bcddbf9ce88c49e86bae658159e", 0xa2, 0x1, 0x0, 0x0) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) (async) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c45741aefadcb38", "04faf5f6bd6b356177746fd000", 'c\x00', "6f43729d9b020004"}, 0x38) 00:43:42 executing program 2: r0 = shmget$private(0x0, 0x4000, 0x4, &(0x7f0000ffc000/0x4000)=nil) shmctl$SHM_LOCK(r0, 0xb) (async) shmat(r0, &(0x7f0000ffe000/0x2000)=nil, 0x5000) (async) r1 = shmget$private(0x0, 0x4000, 0x1, &(0x7f0000ffc000/0x4000)=nil) (async) shmget(0x0, 0x1000, 0x10, &(0x7f0000ffc000/0x1000)=nil) (async) shmctl$IPC_STAT(r0, 0x2, &(0x7f0000000000)=""/121) shmctl$SHM_UNLOCK(r1, 0xc) (async, rerun: 32) mbind(&(0x7f0000ffd000/0x3000)=nil, 0x3000, 0x2, &(0x7f0000000200)=0xfffffffffffff001, 0x6, 0x0) (rerun: 32) shmget(0x2, 0x4000, 0x4, &(0x7f0000ffb000/0x4000)=nil) r2 = shmget(0x3, 0x1000, 0x100, &(0x7f0000ffd000/0x1000)=nil) shmctl$IPC_RMID(r2, 0x0) (async) mbind(&(0x7f0000ffc000/0x4000)=nil, 0x4000, 0x0, 0x0, 0x0, 0x0) 00:43:42 executing program 0: r0 = socket(0x1, 0x2, 0x0) ioctl$sock_ipv6_tunnel_SIOCADDTUNNEL(r0, 0x89f1, &(0x7f00000001c0)={'ip6gre0\x00', &(0x7f0000000080)={'syztnl1\x00', 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @ipv4={'\x00', '\xff\xff', @initdev={0xac, 0x1e, 0x0, 0x0}}, @loopback={0x0, 0x460c6}}}) socket(0x1, 0x2, 0x0) (async) ioctl$sock_ipv6_tunnel_SIOCADDTUNNEL(r0, 0x89f1, &(0x7f00000001c0)={'ip6gre0\x00', &(0x7f0000000080)={'syztnl1\x00', 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, @ipv4={'\x00', '\xff\xff', @initdev={0xac, 0x1e, 0x0, 0x0}}, @loopback={0x0, 0x460c6}}}) (async) 00:43:42 executing program 4: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x3, &(0x7f0000000200)=[{&(0x7f0000010000)="200000008000000006000000600000000f000000000000000100000001000000004000000040000020000000d8f4655fd8f4655f0100ffff53ef", 0x3a, 0x3fc}, {&(0x7f0000010400)="120000001200000022", 0x9, 0xefb9}, {&(0x7f0000012e00)="ed41000000080000d8f4655fd8f4655fd8f4655f000000000000040004", 0x1d}], 0x0, &(0x7f0000000040)={[{@user_xattr}, {@nodelalloc}], [{@euid_gt={'euid>', 0xee01}}, {@context={'context', 0x3d, 'staff_u'}}, {@pcr={'pcr', 0x3d, 0x2}}, {@permit_directio}, {@seclabel}, {@obj_role={'obj_role', 0x3d, '*)#.$.{'}}, {@subj_type={'subj_type', 0x3d, 'ext4\x00'}}, {@audit}, {@dont_measure}, {@smackfstransmute}]}, 0x0) 00:43:42 executing program 5: r0 = bpf$BPF_PROG_RAW_TRACEPOINT_LOAD(0x5, &(0x7f0000000540)={0x8, 0x3, &(0x7f0000000000)=@framed, &(0x7f0000000440)='GPL\x00', 0x0, 0x0, 0x0, 0x0, 0x0, '\x00', 0x0, 0x0, 0xffffffffffffffff, 0x8, 0x0, 0x0, 0x10, 0x0}, 0x80) socketpair(0xf, 0x3, 0xffffff80, &(0x7f0000000040)={0xffffffffffffffff, 0xffffffffffffffff}) sendto(r1, &(0x7f0000000080)="6762af83ccdfb41ff6b9dfbe0c7452d680a184a77330148eafc73a86c3271b1981bbee4d6f98282d5ea509b4dff2741020fa1702ceeedb1b28c2b1c2d651500c52f5f10124eeec901f8e32cf639a6e22c91ce213d0d0bedc92ffa54ae13a6091f22571a8d0797e767c7c668d9a38465534b48478fc73d9e80159a95ab0644e1a58c6896614bcbdfdfd1c5918b8178a92a6aebed94ee49afef5e67712e527dfc310f1f3b5c406423e3111ff00a282342e7f2f5a1a1b5f72f2368b9553c0373d57c6270371a6aad23f6781fe384b250cb1ae0850b36e36d033fadddf9b4a6fc781b3cfef169cce60fac3e0185bdd901c52d0f77775ad97a498", 0xf8, 0x840, &(0x7f0000000180)=@caif=@dgm={0x25, 0x2}, 0x80) bpf$BPF_PROG_TEST_RUN(0xa, &(0x7f0000000300)={r0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80}, 0x48) 00:43:42 executing program 1: read$FUSE(0xffffffffffffffff, &(0x7f0000000840)={0x2020, 0x0, 0x0, 0x0}, 0x2020) syz_mount_image$vfat(&(0x7f00000000c0), &(0x7f0000000340)='./file0\x00', 0x0, 0x2, &(0x7f0000000700)=[{&(0x7f0000000100)="eb6d4eed376673ded2617400108001000240000004f8c58927ddd401c3fb16eaf3c54f16032dad8e856c5bccc4ce0fd3392c8587a187e0eb92e823e75136823296ff96ab794949b1e33c859c82b8cfbf56da3f66c014d6fe9be5650b7e4d81d961f188427f1d783eabb92905eaa02bbca51ceb87cbc7e7ad4972cab70b6e2a7f3346851c9754ce5356f7a5644bc10244a9eac2d662c0b6aed0881f506d65722236e1961d7bf42b7d11f0aff26b199bffe78487cf5feb871ee7ad98948e72543ea31023af7a0b86832d8831ef2e7ed53621f053909bd0d46a59309c6eb7d3e108704273424dc60e13732bd651ca1e3e660faf6ae147386dd82577315dccc53b803a45409e28dfd2f4cabfbc934fcfd565331ec886fa2a24", 0x117}, {0x0, 0x0, 0x600}], 0x1008000, &(0x7f0000000000)={[], [{@smackfshat={'smackfshat', 0x3d, 'vfat\x00'}}, {@fowner_gt={'fowner>', r0}}, {@audit}, {@rootcontext={'rootcontext', 0x3d, 'staff_u'}}, {@appraise}]}, 0x0) (async) r1 = open_tree(0xffffffffffffff9c, &(0x7f0000000640)='\x00', 0x89901) move_mount(r1, &(0x7f0000000140)='.\x00', 0xffffffffffffff9c, &(0x7f0000000180)='./file0\x00', 0x0) (async) r2 = open_tree(0xffffffffffffff9c, &(0x7f0000000200)='./file0\x00', 0x89901) move_mount(r2, &(0x7f0000000140)='.\x00', 0xffffffffffffff9c, &(0x7f0000000180)='./file0\x00', 0x0) (async) read$FUSE(r2, &(0x7f00000048c0)={0x2020, 0x0, 0x0}, 0x2020) write$FUSE_INIT(r1, &(0x7f0000000240)={0x50, 0x0, r3, {0x7, 0x24, 0x4, 0x800010, 0x7, 0x1f, 0x8001, 0x20}}, 0x50) [ 318.962719][T14748] loop4: detected capacity change from 0 to 512 [ 318.971861][T14748] ext4: Unknown parameter 'euid>00000000000000060929' 00:43:42 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) (async, rerun: 64) ioctl$sock_kcm_SIOCKCMCLONE(0xffffffffffffffff, 0x89e2, &(0x7f0000000140)={r0}) (rerun: 64) getsockopt$inet6_tcp_buf(r1, 0x6, 0xd, &(0x7f0000000180)=""/6, &(0x7f00000001c0)=0x6) (async, rerun: 32) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) (rerun: 32) sendto$inet6(r0, &(0x7f0000000080)="e45abb04af4c4a0eee8270f99d6376176f8946d5f59511111dad9c4c99b43f11b7ca8b57c327d76f1b3accd4e85428c29186606e3eb6238d767a3f4ddcf22ef1e9ba064d94d35b65c30a70ed274a7ec892e8912a3b308be96c613a2d6d1160667790df7a965f9182a4fdff38a3e76c5b2fc808089f6740b20a474ba37f13a001a5ab89065aac2e9e7c26e75cee876471fa51e1a67bcddbf9ce88c49e86bae658159e", 0xa2, 0x1, 0x0, 0x0) (async) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c45741aefadcb38", "04faf5f6bd6b356177746fd000", 'c\x00', "6f43729d9b020004"}, 0x38) [ 318.981855][T14756] loop1: detected capacity change from 0 to 6 [ 318.993336][T14756] FAT-fs (loop1): unable to read boot sector (logical sector size = 4096) 00:43:42 executing program 0: accept$alg(0xffffffffffffffff, 0x0, 0x0) r0 = syz_usb_connect(0x0, 0x36, &(0x7f0000000000)=ANY=[], 0x0) syz_usb_control_io(r0, &(0x7f0000000180)={0x2c, &(0x7f0000000000)={0x0, 0x30, 0x79, {0x79, 0xe, "cfc3a63e6c47d495b10aa5c7852cc21d77f581eca338f87ed1d57018168ab575fcce280288802f55ed2892db34f2a4f46da2cff5b4ab5e8ccd604fdf6766b2d4eb6e04e0c1d6dad24d6f9f8c2ee84536dfb76123be9ead39a8ff31f97d7c552ad84e4170af40be80c373fea631f665d5d9bbc22d2e4796"}}, &(0x7f0000000080)={0x0, 0x3, 0x4, @lang_id={0x4, 0x3, 0x42b}}, &(0x7f00000000c0)={0x0, 0xf, 0x34, {0x5, 0xf, 0x34, 0x5, [@ext_cap={0x7, 0x10, 0x2, 0x6, 0xa, 0x3, 0x81}, @ss_cap={0xa, 0x10, 0x3, 0x0, 0x3, 0x40, 0xfd, 0x9}, @ptm_cap={0x3}, @ss_container_id={0x14, 0x10, 0x4, 0x2, "2c14906ecae959d6d082fdf9b26f25d1"}, @ext_cap={0x7, 0x10, 0x2, 0x14, 0x1, 0x3, 0x6}]}}, &(0x7f0000000100)={0x20, 0x29, 0xf, {0xf, 0x29, 0xda, 0x2, 0x1, 0x52, "79a70d69", "c83f0f83"}}, &(0x7f0000000140)={0x20, 0x2a, 0xc, {0xc, 0x2a, 0x5, 0x0, 0x1f, 0x5, 0x1, 0xfff, 0x2}}}, &(0x7f0000000600)={0x84, &(0x7f00000001c0)={0x40, 0xe, 0x64, "3648c81b98170e61edf2de9e5ef94e43a9d9e2aa2426a3dfbdc6e1aa4c6a8c052de466fcb36529ea7be65eb81174d689cbb94385ac3ecb48ea66a9b1e8a3b7b4c15f17411f692a012f65857815c3d250afb920ec399e87f81b78c559b9e86dc87cb4c122"}, &(0x7f0000000240)={0x0, 0xa, 0x1, 0x40}, &(0x7f0000000280)={0x0, 0x8, 0x1, 0xcb}, &(0x7f00000002c0)={0x20, 0x0, 0x4, {0x1, 0x1}}, &(0x7f0000000300)={0x20, 0x0, 0x4, {0x120, 0x9c01bcea80822819}}, &(0x7f0000000340)={0x40, 0x7, 0x2, 0xfffa}, &(0x7f0000000380)={0x40, 0x9, 0x1, 0xf7}, &(0x7f00000003c0)={0x40, 0xb, 0x2, '0\x00'}, &(0x7f0000000400)={0x40, 0xf, 0x2, 0x3f}, &(0x7f0000000440)={0x40, 0x13, 0x6, @dev={'\xaa\xaa\xaa\xaa\xaa', 0x42}}, &(0x7f0000000480)={0x40, 0x17, 0x6}, &(0x7f00000004c0)={0x40, 0x19, 0x2, "8a1f"}, &(0x7f0000000500)={0x40, 0x1a, 0x2, 0x8}, &(0x7f0000000540)={0x40, 0x1c, 0x1, 0x6}, &(0x7f0000000580)={0x40, 0x1e, 0x1, 0x2}, &(0x7f00000005c0)={0x40, 0x21, 0x1, 0xff}}) 00:43:42 executing program 4: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket(0x11, 0x80a, 0x0) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f0000000300)={'bond0\x00', 0x0}) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f00000006c0)={&(0x7f00000001c0)=@newlink={0x44, 0x10, 0x401, 0x0, 0x0, {0x0, 0x0, 0x0, r2}, [@IFLA_LINKINFO={0x24, 0x12, 0x0, 0x1, @bond={{0x9}, {0x14, 0x2, 0x0, 0x1, [@IFLA_BOND_ARP_INTERVAL={0x8, 0x7, 0x9}, @IFLA_BOND_AD_LACP_RATE={0x5}]}}}]}, 0x44}}, 0x0) getsockopt$sock_cred(r1, 0x1, 0x11, &(0x7f0000000340), &(0x7f0000000040)=0xc) r3 = openat(0xffffffffffffff9c, &(0x7f0000000000)='/proc/self/exe\x00', 0x0, 0x0) getsockname$packet(r3, &(0x7f00000003c0)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @dev}, &(0x7f00000000c0)=0x14) r4 = socket(0x2, 0x8080d, 0xeffffffe) sendmsg$nl_route_sched(r4, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000780)={&(0x7f00000007c0)=ANY=[@ANYBLOB], 0x86c}}, 0x0) sendmsg$nl_route(0xffffffffffffffff, 0x0, 0x0) mmap(&(0x7f0000000000/0x800000)=nil, 0x800000, 0x0, 0x10, 0xffffffffffffffff, 0x0) preadv(0xffffffffffffffff, 0x0, 0x0, 0x0, 0x0) r5 = socket$packet(0x11, 0x2, 0x300) ioctl$sock_SIOCGIFINDEX(r5, 0x8933, &(0x7f0000000180)={'bond0\x00', 0x0}) setsockopt$MRT_PIM(0xffffffffffffffff, 0x0, 0xcf, 0x0, 0x0) bind$packet(0xffffffffffffffff, &(0x7f0000000100)={0x11, 0x0, r6, 0x1, 0x80, 0x6, @link_local={0x1, 0x80, 0xc2, 0x0, 0x0, 0x1}}, 0x14) r7 = socket$nl_route(0x10, 0x3, 0x0) r8 = socket(0x1, 0x803, 0x0) getsockname$packet(r8, &(0x7f0000000100)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f00000002c0)=0x14) sendmsg$nl_route(r7, &(0x7f0000000300)={0x0, 0x0, &(0x7f0000000000)={&(0x7f0000000240)=@newlink={0x54, 0x10, 0x401, 0x0, 0x0, {}, [@IFLA_LINKINFO={0x24, 0x12, 0x0, 0x1, @macvlan={{0xc}, {0x14, 0x2, 0x0, 0x1, [@IFLA_MACVLAN_MODE={0x8, 0x1, 0x8}, @IFLA_MACVLAN_FLAGS={0x6, 0x2, 0x1}]}}}, @IFLA_LINK={0x8, 0x5, r6}, @IFLA_MASTER={0x8, 0xa, r9}]}, 0x54}}, 0x0) 00:43:43 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="240000002400000000000000a200000000000000", @ANYRES32=0x0, @ANYBLOB='\x00'/12], 0x24}}, 0x0) getsockname$packet(r2, &(0x7f0000000080)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000100)=0x14) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000008c0)=ANY=[@ANYBLOB="5a0000001000050700"/20, @ANYRES32=r3, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000900)=@newqdisc={0x30, 0x24, 0xf1d, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_clsact={0xb}]}, 0x30}}, 0x0) getsockopt$inet_pktinfo(r2, 0x0, 0x8, &(0x7f0000000140)={0x0, @initdev, @dev}, &(0x7f0000000180)=0xc) sendmsg$ETHTOOL_MSG_RINGS_SET(r1, &(0x7f0000000300)={&(0x7f0000000200)={0x10, 0x0, 0x0, 0x20000002}, 0xc, &(0x7f00000002c0)={&(0x7f00000001c0)={0x1c, 0x0, 0x8, 0x70bd27, 0x25dfdbfd, {}, [@ETHTOOL_A_RINGS_RX_JUMBO={0x8, 0x8, 0xffff}]}, 0x1c}, 0x1, 0x0, 0x0, 0x9001}, 0x20048004) sendmsg$nl_route_sched(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000004a00)=ANY=[@ANYBLOB="540000006400310f00"/20, @ANYRES32=r3, @ANYBLOB="00000000f3ffffff0000000059000100666c6f7765720000240002001400020076657468315f746f5f7465616d0000000a000400bbbbbbbbbbbb0000"], 0x54}}, 0x0) 00:43:43 executing program 1: r0 = syz_open_dev$vim2m(&(0x7f0000000040), 0x9, 0x2) ioctl$vim2m_VIDIOC_REQBUFS(r0, 0xc0145608, &(0x7f0000000000)={0x41e4, 0x0, 0x3, 0x0, 0x20}) ioctl$vim2m_VIDIOC_PREPARE_BUF(r0, 0xc058565d, &(0x7f0000000100)=@overlay={0x0, 0x1, 0x4, 0x0, 0x0, {0x0, 0xea60}, {0x2, 0x0, 0x0, 0x0, 0x0, 0x0, "0f0d85dc"}}) [ 319.049833][T14767] bond0: option lacp_rate: mode dependency failed, not supported in mode balance-rr(0) [ 319.058151][T14765] netlink: 48 bytes leftover after parsing attributes in process `syz-executor.5'. [ 319.065226][ T7423] bond0: (slave bond_slave_0): interface is now down [ 319.066950][ T7423] bond0: (slave bond_slave_1): interface is now down [ 319.074016][T14767] 8021q: adding VLAN 0 to HW filter on device macvlan2 [ 319.085482][ T7423] bond0: (slave bond_slave_0): interface is now down [ 319.087749][ T7423] bond0: (slave bond_slave_1): interface is now down 00:43:43 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="240000002400000000000000a200000000000000", @ANYRES32=0x0, @ANYBLOB='\x00'/12], 0x24}}, 0x0) (async) getsockname$packet(r2, &(0x7f0000000080)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000100)=0x14) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000008c0)=ANY=[@ANYBLOB="5a0000001000050700"/20, @ANYRES32=r3, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) (async) sendmsg$nl_route_sched(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000900)=@newqdisc={0x30, 0x24, 0xf1d, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_clsact={0xb}]}, 0x30}}, 0x0) (async) getsockopt$inet_pktinfo(r2, 0x0, 0x8, &(0x7f0000000140)={0x0, @initdev, @dev}, &(0x7f0000000180)=0xc) (async) sendmsg$ETHTOOL_MSG_RINGS_SET(r1, &(0x7f0000000300)={&(0x7f0000000200)={0x10, 0x0, 0x0, 0x20000002}, 0xc, &(0x7f00000002c0)={&(0x7f00000001c0)={0x1c, 0x0, 0x8, 0x70bd27, 0x25dfdbfd, {}, [@ETHTOOL_A_RINGS_RX_JUMBO={0x8, 0x8, 0xffff}]}, 0x1c}, 0x1, 0x0, 0x0, 0x9001}, 0x20048004) (async) sendmsg$nl_route_sched(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000004a00)=ANY=[@ANYBLOB="540000006400310f00"/20, @ANYRES32=r3, @ANYBLOB="00000000f3ffffff0000000059000100666c6f7765720000240002001400020076657468315f746f5f7465616d0000000a000400bbbbbbbbbbbb0000"], 0x54}}, 0x0) 00:43:43 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) setsockopt$inet6_tcp_int(0xffffffffffffffff, 0x6, 0x9, &(0x7f0000000080)=0x7, 0x4) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) setsockopt$inet6_tcp_TLS_TX(r0, 0x6, 0x1, &(0x7f00000000c0)=@gcm_256={{0x304}, "6e1d79c6d59b16ac", "51ad126e51d295328c470bf45f6fd8c9715831f3ba882f675ae795f3e3e1e51e", "bdbf0ec2", "2367efcb6ed5e559"}, 0x38) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) 00:43:43 executing program 1: r0 = syz_open_dev$vim2m(&(0x7f0000000040), 0x9, 0x2) ioctl$vim2m_VIDIOC_REQBUFS(r0, 0xc0145608, &(0x7f0000000000)={0x41e4, 0x0, 0x3, 0x0, 0x20}) ioctl$vim2m_VIDIOC_PREPARE_BUF(r0, 0xc058565d, &(0x7f0000000100)=@overlay={0x0, 0x1, 0x4, 0x0, 0x0, {0x0, 0xea60}, {0x2, 0x0, 0x0, 0x0, 0x0, 0x0, "0f0d85dc"}}) syz_open_dev$vim2m(&(0x7f0000000040), 0x9, 0x2) (async) ioctl$vim2m_VIDIOC_REQBUFS(r0, 0xc0145608, &(0x7f0000000000)={0x41e4, 0x0, 0x3, 0x0, 0x20}) (async) ioctl$vim2m_VIDIOC_PREPARE_BUF(r0, 0xc058565d, &(0x7f0000000100)=@overlay={0x0, 0x1, 0x4, 0x0, 0x0, {0x0, 0xea60}, {0x2, 0x0, 0x0, 0x0, 0x0, 0x0, "0f0d85dc"}}) (async) 00:43:43 executing program 1: r0 = syz_open_dev$vim2m(&(0x7f0000000040), 0x9, 0x2) ioctl$vim2m_VIDIOC_REQBUFS(r0, 0xc0145608, &(0x7f0000000000)={0x41e4, 0x0, 0x3, 0x0, 0x20}) (async) ioctl$vim2m_VIDIOC_PREPARE_BUF(r0, 0xc058565d, &(0x7f0000000100)=@overlay={0x0, 0x1, 0x4, 0x0, 0x0, {0x0, 0xea60}, {0x2, 0x0, 0x0, 0x0, 0x0, 0x0, "0f0d85dc"}}) [ 319.129526][ T7423] bond0: (slave bond_slave_0): interface is now down [ 319.131129][ T7423] bond0: (slave bond_slave_1): interface is now down 00:43:43 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) (async) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) (async) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) (async) setsockopt$inet6_tcp_int(0xffffffffffffffff, 0x6, 0x9, &(0x7f0000000080)=0x7, 0x4) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) (async) setsockopt$inet6_tcp_TLS_TX(r0, 0x6, 0x1, &(0x7f00000000c0)=@gcm_256={{0x304}, "6e1d79c6d59b16ac", "51ad126e51d295328c470bf45f6fd8c9715831f3ba882f675ae795f3e3e1e51e", "bdbf0ec2", "2367efcb6ed5e559"}, 0x38) (async) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) [ 319.150456][T11926] bond0: (slave bond_slave_0): interface is now down [ 319.155632][T11926] bond0: (slave bond_slave_1): interface is now down 00:43:43 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r0, &(0x7f0000000100)={0x0, 0x0, &(0x7f00000000c0)={&(0x7f0000000080)=@ipv6_newnexthop={0x24, 0x68, 0x1fb, 0x0, 0x0, {}, [@NHA_BLACKHOLE={0x4}, @NHA_ID={0x8, 0x1, 0x1}]}, 0x24}, 0x1, 0xfc}, 0x0) syz_emit_ethernet(0x7e, &(0x7f0000000040)=ANY=[@ANYRES8, @ANYRES8=r0, @ANYRES8=r0, @ANYRESHEX=r0], 0x0) r1 = syz_open_dev$vcsn(&(0x7f0000000140), 0xfff, 0x80000) sendmsg$nl_route_sched(r1, &(0x7f00000002c0)={&(0x7f0000000180)={0x10, 0x0, 0x0, 0x400}, 0xc, &(0x7f0000000280)={&(0x7f00000001c0)=@delqdisc={0x90, 0x25, 0x220, 0x70bd2d, 0x25dfdbfb, {0x0, 0x0, 0x0, 0x0, {0x1, 0x8}, {0xffff, 0xf}, {0xa, 0xf}}, [@TCA_STAB={0x30, 0x8, 0x0, 0x1, [{{0x1c, 0x1, {0x20, 0x3, 0x6213, 0x43f6, 0x2, 0x1, 0x6, 0x6}}, {0x10, 0x2, [0x7f8, 0x4, 0x7, 0xffff, 0x0, 0x1]}}]}, @qdisc_kind_options=@q_atm={0x8}, @qdisc_kind_options=@q_bfifo={{0xa}, {0x8, 0x2, 0x7}}, @TCA_INGRESS_BLOCK={0x8, 0xd, 0xfffffff8}, @TCA_RATE={0x6, 0x5, {0x2, 0x7f}}, @TCA_EGRESS_BLOCK={0x8, 0xe, 0x5}, @TCA_INGRESS_BLOCK={0x8, 0xd, 0x3ff}]}, 0x90}, 0x1, 0x0, 0x0, 0x4000080}, 0x8804) syz_extract_tcp_res$synack(&(0x7f0000000000), 0x1, 0x0) 00:43:43 executing program 3: r0 = socket$inet6_tcp(0xa, 0x1, 0x0) setsockopt$inet6_tcp_int(r0, 0x6, 0x13, &(0x7f0000000000)=0x100000001, 0x4) (async) connect$inet6(r0, &(0x7f0000000200)={0xa, 0x0, 0x0, @loopback}, 0x1c) (async, rerun: 64) setsockopt$inet6_tcp_TCP_REPAIR_QUEUE(r0, 0x6, 0x14, &(0x7f0000000040)=0x1, 0x4) (rerun: 64) sendto$inet6(r0, &(0x7f0000000240)="116fc212886775947c3c54aa1c", 0xd, 0x0, 0x0, 0x0) setsockopt$inet6_tcp_int(0xffffffffffffffff, 0x6, 0x9, &(0x7f0000000080)=0x7, 0x4) (async) setsockopt$inet6_tcp_TCP_ULP(r0, 0x6, 0x1f, &(0x7f0000000540), 0x4) (async) setsockopt$inet6_tcp_TLS_TX(r0, 0x6, 0x1, &(0x7f00000000c0)=@gcm_256={{0x304}, "6e1d79c6d59b16ac", "51ad126e51d295328c470bf45f6fd8c9715831f3ba882f675ae795f3e3e1e51e", "bdbf0ec2", "2367efcb6ed5e559"}, 0x38) (async) setsockopt$inet6_tcp_TLS_TX(r0, 0x11a, 0x2, &(0x7f00000004c0)=@gcm_256={{0x303}, "4c457428efadcb38", "04faf5f6bd6b35614eeb95e7fb8c656fb7e68e97c53b54746fd09dc1bd97eee0", '\x00', "b40d812781e71650"}, 0x38) [ 319.179725][ T7414] bond0: (slave bond_slave_0): interface is now down [ 319.181499][ T7414] bond0: (slave bond_slave_1): interface is now down [ 319.199462][T11921] bond0: (slave bond_slave_0): interface is now down [ 319.201193][T11921] bond0: (slave bond_slave_1): interface is now down [ 319.209097][T11921] bond0: now running without any active interface! 00:43:43 executing program 5: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket(0x10, 0x3, 0x0) sendmsg$nl_route_sched(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="240000002400000000000000a200000000000000", @ANYRES32=0x0, @ANYBLOB='\x00'/12], 0x24}}, 0x0) getsockname$packet(r2, &(0x7f0000000080)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000100)=0x14) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000008c0)=ANY=[@ANYBLOB="5a0000001000050700"/20, @ANYRES32=r3, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000900)=@newqdisc={0x30, 0x24, 0xf1d, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_clsact={0xb}]}, 0x30}}, 0x0) getsockopt$inet_pktinfo(r2, 0x0, 0x8, &(0x7f0000000140)={0x0, @initdev, @dev}, &(0x7f0000000180)=0xc) sendmsg$ETHTOOL_MSG_RINGS_SET(r1, &(0x7f0000000300)={&(0x7f0000000200)={0x10, 0x0, 0x0, 0x20000002}, 0xc, &(0x7f00000002c0)={&(0x7f00000001c0)={0x1c, 0x0, 0x8, 0x70bd27, 0x25dfdbfd, {}, [@ETHTOOL_A_RINGS_RX_JUMBO={0x8, 0x8, 0xffff}]}, 0x1c}, 0x1, 0x0, 0x0, 0x9001}, 0x20048004) sendmsg$nl_route_sched(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000004a00)=ANY=[@ANYBLOB="540000006400310f00"/20, @ANYRES32=r3, @ANYBLOB="00000000f3ffffff0000000059000100666c6f7765720000240002001400020076657468315f746f5f7465616d0000000a000400bbbbbbbbbbbb0000"], 0x54}}, 0x0) socket$nl_route(0x10, 0x3, 0x0) (async) socket$netlink(0x10, 0x3, 0x0) (async) socket(0x10, 0x3, 0x0) (async) sendmsg$nl_route_sched(r2, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="240000002400000000000000a200000000000000", @ANYRES32=0x0, @ANYBLOB='\x00'/12], 0x24}}, 0x0) (async) getsockname$packet(r2, &(0x7f0000000080)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000100)=0x14) (async) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000008c0)=ANY=[@ANYBLOB="5a0000001000050700"/20, @ANYRES32=r3, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) (async) sendmsg$nl_route_sched(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000780)={&(0x7f0000000900)=@newqdisc={0x30, 0x24, 0xf1d, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_clsact={0xb}]}, 0x30}}, 0x0) (async) getsockopt$inet_pktinfo(r2, 0x0, 0x8, &(0x7f0000000140)={0x0, @initdev, @dev}, &(0x7f0000000180)=0xc) (async) sendmsg$ETHTOOL_MSG_RINGS_SET(r1, &(0x7f0000000300)={&(0x7f0000000200)={0x10, 0x0, 0x0, 0x20000002}, 0xc, &(0x7f00000002c0)={&(0x7f00000001c0)={0x1c, 0x0, 0x8, 0x70bd27, 0x25dfdbfd, {}, [@ETHTOOL_A_RINGS_RX_JUMBO={0x8, 0x8, 0xffff}]}, 0x1c}, 0x1, 0x0, 0x0, 0x9001}, 0x20048004) (async) sendmsg$nl_route_sched(r0, &(0x7f0000000280)={0x0, 0x0, &(0x7f0000000240)={&(0x7f0000004a00)=ANY=[@ANYBLOB="540000006400310f00"/20, @ANYRES32=r3, @ANYBLOB="00000000f3ffffff0000000059000100666c6f7765720000240002001400020076657468315f746f5f7465616d0000000a000400bbbbbbbbbbbb0000"], 0x54}}, 0x0) (async) [ 319.219706][ T26] INFO: task syz-executor.0:7639 blocked for more than 143 seconds. [ 319.221756][ T26] Not tainted 6.0.0-rc6-syzkaller-17742-gc194837ebb57 #0 [ 319.223449][ T26] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message. [ 319.225463][ T26] task:syz-executor.0 state:D stack: 0 pid: 7639 ppid: 3064 flags:0x00000009 [ 319.234722][ T26] Call trace: [ 319.238293][T14798] netlink: 48 bytes leftover after parsing attributes in process `syz-executor.5'. [ 319.246983][ T26] __switch_to+0x180/0x298 [ 319.250440][ T26] __schedule+0x414/0x5a0 [ 319.253811][ T26] schedule+0x64/0xa4 [ 319.254806][ T26] schedule_timeout+0x64/0x1b4 [ 319.257671][ T26] do_wait_for_common+0xf4/0x184 [ 319.262248][ T26] wait_for_completion+0x48/0x60 [ 319.265909][ T26] __flush_workqueue+0x2b0/0x6dc [ 319.270638][ T26] nbd_start_device_ioctl+0x188/0x25c [ 319.275459][ T26] __nbd_ioctl+0x16c/0x334 [ 319.278914][ T26] nbd_ioctl+0xec/0x13c [ 319.283524][ T26] blkdev_ioctl+0x24c/0x6d8 [ 319.286389][ T26] __arm64_sys_ioctl+0xd0/0x140 [ 319.288835][ T26] el0_svc_common+0x138/0x220 [ 319.293408][ T26] do_el0_svc+0x48/0x164 [ 319.297392][ T26] el0_svc+0x58/0x150 [ 319.301814][ T26] el0t_64_sync_handler+0x84/0xf0 [ 319.305329][ T26] el0t_64_sync+0x18c/0x190 [ 319.308403][ T26] [ 319.308403][ T26] Showing all locks held in the system: [ 319.317232][ T26] 1 lock held by rcu_tasks_kthre/10: [ 319.321062][ T26] #0: ffff80000d433568 (rcu_tasks.tasks_gp_mutex){+.+.}-{3:3}, at: rcu_tasks_one_gp+0x3c/0x450 [ 319.328573][ T26] 1 lock held by rcu_tasks_trace/11: [ 319.335996][ T26] #0: ffff80000d433bb8 (rcu_tasks_trace.tasks_gp_mutex){+.+.}-{3:3}, at: rcu_tasks_one_gp+0x3c/0x450 [ 319.343840][ T26] 1 lock held by khungtaskd/26: [ 319.347343][ T26] #0: ffff80000d433440 (rcu_read_lock){....}-{1:2}, at: rcu_lock_acquire+0x4/0x48 [ 319.352903][ T26] 2 locks held by udevd/2560: [ 319.354241][ T26] 2 locks held by getty/2712: [ 319.355455][ T26] #0: ffff0000c7a9d098 (&tty->ldisc_sem){++++}-{0:0}, at: tty_ldisc_ref_wait+0x28/0x58 [ 319.357944][ T26] #1: ffff80000f60e2f0 (&ldata->atomic_read_lock){+.+.}-{3:3}, at: n_tty_read+0x19c/0x89c [ 319.364402][ T26] 2 locks held by kworker/u5:5/3081: [ 319.365841][ T26] #0: ffff0000c581f938 ((wq_completion)nbd0-recv){+.+.}-{0:0}, at: process_one_work+0x270/0x504 [ 319.368487][ T26] #1: ffff8000128bbd80 ((work_completion)(&args->work)){+.+.}-{0:0}, at: process_one_work+0x29c/0x504 [ 319.375192][ T26] 3 locks held by kworker/0:10/4294: [ 319.376633][ T26] #0: ffff0000c0010738 ((wq_completion)events){+.+.}-{0:0}, at: process_one_work+0x270/0x504 [ 319.379166][ T26] #1: ffff80001fe53d80 ((work_completion)(&fw_work->work)){+.+.}-{0:0}, at: process_one_work+0x29c/0x504 [ 319.382461][ T26] #2: ffff80000d349230 (umhelper_sem){++++}-{3:3}, at: usermodehelper_read_lock_wait+0x68/0x154 [ 319.385182][ T26] 5 locks held by kworker/1:12/8039: [ 319.389042][ T26] #0: ffff0000c0dce138 ((wq_completion)usb_hub_wq){+.+.}-{0:0}, at: process_one_work+0x270/0x504 [ 319.392052][ T26] #1: ffff800021e73d80 ((work_completion)(&hub->events)){+.+.}-{0:0}, at: process_one_work+0x29c/0x504 [ 319.394880][ T26] #2: ffff0000c411b990 (&dev->mutex){....}-{3:3}, at: hub_event+0x8c/0x658 [ 319.397154][ T26] #3: ffff000108222190 (&dev->mutex){....}-{3:3}, at: usb_disconnect+0xa4/0x418 [ 319.399794][ T26] #4: ffff000108222918 (&dev->mutex){....}-{3:3}, at: device_release_driver_internal+0x74/0x3a8 [ 319.402526][ T26] 3 locks held by kworker/u4:19/11921: [ 319.403902][ T26] 1 lock held by syz-executor.4/14763: [ 319.405365][ T26] #0: ffff000104fe0210 (&sb->s_type->i_mutex_key#10){+.+.}-{3:3}, at: sock_close+0x40/0xf0 [ 319.407987][ T26] 2 locks held by udevd/14808: [ 319.409213][ T26] [ 319.411372][ T26] ============================================= [ 319.411372][ T26] [ 319.413472][ T26] Kernel panic - not syncing: hung_task: blocked tasks [ 319.415116][ T26] CPU: 1 PID: 26 Comm: khungtaskd Not tainted 6.0.0-rc6-syzkaller-17742-gc194837ebb57 #0 [ 319.417507][ T26] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/26/2022 [ 319.419948][ T26] Call trace: [ 319.420612][ T26] dump_backtrace+0x1c4/0x1f0 [ 319.421739][ T26] show_stack+0x2c/0x54 [ 319.422813][ T26] dump_stack_lvl+0x104/0x16c [ 319.424014][ T26] dump_stack+0x1c/0x58 [ 319.425054][ T26] panic+0x218/0x50c [ 319.426016][ T26] hung_task_panic+0x0/0x2c [ 319.427118][ T26] kthread+0x12c/0x158 [ 319.428118][ T26] ret_from_fork+0x10/0x20 [ 319.429273][ T26] SMP: stopping secondary CPUs [ 319.430522][ T26] Kernel Offset: disabled [ 319.431559][ T26] CPU features: 0x00000,02070084,26017203 [ 319.433136][ T26] Memory Limit: none [ 319.682120][ T26] Rebooting in 86400 seconds..