ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x20024, 0xfffe0}, {&(0x7f00000104a0)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x4045e0}, {&(0x7f0000001440)="000000000000000000000000000000000000000000000000000000000000030046494c453000030000000000000000000600010038000100500100000004000000000000000000000300000006000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000040000000000000000600000000000000070324004200690074006d006100700080000000480000000100400000000100000000000000000000000000000000004000000000000000001000000000000040000000000000004000000000000000110147", 0x163, 0x409374}], 0x2, &(0x7f0000003580)=ANY=[], 0xff) 00:33:38 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0x90efff7f}], 0x492492492492805, 0x0) [ 2018.790999][T13560] loop2: detected capacity change from 0 to 8266 00:33:38 executing program 0: openat$sw_sync(0xffffffffffffff9c, &(0x7f000000a6c0), 0x0, 0x0) r0 = openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) unlinkat(r1, &(0x7f0000000280)='./file0\x00', 0x200) ioctl$SW_SYNC_IOC_INC(r1, 0x40045701, &(0x7f0000000000)=0xff) read$FUSE(r0, &(0x7f0000000100)={0x2020}, 0x2020) openat$sw_sync(0xffffffffffffff9c, &(0x7f000000a6c0), 0x0, 0x0) (async) openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) (async) openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) (async) unlinkat(r1, &(0x7f0000000280)='./file0\x00', 0x200) (async) ioctl$SW_SYNC_IOC_INC(r1, 0x40045701, &(0x7f0000000000)=0xff) (async) read$FUSE(r0, &(0x7f0000000100)={0x2020}, 0x2020) (async) 00:33:38 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0x92000000}], 0x492492492492805, 0x0) 00:33:38 executing program 4: syz_mount_image$ext4(&(0x7f0000000000)='ext2\x00', &(0x7f0000000040)='./file0\x00', 0x8100000, 0x7, &(0x7f0000000200)=[{&(0x7f0000010000)="200000008000000006000000600000000f000000000000000100000001000000004000000040000020000000d2f4655fd2f4655f0100ffff53ef010001000000d0f4655f000000000000000001000000000000000b00000080", 0x59, 0x400}, {&(0x7f0000003480)="ecf7ffffffff10c57e06f642daf7a1726a61700d57ab364ae87fabf6076612a028e10d38943f62ed0a80963a27ff865a110fecc3432f969f9ed5abf6dbc89b419bbe896d8e39bc85ff07898c50ebb8112e4ac617192d399fcb94b266c38f89a76b0e3aedd26a778ffde797c79e94c7c3fd12010a1a365371f4bda67666303736", 0x80, 0x4dd}, {&(0x7f0000010200)="c961c0fc6a", 0x5, 0x560}, {&(0x7f0000010400)="020000001200000022", 0x9, 0x800}, {&(0x7f0000003980)="50d677390738a1c3", 0x8, 0x6002}, {&(0x7f0000000380)="ffff01ae6a762e522c3916d6b0add72eaa5295ee6905104f148fd9168e3c1797ee00000000000000a54b244390fbf2be53de5c5ce568b621f6e43941974f1c5477d732a987e6b1b3d4fc0c42212f5978eabc76126a893da4a505465a6ea9dc7adac619cfdae5d6fb01ff45ebc61af04edd5cd5f49d8052ecab4d6d0f6abf66da63734e11af422923cecc3019f35e584f41e059274dffffe8d653a6296e8d8bc4f5a1c7064a31cabc20a8bb78f8ffb2d81250a838870973f64ec00f49985f2a47f58e53cec973af0d2594474dffedbb8926f952f6998a55cb6461a73551d47b4659b58e7729e0ce426397266068ed971bc04cc9d3542974e74f89ce482f0135c1e3432c23461dc0c626f4800bb3325fcf894003a1aaa38b", 0x117, 0x9000}, {&(0x7f0000012e00)="ed41000000080000d0f4655fd2f4655fd2f4655f000000000880000004", 0x1d, 0x11080}], 0x0, &(0x7f0000000080)=ANY=[@ANYBLOB="736d61636b6673666c6f6f723dc8adc41a47082c00889dcd72d9af951f76c86e45c61f450029058d23b1d1b5bee0ac0cdf19f69a1365c0061d4d0de1ffef00bd239ff53c97438f62a949d7582ba85117bd5036035bd9fc27f82252607da4388303eaf4fd38d682a7087cbcee2392f53ace1d7c2d5e553f77784d3c"], 0x1) r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000040)='/proc/cgroups\x00', 0x0, 0x0) pipe2$9p(&(0x7f0000000240)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) sendfile(r1, r0, 0x0, 0x8) close_range(r0, 0xffffffffffffffff, 0x0) r2 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$AUTOFS_IOC_READY(r0, 0x9360, 0x5) r3 = syz_genetlink_get_family_id$l2tp(&(0x7f00000000c0), 0xffffffffffffffff) sendmsg$L2TP_CMD_SESSION_GET(r2, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000440)={0x1c, r3, 0x1, 0x0, 0x0, {0x5}, [@L2TP_ATTR_CONN_ID={0x8}]}, 0x1c}}, 0x0) sendmsg$L2TP_CMD_TUNNEL_MODIFY(r0, &(0x7f0000000340)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x80000}, 0xc, &(0x7f0000000300)={&(0x7f00000002c0)={0x1c, r3, 0x100, 0x70bd2c, 0x25dfdbff, {}, [@L2TP_ATTR_VLAN_ID={0x6}]}, 0x1c}}, 0x20000000) openat$procfs(0xffffffffffffff9c, &(0x7f0000000040)='/proc/cgroups\x00', 0x0, 0x0) pipe2$9p(&(0x7f0000000240), 0x0) 00:33:38 executing program 0: openat$sw_sync(0xffffffffffffff9c, &(0x7f000000a6c0), 0x0, 0x0) r0 = openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) unlinkat(r1, &(0x7f0000000280)='./file0\x00', 0x200) ioctl$SW_SYNC_IOC_INC(r1, 0x40045701, &(0x7f0000000000)=0xff) read$FUSE(r0, &(0x7f0000000100)={0x2020}, 0x2020) openat$sw_sync(0xffffffffffffff9c, &(0x7f000000a6c0), 0x0, 0x0) (async) openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) (async) openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) (async) unlinkat(r1, &(0x7f0000000280)='./file0\x00', 0x200) (async) ioctl$SW_SYNC_IOC_INC(r1, 0x40045701, &(0x7f0000000000)=0xff) (async) read$FUSE(r0, &(0x7f0000000100)={0x2020}, 0x2020) (async) 00:33:38 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0x94020000}], 0x492492492492805, 0x0) 00:33:38 executing program 1: mknodat(0xffffffffffffff9c, &(0x7f0000000040)='./file0\x00', 0x0, 0x0) mount(&(0x7f00000000c0)=@nullb, &(0x7f0000000300)='./file0\x00', &(0x7f0000000080)='v7\x00', 0x20800a4, 0x0) 00:33:38 executing program 2: ioctl$sock_inet_sctp_SIOCINQ(0xffffffffffffffff, 0x541b, &(0x7f00000000c0)) (async) setsockopt$inet_sctp_SCTP_AUTH_CHUNK(0xffffffffffffffff, 0x84, 0x15, &(0x7f0000000100)={0x1}, 0x1) (async) syz_mount_image$ntfs3(&(0x7f0000000000), &(0x7f0000000080)='./file0\x00', 0x4094d7, 0x13, &(0x7f0000000bc0)=[{&(0x7f0000000540)="eb52904e5446532020202000020800000000000000f8000000008900000000000000000080008000ff0f0000000000000400000000000000ff00000000000000fe00000001", 0x45}, {&(0x7f00000001c0)="813e37f8f9bc53b8d2190168e4d3d1b4f63c4b993e82f1dfe7354fcd09930a92c992e6966329bbc621822681bb9fd0f4af588ab5629a7d33e299719b300fdac1ba10427c39a282e682073ec94414870644efe15b", 0x54, 0x2000}, {&(0x7f00000005c0)="46494c453000030000000000000000000100010038000100980100000004000004000000000000000400000000000000030000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2b090000000100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002004a00000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4000000002bd24ec4d80100ab2bd24ec4d8010070000000000000006c0000000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000003e00000000000000400000000000000000f003000000000000f003000000000000f003000000e5ff103fffffffff0000b00000004800000001004000000003000000000000001d000000000000000000400000000000000000100000000000002000f6ff000000002000000000000000110102c40757c8d56d2d455836d75b6d48483b6b9cb09b34427781a07dee3c1dd25da6903e390b065a0b03e9a9a7e048548e90183ff696aa8d42ac8b9960575041ef16165bfe4208cf044e89f724b98b532c6b355cd52e7b", 0x1e0, 0x4000}, {&(0x7f00000102e0)="00000000000000000000000000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000010000000000000080000000000000008000000000000001101020000000000ffffffff0000030046494c453000030000000000000000000100010038000100580100000004000000000000000000000300000001000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000000100000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000001000000000000000100000000000002101ff", 0x1ab, 0x43a0}, {&(0x7f00000012c0)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000200010038000100580100000004000000000000000000000300000002000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000003f00000000000000400000000000000000000400000000000000040000000000000004000000000021400001", 0x16c, 0x47e0}, {&(0x7f0000000dc0)="0000000000000000dc70c7cded7a8d4e580ec082a500a6000000000000000000000000000000000000000002183e0554dcb08c0e703aaec8625c8a028b1926464a8597351517175b9782f5a3f868c5de1db6fa29b9638d3cc985187aad8248bd46f2f97b57c7ddb8c72d1f364a7cebaf2d919c5e86dc4250f2b807ac994eba3eed0244f90ae8a51c9c0efc146b681bc973befb6adbbc92e09f2a3e939972df7504c8917c7f0a7414ef09b207a3ada4a99022c1cbea86ef12df370ee690c13828f67d14f2a9f15e10c60b67178f4a8e041c2bfcd79e619d8489f85af3f28310bbb0ca0c94e450e1a719e18b189391acb1d825382f34da81e2e9016143851c6b811da11c9fff86103fc030768e2135c4fd74cac2ecd0f2b56743a8a1a9c9aadb1daa5c4b3da89bda0a6b29bcec985132be1a913cfadd82287bd5a4391a078b5e7e47ef21ebbac369a7d66febfc8b0374f5315b2d00be981d54174cf35b9e623048b72e3c71edac5d2723fa1c1bab1e4492d3feac4b4ef4eaef87d76b7f2196bd861d5529c5e8", 0x185, 0x49e0}, {&(0x7f0000010660)="000000000000000000000000000000000000000000000000000000000020020046494c453000030000000000000000000300010038000100e00100000004000000000000000000000600000003000000040000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000d05120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c006500720000000000000070000000280000000080ea00000005000c00000018000000000000000000000003010000000000008000000018", 0x1e5, 0x4be0}, {&(0x7f0000001740)="000000000000000000000000000000000000000000000000000000000000040046494c453000030000000000000000000400010038000100c00100000004000000000000000000000400000004000000020000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010600000000000000000000000000000030000000700000000000183d000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd2000000000000000a00000000000006000000000000000803240041007400740072004400650066000000000000005000000080000000000018000000030064000000180000000100048048000000540000000000000014000000020034000200000000001400890012e3000100000000000512000000000018008a51b48e010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000000a000000000000000a0000000000001101460b0e2b5efa98fb263d31ee2fb39621924d7740408583df682ebb768c545510572400"/500, 0x1f4, 0x4fe0}, {&(0x7f0000000240)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000500010038000300000200000004000000000000000000000600000005000000030000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d801132d87d24ec4d801132d87d24ec4d80100ab2bd24ec4d80126000010000000000000000000000000300000006000000000001800000001004400000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000100000000001032e00000000005000000048000000010040000000020000000000000000000100000000000000400000000000000000200000000000002c100000000000002c10000000000000110243000000000090000000580000000004180000000300380000002000000024004900330030003000000001000000001000000100000010000000280000002800000001000000000000000000000018000000030000000000000000000000a0000000500000000104400000000500000000000000000000000000000000004800000000000000001000000000000000100000000000000010000000000000240049003300300011014500bf", 0x1ed, 0x53e0}, {&(0x7f0000011200)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000900010038000900000300000004000000000000000000000500000009000000030000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000020000000000000000000000000000000000101000000000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000200000000007032400530065006300750072006500800000005000000001044000000002000000000000000000400000000000000048000000000000000010040000000000700104000000000070010400000000002400530044005300114148000000000090000000e00000000004180000000300c00000002000000024005300440048000000000012000000001000000100000010000000b0000000b000000000000000180014000000000030000800000000005124b300010100005124b3000101000080000000000000007c0000004900490018001400000000003000080000000000a0ddde4202010000a0ddde42020100000001000000000000640000004900490018001400000000003000080000000300f01203f800010000f01203f80801000000000000000000007c000000490049000000000000000000100000000200000090000000c80000000004180000000400a800000020000000240053004900490000000000100000000010000001000000100000009800000098000000000000001400140000000000280004000000000000010000f01203f80001000000000000000000007c00000014001400000000002800040000000000010100005124b3000101000080000000000000007c0000001400140000000000280004000000000002010000a0ddde420201000000010000000000006400000000000000000000001000000002", 0x315, 0x63e0}, {&(0x7f0000000f80)="000000000000000000000000000000000000000000000000000000000000030046494c453000030000000000000000000a0001003800010098010000000400000000000000000000040000000a000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000003005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000002000000000000000200000000000600000000000000070324005500700043006100730065008000000048000000010040000000010000000000000000001f000000000000004000000000000000000002000000000000000200000000000000020000000000212089", 0x163, 0x67e0}, {&(0x7f000001b660)="f01203f80001000000000000000000007c0000000100048048000000580000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000102000000000005200000002002000001020000000000052000000020020000000000005124b30001010000007c00000001000480480000005800000000000000140000000200340002000000000014009f11120001010000000001020080000000052000000020020000010200000000000520000000200200000102000000000005200000002002000000000000a0ddde4202010000000100000000000064000000010004803000000040000000000000001400000002001c000100000000031400ff011f00010100000000000100000000010200000000000520000000200200000102000000000005200000002002", 0x14d, 0x8001}, {&(0x7f0000013b20)="d000f3ff1f000000000018000000030008000000180000002d0000003c000000e00000005800000000001800000004003c000000180000001400000000060400244c585549440000000000001400000000060400244c584749440000000000001400000000060400244c584d4f4400ed8100000000000000ffffffff0000e20046494c452a00030000000000000000000000000030000000380000000004", 0x9e, 0xc37e}, {&(0x7f0000000040)="00000000000000000000000000000000000000000000000000000000000003", 0x1f, 0x10001}, {&(0x7f000001aa40)="494e4458280009000000000000000000000000000000000028000000b8060000e80f0000000000000d00d801000000000000000000000000000000000000000004000000000004006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010010000000000000000a000000000000060000000000000008032400410074007400720044006500660000000000010008000000000008006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000803240042006100640043006c007500730000000000070006000000000006006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000040000000000000000600000000000000070324004200690074006d0061007000070000000000070060004c0000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010020000000000000002000000000000006000000000000000503240042006f006f00740069006c000b00000000000b006000500000000000050000000000050000ab2bd24ec4b80100ab2bd24ec4d80100ab2bd24ec40d00008b2bd24ec4d8010000000000000000000000000000000006000010000000000703240045007800740065006e00640002000000000002006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c006500000000000100000000000000010060004a0000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010070000000000000006c0000000000000600000000000000040324004d004600540000000000000001000000000001006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000000100000000000000600000000000000080324004d00460054004d0069007200720000000200000009000000000009006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000000000000000000000000000000000600002000000000070324005300650063007500720065000a00000000000a006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801e7ab2bd24ec4d8010000020000000d00000002000000000006000000000000000703240055007000430061007300650003000000000003006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000001000000000000006000000000000000703240056006f006c0075006d00650005000000000005005800440000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000100000000001032e0000000000200000000000010068005400000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100100000000000006400000000000000200000002d0000000900660069006c0065002e0063006f006c006400000000001b0000000000010060004c000000000000050073a685d24ec4d80173a685d24ec4d80173a685d24ec4d80173a685d24ec4d80100000000000000000000000000000000200000102d0000000500660069006c0065003000000000001e0000000000010060004c0000000000050000000000050073a685d24ec4d801132d87d24ec4d801132d87d24ec4d80173a685d24ec4d80100100000000000000a0000000000000020000000590000000500660069006c006500310000000d001f0000000000010060004c00000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100300000000000002823000000000000200000002d0000000500660069006c0065003200000000001f0000000000010060004c00000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100300000000000002823000000000000200000002d0000000500660069006c00650033000000000000000000000000001000000002", 0x6c8, 0x45000}, {&(0x7f00000015c0)="f7ffffffffff6c85507e207950cbb02575507700fffb9a55fb8d253755da1453094bdf12f9dea56eca6103d9a0c7c7f10482f7433c1b819f5bfc850c99b3f9d627a7b397fdf4f0303f271f526a9a7890a9a155af4ff2f497feffaec1f6fc8abc8717cb83a803b225e2e5497563b268a3beb1f964000000000000002061dff0281b6dc6572ed135b36f9c052504062fc60097e40f9be0fb831dad3a996176570845730000000000000000000095fe28614719bf7f7be9f18fa6a54f848514c8763ad7e6e41e09dd208a22b79d97053f495ba598be066ec1de22bd9e79851d13117d3e8b8248ab4673f6b8f473bf4c1f5d730c7ededcd9705ef3dd745e531edb04fc1b861c2cb57e107c2eaa0a2ccbc67ba70b9af536564c93b73ab6cfafc58d339738640af0789756372a0b0d64ba25d4d1a703738459ff5a492de9f3ddce43b48b5e8d1228cb0600000000000000", 0x14e, 0x46ffe}, {&(0x7f000001b7c0)="0000000000000000000000000000000000000000000000000000000000000400ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3fe5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffebdf0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x20024, 0xfffe0}, {&(0x7f00000104a0)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x4045e0}, {&(0x7f0000001440)="000000000000000000000000000000000000000000000000000000000000030046494c453000030000000000000000000600010038000100500100000004000000000000000000000300000006000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000040000000000000000600000000000000070324004200690074006d006100700080000000480000000100400000000100000000000000000000000000000000004000000000000000001000000000000040000000000000004000000000000000110147", 0x163, 0x409374}], 0x2, &(0x7f0000003580)=ANY=[], 0xff) [ 2018.919680][T13596] loop2: detected capacity change from 0 to 8266 00:33:38 executing program 1: mknodat(0xffffffffffffff9c, &(0x7f0000000040)='./file0\x00', 0x0, 0x0) mount(&(0x7f00000000c0)=@nullb, &(0x7f0000000300)='./file0\x00', &(0x7f0000000080)='v7\x00', 0x20800a4, 0x0) 00:33:38 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0x98000000}], 0x492492492492805, 0x0) 00:33:38 executing program 4: syz_mount_image$ext4(&(0x7f0000000000)='ext2\x00', &(0x7f0000000040)='./file0\x00', 0x8100000, 0x7, &(0x7f0000000200)=[{&(0x7f0000010000)="200000008000000006000000600000000f000000000000000100000001000000004000000040000020000000d2f4655fd2f4655f0100ffff53ef010001000000d0f4655f000000000000000001000000000000000b00000080", 0x59, 0x400}, {&(0x7f0000003480)="ecf7ffffffff10c57e06f642daf7a1726a61700d57ab364ae87fabf6076612a028e10d38943f62ed0a80963a27ff865a110fecc3432f969f9ed5abf6dbc89b419bbe896d8e39bc85ff07898c50ebb8112e4ac617192d399fcb94b266c38f89a76b0e3aedd26a778ffde797c79e94c7c3fd12010a1a365371f4bda67666303736", 0x80, 0x4dd}, {&(0x7f0000010200)="c961c0fc6a", 0x5, 0x560}, {&(0x7f0000010400)="020000001200000022", 0x9, 0x800}, {&(0x7f0000003980)="50d677390738a1c3", 0x8, 0x6002}, {&(0x7f0000000380)="ffff01ae6a762e522c3916d6b0add72eaa5295ee6905104f148fd9168e3c1797ee00000000000000a54b244390fbf2be53de5c5ce568b621f6e43941974f1c5477d732a987e6b1b3d4fc0c42212f5978eabc76126a893da4a505465a6ea9dc7adac619cfdae5d6fb01ff45ebc61af04edd5cd5f49d8052ecab4d6d0f6abf66da63734e11af422923cecc3019f35e584f41e059274dffffe8d653a6296e8d8bc4f5a1c7064a31cabc20a8bb78f8ffb2d81250a838870973f64ec00f49985f2a47f58e53cec973af0d2594474dffedbb8926f952f6998a55cb6461a73551d47b4659b58e7729e0ce426397266068ed971bc04cc9d3542974e74f89ce482f0135c1e3432c23461dc0c626f4800bb3325fcf894003a1aaa38b", 0x117, 0x9000}, {&(0x7f0000012e00)="ed41000000080000d0f4655fd2f4655fd2f4655f000000000880000004", 0x1d, 0x11080}], 0x0, &(0x7f0000000080)=ANY=[@ANYBLOB="736d61636b6673666c6f6f723dc8adc41a47082c00889dcd72d9af951f76c86e45c61f450029058d23b1d1b5bee0ac0cdf19f69a1365c0061d4d0de1ffef00bd239ff53c97438f62a949d7582ba85117bd5036035bd9fc27f82252607da4388303eaf4fd38d682a7087cbcee2392f53ace1d7c2d5e553f77784d3c"], 0x1) (async) r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000040)='/proc/cgroups\x00', 0x0, 0x0) (async) pipe2$9p(&(0x7f0000000240)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) sendfile(r1, r0, 0x0, 0x8) (async) close_range(r0, 0xffffffffffffffff, 0x0) (async) r2 = socket$nl_generic(0x10, 0x3, 0x10) (async, rerun: 32) ioctl$AUTOFS_IOC_READY(r0, 0x9360, 0x5) (async, rerun: 32) r3 = syz_genetlink_get_family_id$l2tp(&(0x7f00000000c0), 0xffffffffffffffff) sendmsg$L2TP_CMD_SESSION_GET(r2, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000440)={0x1c, r3, 0x1, 0x0, 0x0, {0x5}, [@L2TP_ATTR_CONN_ID={0x8}]}, 0x1c}}, 0x0) sendmsg$L2TP_CMD_TUNNEL_MODIFY(r0, &(0x7f0000000340)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x80000}, 0xc, &(0x7f0000000300)={&(0x7f00000002c0)={0x1c, r3, 0x100, 0x70bd2c, 0x25dfdbff, {}, [@L2TP_ATTR_VLAN_ID={0x6}]}, 0x1c}}, 0x20000000) (async) openat$procfs(0xffffffffffffff9c, &(0x7f0000000040)='/proc/cgroups\x00', 0x0, 0x0) (async) pipe2$9p(&(0x7f0000000240), 0x0) 00:33:38 executing program 2: ioctl$sock_inet_sctp_SIOCINQ(0xffffffffffffffff, 0x541b, &(0x7f00000000c0)) setsockopt$inet_sctp_SCTP_AUTH_CHUNK(0xffffffffffffffff, 0x84, 0x15, &(0x7f0000000100)={0x1}, 0x1) (async) syz_mount_image$ntfs3(&(0x7f0000000000), &(0x7f0000000080)='./file0\x00', 0x4094d7, 0x13, &(0x7f0000000bc0)=[{&(0x7f0000000540)="eb52904e5446532020202000020800000000000000f8000000008900000000000000000080008000ff0f0000000000000400000000000000ff00000000000000fe00000001", 0x45}, {&(0x7f00000001c0)="813e37f8f9bc53b8d2190168e4d3d1b4f63c4b993e82f1dfe7354fcd09930a92c992e6966329bbc621822681bb9fd0f4af588ab5629a7d33e299719b300fdac1ba10427c39a282e682073ec94414870644efe15b", 0x54, 0x2000}, {&(0x7f00000005c0)="46494c453000030000000000000000000100010038000100980100000004000004000000000000000400000000000000030000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2b090000000100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002004a00000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4000000002bd24ec4d80100ab2bd24ec4d8010070000000000000006c0000000000000600000000000000040324004d00460054000000000000008000000048000000010040000000010000000000000000003e00000000000000400000000000000000f003000000000000f003000000000000f003000000e5ff103fffffffff0000b00000004800000001004000000003000000000000001d000000000000000000400000000000000000100000000000002000f6ff000000002000000000000000110102c40757c8d56d2d455836d75b6d48483b6b9cb09b34427781a07dee3c1dd25da6903e390b065a0b03e9a9a7e048548e90183ff696aa8d42ac8b9960575041ef16165bfe4208cf044e89f724b98b532c6b355cd52e7b", 0x1e0, 0x4000}, {&(0x7f00000102e0)="00000000000000000000000000000000b00000004800000001004000000003000000000000000000000000000000000040000000000000000010000000000000080000000000000008000000000000001101020000000000ffffffff0000030046494c453000030000000000000000000100010038000100580100000004000000000000000000000300000001000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000000100000000000000600000000000000080324004d00460054004d00690072007200000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000001000000000000000100000000000002101ff", 0x1ab, 0x43a0}, {&(0x7f00000012c0)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000200010038000100580100000004000000000000000000000300000002000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000007000000000001800000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c0065000000000000008000000048000000010040000000010000000000000000003f00000000000000400000000000000000000400000000000000040000000000000004000000000021400001", 0x16c, 0x47e0}, {&(0x7f0000000dc0)="0000000000000000dc70c7cded7a8d4e580ec082a500a6000000000000000000000000000000000000000002183e0554dcb08c0e703aaec8625c8a028b1926464a8597351517175b9782f5a3f868c5de1db6fa29b9638d3cc985187aad8248bd46f2f97b57c7ddb8c72d1f364a7cebaf2d919c5e86dc4250f2b807ac994eba3eed0244f90ae8a51c9c0efc146b681bc973befb6adbbc92e09f2a3e939972df7504c8917c7f0a7414ef09b207a3ada4a99022c1cbea86ef12df370ee690c13828f67d14f2a9f15e10c60b67178f4a8e041c2bfcd79e619d8489f85af3f28310bbb0ca0c94e450e1a719e18b189391acb1d825382f34da81e2e9016143851c6b811da11c9fff86103fc030768e2135c4fd74cac2ecd0f2b56743a8a1a9c9aadb1daa5c4b3da89bda0a6b29bcec985132be1a913cfadd82287bd5a4391a078b5e7e47ef21ebbac369a7d66febfc8b0374f5315b2d00be981d54174cf35b9e623048b72e3c71edac5d2723fa1c1bab1e4492d3feac4b4ef4eaef87d76b7f2196bd861d5529c5e8", 0x185, 0x49e0}, {&(0x7f0000010660)="000000000000000000000000000000000000000000000000000000000020020046494c453000030000000000000000000300010038000100e00100000004000000000000000000000600000003000000040000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000703240056006f006c0075006d00650050000000800000000000180000000200640000001800000001000480480000005400000000000000140000000200340002000000000014009f011200010100000000000512000000000018009f011200010200000000000520000000200200000101000000000d05120000000102000000000005200000002002000000000000600000003000000000001800000004001200000018000000730079007a006b0061006c006c006500720000000000000070000000280000000080ea00000005000c00000018000000000000000000000003010000000000008000000018", 0x1e5, 0x4be0}, {&(0x7f0000001740)="000000000000000000000000000000000000000000000000000000000000040046494c453000030000000000000000000400010038000100c00100000004000000000000000000000400000004000000020000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010600000000000000000000000000000030000000700000000000183d000002005200000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd2000000000000000a00000000000006000000000000000803240041007400740072004400650066000000000000005000000080000000000018000000030064000000180000000100048048000000540000000000000014000000020034000200000000001400890012e3000100000000000512000000000018008a51b48e010200000000000520000000200200000101000000000005120000000102000000000005200000002002000000000000800000004800000001004000000001000000000000000000000000000000000040000000000000000010000000000000000a000000000000000a0000000000001101460b0e2b5efa98fb263d31ee2fb39621924d7740408583df682ebb768c545510572400"/500, 0x1f4, 0x4fe0}, {&(0x7f0000000240)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000500010038000300000200000004000000000000000000000600000005000000030000000000000010000000480000000000180000000000300000001800000000ab2bd24ec4d801132d87d24ec4d801132d87d24ec4d80100ab2bd24ec4d80126000010000000000000000000000000300000006000000000001800000001004400000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000100000000001032e00000000005000000048000000010040000000020000000000000000000100000000000000400000000000000000200000000000002c100000000000002c10000000000000110243000000000090000000580000000004180000000300380000002000000024004900330030003000000001000000001000000100000010000000280000002800000001000000000000000000000018000000030000000000000000000000a0000000500000000104400000000500000000000000000000000000000000004800000000000000001000000000000000100000000000000010000000000000240049003300300011014500bf", 0x1ed, 0x53e0}, {&(0x7f0000011200)="000000000000000000000000000000000000000000000000000000000000020046494c453000030000000000000000000900010038000900000300000004000000000000000000000500000009000000030000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000020000000000000000000000000000000000101000000000000000000000000000000000000300000006800000000001800000001005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000200000000007032400530065006300750072006500800000005000000001044000000002000000000000000000400000000000000048000000000000000010040000000000700104000000000070010400000000002400530044005300114148000000000090000000e00000000004180000000300c00000002000000024005300440048000000000012000000001000000100000010000000b0000000b000000000000000180014000000000030000800000000005124b300010100005124b3000101000080000000000000007c0000004900490018001400000000003000080000000000a0ddde4202010000a0ddde42020100000001000000000000640000004900490018001400000000003000080000000300f01203f800010000f01203f80801000000000000000000007c000000490049000000000000000000100000000200000090000000c80000000004180000000400a800000020000000240053004900490000000000100000000010000001000000100000009800000098000000000000001400140000000000280004000000000000010000f01203f80001000000000000000000007c00000014001400000000002800040000000000010100005124b3000101000080000000000000007c0000001400140000000000280004000000000002010000a0ddde420201000000010000000000006400000000000000000000001000000002", 0x315, 0x63e0}, {&(0x7f0000000f80)="000000000000000000000000000000000000000000000000000000000000030046494c453000030000000000000000000a0001003800010098010000000400000000000000000000040000000a000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000003005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000002000000000000000200000000000600000000000000070324005500700043006100730065008000000048000000010040000000010000000000000000001f000000000000004000000000000000000002000000000000000200000000000000020000000000212089", 0x163, 0x67e0}, {&(0x7f000001b660)="f01203f80001000000000000000000007c0000000100048048000000580000000000000014000000020034000200000000001400890012000101000000000005120000000000180089001200010200000000000520000000200200000102000000000005200000002002000001020000000000052000000020020000000000005124b30001010000007c00000001000480480000005800000000000000140000000200340002000000000014009f11120001010000000001020080000000052000000020020000010200000000000520000000200200000102000000000005200000002002000000000000a0ddde4202010000000100000000000064000000010004803000000040000000000000001400000002001c000100000000031400ff011f00010100000000000100000000010200000000000520000000200200000102000000000005200000002002", 0x14d, 0x8001}, {&(0x7f0000013b20)="d000f3ff1f000000000018000000030008000000180000002d0000003c000000e00000005800000000001800000004003c000000180000001400000000060400244c585549440000000000001400000000060400244c584749440000000000001400000000060400244c584d4f4400ed8100000000000000ffffffff0000e20046494c452a00030000000000000000000000000030000000380000000004", 0x9e, 0xc37e}, {&(0x7f0000000040)="00000000000000000000000000000000000000000000000000000000000003", 0x1f, 0x10001}, {&(0x7f000001aa40)="494e4458280009000000000000000000000000000000000028000000b8060000e80f0000000000000d00d801000000000000000000000000000000000000000004000000000004006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010010000000000000000a000000000000060000000000000008032400410074007400720044006500660000000000010008000000000008006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000000000000000000006000000000000000803240042006100640043006c007500730000000000070006000000000006006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000040000000000000000600000000000000070324004200690074006d0061007000070000000000070060004c0000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010020000000000000002000000000000006000000000000000503240042006f006f00740069006c000b00000000000b006000500000000000050000000000050000ab2bd24ec4b80100ab2bd24ec4d80100ab2bd24ec40d00008b2bd24ec4d8010000000000000000000000000000000006000010000000000703240045007800740065006e00640002000000000002006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000004000000000000000400000000000600000000000000080324004c006f006700460069006c006500000000000100000000000000010060004a0000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010070000000000000006c0000000000000600000000000000040324004d004600540000000000000001000000000001006800520000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000000100000000000000600000000000000080324004d00460054004d0069007200720000000200000009000000000009006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801000000000000000000000000000000000600002000000000070324005300650063007500720065000a00000000000a006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801e7ab2bd24ec4d8010000020000000d00000002000000000006000000000000000703240055007000430061007300650003000000000003006000500000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d8010000000000000000001000000000000006000000000000000703240056006f006c0075006d00650005000000000005005800440000000000050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100000000000000000000000000000000060000100000000001032e0000000000200000000000010068005400000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100100000000000006400000000000000200000002d0000000900660069006c0065002e0063006f006c006400000000001b0000000000010060004c000000000000050073a685d24ec4d80173a685d24ec4d80173a685d24ec4d80173a685d24ec4d80100000000000000000000000000000000200000102d0000000500660069006c0065003000000000001e0000000000010060004c0000000000050000000000050073a685d24ec4d801132d87d24ec4d801132d87d24ec4d80173a685d24ec4d80100100000000000000a0000000000000020000000590000000500660069006c006500310000000d001f0000000000010060004c00000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100300000000000002823000000000000200000002d0000000500660069006c0065003200000000001f0000000000010060004c00000000000500000000000500132d87d24ec4d801132d87d24ec4d801132d87d24ec4d801132d87d24ec4d80100300000000000002823000000000000200000002d0000000500660069006c00650033000000000000000000000000001000000002", 0x6c8, 0x45000}, {&(0x7f00000015c0)="f7ffffffffff6c85507e207950cbb02575507700fffb9a55fb8d253755da1453094bdf12f9dea56eca6103d9a0c7c7f10482f7433c1b819f5bfc850c99b3f9d627a7b397fdf4f0303f271f526a9a7890a9a155af4ff2f497feffaec1f6fc8abc8717cb83a803b225e2e5497563b268a3beb1f964000000000000002061dff0281b6dc6572ed135b36f9c052504062fc60097e40f9be0fb831dad3a996176570845730000000000000000000095fe28614719bf7f7be9f18fa6a54f848514c8763ad7e6e41e09dd208a22b79d97053f495ba598be066ec1de22bd9e79851d13117d3e8b8248ab4673f6b8f473bf4c1f5d730c7ededcd9705ef3dd745e531edb04fc1b861c2cb57e107c2eaa0a2ccbc67ba70b9af536564c93b73ab6cfafc58d339738640af0789756372a0b0d64ba25d4d1a703738459ff5a492de9f3ddce43b48b5e8d1228cb0600000000000000", 0x14e, 0x46ffe}, {&(0x7f000001b7c0)="0000000000000000000000000000000000000000000000000000000000000400ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff3fe5ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffebdf0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x20024, 0xfffe0}, {&(0x7f00000104a0)="00000000000000000000000000000000000000000000000000000000000002", 0x1f, 0x4045e0}, {&(0x7f0000001440)="000000000000000000000000000000000000000000000000000000000000030046494c453000030000000000000000000600010038000100500100000004000000000000000000000300000006000000020000000000000010000000600000000000180000000000480000001800000000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80106000000000000000000000000000000000000000001000000000000000000000000000000000000300000006800000000001800000002005000000018000100050000000000050000ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d80100ab2bd24ec4d801001000000000000040000000000000000600000000000000070324004200690074006d006100700080000000480000000100400000000100000000000000000000000000000000004000000000000000001000000000000040000000000000004000000000000000110147", 0x163, 0x409374}], 0x2, &(0x7f0000003580)=ANY=[], 0xff) 00:33:38 executing program 1: mknodat(0xffffffffffffff9c, &(0x7f0000000040)='./file0\x00', 0x0, 0x0) (async, rerun: 64) mount(&(0x7f00000000c0)=@nullb, &(0x7f0000000300)='./file0\x00', &(0x7f0000000080)='v7\x00', 0x20800a4, 0x0) (rerun: 64) [ 2018.993838][T13610] loop2: detected capacity change from 0 to 8266 00:33:38 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0x98010000}], 0x492492492492805, 0x0) 00:33:39 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0x9c370000}], 0x492492492492805, 0x0) [ 2019.039817][ T4722] I/O error, dev loop2, sector 8064 op 0x0:(READ) flags 0x80700 phys_seg 1 prio class 2 00:33:39 executing program 2: syz_mount_image$tmpfs(&(0x7f0000000180), &(0x7f0000000000)='./file0\x00', 0xde22, 0x1, &(0x7f0000000040)=[{&(0x7f0000000080)="4c4c9f91c9676e19539f6de5e4865ad2536994b474290f39b85f112819c6dd74cb83db4583e3e23224d549cd521b5ea7d9d543ea14b5eaeed2b6743847321b5542895407de216f71242c59209250818802e96035f68c2f0532aeb8631a86f950fda91c9fdb742b0b0117614e6c8a4dd8a393db5c90001725b394", 0x7a, 0xdda8}], 0x0, &(0x7f00000001c0)=ANY=[@ANYBLOB="360300000000000069d65b927c776cb6ba85c885738ebd406898672c4483a8fcf0647b0aa16d581006733ea8a2ad8e46ee9df20df12b4ca60b620007000000000006ab0bed1d8565000000"], 0x0) r0 = ioctl$TUNGETDEVNETNS(0xffffffffffffffff, 0x54e3, 0x0) fcntl$getown(r0, 0x9) 00:33:39 executing program 1: r0 = socket(0x40000000015, 0x5, 0x0) connect$inet(r0, &(0x7f0000000000)={0x2, 0x0, @loopback}, 0x10) bind$inet(r0, &(0x7f0000000340)={0x2, 0x0, @loopback}, 0x10) sendmsg$xdp(r0, &(0x7f00000000c0)={0x0, 0x5f, 0x0, 0x0, 0x0, 0x0, 0x24000880}, 0x0) openat$proc_capi20ncci(0xffffffffffffff9c, &(0x7f00000001c0), 0x105081, 0x0) r1 = socket(0x8, 0x5, 0x2) recvfrom$unix(r1, 0x0, 0x0, 0x40, &(0x7f0000000100)=@abs={0x1, 0x0, 0x2004e23}, 0x6e) r2 = openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000040), 0x800, 0x0) r3 = socket(0xa, 0x3, 0x3a) setsockopt$MRT6_DEL_MIF(r3, 0x29, 0xc8, 0x0, 0xc000000) setsockopt$MRT6_DONE(r3, 0x29, 0xd1, 0x0, 0x0) ioctl$ifreq_SIOCGIFINDEX_vcan(r3, 0x8933, &(0x7f0000000200)={'vxcan1\x00'}) setsockopt$MRT_ADD_MFC(r2, 0x0, 0xcc, &(0x7f0000000080)={@multicast1, @rand_addr=0x64010102, 0x0, "18d3773d032073310272cd29017db6245bfdd1c8cfac6488296363a8755a146b", 0x8, 0x51fef0c7, 0x5, 0x7}, 0x3c) connect$vsock_stream(r2, &(0x7f0000000180)={0x28, 0x0, 0x0, @host}, 0x10) [ 2019.077377][T13621] loop2: detected capacity change from 0 to 111 [ 2019.095682][T13621] tmpfs: Unknown parameter '6' 00:33:39 executing program 1: r0 = socket(0x40000000015, 0x5, 0x0) connect$inet(r0, &(0x7f0000000000)={0x2, 0x0, @loopback}, 0x10) (async) bind$inet(r0, &(0x7f0000000340)={0x2, 0x0, @loopback}, 0x10) sendmsg$xdp(r0, &(0x7f00000000c0)={0x0, 0x5f, 0x0, 0x0, 0x0, 0x0, 0x24000880}, 0x0) (async) openat$proc_capi20ncci(0xffffffffffffff9c, &(0x7f00000001c0), 0x105081, 0x0) r1 = socket(0x8, 0x5, 0x2) recvfrom$unix(r1, 0x0, 0x0, 0x40, &(0x7f0000000100)=@abs={0x1, 0x0, 0x2004e23}, 0x6e) (async) r2 = openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000040), 0x800, 0x0) (async) r3 = socket(0xa, 0x3, 0x3a) setsockopt$MRT6_DEL_MIF(r3, 0x29, 0xc8, 0x0, 0xc000000) (async) setsockopt$MRT6_DONE(r3, 0x29, 0xd1, 0x0, 0x0) (async) ioctl$ifreq_SIOCGIFINDEX_vcan(r3, 0x8933, &(0x7f0000000200)={'vxcan1\x00'}) (async) setsockopt$MRT_ADD_MFC(r2, 0x0, 0xcc, &(0x7f0000000080)={@multicast1, @rand_addr=0x64010102, 0x0, "18d3773d032073310272cd29017db6245bfdd1c8cfac6488296363a8755a146b", 0x8, 0x51fef0c7, 0x5, 0x7}, 0x3c) (async) connect$vsock_stream(r2, &(0x7f0000000180)={0x28, 0x0, 0x0, @host}, 0x10) 00:33:39 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0x9effffff}], 0x492492492492805, 0x0) 00:33:39 executing program 2: syz_mount_image$tmpfs(&(0x7f0000000180), &(0x7f0000000000)='./file0\x00', 0xde22, 0x1, &(0x7f0000000040)=[{&(0x7f0000000080)="4c4c9f91c9676e19539f6de5e4865ad2536994b474290f39b85f112819c6dd74cb83db4583e3e23224d549cd521b5ea7d9d543ea14b5eaeed2b6743847321b5542895407de216f71242c59209250818802e96035f68c2f0532aeb8631a86f950fda91c9fdb742b0b0117614e6c8a4dd8a393db5c90001725b394", 0x7a, 0xdda8}], 0x0, &(0x7f00000001c0)=ANY=[@ANYBLOB="360300000000000069d65b927c776cb6ba85c885738ebd406898672c4483a8fcf0647b0aa16d581006733ea8a2ad8e46ee9df20df12b4ca60b620007000000000006ab0bed1d8565000000"], 0x0) r0 = ioctl$TUNGETDEVNETNS(0xffffffffffffffff, 0x54e3, 0x0) fcntl$getown(r0, 0x9) syz_mount_image$tmpfs(&(0x7f0000000180), &(0x7f0000000000)='./file0\x00', 0xde22, 0x1, &(0x7f0000000040)=[{&(0x7f0000000080)="4c4c9f91c9676e19539f6de5e4865ad2536994b474290f39b85f112819c6dd74cb83db4583e3e23224d549cd521b5ea7d9d543ea14b5eaeed2b6743847321b5542895407de216f71242c59209250818802e96035f68c2f0532aeb8631a86f950fda91c9fdb742b0b0117614e6c8a4dd8a393db5c90001725b394", 0x7a, 0xdda8}], 0x0, &(0x7f00000001c0)=ANY=[@ANYBLOB="360300000000000069d65b927c776cb6ba85c885738ebd406898672c4483a8fcf0647b0aa16d581006733ea8a2ad8e46ee9df20df12b4ca60b620007000000000006ab0bed1d8565000000"], 0x0) (async) ioctl$TUNGETDEVNETNS(0xffffffffffffffff, 0x54e3, 0x0) (async) fcntl$getown(r0, 0x9) (async) 00:33:39 executing program 1: r0 = socket(0x40000000015, 0x5, 0x0) connect$inet(r0, &(0x7f0000000000)={0x2, 0x0, @loopback}, 0x10) bind$inet(r0, &(0x7f0000000340)={0x2, 0x0, @loopback}, 0x10) (async) sendmsg$xdp(r0, &(0x7f00000000c0)={0x0, 0x5f, 0x0, 0x0, 0x0, 0x0, 0x24000880}, 0x0) openat$proc_capi20ncci(0xffffffffffffff9c, &(0x7f00000001c0), 0x105081, 0x0) (async) r1 = socket(0x8, 0x5, 0x2) recvfrom$unix(r1, 0x0, 0x0, 0x40, &(0x7f0000000100)=@abs={0x1, 0x0, 0x2004e23}, 0x6e) (async) r2 = openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000040), 0x800, 0x0) (async) r3 = socket(0xa, 0x3, 0x3a) setsockopt$MRT6_DEL_MIF(r3, 0x29, 0xc8, 0x0, 0xc000000) (async) setsockopt$MRT6_DONE(r3, 0x29, 0xd1, 0x0, 0x0) (async) ioctl$ifreq_SIOCGIFINDEX_vcan(r3, 0x8933, &(0x7f0000000200)={'vxcan1\x00'}) setsockopt$MRT_ADD_MFC(r2, 0x0, 0xcc, &(0x7f0000000080)={@multicast1, @rand_addr=0x64010102, 0x0, "18d3773d032073310272cd29017db6245bfdd1c8cfac6488296363a8755a146b", 0x8, 0x51fef0c7, 0x5, 0x7}, 0x3c) (async) connect$vsock_stream(r2, &(0x7f0000000180)={0x28, 0x0, 0x0, @host}, 0x10) [ 2019.145922][T13632] loop2: detected capacity change from 0 to 111 [ 2019.147906][T13632] tmpfs: Unknown parameter '6' 00:33:39 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0x9f030000}], 0x492492492492805, 0x0) 00:33:39 executing program 4: syz_mount_image$ext4(&(0x7f0000000000)='ext2\x00', &(0x7f0000000040)='./file0\x00', 0x8100000, 0x7, &(0x7f0000000200)=[{&(0x7f0000010000)="200000008000000006000000600000000f000000000000000100000001000000004000000040000020000000d2f4655fd2f4655f0100ffff53ef010001000000d0f4655f000000000000000001000000000000000b00000080", 0x59, 0x400}, {&(0x7f0000003480)="ecf7ffffffff10c57e06f642daf7a1726a61700d57ab364ae87fabf6076612a028e10d38943f62ed0a80963a27ff865a110fecc3432f969f9ed5abf6dbc89b419bbe896d8e39bc85ff07898c50ebb8112e4ac617192d399fcb94b266c38f89a76b0e3aedd26a778ffde797c79e94c7c3fd12010a1a365371f4bda67666303736", 0x80, 0x4dd}, {&(0x7f0000010200)="c961c0fc6a", 0x5, 0x560}, {&(0x7f0000010400)="020000001200000022", 0x9, 0x800}, {&(0x7f0000003980)="50d677390738a1c3", 0x8, 0x6002}, {&(0x7f0000000380)="ffff01ae6a762e522c3916d6b0add72eaa5295ee6905104f148fd9168e3c1797ee00000000000000a54b244390fbf2be53de5c5ce568b621f6e43941974f1c5477d732a987e6b1b3d4fc0c42212f5978eabc76126a893da4a505465a6ea9dc7adac619cfdae5d6fb01ff45ebc61af04edd5cd5f49d8052ecab4d6d0f6abf66da63734e11af422923cecc3019f35e584f41e059274dffffe8d653a6296e8d8bc4f5a1c7064a31cabc20a8bb78f8ffb2d81250a838870973f64ec00f49985f2a47f58e53cec973af0d2594474dffedbb8926f952f6998a55cb6461a73551d47b4659b58e7729e0ce426397266068ed971bc04cc9d3542974e74f89ce482f0135c1e3432c23461dc0c626f4800bb3325fcf894003a1aaa38b", 0x117, 0x9000}, {&(0x7f0000012e00)="ed41000000080000d0f4655fd2f4655fd2f4655f000000000880000004", 0x1d, 0x11080}], 0x0, &(0x7f0000000080)=ANY=[@ANYBLOB="736d61636b6673666c6f6f723dc8adc41a47082c00889dcd72d9af951f76c86e45c61f450029058d23b1d1b5bee0ac0cdf19f69a1365c0061d4d0de1ffef00bd239ff53c97438f62a949d7582ba85117bd5036035bd9fc27f82252607da4388303eaf4fd38d682a7087cbcee2392f53ace1d7c2d5e553f77784d3c"], 0x1) r0 = openat$procfs(0xffffffffffffff9c, &(0x7f0000000040)='/proc/cgroups\x00', 0x0, 0x0) pipe2$9p(&(0x7f0000000240)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) sendfile(r1, r0, 0x0, 0x8) close_range(r0, 0xffffffffffffffff, 0x0) r2 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$AUTOFS_IOC_READY(r0, 0x9360, 0x5) r3 = syz_genetlink_get_family_id$l2tp(&(0x7f00000000c0), 0xffffffffffffffff) sendmsg$L2TP_CMD_SESSION_GET(r2, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000440)={0x1c, r3, 0x1, 0x0, 0x0, {0x5}, [@L2TP_ATTR_CONN_ID={0x8}]}, 0x1c}}, 0x0) sendmsg$L2TP_CMD_TUNNEL_MODIFY(r0, &(0x7f0000000340)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x80000}, 0xc, &(0x7f0000000300)={&(0x7f00000002c0)={0x1c, r3, 0x100, 0x70bd2c, 0x25dfdbff, {}, [@L2TP_ATTR_VLAN_ID={0x6}]}, 0x1c}}, 0x20000000) openat$procfs(0xffffffffffffff9c, &(0x7f0000000040)='/proc/cgroups\x00', 0x0, 0x0) pipe2$9p(&(0x7f0000000240), 0x0) syz_mount_image$ext4(&(0x7f0000000000)='ext2\x00', &(0x7f0000000040)='./file0\x00', 0x8100000, 0x7, &(0x7f0000000200)=[{&(0x7f0000010000)="200000008000000006000000600000000f000000000000000100000001000000004000000040000020000000d2f4655fd2f4655f0100ffff53ef010001000000d0f4655f000000000000000001000000000000000b00000080", 0x59, 0x400}, {&(0x7f0000003480)="ecf7ffffffff10c57e06f642daf7a1726a61700d57ab364ae87fabf6076612a028e10d38943f62ed0a80963a27ff865a110fecc3432f969f9ed5abf6dbc89b419bbe896d8e39bc85ff07898c50ebb8112e4ac617192d399fcb94b266c38f89a76b0e3aedd26a778ffde797c79e94c7c3fd12010a1a365371f4bda67666303736", 0x80, 0x4dd}, {&(0x7f0000010200)="c961c0fc6a", 0x5, 0x560}, {&(0x7f0000010400)="020000001200000022", 0x9, 0x800}, {&(0x7f0000003980)="50d677390738a1c3", 0x8, 0x6002}, {&(0x7f0000000380)="ffff01ae6a762e522c3916d6b0add72eaa5295ee6905104f148fd9168e3c1797ee00000000000000a54b244390fbf2be53de5c5ce568b621f6e43941974f1c5477d732a987e6b1b3d4fc0c42212f5978eabc76126a893da4a505465a6ea9dc7adac619cfdae5d6fb01ff45ebc61af04edd5cd5f49d8052ecab4d6d0f6abf66da63734e11af422923cecc3019f35e584f41e059274dffffe8d653a6296e8d8bc4f5a1c7064a31cabc20a8bb78f8ffb2d81250a838870973f64ec00f49985f2a47f58e53cec973af0d2594474dffedbb8926f952f6998a55cb6461a73551d47b4659b58e7729e0ce426397266068ed971bc04cc9d3542974e74f89ce482f0135c1e3432c23461dc0c626f4800bb3325fcf894003a1aaa38b", 0x117, 0x9000}, {&(0x7f0000012e00)="ed41000000080000d0f4655fd2f4655fd2f4655f000000000880000004", 0x1d, 0x11080}], 0x0, &(0x7f0000000080)=ANY=[@ANYBLOB="736d61636b6673666c6f6f723dc8adc41a47082c00889dcd72d9af951f76c86e45c61f450029058d23b1d1b5bee0ac0cdf19f69a1365c0061d4d0de1ffef00bd239ff53c97438f62a949d7582ba85117bd5036035bd9fc27f82252607da4388303eaf4fd38d682a7087cbcee2392f53ace1d7c2d5e553f77784d3c"], 0x1) (async) openat$procfs(0xffffffffffffff9c, &(0x7f0000000040)='/proc/cgroups\x00', 0x0, 0x0) (async) pipe2$9p(&(0x7f0000000240), 0x0) (async) sendfile(r1, r0, 0x0, 0x8) (async) close_range(r0, 0xffffffffffffffff, 0x0) (async) socket$nl_generic(0x10, 0x3, 0x10) (async) ioctl$AUTOFS_IOC_READY(r0, 0x9360, 0x5) (async) syz_genetlink_get_family_id$l2tp(&(0x7f00000000c0), 0xffffffffffffffff) (async) sendmsg$L2TP_CMD_SESSION_GET(r2, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000440)={0x1c, r3, 0x1, 0x0, 0x0, {0x5}, [@L2TP_ATTR_CONN_ID={0x8}]}, 0x1c}}, 0x0) (async) sendmsg$L2TP_CMD_TUNNEL_MODIFY(r0, &(0x7f0000000340)={&(0x7f00000001c0)={0x10, 0x0, 0x0, 0x80000}, 0xc, &(0x7f0000000300)={&(0x7f00000002c0)={0x1c, r3, 0x100, 0x70bd2c, 0x25dfdbff, {}, [@L2TP_ATTR_VLAN_ID={0x6}]}, 0x1c}}, 0x20000000) (async) openat$procfs(0xffffffffffffff9c, &(0x7f0000000040)='/proc/cgroups\x00', 0x0, 0x0) (async) pipe2$9p(&(0x7f0000000240), 0x0) (async) 00:33:39 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xa4000000}], 0x492492492492805, 0x0) [ 2019.203267][T13632] loop2: detected capacity change from 0 to 111 [ 2019.204981][T13632] tmpfs: Unknown parameter '6' 00:33:39 executing program 1: r0 = syz_open_procfs(0x0, &(0x7f0000000000)='net/udp6\x00') r1 = socket$inet6(0xa, 0x2, 0x0) setsockopt$inet6_int(r1, 0x29, 0x4b, &(0x7f0000000180)=0xfffffff7, 0x4) bind$inet6(r1, &(0x7f0000f5dfe4)={0xa, 0x4e20, 0x0, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01'}, 0x1c) r2 = socket$inet6(0xa, 0x2, 0x0) setsockopt$inet6_int(r2, 0x29, 0x4b, &(0x7f0000000100)=0xfffffff7, 0x4) bind$inet6(r2, &(0x7f00000001c0)={0xa, 0x4e20, 0x0, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02'}, 0x1c) bind$inet6(r0, &(0x7f0000000200)={0xa, 0x4e24, 0x1, @remote, 0x1000}, 0x1c) preadv(r0, &(0x7f0000000140)=[{&(0x7f0000000040)=""/178, 0xb2}], 0x1, 0x14b, 0x0) 00:33:39 executing program 2: syz_mount_image$tmpfs(&(0x7f0000000180), &(0x7f0000000000)='./file0\x00', 0xde22, 0x1, &(0x7f0000000040)=[{&(0x7f0000000080)="4c4c9f91c9676e19539f6de5e4865ad2536994b474290f39b85f112819c6dd74cb83db4583e3e23224d549cd521b5ea7d9d543ea14b5eaeed2b6743847321b5542895407de216f71242c59209250818802e96035f68c2f0532aeb8631a86f950fda91c9fdb742b0b0117614e6c8a4dd8a393db5c90001725b394", 0x7a, 0xdda8}], 0x0, &(0x7f00000001c0)=ANY=[@ANYBLOB="360300000000000069d65b927c776cb6ba85c885738ebd406898672c4483a8fcf0647b0aa16d581006733ea8a2ad8e46ee9df20df12b4ca60b620007000000000006ab0bed1d8565000000"], 0x0) r0 = ioctl$TUNGETDEVNETNS(0xffffffffffffffff, 0x54e3, 0x0) fcntl$getown(r0, 0x9) syz_mount_image$tmpfs(&(0x7f0000000180), &(0x7f0000000000)='./file0\x00', 0xde22, 0x1, &(0x7f0000000040)=[{&(0x7f0000000080)="4c4c9f91c9676e19539f6de5e4865ad2536994b474290f39b85f112819c6dd74cb83db4583e3e23224d549cd521b5ea7d9d543ea14b5eaeed2b6743847321b5542895407de216f71242c59209250818802e96035f68c2f0532aeb8631a86f950fda91c9fdb742b0b0117614e6c8a4dd8a393db5c90001725b394", 0x7a, 0xdda8}], 0x0, &(0x7f00000001c0)=ANY=[@ANYBLOB="360300000000000069d65b927c776cb6ba85c885738ebd406898672c4483a8fcf0647b0aa16d581006733ea8a2ad8e46ee9df20df12b4ca60b620007000000000006ab0bed1d8565000000"], 0x0) (async) ioctl$TUNGETDEVNETNS(0xffffffffffffffff, 0x54e3, 0x0) (async) fcntl$getown(r0, 0x9) (async) 00:33:39 executing program 4: syz_mount_image$f2fs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x27, &(0x7f0000000200)=[{&(0x7f0000010080)="00000008db0000000000000000000000000000000000000000000000250000006d70000000000000776d0000000000006f670000000000006a7000000000000061766900000000006d347600000000006d347000000000006d6b7600000000006d6f7600000000007765626d0000000077617600000000006d3461000000000033677000000000006f70757300000000666c6163000000006769660000000000706e670000000000737667000000000077656270000000006a61720000000000646562000000000069736f0000000000677a000000000000787a0000000000007a737400000000007064660000000000707963000000000074746300000000007474660000000000657865000000000061706b0000000000636e74000000000065786f00000000006f646578000000007664657800000000736f000000000000636f6c6400000000646200"/352, 0x160, 0x5}, {&(0x7f0000010000)="1020f5f201000e0009000000030000000c0000000900000002000000010000000000000000800000000000001b0000003e0000000200000002000000020000000200000036000000000400000004000000080000000c000000100000001400000300000001000000020000007936256278154566bdc19534e40b258800000000", 0x80, 0x400}, {&(0x7f00000101e0)="000000004c696e75782076657273696f6e20352e31372e31312d31726f64657465322d616d64363400a9676c696e75782d7465616d40676f6f676c652e636f6d2920286763632d3131202844656269616e2031312e322e302d3230292031312e322e302c20474e55206c642028474e552042696e7574696c7320666f722044656269616e2920322e33382920233120534d5020505245454d50542044656269616e20352e31372e31312d31726f64657465322028323032322d30362d30392900", 0xc0, 0xa80}, {&(0x7f00000102a0)='\x00\x00\x00\x00Linux version 5.17.11-1rodete2-amd64 (glinux-team@google.com) (gcc-11 (Debian 11.2.0-20) 11.2.0, GNU ld (GNU Binutils for Debian) 2.38) #1 SMP PREEMPT Debian 5.17.11-1rodete2 (2022-06-09)\x00', 0xc0, 0xb80}, {&(0x7f0000010360)="00000000780100"/32, 0x20, 0xc80}, {&(0x7f0000010380)="00000000000100"/32, 0x20, 0xec0}, {&(0x7f00000103a0)="1020f5f201000e0009000000030000000c0000000900000002000000010000000000000000800000000000001b0000003e0000000200000002000000020000000200000036000000000400000004000000080000000c000000100000001400000300000001000000020000007936256278154566bdc19534e40b258800000000", 0x80, 0x1400}, {&(0x7f0000000b40)="00000000000000000000000000000000000000000000000000000000250000006d70000000000000776d0000000000006f670000000000006a7000000000000061766900000000006d347600000000006d347000000000006d6b7600000000006d6f7600000000007765626d0000000077617600000000006d3461000000000033677000000000006f70757300000000666c6163000000006769660000000000706e670000000000737667000000000077656270000000006a61720000000000646562000000000069736f0000000000677a000000000000787a0000000000007a737400000000007064660000000000707963000000000074746300000000007474660000000000657865000000000061706b0000000000636e74000000000065786f00000000006f646578000000007664657800000000736f000000000000636f6c64000000006462000000000000000000000000000000000000000000007a6208512f0f0d4441b7cc7fbb177f01202c9b929d49d1e4eed99ef8b9f259b142991b", 0x183, 0x1860}, {&(0x7f00000008c0)="000000004c696e75782076657273696f6e20352e31372e31312d31726f64657465322d616d6436342028676c696e75782d7465616d40676f6f676c652e636f6dffba5b2920286763396df6505d6e4a046269616e2031312e322e302d3230292031312e322e302c20474e55206c642028474e552042696e7574696c7320666f722044656269616e2920322e33382920233120534d5020505245454d50542044656269616e20352e31372e31312d31726f64657465322028323032322d30362d30392900", 0xc3, 0x1a80}, {&(0x7f0000010640)='\x00\x00\x00\x00Linux version 5.17.11-1rodete2-amd64 (glinux-team@google.com) (gcc-11 (Debian 11.2.0-20) 11.2.0, GNU ld (GNU Binutils for Debian) 2.38) #1 SMP PREEMPT Debian 5.17.11-1rodete2 (2022-06-09)\x00', 0xc0, 0x1b80}, {&(0x7f0000010700)="00000000780100"/32, 0x20, 0x1c80}, {&(0x7f0000010720)="00000000000100"/32, 0x20, 0x1ec0}, {&(0x7f0000010740)="6f4551360000000000240000000000000b000000000000001b0000002400000030000000000000000200000000000000ffefffffffffffff0300060000000000000000000000000006000000180000000a000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c501deff050000000100000007000000070000000a0000004000000040200000fc0f00"/192, 0xc0, 0x400000}, {&(0x7f0000010800)="00000000000000000000000000000000000000000000000000000000e64ebd790000030000000003000000001400"/64, 0x40, 0x400fe0}, {&(0x7f0000010840)="000000000000000000000000000000000000000000000000000000060000000000020c6000"/64, 0x40, 0x4011e0}, {&(0x7f00000000c0)="0000000000000000000000000000000000000000000000000004000000001400", 0x20, 0x401280}, {&(0x7f00000108c0)="000000000000000600000004007800"/32, 0x20, 0x4012e0}, {&(0x7f0000000140)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\x00\x00\x00\x00\b\x00\x00\x00\x00\x00', 0x20, 0x401320}, {&(0x7f0000010900)="00000018000000000400"/32, 0x20, 0x401380}, {&(0x7f0000000600)="03000000000000030000000000000400000000000000000000000000000000002d03fbe1b9623919cbf4330c0052777156777d08aa92405703319bf6565f5509c227f9c9ef8a77af4ae1a1ebfda95bc1c1c2c4acc1db994e55497e43b8080fb86556517341d02a295000da583d17c760401732bb0cec9c9c597949e54e4724b46bc33617eae573c6160b6a1c05131161f043839d9c1af4bcb5e3e923526167c8533359c0cf26b83426e6a08bc96917da2f43e823d32a9c782b887a703d80ab30b8c93a2ea791748eff7451dd0a4c95d15b88ac97b3a0712dd2e9877cbc0585b720233c3d020e149ce0309564b7abc2ec9905f37dbe80bf46e1c4829ab2080071fd32ab55fed79601f873", 0x10a, 0x402000}, {&(0x7f0000000840)="000000000000000000000000000000000000000000000000000000010000000005000000000000060000000000000700000000000008000000000000090000000000000800"/96, 0x60, 0x402fe0}, {&(0x7f0000010a00)="0000000000000000000000000000000000000000000000000000000100000000", 0x20, 0x403fe0}, {&(0x7f0000010ba0)="6e4551360000000000240000000000000b000000000000001b0000002400000030000000000000000200000004000000ffffffffffffffffffffffffffffffffffffffff0300060000000000000000000000000006000000180000000a000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5000000060000000100000007000000070000000a0000004000000040000000fc0f", 0xa6, 0x600000}, {&(0x7f0000010c60)="00000000000000000000000000000000000000000000000000000000804c01b0", 0x20, 0x600fe0}, {&(0x7f0000010ca0)="000000000000000000000000000000000000000000000000000000060000000000020c60", 0x24, 0x6011e0}, {&(0x7f0000010ce0)="0000000000000000000f00010000000510ec", 0x12, 0x601240}, {&(0x7f0000010d00)="0000000000000000000000000000000000000000000000000004", 0x1a, 0x601280}, {&(0x7f0000010d20)="6800000000200006", 0x8, 0x6012e0}, {&(0x7f0000010d40)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n', 0x16, 0x601320}, {&(0x7f0000010d60)="00000018", 0x4, 0x601380}, {&(0x7f0000010e00)="000000000000000000000000000000000000000000000000000000010000000005000000000000060000000000000700000000000008000000000000090000000000000800"/96, 0x60, 0x602fe0}, {&(0x7f0000010e60)="0000000006000500000000000005000000000000000000000000000100000000", 0x20, 0x603fe0}, {&(0x7f0000010e80)="00000000000000000000000000000000000000000000000000000001000000006e4551360000000000240000000000000b000000000000001b0000002400000030000000000000000200000004000000ffffffffffffffffffffffffffffffffffffffff0300060000000000000000000000000006000000180000000a000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5000000060000000100000007000000070000000a0000004000000040000000fc0f00"/224, 0xe0, 0x604fe0}, {&(0x7f0000000080)="00000000000000000000000000000000000000000000000000000000804c01b0", 0x20, 0x605fe0}, {&(0x7f0000010f80)="6e455136804c01b00000000000000000", 0x10, 0x7ff000}, {&(0x7f0000010fa0)="00000000000000ffffff", 0xa, 0x7ff040}, {&(0x7f0000011000)="00000000000000000000010000000100000000020000000100000000030000000114", 0x22, 0xc00000}, {&(0x7f0000000180)="ed41002080761000535f01000300000000100000000000000271dea6a556fd20b602d24417aa9f99ec3fde5ce0a9009a86f9ad03cc0026ede8e1ef5a0e", 0x3d, 0x1401000}, {&(0x7f0000011160)="00000000000000000300000003", 0xd, 0x1401fe0}], 0x1, &(0x7f0000000040)={[{@four_active_logs}, {@nodiscard}, {@noflush_merge}]}, 0x0) r0 = socket$l2tp(0x2, 0x2, 0x73) ioctl$sock_inet_SIOCSARP(r0, 0x8955, &(0x7f0000000740)={{0x2, 0x4e21, @private=0xa010100}, {0x307, @broadcast}, 0x8, {0x2, 0x4e23, @multicast1}, 'veth0_virt_wifi\x00'}) ioctl$KDSETMODE(0xffffffffffffffff, 0x4b3a, 0x1) [ 2019.246662][T13660] loop2: detected capacity change from 0 to 111 [ 2019.249196][T13660] tmpfs: Unknown parameter '6' 00:33:39 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xa9000000}], 0x492492492492805, 0x0) 00:33:39 executing program 1: r0 = syz_open_procfs(0x0, &(0x7f0000000000)='net/udp6\x00') r1 = socket$inet6(0xa, 0x2, 0x0) setsockopt$inet6_int(r1, 0x29, 0x4b, &(0x7f0000000180)=0xfffffff7, 0x4) bind$inet6(r1, &(0x7f0000f5dfe4)={0xa, 0x4e20, 0x0, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01'}, 0x1c) r2 = socket$inet6(0xa, 0x2, 0x0) setsockopt$inet6_int(r2, 0x29, 0x4b, &(0x7f0000000100)=0xfffffff7, 0x4) bind$inet6(r2, &(0x7f00000001c0)={0xa, 0x4e20, 0x0, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02'}, 0x1c) bind$inet6(r0, &(0x7f0000000200)={0xa, 0x4e24, 0x1, @remote, 0x1000}, 0x1c) preadv(r0, &(0x7f0000000140)=[{&(0x7f0000000040)=""/178, 0xb2}], 0x1, 0x14b, 0x0) syz_open_procfs(0x0, &(0x7f0000000000)='net/udp6\x00') (async) socket$inet6(0xa, 0x2, 0x0) (async) setsockopt$inet6_int(r1, 0x29, 0x4b, &(0x7f0000000180)=0xfffffff7, 0x4) (async) bind$inet6(r1, &(0x7f0000f5dfe4)={0xa, 0x4e20, 0x0, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01'}, 0x1c) (async) socket$inet6(0xa, 0x2, 0x0) (async) setsockopt$inet6_int(r2, 0x29, 0x4b, &(0x7f0000000100)=0xfffffff7, 0x4) (async) bind$inet6(r2, &(0x7f00000001c0)={0xa, 0x4e20, 0x0, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02'}, 0x1c) (async) bind$inet6(r0, &(0x7f0000000200)={0xa, 0x4e24, 0x1, @remote, 0x1000}, 0x1c) (async) preadv(r0, &(0x7f0000000140)=[{&(0x7f0000000040)=""/178, 0xb2}], 0x1, 0x14b, 0x0) (async) 00:33:39 executing program 4: syz_mount_image$f2fs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x27, &(0x7f0000000200)=[{&(0x7f0000010080)="00000008db0000000000000000000000000000000000000000000000250000006d70000000000000776d0000000000006f670000000000006a7000000000000061766900000000006d347600000000006d347000000000006d6b7600000000006d6f7600000000007765626d0000000077617600000000006d3461000000000033677000000000006f70757300000000666c6163000000006769660000000000706e670000000000737667000000000077656270000000006a61720000000000646562000000000069736f0000000000677a000000000000787a0000000000007a737400000000007064660000000000707963000000000074746300000000007474660000000000657865000000000061706b0000000000636e74000000000065786f00000000006f646578000000007664657800000000736f000000000000636f6c6400000000646200"/352, 0x160, 0x5}, {&(0x7f0000010000)="1020f5f201000e0009000000030000000c0000000900000002000000010000000000000000800000000000001b0000003e0000000200000002000000020000000200000036000000000400000004000000080000000c000000100000001400000300000001000000020000007936256278154566bdc19534e40b258800000000", 0x80, 0x400}, {&(0x7f00000101e0)="000000004c696e75782076657273696f6e20352e31372e31312d31726f64657465322d616d64363400a9676c696e75782d7465616d40676f6f676c652e636f6d2920286763632d3131202844656269616e2031312e322e302d3230292031312e322e302c20474e55206c642028474e552042696e7574696c7320666f722044656269616e2920322e33382920233120534d5020505245454d50542044656269616e20352e31372e31312d31726f64657465322028323032322d30362d30392900", 0xc0, 0xa80}, {&(0x7f00000102a0)='\x00\x00\x00\x00Linux version 5.17.11-1rodete2-amd64 (glinux-team@google.com) (gcc-11 (Debian 11.2.0-20) 11.2.0, GNU ld (GNU Binutils for Debian) 2.38) #1 SMP PREEMPT Debian 5.17.11-1rodete2 (2022-06-09)\x00', 0xc0, 0xb80}, {&(0x7f0000010360)="00000000780100"/32, 0x20, 0xc80}, {&(0x7f0000010380)="00000000000100"/32, 0x20, 0xec0}, {&(0x7f00000103a0)="1020f5f201000e0009000000030000000c0000000900000002000000010000000000000000800000000000001b0000003e0000000200000002000000020000000200000036000000000400000004000000080000000c000000100000001400000300000001000000020000007936256278154566bdc19534e40b258800000000", 0x80, 0x1400}, {&(0x7f0000000b40)="00000000000000000000000000000000000000000000000000000000250000006d70000000000000776d0000000000006f670000000000006a7000000000000061766900000000006d347600000000006d347000000000006d6b7600000000006d6f7600000000007765626d0000000077617600000000006d3461000000000033677000000000006f70757300000000666c6163000000006769660000000000706e670000000000737667000000000077656270000000006a61720000000000646562000000000069736f0000000000677a000000000000787a0000000000007a737400000000007064660000000000707963000000000074746300000000007474660000000000657865000000000061706b0000000000636e74000000000065786f00000000006f646578000000007664657800000000736f000000000000636f6c64000000006462000000000000000000000000000000000000000000007a6208512f0f0d4441b7cc7fbb177f01202c9b929d49d1e4eed99ef8b9f259b142991b", 0x183, 0x1860}, {&(0x7f00000008c0)="000000004c696e75782076657273696f6e20352e31372e31312d31726f64657465322d616d6436342028676c696e75782d7465616d40676f6f676c652e636f6dffba5b2920286763396df6505d6e4a046269616e2031312e322e302d3230292031312e322e302c20474e55206c642028474e552042696e7574696c7320666f722044656269616e2920322e33382920233120534d5020505245454d50542044656269616e20352e31372e31312d31726f64657465322028323032322d30362d30392900", 0xc3, 0x1a80}, {&(0x7f0000010640)='\x00\x00\x00\x00Linux version 5.17.11-1rodete2-amd64 (glinux-team@google.com) (gcc-11 (Debian 11.2.0-20) 11.2.0, GNU ld (GNU Binutils for Debian) 2.38) #1 SMP PREEMPT Debian 5.17.11-1rodete2 (2022-06-09)\x00', 0xc0, 0x1b80}, {&(0x7f0000010700)="00000000780100"/32, 0x20, 0x1c80}, {&(0x7f0000010720)="00000000000100"/32, 0x20, 0x1ec0}, {&(0x7f0000010740)="6f4551360000000000240000000000000b000000000000001b0000002400000030000000000000000200000000000000ffefffffffffffff0300060000000000000000000000000006000000180000000a000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c501deff050000000100000007000000070000000a0000004000000040200000fc0f00"/192, 0xc0, 0x400000}, {&(0x7f0000010800)="00000000000000000000000000000000000000000000000000000000e64ebd790000030000000003000000001400"/64, 0x40, 0x400fe0}, {&(0x7f0000010840)="000000000000000000000000000000000000000000000000000000060000000000020c6000"/64, 0x40, 0x4011e0}, {&(0x7f00000000c0)="0000000000000000000000000000000000000000000000000004000000001400", 0x20, 0x401280}, {&(0x7f00000108c0)="000000000000000600000004007800"/32, 0x20, 0x4012e0}, {&(0x7f0000000140)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\x00\x00\x00\x00\b\x00\x00\x00\x00\x00', 0x20, 0x401320}, {&(0x7f0000010900)="00000018000000000400"/32, 0x20, 0x401380}, {&(0x7f0000000600)="03000000000000030000000000000400000000000000000000000000000000002d03fbe1b9623919cbf4330c0052777156777d08aa92405703319bf6565f5509c227f9c9ef8a77af4ae1a1ebfda95bc1c1c2c4acc1db994e55497e43b8080fb86556517341d02a295000da583d17c760401732bb0cec9c9c597949e54e4724b46bc33617eae573c6160b6a1c05131161f043839d9c1af4bcb5e3e923526167c8533359c0cf26b83426e6a08bc96917da2f43e823d32a9c782b887a703d80ab30b8c93a2ea791748eff7451dd0a4c95d15b88ac97b3a0712dd2e9877cbc0585b720233c3d020e149ce0309564b7abc2ec9905f37dbe80bf46e1c4829ab2080071fd32ab55fed79601f873", 0x10a, 0x402000}, {&(0x7f0000000840)="000000000000000000000000000000000000000000000000000000010000000005000000000000060000000000000700000000000008000000000000090000000000000800"/96, 0x60, 0x402fe0}, {&(0x7f0000010a00)="0000000000000000000000000000000000000000000000000000000100000000", 0x20, 0x403fe0}, {&(0x7f0000010ba0)="6e4551360000000000240000000000000b000000000000001b0000002400000030000000000000000200000004000000ffffffffffffffffffffffffffffffffffffffff0300060000000000000000000000000006000000180000000a000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5000000060000000100000007000000070000000a0000004000000040000000fc0f", 0xa6, 0x600000}, {&(0x7f0000010c60)="00000000000000000000000000000000000000000000000000000000804c01b0", 0x20, 0x600fe0}, {&(0x7f0000010ca0)="000000000000000000000000000000000000000000000000000000060000000000020c60", 0x24, 0x6011e0}, {&(0x7f0000010ce0)="0000000000000000000f00010000000510ec", 0x12, 0x601240}, {&(0x7f0000010d00)="0000000000000000000000000000000000000000000000000004", 0x1a, 0x601280}, {&(0x7f0000010d20)="6800000000200006", 0x8, 0x6012e0}, {&(0x7f0000010d40)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n', 0x16, 0x601320}, {&(0x7f0000010d60)="00000018", 0x4, 0x601380}, {&(0x7f0000010e00)="000000000000000000000000000000000000000000000000000000010000000005000000000000060000000000000700000000000008000000000000090000000000000800"/96, 0x60, 0x602fe0}, {&(0x7f0000010e60)="0000000006000500000000000005000000000000000000000000000100000000", 0x20, 0x603fe0}, {&(0x7f0000010e80)="00000000000000000000000000000000000000000000000000000001000000006e4551360000000000240000000000000b000000000000001b0000002400000030000000000000000200000004000000ffffffffffffffffffffffffffffffffffffffff0300060000000000000000000000000006000000180000000a000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5000000060000000100000007000000070000000a0000004000000040000000fc0f00"/224, 0xe0, 0x604fe0}, {&(0x7f0000000080)="00000000000000000000000000000000000000000000000000000000804c01b0", 0x20, 0x605fe0}, {&(0x7f0000010f80)="6e455136804c01b00000000000000000", 0x10, 0x7ff000}, {&(0x7f0000010fa0)="00000000000000ffffff", 0xa, 0x7ff040}, {&(0x7f0000011000)="00000000000000000000010000000100000000020000000100000000030000000114", 0x22, 0xc00000}, {&(0x7f0000000180)="ed41002080761000535f01000300000000100000000000000271dea6a556fd20b602d24417aa9f99ec3fde5ce0a9009a86f9ad03cc0026ede8e1ef5a0e", 0x3d, 0x1401000}, {&(0x7f0000011160)="00000000000000000300000003", 0xd, 0x1401fe0}], 0x1, &(0x7f0000000040)={[{@four_active_logs}, {@nodiscard}, {@noflush_merge}]}, 0x0) (async) r0 = socket$l2tp(0x2, 0x2, 0x73) ioctl$sock_inet_SIOCSARP(r0, 0x8955, &(0x7f0000000740)={{0x2, 0x4e21, @private=0xa010100}, {0x307, @broadcast}, 0x8, {0x2, 0x4e23, @multicast1}, 'veth0_virt_wifi\x00'}) ioctl$KDSETMODE(0xffffffffffffffff, 0x4b3a, 0x1) [ 2019.311504][T13660] loop2: detected capacity change from 0 to 111 [ 2019.313293][T13660] tmpfs: Unknown parameter '6' 00:33:39 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xab000000}], 0x492492492492805, 0x0) 00:33:39 executing program 4: syz_mount_image$f2fs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x27, &(0x7f0000000200)=[{&(0x7f0000010080)="00000008db0000000000000000000000000000000000000000000000250000006d70000000000000776d0000000000006f670000000000006a7000000000000061766900000000006d347600000000006d347000000000006d6b7600000000006d6f7600000000007765626d0000000077617600000000006d3461000000000033677000000000006f70757300000000666c6163000000006769660000000000706e670000000000737667000000000077656270000000006a61720000000000646562000000000069736f0000000000677a000000000000787a0000000000007a737400000000007064660000000000707963000000000074746300000000007474660000000000657865000000000061706b0000000000636e74000000000065786f00000000006f646578000000007664657800000000736f000000000000636f6c6400000000646200"/352, 0x160, 0x5}, {&(0x7f0000010000)="1020f5f201000e0009000000030000000c0000000900000002000000010000000000000000800000000000001b0000003e0000000200000002000000020000000200000036000000000400000004000000080000000c000000100000001400000300000001000000020000007936256278154566bdc19534e40b258800000000", 0x80, 0x400}, {&(0x7f00000101e0)="000000004c696e75782076657273696f6e20352e31372e31312d31726f64657465322d616d64363400a9676c696e75782d7465616d40676f6f676c652e636f6d2920286763632d3131202844656269616e2031312e322e302d3230292031312e322e302c20474e55206c642028474e552042696e7574696c7320666f722044656269616e2920322e33382920233120534d5020505245454d50542044656269616e20352e31372e31312d31726f64657465322028323032322d30362d30392900", 0xc0, 0xa80}, {&(0x7f00000102a0)='\x00\x00\x00\x00Linux version 5.17.11-1rodete2-amd64 (glinux-team@google.com) (gcc-11 (Debian 11.2.0-20) 11.2.0, GNU ld (GNU Binutils for Debian) 2.38) #1 SMP PREEMPT Debian 5.17.11-1rodete2 (2022-06-09)\x00', 0xc0, 0xb80}, {&(0x7f0000010360)="00000000780100"/32, 0x20, 0xc80}, {&(0x7f0000010380)="00000000000100"/32, 0x20, 0xec0}, {&(0x7f00000103a0)="1020f5f201000e0009000000030000000c0000000900000002000000010000000000000000800000000000001b0000003e0000000200000002000000020000000200000036000000000400000004000000080000000c000000100000001400000300000001000000020000007936256278154566bdc19534e40b258800000000", 0x80, 0x1400}, {&(0x7f0000000b40)="00000000000000000000000000000000000000000000000000000000250000006d70000000000000776d0000000000006f670000000000006a7000000000000061766900000000006d347600000000006d347000000000006d6b7600000000006d6f7600000000007765626d0000000077617600000000006d3461000000000033677000000000006f70757300000000666c6163000000006769660000000000706e670000000000737667000000000077656270000000006a61720000000000646562000000000069736f0000000000677a000000000000787a0000000000007a737400000000007064660000000000707963000000000074746300000000007474660000000000657865000000000061706b0000000000636e74000000000065786f00000000006f646578000000007664657800000000736f000000000000636f6c64000000006462000000000000000000000000000000000000000000007a6208512f0f0d4441b7cc7fbb177f01202c9b929d49d1e4eed99ef8b9f259b142991b", 0x183, 0x1860}, {&(0x7f00000008c0)="000000004c696e75782076657273696f6e20352e31372e31312d31726f64657465322d616d6436342028676c696e75782d7465616d40676f6f676c652e636f6dffba5b2920286763396df6505d6e4a046269616e2031312e322e302d3230292031312e322e302c20474e55206c642028474e552042696e7574696c7320666f722044656269616e2920322e33382920233120534d5020505245454d50542044656269616e20352e31372e31312d31726f64657465322028323032322d30362d30392900", 0xc3, 0x1a80}, {&(0x7f0000010640)='\x00\x00\x00\x00Linux version 5.17.11-1rodete2-amd64 (glinux-team@google.com) (gcc-11 (Debian 11.2.0-20) 11.2.0, GNU ld (GNU Binutils for Debian) 2.38) #1 SMP PREEMPT Debian 5.17.11-1rodete2 (2022-06-09)\x00', 0xc0, 0x1b80}, {&(0x7f0000010700)="00000000780100"/32, 0x20, 0x1c80}, {&(0x7f0000010720)="00000000000100"/32, 0x20, 0x1ec0}, {&(0x7f0000010740)="6f4551360000000000240000000000000b000000000000001b0000002400000030000000000000000200000000000000ffefffffffffffff0300060000000000000000000000000006000000180000000a000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c501deff050000000100000007000000070000000a0000004000000040200000fc0f00"/192, 0xc0, 0x400000}, {&(0x7f0000010800)="00000000000000000000000000000000000000000000000000000000e64ebd790000030000000003000000001400"/64, 0x40, 0x400fe0}, {&(0x7f0000010840)="000000000000000000000000000000000000000000000000000000060000000000020c6000"/64, 0x40, 0x4011e0}, {&(0x7f00000000c0)="0000000000000000000000000000000000000000000000000004000000001400", 0x20, 0x401280}, {&(0x7f00000108c0)="000000000000000600000004007800"/32, 0x20, 0x4012e0}, {&(0x7f0000000140)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\x00\x00\x00\x00\b\x00\x00\x00\x00\x00', 0x20, 0x401320}, {&(0x7f0000010900)="00000018000000000400"/32, 0x20, 0x401380}, {&(0x7f0000000600)="03000000000000030000000000000400000000000000000000000000000000002d03fbe1b9623919cbf4330c0052777156777d08aa92405703319bf6565f5509c227f9c9ef8a77af4ae1a1ebfda95bc1c1c2c4acc1db994e55497e43b8080fb86556517341d02a295000da583d17c760401732bb0cec9c9c597949e54e4724b46bc33617eae573c6160b6a1c05131161f043839d9c1af4bcb5e3e923526167c8533359c0cf26b83426e6a08bc96917da2f43e823d32a9c782b887a703d80ab30b8c93a2ea791748eff7451dd0a4c95d15b88ac97b3a0712dd2e9877cbc0585b720233c3d020e149ce0309564b7abc2ec9905f37dbe80bf46e1c4829ab2080071fd32ab55fed79601f873", 0x10a, 0x402000}, {&(0x7f0000000840)="000000000000000000000000000000000000000000000000000000010000000005000000000000060000000000000700000000000008000000000000090000000000000800"/96, 0x60, 0x402fe0}, {&(0x7f0000010a00)="0000000000000000000000000000000000000000000000000000000100000000", 0x20, 0x403fe0}, {&(0x7f0000010ba0)="6e4551360000000000240000000000000b000000000000001b0000002400000030000000000000000200000004000000ffffffffffffffffffffffffffffffffffffffff0300060000000000000000000000000006000000180000000a000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5000000060000000100000007000000070000000a0000004000000040000000fc0f", 0xa6, 0x600000}, {&(0x7f0000010c60)="00000000000000000000000000000000000000000000000000000000804c01b0", 0x20, 0x600fe0}, {&(0x7f0000010ca0)="000000000000000000000000000000000000000000000000000000060000000000020c60", 0x24, 0x6011e0}, {&(0x7f0000010ce0)="0000000000000000000f00010000000510ec", 0x12, 0x601240}, {&(0x7f0000010d00)="0000000000000000000000000000000000000000000000000004", 0x1a, 0x601280}, {&(0x7f0000010d20)="6800000000200006", 0x8, 0x6012e0}, {&(0x7f0000010d40)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n', 0x16, 0x601320}, {&(0x7f0000010d60)="00000018", 0x4, 0x601380}, {&(0x7f0000010e00)="000000000000000000000000000000000000000000000000000000010000000005000000000000060000000000000700000000000008000000000000090000000000000800"/96, 0x60, 0x602fe0}, {&(0x7f0000010e60)="0000000006000500000000000005000000000000000000000000000100000000", 0x20, 0x603fe0}, {&(0x7f0000010e80)="00000000000000000000000000000000000000000000000000000001000000006e4551360000000000240000000000000b000000000000001b0000002400000030000000000000000200000004000000ffffffffffffffffffffffffffffffffffffffff0300060000000000000000000000000006000000180000000a000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5000000060000000100000007000000070000000a0000004000000040000000fc0f00"/224, 0xe0, 0x604fe0}, {&(0x7f0000000080)="00000000000000000000000000000000000000000000000000000000804c01b0", 0x20, 0x605fe0}, {&(0x7f0000010f80)="6e455136804c01b00000000000000000", 0x10, 0x7ff000}, {&(0x7f0000010fa0)="00000000000000ffffff", 0xa, 0x7ff040}, {&(0x7f0000011000)="00000000000000000000010000000100000000020000000100000000030000000114", 0x22, 0xc00000}, {&(0x7f0000000180)="ed41002080761000535f01000300000000100000000000000271dea6a556fd20b602d24417aa9f99ec3fde5ce0a9009a86f9ad03cc0026ede8e1ef5a0e", 0x3d, 0x1401000}, {&(0x7f0000011160)="00000000000000000300000003", 0xd, 0x1401fe0}], 0x1, &(0x7f0000000040)={[{@four_active_logs}, {@nodiscard}, {@noflush_merge}]}, 0x0) r0 = socket$l2tp(0x2, 0x2, 0x73) ioctl$sock_inet_SIOCSARP(r0, 0x8955, &(0x7f0000000740)={{0x2, 0x4e21, @private=0xa010100}, {0x307, @broadcast}, 0x8, {0x2, 0x4e23, @multicast1}, 'veth0_virt_wifi\x00'}) ioctl$KDSETMODE(0xffffffffffffffff, 0x4b3a, 0x1) syz_mount_image$f2fs(&(0x7f0000000000), &(0x7f0000000100)='./file0\x00', 0x8100000, 0x27, &(0x7f0000000200)=[{&(0x7f0000010080)="00000008db0000000000000000000000000000000000000000000000250000006d70000000000000776d0000000000006f670000000000006a7000000000000061766900000000006d347600000000006d347000000000006d6b7600000000006d6f7600000000007765626d0000000077617600000000006d3461000000000033677000000000006f70757300000000666c6163000000006769660000000000706e670000000000737667000000000077656270000000006a61720000000000646562000000000069736f0000000000677a000000000000787a0000000000007a737400000000007064660000000000707963000000000074746300000000007474660000000000657865000000000061706b0000000000636e74000000000065786f00000000006f646578000000007664657800000000736f000000000000636f6c6400000000646200"/352, 0x160, 0x5}, {&(0x7f0000010000)="1020f5f201000e0009000000030000000c0000000900000002000000010000000000000000800000000000001b0000003e0000000200000002000000020000000200000036000000000400000004000000080000000c000000100000001400000300000001000000020000007936256278154566bdc19534e40b258800000000", 0x80, 0x400}, {&(0x7f00000101e0)="000000004c696e75782076657273696f6e20352e31372e31312d31726f64657465322d616d64363400a9676c696e75782d7465616d40676f6f676c652e636f6d2920286763632d3131202844656269616e2031312e322e302d3230292031312e322e302c20474e55206c642028474e552042696e7574696c7320666f722044656269616e2920322e33382920233120534d5020505245454d50542044656269616e20352e31372e31312d31726f64657465322028323032322d30362d30392900", 0xc0, 0xa80}, {&(0x7f00000102a0)='\x00\x00\x00\x00Linux version 5.17.11-1rodete2-amd64 (glinux-team@google.com) (gcc-11 (Debian 11.2.0-20) 11.2.0, GNU ld (GNU Binutils for Debian) 2.38) #1 SMP PREEMPT Debian 5.17.11-1rodete2 (2022-06-09)\x00', 0xc0, 0xb80}, {&(0x7f0000010360)="00000000780100"/32, 0x20, 0xc80}, {&(0x7f0000010380)="00000000000100"/32, 0x20, 0xec0}, {&(0x7f00000103a0)="1020f5f201000e0009000000030000000c0000000900000002000000010000000000000000800000000000001b0000003e0000000200000002000000020000000200000036000000000400000004000000080000000c000000100000001400000300000001000000020000007936256278154566bdc19534e40b258800000000", 0x80, 0x1400}, {&(0x7f0000000b40)="00000000000000000000000000000000000000000000000000000000250000006d70000000000000776d0000000000006f670000000000006a7000000000000061766900000000006d347600000000006d347000000000006d6b7600000000006d6f7600000000007765626d0000000077617600000000006d3461000000000033677000000000006f70757300000000666c6163000000006769660000000000706e670000000000737667000000000077656270000000006a61720000000000646562000000000069736f0000000000677a000000000000787a0000000000007a737400000000007064660000000000707963000000000074746300000000007474660000000000657865000000000061706b0000000000636e74000000000065786f00000000006f646578000000007664657800000000736f000000000000636f6c64000000006462000000000000000000000000000000000000000000007a6208512f0f0d4441b7cc7fbb177f01202c9b929d49d1e4eed99ef8b9f259b142991b", 0x183, 0x1860}, {&(0x7f00000008c0)="000000004c696e75782076657273696f6e20352e31372e31312d31726f64657465322d616d6436342028676c696e75782d7465616d40676f6f676c652e636f6dffba5b2920286763396df6505d6e4a046269616e2031312e322e302d3230292031312e322e302c20474e55206c642028474e552042696e7574696c7320666f722044656269616e2920322e33382920233120534d5020505245454d50542044656269616e20352e31372e31312d31726f64657465322028323032322d30362d30392900", 0xc3, 0x1a80}, {&(0x7f0000010640)='\x00\x00\x00\x00Linux version 5.17.11-1rodete2-amd64 (glinux-team@google.com) (gcc-11 (Debian 11.2.0-20) 11.2.0, GNU ld (GNU Binutils for Debian) 2.38) #1 SMP PREEMPT Debian 5.17.11-1rodete2 (2022-06-09)\x00', 0xc0, 0x1b80}, {&(0x7f0000010700)="00000000780100"/32, 0x20, 0x1c80}, {&(0x7f0000010720)="00000000000100"/32, 0x20, 0x1ec0}, {&(0x7f0000010740)="6f4551360000000000240000000000000b000000000000001b0000002400000030000000000000000200000000000000ffefffffffffffff0300060000000000000000000000000006000000180000000a000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c501deff050000000100000007000000070000000a0000004000000040200000fc0f00"/192, 0xc0, 0x400000}, {&(0x7f0000010800)="00000000000000000000000000000000000000000000000000000000e64ebd790000030000000003000000001400"/64, 0x40, 0x400fe0}, {&(0x7f0000010840)="000000000000000000000000000000000000000000000000000000060000000000020c6000"/64, 0x40, 0x4011e0}, {&(0x7f00000000c0)="0000000000000000000000000000000000000000000000000004000000001400", 0x20, 0x401280}, {&(0x7f00000108c0)="000000000000000600000004007800"/32, 0x20, 0x4012e0}, {&(0x7f0000000140)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\x00\x00\x00\x00\b\x00\x00\x00\x00\x00', 0x20, 0x401320}, {&(0x7f0000010900)="00000018000000000400"/32, 0x20, 0x401380}, {&(0x7f0000000600)="03000000000000030000000000000400000000000000000000000000000000002d03fbe1b9623919cbf4330c0052777156777d08aa92405703319bf6565f5509c227f9c9ef8a77af4ae1a1ebfda95bc1c1c2c4acc1db994e55497e43b8080fb86556517341d02a295000da583d17c760401732bb0cec9c9c597949e54e4724b46bc33617eae573c6160b6a1c05131161f043839d9c1af4bcb5e3e923526167c8533359c0cf26b83426e6a08bc96917da2f43e823d32a9c782b887a703d80ab30b8c93a2ea791748eff7451dd0a4c95d15b88ac97b3a0712dd2e9877cbc0585b720233c3d020e149ce0309564b7abc2ec9905f37dbe80bf46e1c4829ab2080071fd32ab55fed79601f873", 0x10a, 0x402000}, {&(0x7f0000000840)="000000000000000000000000000000000000000000000000000000010000000005000000000000060000000000000700000000000008000000000000090000000000000800"/96, 0x60, 0x402fe0}, {&(0x7f0000010a00)="0000000000000000000000000000000000000000000000000000000100000000", 0x20, 0x403fe0}, {&(0x7f0000010ba0)="6e4551360000000000240000000000000b000000000000001b0000002400000030000000000000000200000004000000ffffffffffffffffffffffffffffffffffffffff0300060000000000000000000000000006000000180000000a000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5000000060000000100000007000000070000000a0000004000000040000000fc0f", 0xa6, 0x600000}, {&(0x7f0000010c60)="00000000000000000000000000000000000000000000000000000000804c01b0", 0x20, 0x600fe0}, {&(0x7f0000010ca0)="000000000000000000000000000000000000000000000000000000060000000000020c60", 0x24, 0x6011e0}, {&(0x7f0000010ce0)="0000000000000000000f00010000000510ec", 0x12, 0x601240}, {&(0x7f0000010d00)="0000000000000000000000000000000000000000000000000004", 0x1a, 0x601280}, {&(0x7f0000010d20)="6800000000200006", 0x8, 0x6012e0}, {&(0x7f0000010d40)='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n', 0x16, 0x601320}, {&(0x7f0000010d60)="00000018", 0x4, 0x601380}, {&(0x7f0000010e00)="000000000000000000000000000000000000000000000000000000010000000005000000000000060000000000000700000000000008000000000000090000000000000800"/96, 0x60, 0x602fe0}, {&(0x7f0000010e60)="0000000006000500000000000005000000000000000000000000000100000000", 0x20, 0x603fe0}, {&(0x7f0000010e80)="00000000000000000000000000000000000000000000000000000001000000006e4551360000000000240000000000000b000000000000001b0000002400000030000000000000000200000004000000ffffffffffffffffffffffffffffffffffffffff0300060000000000000000000000000006000000180000000a000000ffffffffffffffffffffffffffffffffffffffff05000000000000000000000000000000c5000000060000000100000007000000070000000a0000004000000040000000fc0f00"/224, 0xe0, 0x604fe0}, {&(0x7f0000000080)="00000000000000000000000000000000000000000000000000000000804c01b0", 0x20, 0x605fe0}, {&(0x7f0000010f80)="6e455136804c01b00000000000000000", 0x10, 0x7ff000}, {&(0x7f0000010fa0)="00000000000000ffffff", 0xa, 0x7ff040}, {&(0x7f0000011000)="00000000000000000000010000000100000000020000000100000000030000000114", 0x22, 0xc00000}, {&(0x7f0000000180)="ed41002080761000535f01000300000000100000000000000271dea6a556fd20b602d24417aa9f99ec3fde5ce0a9009a86f9ad03cc0026ede8e1ef5a0e", 0x3d, 0x1401000}, {&(0x7f0000011160)="00000000000000000300000003", 0xd, 0x1401fe0}], 0x1, &(0x7f0000000040)={[{@four_active_logs}, {@nodiscard}, {@noflush_merge}]}, 0x0) (async) socket$l2tp(0x2, 0x2, 0x73) (async) ioctl$sock_inet_SIOCSARP(r0, 0x8955, &(0x7f0000000740)={{0x2, 0x4e21, @private=0xa010100}, {0x307, @broadcast}, 0x8, {0x2, 0x4e23, @multicast1}, 'veth0_virt_wifi\x00'}) (async) ioctl$KDSETMODE(0xffffffffffffffff, 0x4b3a, 0x1) (async) 00:33:39 executing program 1: r0 = syz_open_procfs(0x0, &(0x7f0000000000)='net/udp6\x00') r1 = socket$inet6(0xa, 0x2, 0x0) setsockopt$inet6_int(r1, 0x29, 0x4b, &(0x7f0000000180)=0xfffffff7, 0x4) bind$inet6(r1, &(0x7f0000f5dfe4)={0xa, 0x4e20, 0x0, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01'}, 0x1c) r2 = socket$inet6(0xa, 0x2, 0x0) setsockopt$inet6_int(r2, 0x29, 0x4b, &(0x7f0000000100)=0xfffffff7, 0x4) bind$inet6(r2, &(0x7f00000001c0)={0xa, 0x4e20, 0x0, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02'}, 0x1c) bind$inet6(r0, &(0x7f0000000200)={0xa, 0x4e24, 0x1, @remote, 0x1000}, 0x1c) preadv(r0, &(0x7f0000000140)=[{&(0x7f0000000040)=""/178, 0xb2}], 0x1, 0x14b, 0x0) syz_open_procfs(0x0, &(0x7f0000000000)='net/udp6\x00') (async) socket$inet6(0xa, 0x2, 0x0) (async) setsockopt$inet6_int(r1, 0x29, 0x4b, &(0x7f0000000180)=0xfffffff7, 0x4) (async) bind$inet6(r1, &(0x7f0000f5dfe4)={0xa, 0x4e20, 0x0, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01'}, 0x1c) (async) socket$inet6(0xa, 0x2, 0x0) (async) setsockopt$inet6_int(r2, 0x29, 0x4b, &(0x7f0000000100)=0xfffffff7, 0x4) (async) bind$inet6(r2, &(0x7f00000001c0)={0xa, 0x4e20, 0x0, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02'}, 0x1c) (async) bind$inet6(r0, &(0x7f0000000200)={0xa, 0x4e24, 0x1, @remote, 0x1000}, 0x1c) (async) preadv(r0, &(0x7f0000000140)=[{&(0x7f0000000040)=""/178, 0xb2}], 0x1, 0x14b, 0x0) (async) 00:33:39 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xae030000}], 0x492492492492805, 0x0) 00:33:39 executing program 0: openat$sw_sync(0xffffffffffffff9c, &(0x7f000000a6c0), 0x0, 0x0) r0 = openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) read$FUSE(r0, &(0x7f0000000100)={0x2020, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x2020) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r4) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000000540)={0x0, 0x0, 0x0}, &(0x7f0000000580)=0xc) setsockopt$sock_cred(r5, 0x1, 0x11, &(0x7f00000005c0)={0x0, 0x0, r6}, 0xc) r7 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r7, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r8) getresgid(&(0x7f00000046c0), &(0x7f0000004700), &(0x7f0000004740)=0x0) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000000540)={0x0, 0x0, 0x0}, &(0x7f0000000580)=0xc) setsockopt$sock_cred(r10, 0x1, 0x11, &(0x7f00000005c0)={0x0, 0x0, r11}, 0xc) getgroups(0x4, &(0x7f0000004780)=[r2, r2, r2, r2]) getsockopt$inet_IP_XFRM_POLICY(r0, 0x0, 0x11, &(0x7f00000047c0)={{{@in6=@empty, @in=@empty, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, {{@in6=@local}, 0x0, @in=@multicast1}}, &(0x7f00000048c0)=0xe8) newfstatat(0xffffffffffffff9c, &(0x7f0000004900)='./file0\x00', &(0x7f0000004940)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x2000) r15 = getgid() syz_fuse_handle_req(r0, &(0x7f0000002140)="07935f135e14e96ae236d6b1b1373bc380186accab55887276793acd35cd5f60fbd6c2f37bc5971208835db2dea48da6ec632d7e650b2643b95d132d46fc9386ebba72549ac9b1013c622dfdb528ae21c58cf8bfc4c201853c97576d07fb8904b3362517e8e124274aace2c7c3d99add6e91d0aaae88be3bfb71dae4545872086e881787358e48bfd7f0403f9ba692d2803c0eab17017a876cffb1f33a6852eed66bbde061134aef52102527e94587722eded53c2bc25bac59392f192da2f469711ee3137333586e0494d5ac5988f540c6a1e70fe30cc21e33edf05df5c3406951e8e947364c529aa43e41c336a4e294663b4dccaa03bf73fd679f8657a79d79feb769acb56fd6d9ad4b6e1a973d004c80f2f25f101143cda6fe60a87c4eb98da6b39b3089bd92fad57a2fb78aa6335a3f536e4092402ae0c44a8a9d69d59aa8e2ab7c3f3c610722ed25e7f4b8aaff5cd9398ce3588cc309ae2c84fd03057544c5ac1b89ac2ed750348ff0aa94bdaa68bb546b094c0888bc669ef331e1dfe7d6f729f8b7473ecfeebfac2cb9d193bd9d386e3fa1b7664476961f1c9d55017dadad276551a0117159c838f2e4a5be2affb946da4e51bc7193fef473f8b1334df365337bf590b0e119f6a069d3a3024f7d8fe3e6d56eef1dd143f296d2041c4cb5059506b407e82428f306dca0a559dba598a1a278014fe2cfd6e1a3c2a859952db4a66a5247570e7723027e07bc67398ffe81079df0aa60f4027daf4026d445c47c22ee18579e0b459cb547deb8c55a70ac2ff56496470029acd91f39f9df03dcf5f290cb97e83b2c7d2bd4bb0bf5e3eac5c0433a07eb650a9d7e1d23bc024c07f0384cebf742f6a54085de35353ec9f65d3078c6de34a14dc96f5d2678f41da63e7d48e7cfe31a9040c351d2d56f86d43925a85dc36d82884bd3d972b6651aa958abc2da6a686781d8c41dd1c50322423aa6e72914a196aef020a6f9df2fc2de36de5dc33076e3bc40e0bc36d14b10bc8436dd297e4fecdd8ad185bd2b160abd05a76b1c63b6aef4c28331317897eeccf113401db582709128a4f91708f748b1105581038b4b3f35dffc088c072fcbc30b8ae29615a30467b1531baba9b0d1abade2947bd049196589d72a08c91b150b656431d12519bd3e338c133da2f82fac5995772bb1e8e1a468ee9d56dddb74691742bf3acf575b39931db12c62a86fe2a22f6df8a9ddc512560c99b560bc4eccf9e2975dfc3b109da4a02e5a84efcc6faaf8600284702f76c8f826e8cdab4e5cf9adbdda27fac4dfdbca61baa77017687fb564e4bfca9070ad32c7921db5c2f3e3e48e1b662d7216ad5cc120d73b48e8ef552f9458ebf1cb3ee0cb3ab68a977d33a2e8aacbb833495a34129e15b92108e67cee25684d3dac89b68b5650e9b4422c45482282a82d4414de218633f6449cf45765e02e27db39c91a889fd533f701f7eba4d3bffddf3d2a52f5b9bf552231f686807246f7bcfb081a26bfadf92e608f94b7026aee1a5c571fa92f2515d11aa06b1938ba4a42b044102db8977d9ec74dfb0d787b93b8b8850cb045af7208281082950792ddce7e3b11246d949c386d63a9cc5ea30ad2c790054dc089a680cbeee7fbeefb0880ac52ec7fe61fdf60789f9f5df74a849adb50e8311fc7d088434e897954c36326410baf856cb08a5add28c3f06cd025d52eefcb56839569bcb22c2fcf865d5dd3b29c8b92f75fa032a518681b0ec9f939ba3a9b06432fd330d6fa7b89b78ee648730dac06e80d9b8e5a2d8edab193ead6887f632941bc6a920ceeef1fb38be929050932b0e78a56387e42db817982c5d6cb596f1368ce98112ee055aed44aa3b91f1ee789c605d011a767d4b0fec133d446cc8ed752d5b7b63308fbb01bb918e3dde0885122c613e2c32ee189cfba2bdb6a553e2736afdf2fae1ccfff99c4bbc997b48e99b7757a3514b3f218aaaa96457fd257bdce1e6548e64ff7249da7bd705c9fbb0e16dc9eb2e63020b92108b947b439652a21df4e8bb90e17cb0edf2b2903caed3e0efa3b3a9f860ec448ac1e9cb95fbcdce8141f6dfc0c96bc9a4a95382b3a8880b740e336b694c38dccc16dfa7753cae616e62c10dd9e796ba07ef87002b26083d4ef7e2f2983b856b1b152c6233e6f66ad5825040e1092729a7b235b84ba47f646f67e5e75f17c0a86e1fd00d762cb538722d23e28d3716fd965739014ab25aac9f3651544d0c8007a8c7ded145330859f8026d8f82456fa184cffdf5efd57e4283c89fae378511e32c3e65df8bb020e84180aafd61a93c2b8f79664a584deddfd6aa7e1279ac1a3be97a3f8f3eaa947580d98ab2c9b33645fa266914e99f8166bc74dc5d87a07fa8e8bc21ac77b49ea332badb952524a58736b4b698bc4671dc19f7d16d9b51c9047a297e3af107a33ed8003644a211c1557267a9dd7cb842a70854d8dd0a6d9f45fa51d5dc83087490a5dc1af259d90b289d4421a4d63d2b006f647a4af7cfb70b52519d4c0eae4804ba477c17eb3fd0d1914d894d1d3c3db1638b2022dd101ff43bf50524a4f11cb8bb0b3308aa5c00268e3b4af9c62f5c2b32855775790ef7f38d39e2dcaafb268da9d233c10c05a808e60d5f1fac05a18933b0e810686fe078d0322875fc22798a192cf96e8d29804a91cedec662a6ce998db5189f2b29b0c447dcd61be159847ab957bd5c17c4996ed6151c317da73704c291f3f13014b32269276ad5edc714bec227e80ced32b22b4a66f9ffb50cd6bb0460d71e734db1a139f47b5bfcaeb9ecda1cf2c32a9b4b654026b2f983da932a868b618183d3ac7bfed6cfa6f2e895249d5cd33ddc7ca779b1d1579fc833f9d25a90fa7e04557b1bb421cf654b28df48f558100b3c6480950e04f1d9ead28f27b87df17488c7846b938b192f48eb0acf036a5af0fc38d9b49d8f77c8cd3d0c80b6fe66ac54e338dc3d5de2b0366490ba9df383215d0fc90fe3143a0e02b33865858cc4dc0c9160b32e127f92f6a270870b83f1d9299f99983b15fa642a7b96e8f1ff0458765dd1fe6a71dc44f317df30c6b197a5d64227571b80de20de3c0623a11abc0a68a7cc3226b4f6517476013f17302176369fb647e2672d5abb5c19987761d61f91ff25de69a04675afd5f5284bbf6e48b7af79311a903ec3a9da7e9087583f6c6f44c724df8fb5f1a4185023f4114e3b34ca29969267fbb936845f41a969ba5ade4c259035d38ddf4456e72c9d36262f92a9ecb1c06aca7babbd04f940d6b5ab5d0578face7c4fe2d18e116737feb2a3965a1cf6c34d5895d78b921313dc47555e9b7ed416735c0ad141cda25cc1f0b085500bd6205f02b8fd6174f02f084e7af1140b1b51805048bc5ac7e2bd01a4b01bdd62f200a76f8cdf2453e4123bb6cee93983d58d403a9f65372451e434f7bea486745029a57b92744f4301c61e3700a4ce45b4810e5d891bf4c9aff5d4dbb80000b0b24f85c49267160f44e00f5089e62718968a1add197d24e622c570c063491249b7ad3866a91c7e6f72dd644e89727873c11df0bc102d2e4527e844a45720f8a3ad49ebb123a8eb2d22b5e8128e4ff7ec82ce0d3dd9805b4321798176979d806760072fc332dc2b11eb9d7444a96d545b26a63bb6b71a65a9ef163399e046986ab9217175c3cd64a8a7e2a970467732c61bdd92e45b7e6cb03f6ff70a13d2060520a56e03244ecb24283357400505f06bbff7efc44de1dcba7a483f137aef81b91920436a3b2b3b827050be763d779039067d19c6b877d9f3575e6d3cb307c2fe2165050907dc61c7eb405ad14c91ed62b1be1c65a2070509d105494f84107dde28c8cb1c603c446a4f3ccab0d85960c3dec4bf28bb44e7ad1ad8e1d87a198fbf43ac747f0795040dd821d9c946b11b00a429797d59c0fbaf2634650a24cba9cf9f41ec118a5c2341e632944f0cfefd2ada62304d35a9aa1a3462d75e592e064fdef9eb57e93599e3ca834fa10896b36ec1104d957308c1435daafbcd0c48e68575c6d50f608198f6214745aff9251dcd4a38d76319ec2d88acb930d4b50090d96873d94c1aefddbe69992a51e85007964b04334d577b25e7c15e6976d2bef2a23c1ab26b600af6c5fb40fdea6080587c778570363bc93ca2ca6f13521c8794970c43d5bfae4409ed173395c28b4e86970494b11fda499a0414ad410b56ac9db38300b0d553037bf528e943c440a82b893fb91903c8bb04372740d17accb5bc62c486344bf7ef98cbbf568fa0c1a3ad554c93d713e44eb955f21d29887dcd257b3a49951be1a9040d65446b75bef3015e50adaf753d8f15d347cb1e5c4f1dafaf7a6036d2b44bb8eefa33b3614470369cc9e9c704c51e1bcca93b53a2fa2ae07b1c0986e6b1e1784410b1f9853f74cca7936672f52c8ed6b0ee65eb9cd0f1c8cb1735f9fb0c0509504e84dbbf24aced239765b1a2cc7622ff27fb1fc1ff68c7679d6ad76619728d118535a302e4270a194877d17985d5a4e5ec3edade2108fb119de90b4403a061d49563ef59d94f5db064af28213e1af4395d1e3da9a49153a74c62a7e55ea57db2477bfd461147185dbb72d50ec72fcde63d57fcbea3c25134b98313542f044d7487e5c70ef26cfec2efee4cecc3d1e2f01a1c8332b88491ceba519ceee0460694a64cee761a5b2fd72956bf4712e6a2e502be93ff862cc13a271bba0fb181f96510027bf6a5afd18e743988e2179bf8c3b7dc1c2d8ac43f8a493e68de99d92bf3fe82f49a64153b84949576e0a7ad909e8875cc1e50d9445be98f87fd415fd0bcf382a4f89bce2ca32d57732fa4b61f4db315e324dd3afcbc1d82bd9ae86659ed7277ac1858a2d79877eb004a7eeab5eabc70f2af5bcabc7fd02d77320b1edbd62d21eec4033ed6355a755c252021391e9dc648945a6a28b6343deb43010bc95dd287602609ac279ebb7fbfff50748d3f10a0f2cff503f944687dee3509cdf5c9373b425d4f0c4ec8ca29b95f1d6ba707e3ab47d39696f3fb06b59dfb20cdbefa23afef1e813f2ba6637b6177287a4a2b41f7584512a81eb2e7ea3c025a9eebcbce4672d497b1b5f0f3402f82cab5b910b5f18d48ac6212a604b87570d1b057a81a478cddd128198c1e20524d2d432f1e01180b6257898065de39a16889bbbb05e2e3fb7b016237950988f4b57c6733188801def4064b7d9703543a277b5da519816687279513c7b6a5e48782b904330328c62a9643391de3a20ec1b23be73ec6aca606322418725fe64312a3c0d1dfca3c18cebfb5dc09ed7b4470682a397177a369756d41479db02be5e0b7b9340ae148f2495f9ed113c50982e5c971ed860264b3a3d6f70f2d31bc49e7641abea3d208020973663a2decb1c56dbd0f8f303c6bd2f51122e457689a2ee6cc0625071c08615993afd4e678190b50b01c963c91a73f3d799c2b05ca35bce8f33218852923bb0526a6f8e66f7416945e97082a41067cf08fb59b24f29451953942b4a071c49d8a455272f6d3ddbb0f328333e7d56aef8e15cd8760b9cc8d80c45f2c90bdb476d38197c2ac5eb0b398a63765dc532b040874a3e7c9f1c08c4651b364115cf59d9401fbd4ae10f50eb3115bd4f831861d608ebb7ecdb28918ef796fdc75b74c68c4570b68745bdf6e306403919ed34ce1116a8de27f2744ee74151e4977249d868e52983e03ab32d980c92e13218d58e51aa20266799ba009dd54b427c842836762ffa1a37efd5f237be282f694c103e6d60cb23c7f88521dfa9dee389dde02a4675f8b4baa8b968571f7d7cf72e9a37887633fd77391f7c90ab134a9c55d329a0f327d856f6e4813f1f2b137d1bc5466184432e5c1a0893d75b1ba3e101dec4e509716a9962bb8224cc60701aed421a3bc0b748e195a4f4f2227bcdd5f29ccb33490cddc3a5893f89fdb633ae85f04374b6b335dc39f9ee046635be0868244a84ca4e6b68ddeaa460d28021b0c3ba4826b653a0550bc31475be0648af2f949918fb8083be49bfc3a7169351ad258ab37d3c5c9330d7de4c413bccb46ba16e51bd517b5fb79828b7f15ff62b362f89b14be23766ff4a99fca6c39cd61264a53738b5deb205a1b9a71cc093bf2fe64f8999987182403553071d73cc462b0c0e9d2969be8bc19eadcd27624c75fa031378811b897190bc661874d3b3bd2a0cbdbecd81644539c7d24dd927c9ecabc3a00d670f6419ac72bb82f881cb16509d9be6de98e8e50c27375f6ea7530fa7a7be0e15f837b6e02305aaefe42eb1e2db7357b375be06af62265900f4ecdf96f06690a2cc0cbc3a660158cfbd1e3e8641c1a195de26429bd37b6333edd6b86318d0f4527f2400bb912203f8f5fdcb28cc0d92ed7cde830d93e773089ef145c605de8c7a74d4f78f5a1297cfec085c5d896cf7ec97b986591ce317d7a4b22a799d51aed90790f8ffd3a0ed1d0d953841068963f26b9f82480e9b852ebb81ec592bc57b3f236cca8e2d33479fb2bd5b1ba3acdbcf094ff8c7fd2c370d5dade5335fdb1fb3d147e57d36ec940e7947e4e843dc7c5eab9f69ab44eaff2507b4e5d5009b0f69eda8ccdef4c86f23246a4670d3f9163d622a9b098164f24120b0346360db0947a9bbafdd924917084d8addec87d205830dacf25f9a8c5dc96d6126e07c13fccee772353fcedeb605133e893469190684caa463b31ee84078fbd09c594b882326d80d825da46752be4f91b7ba41ddb6fdc4eabd62761447cf586618b96ae74853a4c4bf18b287d996836bc73862d111d68752979d199a9c958520b7e24ecce1ae9fcc96bf520ae87d0c63bb939de7d5782773f8d5e97801bf9e2e46fcfc4faf1a460bf48e0b2310433504301cedc4de76c0a72a144df0db5d33046b81a5572a182b9d80d0a64a6d72da121886a1b099712e31fe7da6eddef305a47d1372f5285e95129eb4444190c2c2ddc7497a38d4c447a0ad6d979ce430b6e4992dbf5d93afaee46ad15c8982660d66db4171fd057205347d4d8a5f707955c285e1ffff53210d7e3daec6b200307c2a8c329e3be07d332cacfd121cb7deceffe94dd4778016e8e450d56ea1e0c24411203af53266bb0ebe19a99503d5f9115e395f7850f2ae357bcbe16820042cfe0a48f42cc29bbe11ab74223f0c87ce836202b79ef373dde3438cfe9e716959b4c3a6f8a4ef62c0d4e1676a3ab63ed554c5c7d364923a559d272e8af8ed70f7bc695713098e3c2cf8c91988757f2baf347aca36fa7a3f524ab8368527e5c0c7668f62f4ed9c43c1d2b1f79db4be211225048bb5d74f89a1012630d21e930bec893ee6839dd5e793fe175aad4fc96f4c44ae37f30ef578f730122edba1df3c97ee11ff3dda9b2c9cffa7ac68fd9496e013f29a3a1d90b1d6baebb2b33a1f6ee9c039abc8bd7c5dffc0762a8298c5d707e561008cceada4ce25ff0ba1c6823fdc481570bd46ebb4e24084edd23a61e2017278748116fe791077bd9cacf3ac0c2384ef4ac0317ed3ff5b27da656dc5ea718d24ebc5072891823147eb4301f6119b0c0d966cd0a4773d8246f7abe7dfea652a501df281c8163acd563f0cd18d748d660c7f08b11a8fff3f5b8aa59e40bdc95dd523c2fb51e1e1f1b8e2cc0f4f16ae1bfbb22d070c51c6a4e255501fc37a46e81e72b1c1cf4be38d687049a79c3b2e76e098299dadc8b114fafc194a2052a91bd03ae2d24def2d9ff3a566d1600da45074ca24b7ec6c389f5b277ccc7c3d6f9c5992a49504b3573a807852b26b0671f22c783bebb601e007b96859a11813748e3e4d1dbee6daf3115f2b6fc329889ae5acab7bc4a271ec6ed36da33eabb2f6c0e2422f1ad99b63c7ab564a5bbcc8f0684dbae67f1b717f45f40b270b632661e509d04ac0859fe07e99d6a1186ef5679c1a578900e7a6c4afde45fd5fb8d4e09af55a6be351ba6022d21b664cc7a12e764a8b1324e78324f9e700d40fa78686eba06bf858a3c9c57a0b3cf3c5a26cbbd3a6c94f859610f38c65da21d8971d9a111db351207aea340a31e1f4c2891d2f0a8f1717a0238f1fc5f5d2ab00e67290f33db3fcbbd80265d94284f507bb170f1372e443710f79e8f6b97b1ae5fc0f411f1baac59ff73fb7f1d6e14f628d44a3ffff4e8041d9c68508311d2c10d47e2b757ee2508a75570306388b87ecac059db275c2eaf2a57ad90b6c0d7a393275cc481ca0ba713c9aa2ff9cae0e827a42a108bf201cca46769b0b731454def29cdce30288d77630f22b6af8a745477a4de79a91d28ec61e856057a91b6f66f076dbc99ca62537a5b5cbc3ba7f0b7f9f951cf50ab3a1579834fbe40fa555c72fc814a7ebcca1129ef8fbe29693f3811cca0b7536609d762ca324ed5570aab9b014fadfbe6bd0781618413b77a9db17e93229a7a88a84f598b86c7b02dcc8d3acee477f278198dfb65e5d760401a3387473d99c734665174bd742c063e72335c48474e43635df9553f06ba0d8858a6afcab2b3dd248b2d1f1bee49a47260112ddd32cc271b00f508cbd54ed797bc5c94c03f40b0ea87ffd52266bfd0352d6a73e56206eec589537e2d319ccb1d2dedb46d7c640124157a6dd7539fe26197b8abfe9dffb9b64b6217e9db11b83c6c6bfe4638e085c3d738d7811fae4d351495e5aeedc25e7ae9175a11297c08218de98ee8a5c8874186bc8a891249f305dbdb6329555ff373acd7bf2fcfba73a5900118f1f316261d14cbd831e3defedbd9f57a77daf1546802123160d22bdc3f68919af18b01437486cb81edbc71f81740994ebc9cd1f02136dd6b0f8da3f9668299075db65920b3aa68063db574477d9114abffb5f79086b9f08e011524dfd57adc6a280581aad86ba75a5477cd17bfa5e228797bd48f123692cbc26c8167b3be88a300cddbcd9885133e0ab834ac0247bab3bdcf632bf0a645700b8ffae82f85992be4e69925230c9a4b0cacad347ccb8dbeb88f6e1ebd7e14fe695670fdf757b08ce63e8de491ba58fe703a6e339b0d69b3d10d90deaacc8e8e57c1732705a3df563f8a052e8d2a136ef7a1d03cdfd51110dbad378282e89a8624b90c04e3edf38f9d49d151f540513f18e076ebb8e37f3ae6c0333ea38487dafaf883597330419a58f1840e8d44740a97765cbd9325d79908ae14dbb5c7f116dea9e819f8cf4a82908bfd8d2a36a060aacdceae4ec3058598982505fac4d45785ebdedd76a5a2e14ca7195daa6e1cbac05fea7bea7105eda9c6017867efed08ee782f37a56114754b03e65d2751801e528a1cbf2440e9579778b053e726707913d22884b635df01f14796a782422b02f43786395a62d1e163332a0c831c61c941b6aa258d236b58716c5c82a9da9d20dcb2fae36e08858dcfb255a8e596c314d3cf11f5ffe79239e321ce7b56aaa1b0f517a1b8447027c4b83668daa7d09830a0946ced5acd998e8d3fbe5ba80d5661e9b49b7dac9c99f21d9cf397ad57683b1a3aa8a35824e1c563d745f705ec6c08ea9945b86e0915f0881b500ef7949e9524037e7e4b7cb4b04ec125665272528a29189cfde5c43273e7f08f6139f1e5d0306531743e5fec0788aebe321ab69d063b64dabab77c202acc4e0b716fbcaf8d9cec2c29e47c1bf768bb1975ff2361dac5506036783ebfd1122d04078404bc9fac06838331bd58470de0a9740e4f2cbe3e98199615dae1cec7e8e81d5172d02c1819075ba436ccf9e6e4ee02682a76c6311ede59db6f4bd4c445fb7eb93ca65f8d6e1abe91e6bb964bab7ffe2df8d4cddd086b144daa9b5ff9564dcf21ac2aad30ffffc13ded9c1cab516b8bd7322ba4dd4dc8e9b8e87c420dfb5e7bd9bcfbcfb85ab282d55d297020ab718541f655e875787e33a0b1d8c2d2f4a5f0b3847ac3da6db05b6c4d5f557a8d49dd290b03964704304e535c9d906d7653a85eed087733352d70ebe953dfbdc95284b18b310eb0a740ea57bd8ac2c7bbed61c6a281880ecebe4deaf906791c405c88c5e3c736f3e9a9bf5fbc1514958d86cf3df03a4084ad7a5905c2c1506d0faa2e4e3475575d7aa4c2463742f0df32f69438d2a6b29a1d65904bb8bc2e75d146828b7e3da07bf294f1dcba1476cfe86d45e25533553e604673caffe496e8aaa312c0495af8e99a1d3f0f8b4e430f0bff5714ae71e890058d215a1cbc9ca78ffdd0114caf1ee4c7295a241fcf0f4fd55deea8490b6d6b8773560d1430edbe6a8df84676edd872b34e108b6adae9228644572c151b29a7976e6e1b42ebcbe4a1700c9b65456fdb7c1604cb8412178bd367e1bdc13ba42ab3f19b0beceb2ac01bd1fba5a55ef23bdeb2da1d75db616ca150ffdc29c64b49595a990f4982ee9a1da2e34e32bb6c2144772c46f0f98e946c5f441d6478fb3a6267e53c046c53d5cae3e941908a636921ab602d4836a940ec70d4202414a5bc8eeee322223ecb9f9d75114ad5e8d21774c81d0c6be3787c7152b64f2afbca8ca82c796de8a17d31d95e6c69542ff8b5aea6ceb28ac106b3ecb227277ce906ff6d1d4efc57c25c33b8700da6315ca070a99b92fc3beb74858fad5f42f178b727ec22dd80f119b5f43dd7c6191f0f4c8c39e14ec548e8f533a9d94734fcd67b368d61d00736f12684a274725ff0d2f82212bbac18b6a2e522327091a8c612765fcb3d53e26790cd78f76f3f13d96618e1e39daa73883ef9162e87bbb8a165175cee51882736f60c1cee36a2f632023bc3b79d0b5ae80c65e3400e6677b8f685c9d19fe379a646641bde39885f20fab00f7ab0bb41d994c9ca296332c65a07bda8969297597127e462a361326f6122d55d0d7936a0acf506778cff4bb3cc6de790d5b2a31612e4ffc8d90a289a0661ffa426677c35830d46fac8a89c5ca394a4a62ff7bc8173db3e066e1af06bacd43671a43f63864f48918f3a4cb8e05cf3f6bde639d75bb86a5155cc0238cd8091e4b9ccddff879577d99e5173ba1b4c744dbcc2adbc3ea9dfd1afd6cca9809ff5b00553cc615b458a002284099910c1e9630dbf3405c8c5434a75100281ee47d4f73d89156163b166e092d6e607882f46c1a065399acea475fd539416de229679e7ca9b0eece302202892513552b8115bb9c33215a84e46a3f107635ca9cbbd28c1f1efe65b678bcdd24773bff7499ac51563f105cca82cf464e5ac2518e8154c438c5b60b01d24e28485b3934d5c25ac6c3ea7a68870239b9f142a703d7e6f388f2c17f209a41fa1795c282d278d12f1ac620c0ba370a1d6d301eea1fa2ce706fdd651902504c81d1c2a87423b24704290c550875195c50ae82f044b878ec92f0b6b860346433f30e6d2b8825163c94b2e9cd6364be82912a9b2fcbded0e4b3529ec539150370fb083be520df4267996f52d22a2b8b92da1cdb89291afda7d725a1c99422041a449c8da227f5583570f0ce35066a6628d675b1e7a9cff26876bc2fb81a40ed3b799a9973cdb5bdaf901b0652c6b0623e428b4cb16c395538b198dcc8ede2e5ee13bc62377f4f56fde33889d3f33d8c3085936d9a6b2d3c0afa3b70901ab8954e7160a837d57ddba5d2c9921edd387f70330ff62cc56997f6e617023cba301608", 0x2000, &(0x7f0000005080)={&(0x7f0000000000)={0x50, 0x0, 0x80000000, {0x7, 0x24, 0x7, 0x80040, 0x5, 0x7fff, 0x0, 0x47}}, &(0x7f00000000c0)={0x18, 0xffffffffffffffda, 0x27, {0x6}}, &(0x7f0000004140)={0x18, 0x0, 0x8, {0x5}}, &(0x7f0000004180)={0x18, 0x0, 0x1, {0x5}}, &(0x7f00000041c0)={0x18, 0x0, 0xfffffffffffffff8, {0x4}}, &(0x7f0000004200)={0x28, 0x0, 0x3, {{0x7, 0x100000001, 0x0, r3}}}, &(0x7f0000004240)={0x60, 0x0, 0x0, {{0x101, 0x3f, 0x6, 0xe7, 0x8000000000000000, 0x2, 0x6, 0x8}}}, &(0x7f00000042c0)={0x18, 0x0, 0x91d, {0x9}}, &(0x7f0000004300)={0x2f, 0x0, 0x3, {'/sys/kernel/debug/sync/sw_sync\x00'}}, &(0x7f0000004340)={0x20, 0x0, 0x2, {0x0, 0x15}}, &(0x7f0000004380)={0x78, 0xfffffffffffffff5, 0x7fff, {0x3, 0x1, 0x0, {0x4, 0x80, 0x8, 0x2, 0x2, 0x7, 0x7, 0x20, 0x7, 0xc000, 0x4, 0xffffffffffffffff, r2, 0x8000, 0x7}}}, &(0x7f00000044c0)={0x90, 0xffffffffffffffda, 0x3f, {0x1, 0x0, 0x5e, 0x1, 0x5, 0x5, {0x4, 0x0, 0x9, 0x1ff, 0x7, 0x7, 0x0, 0xfd9, 0xa5d, 0x6000, 0x3595, 0x0, 0x0, 0x229, 0x100}}}, &(0x7f0000004580)={0x118, 0x0, 0x8, [{0x1, 0x0, 0xa, 0x1, '.[!-\xd2%-@{:'}, {0x6, 0xfffffffffc000000, 0x1c, 0x80000001, '/sys/kernel/debug/sync/info\x00'}, {0x0, 0x3, 0x0, 0xffff}, {0x6, 0x9, 0x1c, 0xffffffc1, '/sys/kernel/debug/sync/info\x00'}, {0x1, 0x2a4a, 0x6, 0x1ffe0, ',{\xfc:,\\'}, {0x6, 0x1, 0x1c, 0x7, '/sys/kernel/debug/sync/info\x00'}]}, &(0x7f00000049c0)={0x598, 0x0, 0x9, [{{0x1, 0x1, 0x4cf2, 0xcd0c, 0x9, 0x81, {0x4, 0x5, 0x9, 0x6, 0x0, 0x1000, 0x100, 0x10000, 0x9f5, 0x4000, 0x1, r1, r2, 0x1000005, 0xb3}}, {0x5, 0x4c, 0x1f, 0x4, '/sys/kernel/debug/sync/sw_sync\x00'}}, {{0x4, 0x3, 0x9, 0x4, 0x8d, 0xd804, {0x5, 0x0, 0x7, 0x9, 0x100000001, 0x7, 0x348, 0x66, 0x2, 0xc000, 0x8001, r1, r2, 0x0, 0x8}}, {0x3, 0x9, 0x1f, 0x8, '/sys/kernel/debug/sync/sw_sync\x00'}}, {{0x2, 0x1, 0x6, 0x4b, 0x1, 0x8461deb, {0x2, 0x2, 0x0, 0x8, 0x100000001, 0x2, 0xb767, 0x91e6, 0x6, 0x8000, 0x401, 0x0, 0x0, 0x40, 0x8}}, {0x2, 0xac, 0x1c, 0x2, '/sys/kernel/debug/sync/info\x00'}}, {{0x4, 0x3, 0x8000, 0x5, 0x6, 0xda7, {0x2, 0x100000001, 0x5, 0x9, 0x3, 0x5, 0x7fff, 0x10000, 0x1f, 0x1000, 0x80000001, r4, r6, 0xff}}, {0x0, 0xfff, 0x0, 0x8}}, {{0x1, 0x2, 0x5, 0xff, 0x4, 0x3ff, {0x4, 0x7, 0x3, 0x80, 0x40, 0x2, 0x0, 0xeb5a, 0x5, 0x0, 0x90c, r8, r9, 0x6, 0x326}}, {0x4, 0x4, 0x1f, 0x800, '/sys/kernel/debuw/sync/sw_sync\x00'}}, {{0x4, 0x2, 0x401, 0x4, 0x1, 0x0, {0x5, 0x400, 0x200, 0xfff, 0x4, 0x1ff, 0x4, 0x200, 0xffff, 0x2000, 0x80, r1, r11, 0xe176, 0xaa}}, {0x2, 0x200, 0x4, 0xffffffff, ',@!-'}}, {{0x4, 0x3, 0x4b, 0xf8af, 0x5, 0x3, {0x6, 0x9, 0x1, 0x702, 0x1, 0x3, 0x7, 0x1ff, 0x100, 0x3000, 0x1, r1, r12, 0xfff, 0x2}}, {0x1, 0x7, 0x1f, 0x6, '/sys/kernel/debug/sync/sw_sync\x00'}}, {{0x3, 0x1, 0x1000, 0x7fffffff, 0x6, 0x80000001, {0x6, 0x8000, 0x7, 0x6, 0xe57, 0x1, 0x8, 0x7a23, 0x2, 0xc000, 0x80, r13, r14, 0x494756ee}}, {0x6, 0x87a, 0x1f, 0x8, '/sys/kernel/debug/sync/sw_sync\x00'}}]}, &(0x7f0000004f80)={0xa0, 0xfffffffffffffffe, 0x81, {{0x3, 0x3, 0x9, 0x39, 0x100, 0x8, {0x1, 0x7, 0x7f, 0x8, 0x8000, 0xe827, 0x3f, 0xc2b, 0x4a23, 0x2000, 0x8001, r1, r15, 0x3fe, 0x2}}, {0x0, 0x9}}}, &(0x7f0000005040)={0x20, 0xfffffffffffffff5, 0xfffffffffffffff9, {0x401, 0x4, 0x2, 0x100}}}) 00:33:39 executing program 2: r0 = syz_open_procfs(0x0, &(0x7f0000000000)='net/udp6\x00') r1 = socket$inet6(0xa, 0x2, 0x0) setsockopt$inet6_int(r1, 0x29, 0x4b, &(0x7f0000000180)=0xfffffff7, 0x4) bind$inet6(r1, &(0x7f0000f5dfe4)={0xa, 0x4e20, 0x0, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01'}, 0x1c) r2 = socket$inet6(0xa, 0x2, 0x0) setsockopt$inet6_int(r2, 0x29, 0x4b, &(0x7f0000000100)=0xfffffff7, 0x4) bind$inet6(r2, &(0x7f00000001c0)={0xa, 0x4e20, 0x0, @rand_addr=' \x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02'}, 0x1c) bind$inet6(r0, &(0x7f0000000200)={0xa, 0x4e24, 0x1, @remote, 0x1000}, 0x1c) preadv(r0, &(0x7f0000000140)=[{&(0x7f0000000040)=""/178, 0xb2}], 0x1, 0x14b, 0x0) 00:33:39 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xc0010000}], 0x492492492492805, 0x0) 00:33:39 executing program 4: sendmsg$IPSET_CMD_CREATE(0xffffffffffffffff, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000280)={&(0x7f00000000c0)={0x58, 0x2, 0x6, 0x401, 0x900, 0x5000000, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz1\x00'}, @IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0x2}, @IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_BUCKETSIZE={0x5}]}, @IPSET_ATTR_TYPENAME={0x12, 0x3, 'hash:net,port\x00'}]}, 0x58}}, 0x0) 00:33:39 executing program 0: openat$sw_sync(0xffffffffffffff9c, &(0x7f000000a6c0), 0x0, 0x0) r0 = openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) read$FUSE(r0, &(0x7f0000000100)={0x2020, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x2020) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r4) (async) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}) (async) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000000540)={0x0, 0x0, 0x0}, &(0x7f0000000580)=0xc) setsockopt$sock_cred(r5, 0x1, 0x11, &(0x7f00000005c0)={0x0, 0x0, r6}, 0xc) (async) r7 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r7, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r8) (async) getresgid(&(0x7f00000046c0), &(0x7f0000004700), &(0x7f0000004740)=0x0) (async) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}) (async) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000000540)={0x0, 0x0, 0x0}, &(0x7f0000000580)=0xc) setsockopt$sock_cred(r10, 0x1, 0x11, &(0x7f00000005c0)={0x0, 0x0, r11}, 0xc) (async) getgroups(0x4, &(0x7f0000004780)=[r2, r2, r2, r2]) getsockopt$inet_IP_XFRM_POLICY(r0, 0x0, 0x11, &(0x7f00000047c0)={{{@in6=@empty, @in=@empty, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, {{@in6=@local}, 0x0, @in=@multicast1}}, &(0x7f00000048c0)=0xe8) (async) newfstatat(0xffffffffffffff9c, &(0x7f0000004900)='./file0\x00', &(0x7f0000004940)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x2000) (async) r15 = getgid() syz_fuse_handle_req(r0, &(0x7f0000002140)="07935f135e14e96ae236d6b1b1373bc380186accab55887276793acd35cd5f60fbd6c2f37bc5971208835db2dea48da6ec632d7e650b2643b95d132d46fc9386ebba72549ac9b1013c622dfdb528ae21c58cf8bfc4c201853c97576d07fb8904b3362517e8e124274aace2c7c3d99add6e91d0aaae88be3bfb71dae4545872086e881787358e48bfd7f0403f9ba692d2803c0eab17017a876cffb1f33a6852eed66bbde061134aef52102527e94587722eded53c2bc25bac59392f192da2f469711ee3137333586e0494d5ac5988f540c6a1e70fe30cc21e33edf05df5c3406951e8e947364c529aa43e41c336a4e294663b4dccaa03bf73fd679f8657a79d79feb769acb56fd6d9ad4b6e1a973d004c80f2f25f101143cda6fe60a87c4eb98da6b39b3089bd92fad57a2fb78aa6335a3f536e4092402ae0c44a8a9d69d59aa8e2ab7c3f3c610722ed25e7f4b8aaff5cd9398ce3588cc309ae2c84fd03057544c5ac1b89ac2ed750348ff0aa94bdaa68bb546b094c0888bc669ef331e1dfe7d6f729f8b7473ecfeebfac2cb9d193bd9d386e3fa1b7664476961f1c9d55017dadad276551a0117159c838f2e4a5be2affb946da4e51bc7193fef473f8b1334df365337bf590b0e119f6a069d3a3024f7d8fe3e6d56eef1dd143f296d2041c4cb5059506b407e82428f306dca0a559dba598a1a278014fe2cfd6e1a3c2a859952db4a66a5247570e7723027e07bc67398ffe81079df0aa60f4027daf4026d445c47c22ee18579e0b459cb547deb8c55a70ac2ff56496470029acd91f39f9df03dcf5f290cb97e83b2c7d2bd4bb0bf5e3eac5c0433a07eb650a9d7e1d23bc024c07f0384cebf742f6a54085de35353ec9f65d3078c6de34a14dc96f5d2678f41da63e7d48e7cfe31a9040c351d2d56f86d43925a85dc36d82884bd3d972b6651aa958abc2da6a686781d8c41dd1c50322423aa6e72914a196aef020a6f9df2fc2de36de5dc33076e3bc40e0bc36d14b10bc8436dd297e4fecdd8ad185bd2b160abd05a76b1c63b6aef4c28331317897eeccf113401db582709128a4f91708f748b1105581038b4b3f35dffc088c072fcbc30b8ae29615a30467b1531baba9b0d1abade2947bd049196589d72a08c91b150b656431d12519bd3e338c133da2f82fac5995772bb1e8e1a468ee9d56dddb74691742bf3acf575b39931db12c62a86fe2a22f6df8a9ddc512560c99b560bc4eccf9e2975dfc3b109da4a02e5a84efcc6faaf8600284702f76c8f826e8cdab4e5cf9adbdda27fac4dfdbca61baa77017687fb564e4bfca9070ad32c7921db5c2f3e3e48e1b662d7216ad5cc120d73b48e8ef552f9458ebf1cb3ee0cb3ab68a977d33a2e8aacbb833495a34129e15b92108e67cee25684d3dac89b68b5650e9b4422c45482282a82d4414de218633f6449cf45765e02e27db39c91a889fd533f701f7eba4d3bffddf3d2a52f5b9bf552231f686807246f7bcfb081a26bfadf92e608f94b7026aee1a5c571fa92f2515d11aa06b1938ba4a42b044102db8977d9ec74dfb0d787b93b8b8850cb045af7208281082950792ddce7e3b11246d949c386d63a9cc5ea30ad2c790054dc089a680cbeee7fbeefb0880ac52ec7fe61fdf60789f9f5df74a849adb50e8311fc7d088434e897954c36326410baf856cb08a5add28c3f06cd025d52eefcb56839569bcb22c2fcf865d5dd3b29c8b92f75fa032a518681b0ec9f939ba3a9b06432fd330d6fa7b89b78ee648730dac06e80d9b8e5a2d8edab193ead6887f632941bc6a920ceeef1fb38be929050932b0e78a56387e42db817982c5d6cb596f1368ce98112ee055aed44aa3b91f1ee789c605d011a767d4b0fec133d446cc8ed752d5b7b63308fbb01bb918e3dde0885122c613e2c32ee189cfba2bdb6a553e2736afdf2fae1ccfff99c4bbc997b48e99b7757a3514b3f218aaaa96457fd257bdce1e6548e64ff7249da7bd705c9fbb0e16dc9eb2e63020b92108b947b439652a21df4e8bb90e17cb0edf2b2903caed3e0efa3b3a9f860ec448ac1e9cb95fbcdce8141f6dfc0c96bc9a4a95382b3a8880b740e336b694c38dccc16dfa7753cae616e62c10dd9e796ba07ef87002b26083d4ef7e2f2983b856b1b152c6233e6f66ad5825040e1092729a7b235b84ba47f646f67e5e75f17c0a86e1fd00d762cb538722d23e28d3716fd965739014ab25aac9f3651544d0c8007a8c7ded145330859f8026d8f82456fa184cffdf5efd57e4283c89fae378511e32c3e65df8bb020e84180aafd61a93c2b8f79664a584deddfd6aa7e1279ac1a3be97a3f8f3eaa947580d98ab2c9b33645fa266914e99f8166bc74dc5d87a07fa8e8bc21ac77b49ea332badb952524a58736b4b698bc4671dc19f7d16d9b51c9047a297e3af107a33ed8003644a211c1557267a9dd7cb842a70854d8dd0a6d9f45fa51d5dc83087490a5dc1af259d90b289d4421a4d63d2b006f647a4af7cfb70b52519d4c0eae4804ba477c17eb3fd0d1914d894d1d3c3db1638b2022dd101ff43bf50524a4f11cb8bb0b3308aa5c00268e3b4af9c62f5c2b32855775790ef7f38d39e2dcaafb268da9d233c10c05a808e60d5f1fac05a18933b0e810686fe078d0322875fc22798a192cf96e8d29804a91cedec662a6ce998db5189f2b29b0c447dcd61be159847ab957bd5c17c4996ed6151c317da73704c291f3f13014b32269276ad5edc714bec227e80ced32b22b4a66f9ffb50cd6bb0460d71e734db1a139f47b5bfcaeb9ecda1cf2c32a9b4b654026b2f983da932a868b618183d3ac7bfed6cfa6f2e895249d5cd33ddc7ca779b1d1579fc833f9d25a90fa7e04557b1bb421cf654b28df48f558100b3c6480950e04f1d9ead28f27b87df17488c7846b938b192f48eb0acf036a5af0fc38d9b49d8f77c8cd3d0c80b6fe66ac54e338dc3d5de2b0366490ba9df383215d0fc90fe3143a0e02b33865858cc4dc0c9160b32e127f92f6a270870b83f1d9299f99983b15fa642a7b96e8f1ff0458765dd1fe6a71dc44f317df30c6b197a5d64227571b80de20de3c0623a11abc0a68a7cc3226b4f6517476013f17302176369fb647e2672d5abb5c19987761d61f91ff25de69a04675afd5f5284bbf6e48b7af79311a903ec3a9da7e9087583f6c6f44c724df8fb5f1a4185023f4114e3b34ca29969267fbb936845f41a969ba5ade4c259035d38ddf4456e72c9d36262f92a9ecb1c06aca7babbd04f940d6b5ab5d0578face7c4fe2d18e116737feb2a3965a1cf6c34d5895d78b921313dc47555e9b7ed416735c0ad141cda25cc1f0b085500bd6205f02b8fd6174f02f084e7af1140b1b51805048bc5ac7e2bd01a4b01bdd62f200a76f8cdf2453e4123bb6cee93983d58d403a9f65372451e434f7bea486745029a57b92744f4301c61e3700a4ce45b4810e5d891bf4c9aff5d4dbb80000b0b24f85c49267160f44e00f5089e62718968a1add197d24e622c570c063491249b7ad3866a91c7e6f72dd644e89727873c11df0bc102d2e4527e844a45720f8a3ad49ebb123a8eb2d22b5e8128e4ff7ec82ce0d3dd9805b4321798176979d806760072fc332dc2b11eb9d7444a96d545b26a63bb6b71a65a9ef163399e046986ab9217175c3cd64a8a7e2a970467732c61bdd92e45b7e6cb03f6ff70a13d2060520a56e03244ecb24283357400505f06bbff7efc44de1dcba7a483f137aef81b91920436a3b2b3b827050be763d779039067d19c6b877d9f3575e6d3cb307c2fe2165050907dc61c7eb405ad14c91ed62b1be1c65a2070509d105494f84107dde28c8cb1c603c446a4f3ccab0d85960c3dec4bf28bb44e7ad1ad8e1d87a198fbf43ac747f0795040dd821d9c946b11b00a429797d59c0fbaf2634650a24cba9cf9f41ec118a5c2341e632944f0cfefd2ada62304d35a9aa1a3462d75e592e064fdef9eb57e93599e3ca834fa10896b36ec1104d957308c1435daafbcd0c48e68575c6d50f608198f6214745aff9251dcd4a38d76319ec2d88acb930d4b50090d96873d94c1aefddbe69992a51e85007964b04334d577b25e7c15e6976d2bef2a23c1ab26b600af6c5fb40fdea6080587c778570363bc93ca2ca6f13521c8794970c43d5bfae4409ed173395c28b4e86970494b11fda499a0414ad410b56ac9db38300b0d553037bf528e943c440a82b893fb91903c8bb04372740d17accb5bc62c486344bf7ef98cbbf568fa0c1a3ad554c93d713e44eb955f21d29887dcd257b3a49951be1a9040d65446b75bef3015e50adaf753d8f15d347cb1e5c4f1dafaf7a6036d2b44bb8eefa33b3614470369cc9e9c704c51e1bcca93b53a2fa2ae07b1c0986e6b1e1784410b1f9853f74cca7936672f52c8ed6b0ee65eb9cd0f1c8cb1735f9fb0c0509504e84dbbf24aced239765b1a2cc7622ff27fb1fc1ff68c7679d6ad76619728d118535a302e4270a194877d17985d5a4e5ec3edade2108fb119de90b4403a061d49563ef59d94f5db064af28213e1af4395d1e3da9a49153a74c62a7e55ea57db2477bfd461147185dbb72d50ec72fcde63d57fcbea3c25134b98313542f044d7487e5c70ef26cfec2efee4cecc3d1e2f01a1c8332b88491ceba519ceee0460694a64cee761a5b2fd72956bf4712e6a2e502be93ff862cc13a271bba0fb181f96510027bf6a5afd18e743988e2179bf8c3b7dc1c2d8ac43f8a493e68de99d92bf3fe82f49a64153b84949576e0a7ad909e8875cc1e50d9445be98f87fd415fd0bcf382a4f89bce2ca32d57732fa4b61f4db315e324dd3afcbc1d82bd9ae86659ed7277ac1858a2d79877eb004a7eeab5eabc70f2af5bcabc7fd02d77320b1edbd62d21eec4033ed6355a755c252021391e9dc648945a6a28b6343deb43010bc95dd287602609ac279ebb7fbfff50748d3f10a0f2cff503f944687dee3509cdf5c9373b425d4f0c4ec8ca29b95f1d6ba707e3ab47d39696f3fb06b59dfb20cdbefa23afef1e813f2ba6637b6177287a4a2b41f7584512a81eb2e7ea3c025a9eebcbce4672d497b1b5f0f3402f82cab5b910b5f18d48ac6212a604b87570d1b057a81a478cddd128198c1e20524d2d432f1e01180b6257898065de39a16889bbbb05e2e3fb7b016237950988f4b57c6733188801def4064b7d9703543a277b5da519816687279513c7b6a5e48782b904330328c62a9643391de3a20ec1b23be73ec6aca606322418725fe64312a3c0d1dfca3c18cebfb5dc09ed7b4470682a397177a369756d41479db02be5e0b7b9340ae148f2495f9ed113c50982e5c971ed860264b3a3d6f70f2d31bc49e7641abea3d208020973663a2decb1c56dbd0f8f303c6bd2f51122e457689a2ee6cc0625071c08615993afd4e678190b50b01c963c91a73f3d799c2b05ca35bce8f33218852923bb0526a6f8e66f7416945e97082a41067cf08fb59b24f29451953942b4a071c49d8a455272f6d3ddbb0f328333e7d56aef8e15cd8760b9cc8d80c45f2c90bdb476d38197c2ac5eb0b398a63765dc532b040874a3e7c9f1c08c4651b364115cf59d9401fbd4ae10f50eb3115bd4f831861d608ebb7ecdb28918ef796fdc75b74c68c4570b68745bdf6e306403919ed34ce1116a8de27f2744ee74151e4977249d868e52983e03ab32d980c92e13218d58e51aa20266799ba009dd54b427c842836762ffa1a37efd5f237be282f694c103e6d60cb23c7f88521dfa9dee389dde02a4675f8b4baa8b968571f7d7cf72e9a37887633fd77391f7c90ab134a9c55d329a0f327d856f6e4813f1f2b137d1bc5466184432e5c1a0893d75b1ba3e101dec4e509716a9962bb8224cc60701aed421a3bc0b748e195a4f4f2227bcdd5f29ccb33490cddc3a5893f89fdb633ae85f04374b6b335dc39f9ee046635be0868244a84ca4e6b68ddeaa460d28021b0c3ba4826b653a0550bc31475be0648af2f949918fb8083be49bfc3a7169351ad258ab37d3c5c9330d7de4c413bccb46ba16e51bd517b5fb79828b7f15ff62b362f89b14be23766ff4a99fca6c39cd61264a53738b5deb205a1b9a71cc093bf2fe64f8999987182403553071d73cc462b0c0e9d2969be8bc19eadcd27624c75fa031378811b897190bc661874d3b3bd2a0cbdbecd81644539c7d24dd927c9ecabc3a00d670f6419ac72bb82f881cb16509d9be6de98e8e50c27375f6ea7530fa7a7be0e15f837b6e02305aaefe42eb1e2db7357b375be06af62265900f4ecdf96f06690a2cc0cbc3a660158cfbd1e3e8641c1a195de26429bd37b6333edd6b86318d0f4527f2400bb912203f8f5fdcb28cc0d92ed7cde830d93e773089ef145c605de8c7a74d4f78f5a1297cfec085c5d896cf7ec97b986591ce317d7a4b22a799d51aed90790f8ffd3a0ed1d0d953841068963f26b9f82480e9b852ebb81ec592bc57b3f236cca8e2d33479fb2bd5b1ba3acdbcf094ff8c7fd2c370d5dade5335fdb1fb3d147e57d36ec940e7947e4e843dc7c5eab9f69ab44eaff2507b4e5d5009b0f69eda8ccdef4c86f23246a4670d3f9163d622a9b098164f24120b0346360db0947a9bbafdd924917084d8addec87d205830dacf25f9a8c5dc96d6126e07c13fccee772353fcedeb605133e893469190684caa463b31ee84078fbd09c594b882326d80d825da46752be4f91b7ba41ddb6fdc4eabd62761447cf586618b96ae74853a4c4bf18b287d996836bc73862d111d68752979d199a9c958520b7e24ecce1ae9fcc96bf520ae87d0c63bb939de7d5782773f8d5e97801bf9e2e46fcfc4faf1a460bf48e0b2310433504301cedc4de76c0a72a144df0db5d33046b81a5572a182b9d80d0a64a6d72da121886a1b099712e31fe7da6eddef305a47d1372f5285e95129eb4444190c2c2ddc7497a38d4c447a0ad6d979ce430b6e4992dbf5d93afaee46ad15c8982660d66db4171fd057205347d4d8a5f707955c285e1ffff53210d7e3daec6b200307c2a8c329e3be07d332cacfd121cb7deceffe94dd4778016e8e450d56ea1e0c24411203af53266bb0ebe19a99503d5f9115e395f7850f2ae357bcbe16820042cfe0a48f42cc29bbe11ab74223f0c87ce836202b79ef373dde3438cfe9e716959b4c3a6f8a4ef62c0d4e1676a3ab63ed554c5c7d364923a559d272e8af8ed70f7bc695713098e3c2cf8c91988757f2baf347aca36fa7a3f524ab8368527e5c0c7668f62f4ed9c43c1d2b1f79db4be211225048bb5d74f89a1012630d21e930bec893ee6839dd5e793fe175aad4fc96f4c44ae37f30ef578f730122edba1df3c97ee11ff3dda9b2c9cffa7ac68fd9496e013f29a3a1d90b1d6baebb2b33a1f6ee9c039abc8bd7c5dffc0762a8298c5d707e561008cceada4ce25ff0ba1c6823fdc481570bd46ebb4e24084edd23a61e2017278748116fe791077bd9cacf3ac0c2384ef4ac0317ed3ff5b27da656dc5ea718d24ebc5072891823147eb4301f6119b0c0d966cd0a4773d8246f7abe7dfea652a501df281c8163acd563f0cd18d748d660c7f08b11a8fff3f5b8aa59e40bdc95dd523c2fb51e1e1f1b8e2cc0f4f16ae1bfbb22d070c51c6a4e255501fc37a46e81e72b1c1cf4be38d687049a79c3b2e76e098299dadc8b114fafc194a2052a91bd03ae2d24def2d9ff3a566d1600da45074ca24b7ec6c389f5b277ccc7c3d6f9c5992a49504b3573a807852b26b0671f22c783bebb601e007b96859a11813748e3e4d1dbee6daf3115f2b6fc329889ae5acab7bc4a271ec6ed36da33eabb2f6c0e2422f1ad99b63c7ab564a5bbcc8f0684dbae67f1b717f45f40b270b632661e509d04ac0859fe07e99d6a1186ef5679c1a578900e7a6c4afde45fd5fb8d4e09af55a6be351ba6022d21b664cc7a12e764a8b1324e78324f9e700d40fa78686eba06bf858a3c9c57a0b3cf3c5a26cbbd3a6c94f859610f38c65da21d8971d9a111db351207aea340a31e1f4c2891d2f0a8f1717a0238f1fc5f5d2ab00e67290f33db3fcbbd80265d94284f507bb170f1372e443710f79e8f6b97b1ae5fc0f411f1baac59ff73fb7f1d6e14f628d44a3ffff4e8041d9c68508311d2c10d47e2b757ee2508a75570306388b87ecac059db275c2eaf2a57ad90b6c0d7a393275cc481ca0ba713c9aa2ff9cae0e827a42a108bf201cca46769b0b731454def29cdce30288d77630f22b6af8a745477a4de79a91d28ec61e856057a91b6f66f076dbc99ca62537a5b5cbc3ba7f0b7f9f951cf50ab3a1579834fbe40fa555c72fc814a7ebcca1129ef8fbe29693f3811cca0b7536609d762ca324ed5570aab9b014fadfbe6bd0781618413b77a9db17e93229a7a88a84f598b86c7b02dcc8d3acee477f278198dfb65e5d760401a3387473d99c734665174bd742c063e72335c48474e43635df9553f06ba0d8858a6afcab2b3dd248b2d1f1bee49a47260112ddd32cc271b00f508cbd54ed797bc5c94c03f40b0ea87ffd52266bfd0352d6a73e56206eec589537e2d319ccb1d2dedb46d7c640124157a6dd7539fe26197b8abfe9dffb9b64b6217e9db11b83c6c6bfe4638e085c3d738d7811fae4d351495e5aeedc25e7ae9175a11297c08218de98ee8a5c8874186bc8a891249f305dbdb6329555ff373acd7bf2fcfba73a5900118f1f316261d14cbd831e3defedbd9f57a77daf1546802123160d22bdc3f68919af18b01437486cb81edbc71f81740994ebc9cd1f02136dd6b0f8da3f9668299075db65920b3aa68063db574477d9114abffb5f79086b9f08e011524dfd57adc6a280581aad86ba75a5477cd17bfa5e228797bd48f123692cbc26c8167b3be88a300cddbcd9885133e0ab834ac0247bab3bdcf632bf0a645700b8ffae82f85992be4e69925230c9a4b0cacad347ccb8dbeb88f6e1ebd7e14fe695670fdf757b08ce63e8de491ba58fe703a6e339b0d69b3d10d90deaacc8e8e57c1732705a3df563f8a052e8d2a136ef7a1d03cdfd51110dbad378282e89a8624b90c04e3edf38f9d49d151f540513f18e076ebb8e37f3ae6c0333ea38487dafaf883597330419a58f1840e8d44740a97765cbd9325d79908ae14dbb5c7f116dea9e819f8cf4a82908bfd8d2a36a060aacdceae4ec3058598982505fac4d45785ebdedd76a5a2e14ca7195daa6e1cbac05fea7bea7105eda9c6017867efed08ee782f37a56114754b03e65d2751801e528a1cbf2440e9579778b053e726707913d22884b635df01f14796a782422b02f43786395a62d1e163332a0c831c61c941b6aa258d236b58716c5c82a9da9d20dcb2fae36e08858dcfb255a8e596c314d3cf11f5ffe79239e321ce7b56aaa1b0f517a1b8447027c4b83668daa7d09830a0946ced5acd998e8d3fbe5ba80d5661e9b49b7dac9c99f21d9cf397ad57683b1a3aa8a35824e1c563d745f705ec6c08ea9945b86e0915f0881b500ef7949e9524037e7e4b7cb4b04ec125665272528a29189cfde5c43273e7f08f6139f1e5d0306531743e5fec0788aebe321ab69d063b64dabab77c202acc4e0b716fbcaf8d9cec2c29e47c1bf768bb1975ff2361dac5506036783ebfd1122d04078404bc9fac06838331bd58470de0a9740e4f2cbe3e98199615dae1cec7e8e81d5172d02c1819075ba436ccf9e6e4ee02682a76c6311ede59db6f4bd4c445fb7eb93ca65f8d6e1abe91e6bb964bab7ffe2df8d4cddd086b144daa9b5ff9564dcf21ac2aad30ffffc13ded9c1cab516b8bd7322ba4dd4dc8e9b8e87c420dfb5e7bd9bcfbcfb85ab282d55d297020ab718541f655e875787e33a0b1d8c2d2f4a5f0b3847ac3da6db05b6c4d5f557a8d49dd290b03964704304e535c9d906d7653a85eed087733352d70ebe953dfbdc95284b18b310eb0a740ea57bd8ac2c7bbed61c6a281880ecebe4deaf906791c405c88c5e3c736f3e9a9bf5fbc1514958d86cf3df03a4084ad7a5905c2c1506d0faa2e4e3475575d7aa4c2463742f0df32f69438d2a6b29a1d65904bb8bc2e75d146828b7e3da07bf294f1dcba1476cfe86d45e25533553e604673caffe496e8aaa312c0495af8e99a1d3f0f8b4e430f0bff5714ae71e890058d215a1cbc9ca78ffdd0114caf1ee4c7295a241fcf0f4fd55deea8490b6d6b8773560d1430edbe6a8df84676edd872b34e108b6adae9228644572c151b29a7976e6e1b42ebcbe4a1700c9b65456fdb7c1604cb8412178bd367e1bdc13ba42ab3f19b0beceb2ac01bd1fba5a55ef23bdeb2da1d75db616ca150ffdc29c64b49595a990f4982ee9a1da2e34e32bb6c2144772c46f0f98e946c5f441d6478fb3a6267e53c046c53d5cae3e941908a636921ab602d4836a940ec70d4202414a5bc8eeee322223ecb9f9d75114ad5e8d21774c81d0c6be3787c7152b64f2afbca8ca82c796de8a17d31d95e6c69542ff8b5aea6ceb28ac106b3ecb227277ce906ff6d1d4efc57c25c33b8700da6315ca070a99b92fc3beb74858fad5f42f178b727ec22dd80f119b5f43dd7c6191f0f4c8c39e14ec548e8f533a9d94734fcd67b368d61d00736f12684a274725ff0d2f82212bbac18b6a2e522327091a8c612765fcb3d53e26790cd78f76f3f13d96618e1e39daa73883ef9162e87bbb8a165175cee51882736f60c1cee36a2f632023bc3b79d0b5ae80c65e3400e6677b8f685c9d19fe379a646641bde39885f20fab00f7ab0bb41d994c9ca296332c65a07bda8969297597127e462a361326f6122d55d0d7936a0acf506778cff4bb3cc6de790d5b2a31612e4ffc8d90a289a0661ffa426677c35830d46fac8a89c5ca394a4a62ff7bc8173db3e066e1af06bacd43671a43f63864f48918f3a4cb8e05cf3f6bde639d75bb86a5155cc0238cd8091e4b9ccddff879577d99e5173ba1b4c744dbcc2adbc3ea9dfd1afd6cca9809ff5b00553cc615b458a002284099910c1e9630dbf3405c8c5434a75100281ee47d4f73d89156163b166e092d6e607882f46c1a065399acea475fd539416de229679e7ca9b0eece302202892513552b8115bb9c33215a84e46a3f107635ca9cbbd28c1f1efe65b678bcdd24773bff7499ac51563f105cca82cf464e5ac2518e8154c438c5b60b01d24e28485b3934d5c25ac6c3ea7a68870239b9f142a703d7e6f388f2c17f209a41fa1795c282d278d12f1ac620c0ba370a1d6d301eea1fa2ce706fdd651902504c81d1c2a87423b24704290c550875195c50ae82f044b878ec92f0b6b860346433f30e6d2b8825163c94b2e9cd6364be82912a9b2fcbded0e4b3529ec539150370fb083be520df4267996f52d22a2b8b92da1cdb89291afda7d725a1c99422041a449c8da227f5583570f0ce35066a6628d675b1e7a9cff26876bc2fb81a40ed3b799a9973cdb5bdaf901b0652c6b0623e428b4cb16c395538b198dcc8ede2e5ee13bc62377f4f56fde33889d3f33d8c3085936d9a6b2d3c0afa3b70901ab8954e7160a837d57ddba5d2c9921edd387f70330ff62cc56997f6e617023cba301608", 0x2000, &(0x7f0000005080)={&(0x7f0000000000)={0x50, 0x0, 0x80000000, {0x7, 0x24, 0x7, 0x80040, 0x5, 0x7fff, 0x0, 0x47}}, &(0x7f00000000c0)={0x18, 0xffffffffffffffda, 0x27, {0x6}}, &(0x7f0000004140)={0x18, 0x0, 0x8, {0x5}}, &(0x7f0000004180)={0x18, 0x0, 0x1, {0x5}}, &(0x7f00000041c0)={0x18, 0x0, 0xfffffffffffffff8, {0x4}}, &(0x7f0000004200)={0x28, 0x0, 0x3, {{0x7, 0x100000001, 0x0, r3}}}, &(0x7f0000004240)={0x60, 0x0, 0x0, {{0x101, 0x3f, 0x6, 0xe7, 0x8000000000000000, 0x2, 0x6, 0x8}}}, &(0x7f00000042c0)={0x18, 0x0, 0x91d, {0x9}}, &(0x7f0000004300)={0x2f, 0x0, 0x3, {'/sys/kernel/debug/sync/sw_sync\x00'}}, &(0x7f0000004340)={0x20, 0x0, 0x2, {0x0, 0x15}}, &(0x7f0000004380)={0x78, 0xfffffffffffffff5, 0x7fff, {0x3, 0x1, 0x0, {0x4, 0x80, 0x8, 0x2, 0x2, 0x7, 0x7, 0x20, 0x7, 0xc000, 0x4, 0xffffffffffffffff, r2, 0x8000, 0x7}}}, &(0x7f00000044c0)={0x90, 0xffffffffffffffda, 0x3f, {0x1, 0x0, 0x5e, 0x1, 0x5, 0x5, {0x4, 0x0, 0x9, 0x1ff, 0x7, 0x7, 0x0, 0xfd9, 0xa5d, 0x6000, 0x3595, 0x0, 0x0, 0x229, 0x100}}}, &(0x7f0000004580)={0x118, 0x0, 0x8, [{0x1, 0x0, 0xa, 0x1, '.[!-\xd2%-@{:'}, {0x6, 0xfffffffffc000000, 0x1c, 0x80000001, '/sys/kernel/debug/sync/info\x00'}, {0x0, 0x3, 0x0, 0xffff}, {0x6, 0x9, 0x1c, 0xffffffc1, '/sys/kernel/debug/sync/info\x00'}, {0x1, 0x2a4a, 0x6, 0x1ffe0, ',{\xfc:,\\'}, {0x6, 0x1, 0x1c, 0x7, '/sys/kernel/debug/sync/info\x00'}]}, &(0x7f00000049c0)={0x598, 0x0, 0x9, [{{0x1, 0x1, 0x4cf2, 0xcd0c, 0x9, 0x81, {0x4, 0x5, 0x9, 0x6, 0x0, 0x1000, 0x100, 0x10000, 0x9f5, 0x4000, 0x1, r1, r2, 0x1000005, 0xb3}}, {0x5, 0x4c, 0x1f, 0x4, '/sys/kernel/debug/sync/sw_sync\x00'}}, {{0x4, 0x3, 0x9, 0x4, 0x8d, 0xd804, {0x5, 0x0, 0x7, 0x9, 0x100000001, 0x7, 0x348, 0x66, 0x2, 0xc000, 0x8001, r1, r2, 0x0, 0x8}}, {0x3, 0x9, 0x1f, 0x8, '/sys/kernel/debug/sync/sw_sync\x00'}}, {{0x2, 0x1, 0x6, 0x4b, 0x1, 0x8461deb, {0x2, 0x2, 0x0, 0x8, 0x100000001, 0x2, 0xb767, 0x91e6, 0x6, 0x8000, 0x401, 0x0, 0x0, 0x40, 0x8}}, {0x2, 0xac, 0x1c, 0x2, '/sys/kernel/debug/sync/info\x00'}}, {{0x4, 0x3, 0x8000, 0x5, 0x6, 0xda7, {0x2, 0x100000001, 0x5, 0x9, 0x3, 0x5, 0x7fff, 0x10000, 0x1f, 0x1000, 0x80000001, r4, r6, 0xff}}, {0x0, 0xfff, 0x0, 0x8}}, {{0x1, 0x2, 0x5, 0xff, 0x4, 0x3ff, {0x4, 0x7, 0x3, 0x80, 0x40, 0x2, 0x0, 0xeb5a, 0x5, 0x0, 0x90c, r8, r9, 0x6, 0x326}}, {0x4, 0x4, 0x1f, 0x800, '/sys/kernel/debuw/sync/sw_sync\x00'}}, {{0x4, 0x2, 0x401, 0x4, 0x1, 0x0, {0x5, 0x400, 0x200, 0xfff, 0x4, 0x1ff, 0x4, 0x200, 0xffff, 0x2000, 0x80, r1, r11, 0xe176, 0xaa}}, {0x2, 0x200, 0x4, 0xffffffff, ',@!-'}}, {{0x4, 0x3, 0x4b, 0xf8af, 0x5, 0x3, {0x6, 0x9, 0x1, 0x702, 0x1, 0x3, 0x7, 0x1ff, 0x100, 0x3000, 0x1, r1, r12, 0xfff, 0x2}}, {0x1, 0x7, 0x1f, 0x6, '/sys/kernel/debug/sync/sw_sync\x00'}}, {{0x3, 0x1, 0x1000, 0x7fffffff, 0x6, 0x80000001, {0x6, 0x8000, 0x7, 0x6, 0xe57, 0x1, 0x8, 0x7a23, 0x2, 0xc000, 0x80, r13, r14, 0x494756ee}}, {0x6, 0x87a, 0x1f, 0x8, '/sys/kernel/debug/sync/sw_sync\x00'}}]}, &(0x7f0000004f80)={0xa0, 0xfffffffffffffffe, 0x81, {{0x3, 0x3, 0x9, 0x39, 0x100, 0x8, {0x1, 0x7, 0x7f, 0x8, 0x8000, 0xe827, 0x3f, 0xc2b, 0x4a23, 0x2000, 0x8001, r1, r15, 0x3fe, 0x2}}, {0x0, 0x9}}}, &(0x7f0000005040)={0x20, 0xfffffffffffffff5, 0xfffffffffffffff9, {0x401, 0x4, 0x2, 0x100}}}) 00:33:39 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) r1 = socket(0xa, 0x3, 0x3a) setsockopt$MRT6_DEL_MIF(r1, 0x29, 0xc8, 0x0, 0xc000000) setsockopt$MRT6_DONE(r1, 0x29, 0xd1, 0x0, 0x0) fsetxattr$smack_xattr_label(r1, &(0x7f0000000000)='security.SMACK64MMAP\x00', &(0x7f0000000040)=ANY=[@ANYBLOB='\x00\x00\x00\x00\x00N\x00\x00'], 0x8, 0x3) bind$netlink(r0, &(0x7f0000000100)={0x10, 0x0, 0x0, 0x1ffffff}, 0xc) r2 = socket(0xa, 0x3, 0x3a) setsockopt$MRT6_DEL_MIF(r2, 0x29, 0xc8, 0x0, 0xc000000) setsockopt$MRT6_DONE(r2, 0x29, 0xd1, 0x0, 0x0) sendmsg$IPSET_CMD_CREATE(r2, &(0x7f0000000140)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x2000}, 0xc, &(0x7f00000000c0)={&(0x7f00000001c0)={0x54, 0x2, 0x6, 0x801, 0x0, 0x0, {0x5, 0x0, 0x3}, [@IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_PROTO={0x5, 0x7, 0x1d}]}, @IPSET_ATTR_DATA={0x28, 0x7, 0x0, 0x1, [@IPSET_ATTR_IP={0xc, 0x1, 0x0, 0x1, @IPSET_ATTR_IPADDR_IPV4={0x8, 0x1, 0x1, 0x0, @broadcast}}, @IPSET_ATTR_PROTO={0x5, 0x7, 0x29}, @IPSET_ATTR_PORT={0x6, 0x4, 0x1, 0x0, 0x4e21}, @IPSET_ATTR_MARKMASK={0x8, 0xb, 0x1, 0x0, 0x6}]}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz2\x00'}]}, 0x54}, 0x1, 0x0, 0x0, 0x10}, 0x4004000) r3 = socket$inet6_mptcp(0xa, 0x1, 0x106) connect$inet6(r3, &(0x7f0000000180)={0xa, 0x4001, 0x0, @dev={0xfe, 0x80, '\x00', 0x1c}, 0xd}, 0x1c) 00:33:39 executing program 2: r0 = socket$inet_tcp(0x2, 0x1, 0x0) bind$inet(r0, &(0x7f000099e000)={0x2, 0x4e20, @local}, 0x10) ioctl$int_in(r0, 0x5452, &(0x7f00000000c0)=0x20000007) sendto$inet(r0, &(0x7f0000000140), 0xffffffffffffff58, 0x20008005, &(0x7f0000000100)={0x2, 0x4e20}, 0x10) ioctl$sock_FIOSETOWN(r0, 0x8901, &(0x7f0000000080)=0xffffffffffffffff) fcntl$setsig(r0, 0xa, 0x18) recvfrom(r0, &(0x7f0000000480)=""/110, 0xfffffe32, 0x0, 0x0, 0xffffffffffffff39) socket(0x3, 0x80000, 0x910) 00:33:39 executing program 4: sendmsg$IPSET_CMD_CREATE(0xffffffffffffffff, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000280)={&(0x7f00000000c0)={0x58, 0x2, 0x6, 0x401, 0x900, 0x5000000, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz1\x00'}, @IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0x2}, @IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_BUCKETSIZE={0x5}]}, @IPSET_ATTR_TYPENAME={0x12, 0x3, 'hash:net,port\x00'}]}, 0x58}}, 0x0) sendmsg$IPSET_CMD_CREATE(0xffffffffffffffff, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000280)={&(0x7f00000000c0)={0x58, 0x2, 0x6, 0x401, 0x900, 0x5000000, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz1\x00'}, @IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0x2}, @IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_BUCKETSIZE={0x5}]}, @IPSET_ATTR_TYPENAME={0x12, 0x3, 'hash:net,port\x00'}]}, 0x58}}, 0x0) (async) 00:33:39 executing program 0: openat$sw_sync(0xffffffffffffff9c, &(0x7f000000a6c0), 0x0, 0x0) r0 = openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) read$FUSE(r0, &(0x7f0000000100)={0x2020, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x2020) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r4) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000000540)={0x0, 0x0, 0x0}, &(0x7f0000000580)=0xc) setsockopt$sock_cred(r5, 0x1, 0x11, &(0x7f00000005c0)={0x0, 0x0, r6}, 0xc) r7 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r7, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r8) getresgid(&(0x7f00000046c0), &(0x7f0000004700), &(0x7f0000004740)=0x0) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000180)={0xffffffffffffffff, 0xffffffffffffffff}) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000000540)={0x0, 0x0, 0x0}, &(0x7f0000000580)=0xc) setsockopt$sock_cred(r10, 0x1, 0x11, &(0x7f00000005c0)={0x0, 0x0, r11}, 0xc) getgroups(0x4, &(0x7f0000004780)=[r2, r2, r2, r2]) getsockopt$inet_IP_XFRM_POLICY(r0, 0x0, 0x11, &(0x7f00000047c0)={{{@in6=@empty, @in=@empty, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}, {{@in6=@local}, 0x0, @in=@multicast1}}, &(0x7f00000048c0)=0xe8) newfstatat(0xffffffffffffff9c, &(0x7f0000004900)='./file0\x00', &(0x7f0000004940)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, 0x2000) r15 = getgid() syz_fuse_handle_req(r0, &(0x7f0000002140)="07935f135e14e96ae236d6b1b1373bc380186accab55887276793acd35cd5f60fbd6c2f37bc5971208835db2dea48da6ec632d7e650b2643b95d132d46fc9386ebba72549ac9b1013c622dfdb528ae21c58cf8bfc4c201853c97576d07fb8904b3362517e8e124274aace2c7c3d99add6e91d0aaae88be3bfb71dae4545872086e881787358e48bfd7f0403f9ba692d2803c0eab17017a876cffb1f33a6852eed66bbde061134aef52102527e94587722eded53c2bc25bac59392f192da2f469711ee3137333586e0494d5ac5988f540c6a1e70fe30cc21e33edf05df5c3406951e8e947364c529aa43e41c336a4e294663b4dccaa03bf73fd679f8657a79d79feb769acb56fd6d9ad4b6e1a973d004c80f2f25f101143cda6fe60a87c4eb98da6b39b3089bd92fad57a2fb78aa6335a3f536e4092402ae0c44a8a9d69d59aa8e2ab7c3f3c610722ed25e7f4b8aaff5cd9398ce3588cc309ae2c84fd03057544c5ac1b89ac2ed750348ff0aa94bdaa68bb546b094c0888bc669ef331e1dfe7d6f729f8b7473ecfeebfac2cb9d193bd9d386e3fa1b7664476961f1c9d55017dadad276551a0117159c838f2e4a5be2affb946da4e51bc7193fef473f8b1334df365337bf590b0e119f6a069d3a3024f7d8fe3e6d56eef1dd143f296d2041c4cb5059506b407e82428f306dca0a559dba598a1a278014fe2cfd6e1a3c2a859952db4a66a5247570e7723027e07bc67398ffe81079df0aa60f4027daf4026d445c47c22ee18579e0b459cb547deb8c55a70ac2ff56496470029acd91f39f9df03dcf5f290cb97e83b2c7d2bd4bb0bf5e3eac5c0433a07eb650a9d7e1d23bc024c07f0384cebf742f6a54085de35353ec9f65d3078c6de34a14dc96f5d2678f41da63e7d48e7cfe31a9040c351d2d56f86d43925a85dc36d82884bd3d972b6651aa958abc2da6a686781d8c41dd1c50322423aa6e72914a196aef020a6f9df2fc2de36de5dc33076e3bc40e0bc36d14b10bc8436dd297e4fecdd8ad185bd2b160abd05a76b1c63b6aef4c28331317897eeccf113401db582709128a4f91708f748b1105581038b4b3f35dffc088c072fcbc30b8ae29615a30467b1531baba9b0d1abade2947bd049196589d72a08c91b150b656431d12519bd3e338c133da2f82fac5995772bb1e8e1a468ee9d56dddb74691742bf3acf575b39931db12c62a86fe2a22f6df8a9ddc512560c99b560bc4eccf9e2975dfc3b109da4a02e5a84efcc6faaf8600284702f76c8f826e8cdab4e5cf9adbdda27fac4dfdbca61baa77017687fb564e4bfca9070ad32c7921db5c2f3e3e48e1b662d7216ad5cc120d73b48e8ef552f9458ebf1cb3ee0cb3ab68a977d33a2e8aacbb833495a34129e15b92108e67cee25684d3dac89b68b5650e9b4422c45482282a82d4414de218633f6449cf45765e02e27db39c91a889fd533f701f7eba4d3bffddf3d2a52f5b9bf552231f686807246f7bcfb081a26bfadf92e608f94b7026aee1a5c571fa92f2515d11aa06b1938ba4a42b044102db8977d9ec74dfb0d787b93b8b8850cb045af7208281082950792ddce7e3b11246d949c386d63a9cc5ea30ad2c790054dc089a680cbeee7fbeefb0880ac52ec7fe61fdf60789f9f5df74a849adb50e8311fc7d088434e897954c36326410baf856cb08a5add28c3f06cd025d52eefcb56839569bcb22c2fcf865d5dd3b29c8b92f75fa032a518681b0ec9f939ba3a9b06432fd330d6fa7b89b78ee648730dac06e80d9b8e5a2d8edab193ead6887f632941bc6a920ceeef1fb38be929050932b0e78a56387e42db817982c5d6cb596f1368ce98112ee055aed44aa3b91f1ee789c605d011a767d4b0fec133d446cc8ed752d5b7b63308fbb01bb918e3dde0885122c613e2c32ee189cfba2bdb6a553e2736afdf2fae1ccfff99c4bbc997b48e99b7757a3514b3f218aaaa96457fd257bdce1e6548e64ff7249da7bd705c9fbb0e16dc9eb2e63020b92108b947b439652a21df4e8bb90e17cb0edf2b2903caed3e0efa3b3a9f860ec448ac1e9cb95fbcdce8141f6dfc0c96bc9a4a95382b3a8880b740e336b694c38dccc16dfa7753cae616e62c10dd9e796ba07ef87002b26083d4ef7e2f2983b856b1b152c6233e6f66ad5825040e1092729a7b235b84ba47f646f67e5e75f17c0a86e1fd00d762cb538722d23e28d3716fd965739014ab25aac9f3651544d0c8007a8c7ded145330859f8026d8f82456fa184cffdf5efd57e4283c89fae378511e32c3e65df8bb020e84180aafd61a93c2b8f79664a584deddfd6aa7e1279ac1a3be97a3f8f3eaa947580d98ab2c9b33645fa266914e99f8166bc74dc5d87a07fa8e8bc21ac77b49ea332badb952524a58736b4b698bc4671dc19f7d16d9b51c9047a297e3af107a33ed8003644a211c1557267a9dd7cb842a70854d8dd0a6d9f45fa51d5dc83087490a5dc1af259d90b289d4421a4d63d2b006f647a4af7cfb70b52519d4c0eae4804ba477c17eb3fd0d1914d894d1d3c3db1638b2022dd101ff43bf50524a4f11cb8bb0b3308aa5c00268e3b4af9c62f5c2b32855775790ef7f38d39e2dcaafb268da9d233c10c05a808e60d5f1fac05a18933b0e810686fe078d0322875fc22798a192cf96e8d29804a91cedec662a6ce998db5189f2b29b0c447dcd61be159847ab957bd5c17c4996ed6151c317da73704c291f3f13014b32269276ad5edc714bec227e80ced32b22b4a66f9ffb50cd6bb0460d71e734db1a139f47b5bfcaeb9ecda1cf2c32a9b4b654026b2f983da932a868b618183d3ac7bfed6cfa6f2e895249d5cd33ddc7ca779b1d1579fc833f9d25a90fa7e04557b1bb421cf654b28df48f558100b3c6480950e04f1d9ead28f27b87df17488c7846b938b192f48eb0acf036a5af0fc38d9b49d8f77c8cd3d0c80b6fe66ac54e338dc3d5de2b0366490ba9df383215d0fc90fe3143a0e02b33865858cc4dc0c9160b32e127f92f6a270870b83f1d9299f99983b15fa642a7b96e8f1ff0458765dd1fe6a71dc44f317df30c6b197a5d64227571b80de20de3c0623a11abc0a68a7cc3226b4f6517476013f17302176369fb647e2672d5abb5c19987761d61f91ff25de69a04675afd5f5284bbf6e48b7af79311a903ec3a9da7e9087583f6c6f44c724df8fb5f1a4185023f4114e3b34ca29969267fbb936845f41a969ba5ade4c259035d38ddf4456e72c9d36262f92a9ecb1c06aca7babbd04f940d6b5ab5d0578face7c4fe2d18e116737feb2a3965a1cf6c34d5895d78b921313dc47555e9b7ed416735c0ad141cda25cc1f0b085500bd6205f02b8fd6174f02f084e7af1140b1b51805048bc5ac7e2bd01a4b01bdd62f200a76f8cdf2453e4123bb6cee93983d58d403a9f65372451e434f7bea486745029a57b92744f4301c61e3700a4ce45b4810e5d891bf4c9aff5d4dbb80000b0b24f85c49267160f44e00f5089e62718968a1add197d24e622c570c063491249b7ad3866a91c7e6f72dd644e89727873c11df0bc102d2e4527e844a45720f8a3ad49ebb123a8eb2d22b5e8128e4ff7ec82ce0d3dd9805b4321798176979d806760072fc332dc2b11eb9d7444a96d545b26a63bb6b71a65a9ef163399e046986ab9217175c3cd64a8a7e2a970467732c61bdd92e45b7e6cb03f6ff70a13d2060520a56e03244ecb24283357400505f06bbff7efc44de1dcba7a483f137aef81b91920436a3b2b3b827050be763d779039067d19c6b877d9f3575e6d3cb307c2fe2165050907dc61c7eb405ad14c91ed62b1be1c65a2070509d105494f84107dde28c8cb1c603c446a4f3ccab0d85960c3dec4bf28bb44e7ad1ad8e1d87a198fbf43ac747f0795040dd821d9c946b11b00a429797d59c0fbaf2634650a24cba9cf9f41ec118a5c2341e632944f0cfefd2ada62304d35a9aa1a3462d75e592e064fdef9eb57e93599e3ca834fa10896b36ec1104d957308c1435daafbcd0c48e68575c6d50f608198f6214745aff9251dcd4a38d76319ec2d88acb930d4b50090d96873d94c1aefddbe69992a51e85007964b04334d577b25e7c15e6976d2bef2a23c1ab26b600af6c5fb40fdea6080587c778570363bc93ca2ca6f13521c8794970c43d5bfae4409ed173395c28b4e86970494b11fda499a0414ad410b56ac9db38300b0d553037bf528e943c440a82b893fb91903c8bb04372740d17accb5bc62c486344bf7ef98cbbf568fa0c1a3ad554c93d713e44eb955f21d29887dcd257b3a49951be1a9040d65446b75bef3015e50adaf753d8f15d347cb1e5c4f1dafaf7a6036d2b44bb8eefa33b3614470369cc9e9c704c51e1bcca93b53a2fa2ae07b1c0986e6b1e1784410b1f9853f74cca7936672f52c8ed6b0ee65eb9cd0f1c8cb1735f9fb0c0509504e84dbbf24aced239765b1a2cc7622ff27fb1fc1ff68c7679d6ad76619728d118535a302e4270a194877d17985d5a4e5ec3edade2108fb119de90b4403a061d49563ef59d94f5db064af28213e1af4395d1e3da9a49153a74c62a7e55ea57db2477bfd461147185dbb72d50ec72fcde63d57fcbea3c25134b98313542f044d7487e5c70ef26cfec2efee4cecc3d1e2f01a1c8332b88491ceba519ceee0460694a64cee761a5b2fd72956bf4712e6a2e502be93ff862cc13a271bba0fb181f96510027bf6a5afd18e743988e2179bf8c3b7dc1c2d8ac43f8a493e68de99d92bf3fe82f49a64153b84949576e0a7ad909e8875cc1e50d9445be98f87fd415fd0bcf382a4f89bce2ca32d57732fa4b61f4db315e324dd3afcbc1d82bd9ae86659ed7277ac1858a2d79877eb004a7eeab5eabc70f2af5bcabc7fd02d77320b1edbd62d21eec4033ed6355a755c252021391e9dc648945a6a28b6343deb43010bc95dd287602609ac279ebb7fbfff50748d3f10a0f2cff503f944687dee3509cdf5c9373b425d4f0c4ec8ca29b95f1d6ba707e3ab47d39696f3fb06b59dfb20cdbefa23afef1e813f2ba6637b6177287a4a2b41f7584512a81eb2e7ea3c025a9eebcbce4672d497b1b5f0f3402f82cab5b910b5f18d48ac6212a604b87570d1b057a81a478cddd128198c1e20524d2d432f1e01180b6257898065de39a16889bbbb05e2e3fb7b016237950988f4b57c6733188801def4064b7d9703543a277b5da519816687279513c7b6a5e48782b904330328c62a9643391de3a20ec1b23be73ec6aca606322418725fe64312a3c0d1dfca3c18cebfb5dc09ed7b4470682a397177a369756d41479db02be5e0b7b9340ae148f2495f9ed113c50982e5c971ed860264b3a3d6f70f2d31bc49e7641abea3d208020973663a2decb1c56dbd0f8f303c6bd2f51122e457689a2ee6cc0625071c08615993afd4e678190b50b01c963c91a73f3d799c2b05ca35bce8f33218852923bb0526a6f8e66f7416945e97082a41067cf08fb59b24f29451953942b4a071c49d8a455272f6d3ddbb0f328333e7d56aef8e15cd8760b9cc8d80c45f2c90bdb476d38197c2ac5eb0b398a63765dc532b040874a3e7c9f1c08c4651b364115cf59d9401fbd4ae10f50eb3115bd4f831861d608ebb7ecdb28918ef796fdc75b74c68c4570b68745bdf6e306403919ed34ce1116a8de27f2744ee74151e4977249d868e52983e03ab32d980c92e13218d58e51aa20266799ba009dd54b427c842836762ffa1a37efd5f237be282f694c103e6d60cb23c7f88521dfa9dee389dde02a4675f8b4baa8b968571f7d7cf72e9a37887633fd77391f7c90ab134a9c55d329a0f327d856f6e4813f1f2b137d1bc5466184432e5c1a0893d75b1ba3e101dec4e509716a9962bb8224cc60701aed421a3bc0b748e195a4f4f2227bcdd5f29ccb33490cddc3a5893f89fdb633ae85f04374b6b335dc39f9ee046635be0868244a84ca4e6b68ddeaa460d28021b0c3ba4826b653a0550bc31475be0648af2f949918fb8083be49bfc3a7169351ad258ab37d3c5c9330d7de4c413bccb46ba16e51bd517b5fb79828b7f15ff62b362f89b14be23766ff4a99fca6c39cd61264a53738b5deb205a1b9a71cc093bf2fe64f8999987182403553071d73cc462b0c0e9d2969be8bc19eadcd27624c75fa031378811b897190bc661874d3b3bd2a0cbdbecd81644539c7d24dd927c9ecabc3a00d670f6419ac72bb82f881cb16509d9be6de98e8e50c27375f6ea7530fa7a7be0e15f837b6e02305aaefe42eb1e2db7357b375be06af62265900f4ecdf96f06690a2cc0cbc3a660158cfbd1e3e8641c1a195de26429bd37b6333edd6b86318d0f4527f2400bb912203f8f5fdcb28cc0d92ed7cde830d93e773089ef145c605de8c7a74d4f78f5a1297cfec085c5d896cf7ec97b986591ce317d7a4b22a799d51aed90790f8ffd3a0ed1d0d953841068963f26b9f82480e9b852ebb81ec592bc57b3f236cca8e2d33479fb2bd5b1ba3acdbcf094ff8c7fd2c370d5dade5335fdb1fb3d147e57d36ec940e7947e4e843dc7c5eab9f69ab44eaff2507b4e5d5009b0f69eda8ccdef4c86f23246a4670d3f9163d622a9b098164f24120b0346360db0947a9bbafdd924917084d8addec87d205830dacf25f9a8c5dc96d6126e07c13fccee772353fcedeb605133e893469190684caa463b31ee84078fbd09c594b882326d80d825da46752be4f91b7ba41ddb6fdc4eabd62761447cf586618b96ae74853a4c4bf18b287d996836bc73862d111d68752979d199a9c958520b7e24ecce1ae9fcc96bf520ae87d0c63bb939de7d5782773f8d5e97801bf9e2e46fcfc4faf1a460bf48e0b2310433504301cedc4de76c0a72a144df0db5d33046b81a5572a182b9d80d0a64a6d72da121886a1b099712e31fe7da6eddef305a47d1372f5285e95129eb4444190c2c2ddc7497a38d4c447a0ad6d979ce430b6e4992dbf5d93afaee46ad15c8982660d66db4171fd057205347d4d8a5f707955c285e1ffff53210d7e3daec6b200307c2a8c329e3be07d332cacfd121cb7deceffe94dd4778016e8e450d56ea1e0c24411203af53266bb0ebe19a99503d5f9115e395f7850f2ae357bcbe16820042cfe0a48f42cc29bbe11ab74223f0c87ce836202b79ef373dde3438cfe9e716959b4c3a6f8a4ef62c0d4e1676a3ab63ed554c5c7d364923a559d272e8af8ed70f7bc695713098e3c2cf8c91988757f2baf347aca36fa7a3f524ab8368527e5c0c7668f62f4ed9c43c1d2b1f79db4be211225048bb5d74f89a1012630d21e930bec893ee6839dd5e793fe175aad4fc96f4c44ae37f30ef578f730122edba1df3c97ee11ff3dda9b2c9cffa7ac68fd9496e013f29a3a1d90b1d6baebb2b33a1f6ee9c039abc8bd7c5dffc0762a8298c5d707e561008cceada4ce25ff0ba1c6823fdc481570bd46ebb4e24084edd23a61e2017278748116fe791077bd9cacf3ac0c2384ef4ac0317ed3ff5b27da656dc5ea718d24ebc5072891823147eb4301f6119b0c0d966cd0a4773d8246f7abe7dfea652a501df281c8163acd563f0cd18d748d660c7f08b11a8fff3f5b8aa59e40bdc95dd523c2fb51e1e1f1b8e2cc0f4f16ae1bfbb22d070c51c6a4e255501fc37a46e81e72b1c1cf4be38d687049a79c3b2e76e098299dadc8b114fafc194a2052a91bd03ae2d24def2d9ff3a566d1600da45074ca24b7ec6c389f5b277ccc7c3d6f9c5992a49504b3573a807852b26b0671f22c783bebb601e007b96859a11813748e3e4d1dbee6daf3115f2b6fc329889ae5acab7bc4a271ec6ed36da33eabb2f6c0e2422f1ad99b63c7ab564a5bbcc8f0684dbae67f1b717f45f40b270b632661e509d04ac0859fe07e99d6a1186ef5679c1a578900e7a6c4afde45fd5fb8d4e09af55a6be351ba6022d21b664cc7a12e764a8b1324e78324f9e700d40fa78686eba06bf858a3c9c57a0b3cf3c5a26cbbd3a6c94f859610f38c65da21d8971d9a111db351207aea340a31e1f4c2891d2f0a8f1717a0238f1fc5f5d2ab00e67290f33db3fcbbd80265d94284f507bb170f1372e443710f79e8f6b97b1ae5fc0f411f1baac59ff73fb7f1d6e14f628d44a3ffff4e8041d9c68508311d2c10d47e2b757ee2508a75570306388b87ecac059db275c2eaf2a57ad90b6c0d7a393275cc481ca0ba713c9aa2ff9cae0e827a42a108bf201cca46769b0b731454def29cdce30288d77630f22b6af8a745477a4de79a91d28ec61e856057a91b6f66f076dbc99ca62537a5b5cbc3ba7f0b7f9f951cf50ab3a1579834fbe40fa555c72fc814a7ebcca1129ef8fbe29693f3811cca0b7536609d762ca324ed5570aab9b014fadfbe6bd0781618413b77a9db17e93229a7a88a84f598b86c7b02dcc8d3acee477f278198dfb65e5d760401a3387473d99c734665174bd742c063e72335c48474e43635df9553f06ba0d8858a6afcab2b3dd248b2d1f1bee49a47260112ddd32cc271b00f508cbd54ed797bc5c94c03f40b0ea87ffd52266bfd0352d6a73e56206eec589537e2d319ccb1d2dedb46d7c640124157a6dd7539fe26197b8abfe9dffb9b64b6217e9db11b83c6c6bfe4638e085c3d738d7811fae4d351495e5aeedc25e7ae9175a11297c08218de98ee8a5c8874186bc8a891249f305dbdb6329555ff373acd7bf2fcfba73a5900118f1f316261d14cbd831e3defedbd9f57a77daf1546802123160d22bdc3f68919af18b01437486cb81edbc71f81740994ebc9cd1f02136dd6b0f8da3f9668299075db65920b3aa68063db574477d9114abffb5f79086b9f08e011524dfd57adc6a280581aad86ba75a5477cd17bfa5e228797bd48f123692cbc26c8167b3be88a300cddbcd9885133e0ab834ac0247bab3bdcf632bf0a645700b8ffae82f85992be4e69925230c9a4b0cacad347ccb8dbeb88f6e1ebd7e14fe695670fdf757b08ce63e8de491ba58fe703a6e339b0d69b3d10d90deaacc8e8e57c1732705a3df563f8a052e8d2a136ef7a1d03cdfd51110dbad378282e89a8624b90c04e3edf38f9d49d151f540513f18e076ebb8e37f3ae6c0333ea38487dafaf883597330419a58f1840e8d44740a97765cbd9325d79908ae14dbb5c7f116dea9e819f8cf4a82908bfd8d2a36a060aacdceae4ec3058598982505fac4d45785ebdedd76a5a2e14ca7195daa6e1cbac05fea7bea7105eda9c6017867efed08ee782f37a56114754b03e65d2751801e528a1cbf2440e9579778b053e726707913d22884b635df01f14796a782422b02f43786395a62d1e163332a0c831c61c941b6aa258d236b58716c5c82a9da9d20dcb2fae36e08858dcfb255a8e596c314d3cf11f5ffe79239e321ce7b56aaa1b0f517a1b8447027c4b83668daa7d09830a0946ced5acd998e8d3fbe5ba80d5661e9b49b7dac9c99f21d9cf397ad57683b1a3aa8a35824e1c563d745f705ec6c08ea9945b86e0915f0881b500ef7949e9524037e7e4b7cb4b04ec125665272528a29189cfde5c43273e7f08f6139f1e5d0306531743e5fec0788aebe321ab69d063b64dabab77c202acc4e0b716fbcaf8d9cec2c29e47c1bf768bb1975ff2361dac5506036783ebfd1122d04078404bc9fac06838331bd58470de0a9740e4f2cbe3e98199615dae1cec7e8e81d5172d02c1819075ba436ccf9e6e4ee02682a76c6311ede59db6f4bd4c445fb7eb93ca65f8d6e1abe91e6bb964bab7ffe2df8d4cddd086b144daa9b5ff9564dcf21ac2aad30ffffc13ded9c1cab516b8bd7322ba4dd4dc8e9b8e87c420dfb5e7bd9bcfbcfb85ab282d55d297020ab718541f655e875787e33a0b1d8c2d2f4a5f0b3847ac3da6db05b6c4d5f557a8d49dd290b03964704304e535c9d906d7653a85eed087733352d70ebe953dfbdc95284b18b310eb0a740ea57bd8ac2c7bbed61c6a281880ecebe4deaf906791c405c88c5e3c736f3e9a9bf5fbc1514958d86cf3df03a4084ad7a5905c2c1506d0faa2e4e3475575d7aa4c2463742f0df32f69438d2a6b29a1d65904bb8bc2e75d146828b7e3da07bf294f1dcba1476cfe86d45e25533553e604673caffe496e8aaa312c0495af8e99a1d3f0f8b4e430f0bff5714ae71e890058d215a1cbc9ca78ffdd0114caf1ee4c7295a241fcf0f4fd55deea8490b6d6b8773560d1430edbe6a8df84676edd872b34e108b6adae9228644572c151b29a7976e6e1b42ebcbe4a1700c9b65456fdb7c1604cb8412178bd367e1bdc13ba42ab3f19b0beceb2ac01bd1fba5a55ef23bdeb2da1d75db616ca150ffdc29c64b49595a990f4982ee9a1da2e34e32bb6c2144772c46f0f98e946c5f441d6478fb3a6267e53c046c53d5cae3e941908a636921ab602d4836a940ec70d4202414a5bc8eeee322223ecb9f9d75114ad5e8d21774c81d0c6be3787c7152b64f2afbca8ca82c796de8a17d31d95e6c69542ff8b5aea6ceb28ac106b3ecb227277ce906ff6d1d4efc57c25c33b8700da6315ca070a99b92fc3beb74858fad5f42f178b727ec22dd80f119b5f43dd7c6191f0f4c8c39e14ec548e8f533a9d94734fcd67b368d61d00736f12684a274725ff0d2f82212bbac18b6a2e522327091a8c612765fcb3d53e26790cd78f76f3f13d96618e1e39daa73883ef9162e87bbb8a165175cee51882736f60c1cee36a2f632023bc3b79d0b5ae80c65e3400e6677b8f685c9d19fe379a646641bde39885f20fab00f7ab0bb41d994c9ca296332c65a07bda8969297597127e462a361326f6122d55d0d7936a0acf506778cff4bb3cc6de790d5b2a31612e4ffc8d90a289a0661ffa426677c35830d46fac8a89c5ca394a4a62ff7bc8173db3e066e1af06bacd43671a43f63864f48918f3a4cb8e05cf3f6bde639d75bb86a5155cc0238cd8091e4b9ccddff879577d99e5173ba1b4c744dbcc2adbc3ea9dfd1afd6cca9809ff5b00553cc615b458a002284099910c1e9630dbf3405c8c5434a75100281ee47d4f73d89156163b166e092d6e607882f46c1a065399acea475fd539416de229679e7ca9b0eece302202892513552b8115bb9c33215a84e46a3f107635ca9cbbd28c1f1efe65b678bcdd24773bff7499ac51563f105cca82cf464e5ac2518e8154c438c5b60b01d24e28485b3934d5c25ac6c3ea7a68870239b9f142a703d7e6f388f2c17f209a41fa1795c282d278d12f1ac620c0ba370a1d6d301eea1fa2ce706fdd651902504c81d1c2a87423b24704290c550875195c50ae82f044b878ec92f0b6b860346433f30e6d2b8825163c94b2e9cd6364be82912a9b2fcbded0e4b3529ec539150370fb083be520df4267996f52d22a2b8b92da1cdb89291afda7d725a1c99422041a449c8da227f5583570f0ce35066a6628d675b1e7a9cff26876bc2fb81a40ed3b799a9973cdb5bdaf901b0652c6b0623e428b4cb16c395538b198dcc8ede2e5ee13bc62377f4f56fde33889d3f33d8c3085936d9a6b2d3c0afa3b70901ab8954e7160a837d57ddba5d2c9921edd387f70330ff62cc56997f6e617023cba301608", 0x2000, &(0x7f0000005080)={&(0x7f0000000000)={0x50, 0x0, 0x80000000, {0x7, 0x24, 0x7, 0x80040, 0x5, 0x7fff, 0x0, 0x47}}, &(0x7f00000000c0)={0x18, 0xffffffffffffffda, 0x27, {0x6}}, &(0x7f0000004140)={0x18, 0x0, 0x8, {0x5}}, &(0x7f0000004180)={0x18, 0x0, 0x1, {0x5}}, &(0x7f00000041c0)={0x18, 0x0, 0xfffffffffffffff8, {0x4}}, &(0x7f0000004200)={0x28, 0x0, 0x3, {{0x7, 0x100000001, 0x0, r3}}}, &(0x7f0000004240)={0x60, 0x0, 0x0, {{0x101, 0x3f, 0x6, 0xe7, 0x8000000000000000, 0x2, 0x6, 0x8}}}, &(0x7f00000042c0)={0x18, 0x0, 0x91d, {0x9}}, &(0x7f0000004300)={0x2f, 0x0, 0x3, {'/sys/kernel/debug/sync/sw_sync\x00'}}, &(0x7f0000004340)={0x20, 0x0, 0x2, {0x0, 0x15}}, &(0x7f0000004380)={0x78, 0xfffffffffffffff5, 0x7fff, {0x3, 0x1, 0x0, {0x4, 0x80, 0x8, 0x2, 0x2, 0x7, 0x7, 0x20, 0x7, 0xc000, 0x4, 0xffffffffffffffff, r2, 0x8000, 0x7}}}, &(0x7f00000044c0)={0x90, 0xffffffffffffffda, 0x3f, {0x1, 0x0, 0x5e, 0x1, 0x5, 0x5, {0x4, 0x0, 0x9, 0x1ff, 0x7, 0x7, 0x0, 0xfd9, 0xa5d, 0x6000, 0x3595, 0x0, 0x0, 0x229, 0x100}}}, &(0x7f0000004580)={0x118, 0x0, 0x8, [{0x1, 0x0, 0xa, 0x1, '.[!-\xd2%-@{:'}, {0x6, 0xfffffffffc000000, 0x1c, 0x80000001, '/sys/kernel/debug/sync/info\x00'}, {0x0, 0x3, 0x0, 0xffff}, {0x6, 0x9, 0x1c, 0xffffffc1, '/sys/kernel/debug/sync/info\x00'}, {0x1, 0x2a4a, 0x6, 0x1ffe0, ',{\xfc:,\\'}, {0x6, 0x1, 0x1c, 0x7, '/sys/kernel/debug/sync/info\x00'}]}, &(0x7f00000049c0)={0x598, 0x0, 0x9, [{{0x1, 0x1, 0x4cf2, 0xcd0c, 0x9, 0x81, {0x4, 0x5, 0x9, 0x6, 0x0, 0x1000, 0x100, 0x10000, 0x9f5, 0x4000, 0x1, r1, r2, 0x1000005, 0xb3}}, {0x5, 0x4c, 0x1f, 0x4, '/sys/kernel/debug/sync/sw_sync\x00'}}, {{0x4, 0x3, 0x9, 0x4, 0x8d, 0xd804, {0x5, 0x0, 0x7, 0x9, 0x100000001, 0x7, 0x348, 0x66, 0x2, 0xc000, 0x8001, r1, r2, 0x0, 0x8}}, {0x3, 0x9, 0x1f, 0x8, '/sys/kernel/debug/sync/sw_sync\x00'}}, {{0x2, 0x1, 0x6, 0x4b, 0x1, 0x8461deb, {0x2, 0x2, 0x0, 0x8, 0x100000001, 0x2, 0xb767, 0x91e6, 0x6, 0x8000, 0x401, 0x0, 0x0, 0x40, 0x8}}, {0x2, 0xac, 0x1c, 0x2, '/sys/kernel/debug/sync/info\x00'}}, {{0x4, 0x3, 0x8000, 0x5, 0x6, 0xda7, {0x2, 0x100000001, 0x5, 0x9, 0x3, 0x5, 0x7fff, 0x10000, 0x1f, 0x1000, 0x80000001, r4, r6, 0xff}}, {0x0, 0xfff, 0x0, 0x8}}, {{0x1, 0x2, 0x5, 0xff, 0x4, 0x3ff, {0x4, 0x7, 0x3, 0x80, 0x40, 0x2, 0x0, 0xeb5a, 0x5, 0x0, 0x90c, r8, r9, 0x6, 0x326}}, {0x4, 0x4, 0x1f, 0x800, '/sys/kernel/debuw/sync/sw_sync\x00'}}, {{0x4, 0x2, 0x401, 0x4, 0x1, 0x0, {0x5, 0x400, 0x200, 0xfff, 0x4, 0x1ff, 0x4, 0x200, 0xffff, 0x2000, 0x80, r1, r11, 0xe176, 0xaa}}, {0x2, 0x200, 0x4, 0xffffffff, ',@!-'}}, {{0x4, 0x3, 0x4b, 0xf8af, 0x5, 0x3, {0x6, 0x9, 0x1, 0x702, 0x1, 0x3, 0x7, 0x1ff, 0x100, 0x3000, 0x1, r1, r12, 0xfff, 0x2}}, {0x1, 0x7, 0x1f, 0x6, '/sys/kernel/debug/sync/sw_sync\x00'}}, {{0x3, 0x1, 0x1000, 0x7fffffff, 0x6, 0x80000001, {0x6, 0x8000, 0x7, 0x6, 0xe57, 0x1, 0x8, 0x7a23, 0x2, 0xc000, 0x80, r13, r14, 0x494756ee}}, {0x6, 0x87a, 0x1f, 0x8, '/sys/kernel/debug/sync/sw_sync\x00'}}]}, &(0x7f0000004f80)={0xa0, 0xfffffffffffffffe, 0x81, {{0x3, 0x3, 0x9, 0x39, 0x100, 0x8, {0x1, 0x7, 0x7f, 0x8, 0x8000, 0xe827, 0x3f, 0xc2b, 0x4a23, 0x2000, 0x8001, r1, r15, 0x3fe, 0x2}}, {0x0, 0x9}}}, &(0x7f0000005040)={0x20, 0xfffffffffffffff5, 0xfffffffffffffff9, {0x401, 0x4, 0x2, 0x100}}}) openat$sw_sync(0xffffffffffffff9c, &(0x7f000000a6c0), 0x0, 0x0) (async) openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) (async) read$FUSE(r0, &(0x7f0000000100)={0x2020}, 0x2020) (async) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000000240), &(0x7f0000000280)=0x5) (async) setuid(r4) (async) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000180)) (async) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000000540), &(0x7f0000000580)=0xc) (async) setsockopt$sock_cred(r5, 0x1, 0x11, &(0x7f00000005c0)={0x0, 0x0, r6}, 0xc) (async) socket$inet_udplite(0x2, 0x2, 0x88) (async) getsockopt$sock_cred(r7, 0x1, 0x11, &(0x7f0000000240), &(0x7f0000000280)=0x5) (async) setuid(r8) (async) getresgid(&(0x7f00000046c0), &(0x7f0000004700), &(0x7f0000004740)) (async) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000180)) (async) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000000540), &(0x7f0000000580)=0xc) (async) setsockopt$sock_cred(r10, 0x1, 0x11, &(0x7f00000005c0)={0x0, 0x0, r11}, 0xc) (async) getgroups(0x4, &(0x7f0000004780)=[r2, r2, r2, r2]) (async) getsockopt$inet_IP_XFRM_POLICY(r0, 0x0, 0x11, &(0x7f00000047c0)={{{@in6=@empty, @in=@empty}}, {{@in6=@local}, 0x0, @in=@multicast1}}, &(0x7f00000048c0)=0xe8) (async) newfstatat(0xffffffffffffff9c, &(0x7f0000004900)='./file0\x00', &(0x7f0000004940), 0x2000) (async) getgid() (async) syz_fuse_handle_req(r0, &(0x7f0000002140)="07935f135e14e96ae236d6b1b1373bc380186accab55887276793acd35cd5f60fbd6c2f37bc5971208835db2dea48da6ec632d7e650b2643b95d132d46fc9386ebba72549ac9b1013c622dfdb528ae21c58cf8bfc4c201853c97576d07fb8904b3362517e8e124274aace2c7c3d99add6e91d0aaae88be3bfb71dae4545872086e881787358e48bfd7f0403f9ba692d2803c0eab17017a876cffb1f33a6852eed66bbde061134aef52102527e94587722eded53c2bc25bac59392f192da2f469711ee3137333586e0494d5ac5988f540c6a1e70fe30cc21e33edf05df5c3406951e8e947364c529aa43e41c336a4e294663b4dccaa03bf73fd679f8657a79d79feb769acb56fd6d9ad4b6e1a973d004c80f2f25f101143cda6fe60a87c4eb98da6b39b3089bd92fad57a2fb78aa6335a3f536e4092402ae0c44a8a9d69d59aa8e2ab7c3f3c610722ed25e7f4b8aaff5cd9398ce3588cc309ae2c84fd03057544c5ac1b89ac2ed750348ff0aa94bdaa68bb546b094c0888bc669ef331e1dfe7d6f729f8b7473ecfeebfac2cb9d193bd9d386e3fa1b7664476961f1c9d55017dadad276551a0117159c838f2e4a5be2affb946da4e51bc7193fef473f8b1334df365337bf590b0e119f6a069d3a3024f7d8fe3e6d56eef1dd143f296d2041c4cb5059506b407e82428f306dca0a559dba598a1a278014fe2cfd6e1a3c2a859952db4a66a5247570e7723027e07bc67398ffe81079df0aa60f4027daf4026d445c47c22ee18579e0b459cb547deb8c55a70ac2ff56496470029acd91f39f9df03dcf5f290cb97e83b2c7d2bd4bb0bf5e3eac5c0433a07eb650a9d7e1d23bc024c07f0384cebf742f6a54085de35353ec9f65d3078c6de34a14dc96f5d2678f41da63e7d48e7cfe31a9040c351d2d56f86d43925a85dc36d82884bd3d972b6651aa958abc2da6a686781d8c41dd1c50322423aa6e72914a196aef020a6f9df2fc2de36de5dc33076e3bc40e0bc36d14b10bc8436dd297e4fecdd8ad185bd2b160abd05a76b1c63b6aef4c28331317897eeccf113401db582709128a4f91708f748b1105581038b4b3f35dffc088c072fcbc30b8ae29615a30467b1531baba9b0d1abade2947bd049196589d72a08c91b150b656431d12519bd3e338c133da2f82fac5995772bb1e8e1a468ee9d56dddb74691742bf3acf575b39931db12c62a86fe2a22f6df8a9ddc512560c99b560bc4eccf9e2975dfc3b109da4a02e5a84efcc6faaf8600284702f76c8f826e8cdab4e5cf9adbdda27fac4dfdbca61baa77017687fb564e4bfca9070ad32c7921db5c2f3e3e48e1b662d7216ad5cc120d73b48e8ef552f9458ebf1cb3ee0cb3ab68a977d33a2e8aacbb833495a34129e15b92108e67cee25684d3dac89b68b5650e9b4422c45482282a82d4414de218633f6449cf45765e02e27db39c91a889fd533f701f7eba4d3bffddf3d2a52f5b9bf552231f686807246f7bcfb081a26bfadf92e608f94b7026aee1a5c571fa92f2515d11aa06b1938ba4a42b044102db8977d9ec74dfb0d787b93b8b8850cb045af7208281082950792ddce7e3b11246d949c386d63a9cc5ea30ad2c790054dc089a680cbeee7fbeefb0880ac52ec7fe61fdf60789f9f5df74a849adb50e8311fc7d088434e897954c36326410baf856cb08a5add28c3f06cd025d52eefcb56839569bcb22c2fcf865d5dd3b29c8b92f75fa032a518681b0ec9f939ba3a9b06432fd330d6fa7b89b78ee648730dac06e80d9b8e5a2d8edab193ead6887f632941bc6a920ceeef1fb38be929050932b0e78a56387e42db817982c5d6cb596f1368ce98112ee055aed44aa3b91f1ee789c605d011a767d4b0fec133d446cc8ed752d5b7b63308fbb01bb918e3dde0885122c613e2c32ee189cfba2bdb6a553e2736afdf2fae1ccfff99c4bbc997b48e99b7757a3514b3f218aaaa96457fd257bdce1e6548e64ff7249da7bd705c9fbb0e16dc9eb2e63020b92108b947b439652a21df4e8bb90e17cb0edf2b2903caed3e0efa3b3a9f860ec448ac1e9cb95fbcdce8141f6dfc0c96bc9a4a95382b3a8880b740e336b694c38dccc16dfa7753cae616e62c10dd9e796ba07ef87002b26083d4ef7e2f2983b856b1b152c6233e6f66ad5825040e1092729a7b235b84ba47f646f67e5e75f17c0a86e1fd00d762cb538722d23e28d3716fd965739014ab25aac9f3651544d0c8007a8c7ded145330859f8026d8f82456fa184cffdf5efd57e4283c89fae378511e32c3e65df8bb020e84180aafd61a93c2b8f79664a584deddfd6aa7e1279ac1a3be97a3f8f3eaa947580d98ab2c9b33645fa266914e99f8166bc74dc5d87a07fa8e8bc21ac77b49ea332badb952524a58736b4b698bc4671dc19f7d16d9b51c9047a297e3af107a33ed8003644a211c1557267a9dd7cb842a70854d8dd0a6d9f45fa51d5dc83087490a5dc1af259d90b289d4421a4d63d2b006f647a4af7cfb70b52519d4c0eae4804ba477c17eb3fd0d1914d894d1d3c3db1638b2022dd101ff43bf50524a4f11cb8bb0b3308aa5c00268e3b4af9c62f5c2b32855775790ef7f38d39e2dcaafb268da9d233c10c05a808e60d5f1fac05a18933b0e810686fe078d0322875fc22798a192cf96e8d29804a91cedec662a6ce998db5189f2b29b0c447dcd61be159847ab957bd5c17c4996ed6151c317da73704c291f3f13014b32269276ad5edc714bec227e80ced32b22b4a66f9ffb50cd6bb0460d71e734db1a139f47b5bfcaeb9ecda1cf2c32a9b4b654026b2f983da932a868b618183d3ac7bfed6cfa6f2e895249d5cd33ddc7ca779b1d1579fc833f9d25a90fa7e04557b1bb421cf654b28df48f558100b3c6480950e04f1d9ead28f27b87df17488c7846b938b192f48eb0acf036a5af0fc38d9b49d8f77c8cd3d0c80b6fe66ac54e338dc3d5de2b0366490ba9df383215d0fc90fe3143a0e02b33865858cc4dc0c9160b32e127f92f6a270870b83f1d9299f99983b15fa642a7b96e8f1ff0458765dd1fe6a71dc44f317df30c6b197a5d64227571b80de20de3c0623a11abc0a68a7cc3226b4f6517476013f17302176369fb647e2672d5abb5c19987761d61f91ff25de69a04675afd5f5284bbf6e48b7af79311a903ec3a9da7e9087583f6c6f44c724df8fb5f1a4185023f4114e3b34ca29969267fbb936845f41a969ba5ade4c259035d38ddf4456e72c9d36262f92a9ecb1c06aca7babbd04f940d6b5ab5d0578face7c4fe2d18e116737feb2a3965a1cf6c34d5895d78b921313dc47555e9b7ed416735c0ad141cda25cc1f0b085500bd6205f02b8fd6174f02f084e7af1140b1b51805048bc5ac7e2bd01a4b01bdd62f200a76f8cdf2453e4123bb6cee93983d58d403a9f65372451e434f7bea486745029a57b92744f4301c61e3700a4ce45b4810e5d891bf4c9aff5d4dbb80000b0b24f85c49267160f44e00f5089e62718968a1add197d24e622c570c063491249b7ad3866a91c7e6f72dd644e89727873c11df0bc102d2e4527e844a45720f8a3ad49ebb123a8eb2d22b5e8128e4ff7ec82ce0d3dd9805b4321798176979d806760072fc332dc2b11eb9d7444a96d545b26a63bb6b71a65a9ef163399e046986ab9217175c3cd64a8a7e2a970467732c61bdd92e45b7e6cb03f6ff70a13d2060520a56e03244ecb24283357400505f06bbff7efc44de1dcba7a483f137aef81b91920436a3b2b3b827050be763d779039067d19c6b877d9f3575e6d3cb307c2fe2165050907dc61c7eb405ad14c91ed62b1be1c65a2070509d105494f84107dde28c8cb1c603c446a4f3ccab0d85960c3dec4bf28bb44e7ad1ad8e1d87a198fbf43ac747f0795040dd821d9c946b11b00a429797d59c0fbaf2634650a24cba9cf9f41ec118a5c2341e632944f0cfefd2ada62304d35a9aa1a3462d75e592e064fdef9eb57e93599e3ca834fa10896b36ec1104d957308c1435daafbcd0c48e68575c6d50f608198f6214745aff9251dcd4a38d76319ec2d88acb930d4b50090d96873d94c1aefddbe69992a51e85007964b04334d577b25e7c15e6976d2bef2a23c1ab26b600af6c5fb40fdea6080587c778570363bc93ca2ca6f13521c8794970c43d5bfae4409ed173395c28b4e86970494b11fda499a0414ad410b56ac9db38300b0d553037bf528e943c440a82b893fb91903c8bb04372740d17accb5bc62c486344bf7ef98cbbf568fa0c1a3ad554c93d713e44eb955f21d29887dcd257b3a49951be1a9040d65446b75bef3015e50adaf753d8f15d347cb1e5c4f1dafaf7a6036d2b44bb8eefa33b3614470369cc9e9c704c51e1bcca93b53a2fa2ae07b1c0986e6b1e1784410b1f9853f74cca7936672f52c8ed6b0ee65eb9cd0f1c8cb1735f9fb0c0509504e84dbbf24aced239765b1a2cc7622ff27fb1fc1ff68c7679d6ad76619728d118535a302e4270a194877d17985d5a4e5ec3edade2108fb119de90b4403a061d49563ef59d94f5db064af28213e1af4395d1e3da9a49153a74c62a7e55ea57db2477bfd461147185dbb72d50ec72fcde63d57fcbea3c25134b98313542f044d7487e5c70ef26cfec2efee4cecc3d1e2f01a1c8332b88491ceba519ceee0460694a64cee761a5b2fd72956bf4712e6a2e502be93ff862cc13a271bba0fb181f96510027bf6a5afd18e743988e2179bf8c3b7dc1c2d8ac43f8a493e68de99d92bf3fe82f49a64153b84949576e0a7ad909e8875cc1e50d9445be98f87fd415fd0bcf382a4f89bce2ca32d57732fa4b61f4db315e324dd3afcbc1d82bd9ae86659ed7277ac1858a2d79877eb004a7eeab5eabc70f2af5bcabc7fd02d77320b1edbd62d21eec4033ed6355a755c252021391e9dc648945a6a28b6343deb43010bc95dd287602609ac279ebb7fbfff50748d3f10a0f2cff503f944687dee3509cdf5c9373b425d4f0c4ec8ca29b95f1d6ba707e3ab47d39696f3fb06b59dfb20cdbefa23afef1e813f2ba6637b6177287a4a2b41f7584512a81eb2e7ea3c025a9eebcbce4672d497b1b5f0f3402f82cab5b910b5f18d48ac6212a604b87570d1b057a81a478cddd128198c1e20524d2d432f1e01180b6257898065de39a16889bbbb05e2e3fb7b016237950988f4b57c6733188801def4064b7d9703543a277b5da519816687279513c7b6a5e48782b904330328c62a9643391de3a20ec1b23be73ec6aca606322418725fe64312a3c0d1dfca3c18cebfb5dc09ed7b4470682a397177a369756d41479db02be5e0b7b9340ae148f2495f9ed113c50982e5c971ed860264b3a3d6f70f2d31bc49e7641abea3d208020973663a2decb1c56dbd0f8f303c6bd2f51122e457689a2ee6cc0625071c08615993afd4e678190b50b01c963c91a73f3d799c2b05ca35bce8f33218852923bb0526a6f8e66f7416945e97082a41067cf08fb59b24f29451953942b4a071c49d8a455272f6d3ddbb0f328333e7d56aef8e15cd8760b9cc8d80c45f2c90bdb476d38197c2ac5eb0b398a63765dc532b040874a3e7c9f1c08c4651b364115cf59d9401fbd4ae10f50eb3115bd4f831861d608ebb7ecdb28918ef796fdc75b74c68c4570b68745bdf6e306403919ed34ce1116a8de27f2744ee74151e4977249d868e52983e03ab32d980c92e13218d58e51aa20266799ba009dd54b427c842836762ffa1a37efd5f237be282f694c103e6d60cb23c7f88521dfa9dee389dde02a4675f8b4baa8b968571f7d7cf72e9a37887633fd77391f7c90ab134a9c55d329a0f327d856f6e4813f1f2b137d1bc5466184432e5c1a0893d75b1ba3e101dec4e509716a9962bb8224cc60701aed421a3bc0b748e195a4f4f2227bcdd5f29ccb33490cddc3a5893f89fdb633ae85f04374b6b335dc39f9ee046635be0868244a84ca4e6b68ddeaa460d28021b0c3ba4826b653a0550bc31475be0648af2f949918fb8083be49bfc3a7169351ad258ab37d3c5c9330d7de4c413bccb46ba16e51bd517b5fb79828b7f15ff62b362f89b14be23766ff4a99fca6c39cd61264a53738b5deb205a1b9a71cc093bf2fe64f8999987182403553071d73cc462b0c0e9d2969be8bc19eadcd27624c75fa031378811b897190bc661874d3b3bd2a0cbdbecd81644539c7d24dd927c9ecabc3a00d670f6419ac72bb82f881cb16509d9be6de98e8e50c27375f6ea7530fa7a7be0e15f837b6e02305aaefe42eb1e2db7357b375be06af62265900f4ecdf96f06690a2cc0cbc3a660158cfbd1e3e8641c1a195de26429bd37b6333edd6b86318d0f4527f2400bb912203f8f5fdcb28cc0d92ed7cde830d93e773089ef145c605de8c7a74d4f78f5a1297cfec085c5d896cf7ec97b986591ce317d7a4b22a799d51aed90790f8ffd3a0ed1d0d953841068963f26b9f82480e9b852ebb81ec592bc57b3f236cca8e2d33479fb2bd5b1ba3acdbcf094ff8c7fd2c370d5dade5335fdb1fb3d147e57d36ec940e7947e4e843dc7c5eab9f69ab44eaff2507b4e5d5009b0f69eda8ccdef4c86f23246a4670d3f9163d622a9b098164f24120b0346360db0947a9bbafdd924917084d8addec87d205830dacf25f9a8c5dc96d6126e07c13fccee772353fcedeb605133e893469190684caa463b31ee84078fbd09c594b882326d80d825da46752be4f91b7ba41ddb6fdc4eabd62761447cf586618b96ae74853a4c4bf18b287d996836bc73862d111d68752979d199a9c958520b7e24ecce1ae9fcc96bf520ae87d0c63bb939de7d5782773f8d5e97801bf9e2e46fcfc4faf1a460bf48e0b2310433504301cedc4de76c0a72a144df0db5d33046b81a5572a182b9d80d0a64a6d72da121886a1b099712e31fe7da6eddef305a47d1372f5285e95129eb4444190c2c2ddc7497a38d4c447a0ad6d979ce430b6e4992dbf5d93afaee46ad15c8982660d66db4171fd057205347d4d8a5f707955c285e1ffff53210d7e3daec6b200307c2a8c329e3be07d332cacfd121cb7deceffe94dd4778016e8e450d56ea1e0c24411203af53266bb0ebe19a99503d5f9115e395f7850f2ae357bcbe16820042cfe0a48f42cc29bbe11ab74223f0c87ce836202b79ef373dde3438cfe9e716959b4c3a6f8a4ef62c0d4e1676a3ab63ed554c5c7d364923a559d272e8af8ed70f7bc695713098e3c2cf8c91988757f2baf347aca36fa7a3f524ab8368527e5c0c7668f62f4ed9c43c1d2b1f79db4be211225048bb5d74f89a1012630d21e930bec893ee6839dd5e793fe175aad4fc96f4c44ae37f30ef578f730122edba1df3c97ee11ff3dda9b2c9cffa7ac68fd9496e013f29a3a1d90b1d6baebb2b33a1f6ee9c039abc8bd7c5dffc0762a8298c5d707e561008cceada4ce25ff0ba1c6823fdc481570bd46ebb4e24084edd23a61e2017278748116fe791077bd9cacf3ac0c2384ef4ac0317ed3ff5b27da656dc5ea718d24ebc5072891823147eb4301f6119b0c0d966cd0a4773d8246f7abe7dfea652a501df281c8163acd563f0cd18d748d660c7f08b11a8fff3f5b8aa59e40bdc95dd523c2fb51e1e1f1b8e2cc0f4f16ae1bfbb22d070c51c6a4e255501fc37a46e81e72b1c1cf4be38d687049a79c3b2e76e098299dadc8b114fafc194a2052a91bd03ae2d24def2d9ff3a566d1600da45074ca24b7ec6c389f5b277ccc7c3d6f9c5992a49504b3573a807852b26b0671f22c783bebb601e007b96859a11813748e3e4d1dbee6daf3115f2b6fc329889ae5acab7bc4a271ec6ed36da33eabb2f6c0e2422f1ad99b63c7ab564a5bbcc8f0684dbae67f1b717f45f40b270b632661e509d04ac0859fe07e99d6a1186ef5679c1a578900e7a6c4afde45fd5fb8d4e09af55a6be351ba6022d21b664cc7a12e764a8b1324e78324f9e700d40fa78686eba06bf858a3c9c57a0b3cf3c5a26cbbd3a6c94f859610f38c65da21d8971d9a111db351207aea340a31e1f4c2891d2f0a8f1717a0238f1fc5f5d2ab00e67290f33db3fcbbd80265d94284f507bb170f1372e443710f79e8f6b97b1ae5fc0f411f1baac59ff73fb7f1d6e14f628d44a3ffff4e8041d9c68508311d2c10d47e2b757ee2508a75570306388b87ecac059db275c2eaf2a57ad90b6c0d7a393275cc481ca0ba713c9aa2ff9cae0e827a42a108bf201cca46769b0b731454def29cdce30288d77630f22b6af8a745477a4de79a91d28ec61e856057a91b6f66f076dbc99ca62537a5b5cbc3ba7f0b7f9f951cf50ab3a1579834fbe40fa555c72fc814a7ebcca1129ef8fbe29693f3811cca0b7536609d762ca324ed5570aab9b014fadfbe6bd0781618413b77a9db17e93229a7a88a84f598b86c7b02dcc8d3acee477f278198dfb65e5d760401a3387473d99c734665174bd742c063e72335c48474e43635df9553f06ba0d8858a6afcab2b3dd248b2d1f1bee49a47260112ddd32cc271b00f508cbd54ed797bc5c94c03f40b0ea87ffd52266bfd0352d6a73e56206eec589537e2d319ccb1d2dedb46d7c640124157a6dd7539fe26197b8abfe9dffb9b64b6217e9db11b83c6c6bfe4638e085c3d738d7811fae4d351495e5aeedc25e7ae9175a11297c08218de98ee8a5c8874186bc8a891249f305dbdb6329555ff373acd7bf2fcfba73a5900118f1f316261d14cbd831e3defedbd9f57a77daf1546802123160d22bdc3f68919af18b01437486cb81edbc71f81740994ebc9cd1f02136dd6b0f8da3f9668299075db65920b3aa68063db574477d9114abffb5f79086b9f08e011524dfd57adc6a280581aad86ba75a5477cd17bfa5e228797bd48f123692cbc26c8167b3be88a300cddbcd9885133e0ab834ac0247bab3bdcf632bf0a645700b8ffae82f85992be4e69925230c9a4b0cacad347ccb8dbeb88f6e1ebd7e14fe695670fdf757b08ce63e8de491ba58fe703a6e339b0d69b3d10d90deaacc8e8e57c1732705a3df563f8a052e8d2a136ef7a1d03cdfd51110dbad378282e89a8624b90c04e3edf38f9d49d151f540513f18e076ebb8e37f3ae6c0333ea38487dafaf883597330419a58f1840e8d44740a97765cbd9325d79908ae14dbb5c7f116dea9e819f8cf4a82908bfd8d2a36a060aacdceae4ec3058598982505fac4d45785ebdedd76a5a2e14ca7195daa6e1cbac05fea7bea7105eda9c6017867efed08ee782f37a56114754b03e65d2751801e528a1cbf2440e9579778b053e726707913d22884b635df01f14796a782422b02f43786395a62d1e163332a0c831c61c941b6aa258d236b58716c5c82a9da9d20dcb2fae36e08858dcfb255a8e596c314d3cf11f5ffe79239e321ce7b56aaa1b0f517a1b8447027c4b83668daa7d09830a0946ced5acd998e8d3fbe5ba80d5661e9b49b7dac9c99f21d9cf397ad57683b1a3aa8a35824e1c563d745f705ec6c08ea9945b86e0915f0881b500ef7949e9524037e7e4b7cb4b04ec125665272528a29189cfde5c43273e7f08f6139f1e5d0306531743e5fec0788aebe321ab69d063b64dabab77c202acc4e0b716fbcaf8d9cec2c29e47c1bf768bb1975ff2361dac5506036783ebfd1122d04078404bc9fac06838331bd58470de0a9740e4f2cbe3e98199615dae1cec7e8e81d5172d02c1819075ba436ccf9e6e4ee02682a76c6311ede59db6f4bd4c445fb7eb93ca65f8d6e1abe91e6bb964bab7ffe2df8d4cddd086b144daa9b5ff9564dcf21ac2aad30ffffc13ded9c1cab516b8bd7322ba4dd4dc8e9b8e87c420dfb5e7bd9bcfbcfb85ab282d55d297020ab718541f655e875787e33a0b1d8c2d2f4a5f0b3847ac3da6db05b6c4d5f557a8d49dd290b03964704304e535c9d906d7653a85eed087733352d70ebe953dfbdc95284b18b310eb0a740ea57bd8ac2c7bbed61c6a281880ecebe4deaf906791c405c88c5e3c736f3e9a9bf5fbc1514958d86cf3df03a4084ad7a5905c2c1506d0faa2e4e3475575d7aa4c2463742f0df32f69438d2a6b29a1d65904bb8bc2e75d146828b7e3da07bf294f1dcba1476cfe86d45e25533553e604673caffe496e8aaa312c0495af8e99a1d3f0f8b4e430f0bff5714ae71e890058d215a1cbc9ca78ffdd0114caf1ee4c7295a241fcf0f4fd55deea8490b6d6b8773560d1430edbe6a8df84676edd872b34e108b6adae9228644572c151b29a7976e6e1b42ebcbe4a1700c9b65456fdb7c1604cb8412178bd367e1bdc13ba42ab3f19b0beceb2ac01bd1fba5a55ef23bdeb2da1d75db616ca150ffdc29c64b49595a990f4982ee9a1da2e34e32bb6c2144772c46f0f98e946c5f441d6478fb3a6267e53c046c53d5cae3e941908a636921ab602d4836a940ec70d4202414a5bc8eeee322223ecb9f9d75114ad5e8d21774c81d0c6be3787c7152b64f2afbca8ca82c796de8a17d31d95e6c69542ff8b5aea6ceb28ac106b3ecb227277ce906ff6d1d4efc57c25c33b8700da6315ca070a99b92fc3beb74858fad5f42f178b727ec22dd80f119b5f43dd7c6191f0f4c8c39e14ec548e8f533a9d94734fcd67b368d61d00736f12684a274725ff0d2f82212bbac18b6a2e522327091a8c612765fcb3d53e26790cd78f76f3f13d96618e1e39daa73883ef9162e87bbb8a165175cee51882736f60c1cee36a2f632023bc3b79d0b5ae80c65e3400e6677b8f685c9d19fe379a646641bde39885f20fab00f7ab0bb41d994c9ca296332c65a07bda8969297597127e462a361326f6122d55d0d7936a0acf506778cff4bb3cc6de790d5b2a31612e4ffc8d90a289a0661ffa426677c35830d46fac8a89c5ca394a4a62ff7bc8173db3e066e1af06bacd43671a43f63864f48918f3a4cb8e05cf3f6bde639d75bb86a5155cc0238cd8091e4b9ccddff879577d99e5173ba1b4c744dbcc2adbc3ea9dfd1afd6cca9809ff5b00553cc615b458a002284099910c1e9630dbf3405c8c5434a75100281ee47d4f73d89156163b166e092d6e607882f46c1a065399acea475fd539416de229679e7ca9b0eece302202892513552b8115bb9c33215a84e46a3f107635ca9cbbd28c1f1efe65b678bcdd24773bff7499ac51563f105cca82cf464e5ac2518e8154c438c5b60b01d24e28485b3934d5c25ac6c3ea7a68870239b9f142a703d7e6f388f2c17f209a41fa1795c282d278d12f1ac620c0ba370a1d6d301eea1fa2ce706fdd651902504c81d1c2a87423b24704290c550875195c50ae82f044b878ec92f0b6b860346433f30e6d2b8825163c94b2e9cd6364be82912a9b2fcbded0e4b3529ec539150370fb083be520df4267996f52d22a2b8b92da1cdb89291afda7d725a1c99422041a449c8da227f5583570f0ce35066a6628d675b1e7a9cff26876bc2fb81a40ed3b799a9973cdb5bdaf901b0652c6b0623e428b4cb16c395538b198dcc8ede2e5ee13bc62377f4f56fde33889d3f33d8c3085936d9a6b2d3c0afa3b70901ab8954e7160a837d57ddba5d2c9921edd387f70330ff62cc56997f6e617023cba301608", 0x2000, &(0x7f0000005080)={&(0x7f0000000000)={0x50, 0x0, 0x80000000, {0x7, 0x24, 0x7, 0x80040, 0x5, 0x7fff, 0x0, 0x47}}, &(0x7f00000000c0)={0x18, 0xffffffffffffffda, 0x27, {0x6}}, &(0x7f0000004140)={0x18, 0x0, 0x8, {0x5}}, &(0x7f0000004180)={0x18, 0x0, 0x1, {0x5}}, &(0x7f00000041c0)={0x18, 0x0, 0xfffffffffffffff8, {0x4}}, &(0x7f0000004200)={0x28, 0x0, 0x3, {{0x7, 0x100000001, 0x0, r3}}}, &(0x7f0000004240)={0x60, 0x0, 0x0, {{0x101, 0x3f, 0x6, 0xe7, 0x8000000000000000, 0x2, 0x6, 0x8}}}, &(0x7f00000042c0)={0x18, 0x0, 0x91d, {0x9}}, &(0x7f0000004300)={0x2f, 0x0, 0x3, {'/sys/kernel/debug/sync/sw_sync\x00'}}, &(0x7f0000004340)={0x20, 0x0, 0x2, {0x0, 0x15}}, &(0x7f0000004380)={0x78, 0xfffffffffffffff5, 0x7fff, {0x3, 0x1, 0x0, {0x4, 0x80, 0x8, 0x2, 0x2, 0x7, 0x7, 0x20, 0x7, 0xc000, 0x4, 0xffffffffffffffff, r2, 0x8000, 0x7}}}, &(0x7f00000044c0)={0x90, 0xffffffffffffffda, 0x3f, {0x1, 0x0, 0x5e, 0x1, 0x5, 0x5, {0x4, 0x0, 0x9, 0x1ff, 0x7, 0x7, 0x0, 0xfd9, 0xa5d, 0x6000, 0x3595, 0x0, 0x0, 0x229, 0x100}}}, &(0x7f0000004580)={0x118, 0x0, 0x8, [{0x1, 0x0, 0xa, 0x1, '.[!-\xd2%-@{:'}, {0x6, 0xfffffffffc000000, 0x1c, 0x80000001, '/sys/kernel/debug/sync/info\x00'}, {0x0, 0x3, 0x0, 0xffff}, {0x6, 0x9, 0x1c, 0xffffffc1, '/sys/kernel/debug/sync/info\x00'}, {0x1, 0x2a4a, 0x6, 0x1ffe0, ',{\xfc:,\\'}, {0x6, 0x1, 0x1c, 0x7, '/sys/kernel/debug/sync/info\x00'}]}, &(0x7f00000049c0)={0x598, 0x0, 0x9, [{{0x1, 0x1, 0x4cf2, 0xcd0c, 0x9, 0x81, {0x4, 0x5, 0x9, 0x6, 0x0, 0x1000, 0x100, 0x10000, 0x9f5, 0x4000, 0x1, r1, r2, 0x1000005, 0xb3}}, {0x5, 0x4c, 0x1f, 0x4, '/sys/kernel/debug/sync/sw_sync\x00'}}, {{0x4, 0x3, 0x9, 0x4, 0x8d, 0xd804, {0x5, 0x0, 0x7, 0x9, 0x100000001, 0x7, 0x348, 0x66, 0x2, 0xc000, 0x8001, r1, r2, 0x0, 0x8}}, {0x3, 0x9, 0x1f, 0x8, '/sys/kernel/debug/sync/sw_sync\x00'}}, {{0x2, 0x1, 0x6, 0x4b, 0x1, 0x8461deb, {0x2, 0x2, 0x0, 0x8, 0x100000001, 0x2, 0xb767, 0x91e6, 0x6, 0x8000, 0x401, 0x0, 0x0, 0x40, 0x8}}, {0x2, 0xac, 0x1c, 0x2, '/sys/kernel/debug/sync/info\x00'}}, {{0x4, 0x3, 0x8000, 0x5, 0x6, 0xda7, {0x2, 0x100000001, 0x5, 0x9, 0x3, 0x5, 0x7fff, 0x10000, 0x1f, 0x1000, 0x80000001, r4, r6, 0xff}}, {0x0, 0xfff, 0x0, 0x8}}, {{0x1, 0x2, 0x5, 0xff, 0x4, 0x3ff, {0x4, 0x7, 0x3, 0x80, 0x40, 0x2, 0x0, 0xeb5a, 0x5, 0x0, 0x90c, r8, r9, 0x6, 0x326}}, {0x4, 0x4, 0x1f, 0x800, '/sys/kernel/debuw/sync/sw_sync\x00'}}, {{0x4, 0x2, 0x401, 0x4, 0x1, 0x0, {0x5, 0x400, 0x200, 0xfff, 0x4, 0x1ff, 0x4, 0x200, 0xffff, 0x2000, 0x80, r1, r11, 0xe176, 0xaa}}, {0x2, 0x200, 0x4, 0xffffffff, ',@!-'}}, {{0x4, 0x3, 0x4b, 0xf8af, 0x5, 0x3, {0x6, 0x9, 0x1, 0x702, 0x1, 0x3, 0x7, 0x1ff, 0x100, 0x3000, 0x1, r1, r12, 0xfff, 0x2}}, {0x1, 0x7, 0x1f, 0x6, '/sys/kernel/debug/sync/sw_sync\x00'}}, {{0x3, 0x1, 0x1000, 0x7fffffff, 0x6, 0x80000001, {0x6, 0x8000, 0x7, 0x6, 0xe57, 0x1, 0x8, 0x7a23, 0x2, 0xc000, 0x80, r13, r14, 0x494756ee}}, {0x6, 0x87a, 0x1f, 0x8, '/sys/kernel/debug/sync/sw_sync\x00'}}]}, &(0x7f0000004f80)={0xa0, 0xfffffffffffffffe, 0x81, {{0x3, 0x3, 0x9, 0x39, 0x100, 0x8, {0x1, 0x7, 0x7f, 0x8, 0x8000, 0xe827, 0x3f, 0xc2b, 0x4a23, 0x2000, 0x8001, r1, r15, 0x3fe, 0x2}}, {0x0, 0x9}}}, &(0x7f0000005040)={0x20, 0xfffffffffffffff5, 0xfffffffffffffff9, {0x401, 0x4, 0x2, 0x100}}}) (async) 00:33:39 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xc3ffffff}], 0x492492492492805, 0x0) 00:33:39 executing program 4: sendmsg$IPSET_CMD_CREATE(0xffffffffffffffff, &(0x7f0000000000)={0x0, 0x0, &(0x7f0000000280)={&(0x7f00000000c0)={0x58, 0x2, 0x6, 0x401, 0x900, 0x5000000, {}, [@IPSET_ATTR_REVISION={0x5}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz1\x00'}, @IPSET_ATTR_PROTOCOL={0x5, 0x1, 0x6}, @IPSET_ATTR_FAMILY={0x5, 0x5, 0x2}, @IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_BUCKETSIZE={0x5}]}, @IPSET_ATTR_TYPENAME={0x12, 0x3, 'hash:net,port\x00'}]}, 0x58}}, 0x0) 00:33:39 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) (async) r1 = socket(0xa, 0x3, 0x3a) setsockopt$MRT6_DEL_MIF(r1, 0x29, 0xc8, 0x0, 0xc000000) (async) setsockopt$MRT6_DONE(r1, 0x29, 0xd1, 0x0, 0x0) (async) fsetxattr$smack_xattr_label(r1, &(0x7f0000000000)='security.SMACK64MMAP\x00', &(0x7f0000000040)=ANY=[@ANYBLOB='\x00\x00\x00\x00\x00N\x00\x00'], 0x8, 0x3) bind$netlink(r0, &(0x7f0000000100)={0x10, 0x0, 0x0, 0x1ffffff}, 0xc) (async) r2 = socket(0xa, 0x3, 0x3a) setsockopt$MRT6_DEL_MIF(r2, 0x29, 0xc8, 0x0, 0xc000000) setsockopt$MRT6_DONE(r2, 0x29, 0xd1, 0x0, 0x0) (async) sendmsg$IPSET_CMD_CREATE(r2, &(0x7f0000000140)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x2000}, 0xc, &(0x7f00000000c0)={&(0x7f00000001c0)={0x54, 0x2, 0x6, 0x801, 0x0, 0x0, {0x5, 0x0, 0x3}, [@IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_PROTO={0x5, 0x7, 0x1d}]}, @IPSET_ATTR_DATA={0x28, 0x7, 0x0, 0x1, [@IPSET_ATTR_IP={0xc, 0x1, 0x0, 0x1, @IPSET_ATTR_IPADDR_IPV4={0x8, 0x1, 0x1, 0x0, @broadcast}}, @IPSET_ATTR_PROTO={0x5, 0x7, 0x29}, @IPSET_ATTR_PORT={0x6, 0x4, 0x1, 0x0, 0x4e21}, @IPSET_ATTR_MARKMASK={0x8, 0xb, 0x1, 0x0, 0x6}]}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz2\x00'}]}, 0x54}, 0x1, 0x0, 0x0, 0x10}, 0x4004000) (async) r3 = socket$inet6_mptcp(0xa, 0x1, 0x106) connect$inet6(r3, &(0x7f0000000180)={0xa, 0x4001, 0x0, @dev={0xfe, 0x80, '\x00', 0x1c}, 0xd}, 0x1c) 00:33:39 executing program 4: syz_read_part_table(0x0, 0x1, &(0x7f0000000000)=[{&(0x7f0000000080)="0201a9ffffff0a400000ff45ac0000000700bfffffff00080000fcff134000ff0300a5ffffff001f00000004000000f93fd505c1d71107000000008008da55aa", 0x40, 0x1be}]) syz_read_part_table(0x0, 0x3, &(0x7f00000025c0)=[{&(0x7f0000000540)="9531a39cbbc206ce3a30daa93dec1c1b122aada7afad6da40443157b38262e09323199abdc533d6ad9f58397c6a812f9f447076b1854612a83286d0402eac37269868abd0b55d8adba79f0a66d196ce43cafb3036bd7f246e585a1e7e4f832bcaf6dbf0b5fccb57417cfd4041b74a42b814f18bed68f33c65df8190e4195b40f20f3967c2a84f816d3dee9d1b5125153714413f3c502a87786c618dd83f40d8e48b3b9b7c6a9536a31f6188a51bcc89e118ebad5d580eca22087077d750268251fff3cbf82d004cd2856e32bb50e6d371b2cc0fd5a2e1cfc2d6600e4ab9f6926040d553458737ba4966352f4b88aeef476b413ebdfab6cb0d6df7c6be9a909697d3a5ef13ca831a728d2d6060fb66300fee74fba252f664685bf97bf4dfce87346c4df3f0228551e28c87aab263c625e100c9b1648abc0ab84555add005a133e0bba62d97b9e5a9887fcd2822f0d52afc4fffa41555ecdf9a7dca8f9810452c5c1bae3e3daafdfbbd27b27a9b9908a4deeac1f36bc25d490a56a5a766ae4f0367bc0425c85c63d717cb872bad1844bc15ddddd5e658042534749852fa0488c33ab536490e116b33fbc8837b6846f3b8a3630a7957d6c70e645432b0aeebfe51f65b8c0ab3202463f2997ecc35fd14bd1ec27cb01ba75d488a49eeb3803574b4a753156d88da062fd12ee9187ade2d91373a5b8e9af37f3daec3f0e35df0c50759be457fda55957201347e192390b8362807ca824127f2f55b6a87e4a3a6b778a737bd87b60f97702deecacd508a29f7b21a9c0b164d0bbdf27d688350d67b4413911f6d7d9c1132c71568cfa35e17018db1eb28165f7e25d1307638e9dc249e7e1679cb5035b2c072a8185e6e59e2065ef6e6293904853e4fee8f75fcfe89abc7f8757fc8afa8fae852902201f7cdee57e832c5bb0e7f1c09ae9bd75a594f6b548e89be9b43e2dfccd38eff2490c2dc8e35e56cf68d35c98c45e701baeb72bebf8f63b076133e188b61a47477e93ea666f7d77963a65c8a43742a52e5913e16cc583a3f686b38ba7678e70a14b54abbc8e88251cdb3517e9c42acc157bbb7121c72c5c7f9303a124d004c960f1a7aa620355b92c7d92fc77a71bc55695a230a261bc3c2bf4164d58ab99d43358a8a293b7347832a97cf6a569dfd1577471c9a38977dd1924e075514379cb41c0fb5c2af64dfcd6824571ea0beec176a43e4bed523a0fef2a969f0a30e90d724501c348cf3021c1e46aa2b1c7c240d2e3cd116629cfae64bbe6667bac78931d9c3146aac91a9ea0a84aa51404e006037b32bbe9a0e05ca7fa0b7f78bd6d6cec83f744bab54229f1478137d4d9753171f69cd2ee83c641317e478e2f14ec0729ac39041997172cf82c36c387f31191b22b6fc96627b1dafd5d78d7455caafd76b2a5d53e4aa2e10976c906d2f1ecbd10ead7885610f21906328e75d472fbe15084b746a8516ec1daec03e9e768fc0eb820d7c7101bc401ec2ec3d1250f94de2428e1731dc92cbef6a0c99ff2f797d1d78ba4f317c40d0c05d30c7a0894fb667e3a4d843c4841608d5018bb619152afaa4d1171f70e4d4aa22fd9668532ed81fb8127a0cb69fb5e216e5aeb55b3ae3448ddbd8c36c3a7ac82ba5c6d819e739749758249330fea80133577c68d5235aea185507280bcc0f17762bb77176a91db3be4eb4b96075362c19fdc68927f20fb0aafccdf252251f82c4c748962555e5b160f1601c25de559d279d12b8d170b4cd61146f584a1ef13b6f2bce549b0f532b02f0a5548e9540c8be44e38712f191fa20aa95a1d27e68c9548a3c6d40be1de071d179f6bb466c281d98f273a32e2179007afa33e9e8d76230dcd8ca001b0438d4b0b3d368d925a3b51f7680868b4c33838094d38a06d2245a92b71068067381d2c366182a0ea2ae73beaf53e336010e23aac6f4c68a5c0f490f13d8c665ab3a052f874754dc87ac7342c510da0f743169db2c90288a6265338bcb297ee87e28df18050436a3bda55ffb002d6606fca0cba3e25d3aaed03a5f3abc809071d776f9ce17b69ceb99673bdd4a682052b077f7a30d99ed117428c583fe7997c8d92410b7215ae564412dd97ef26502496303fe4217d2a910b4a15b9df4cd806ab29e80858f1bf9f3f8fbb0198d0ea2ab7f9ade3eaf4f52946fb069663c7f5de9c06a2994e640f6050d7d3177f789f493c52d5a4ef062232f69740c968be3c273a0bc3c90cc83a56cb85a259d1557fb192626ffd147165e7678fb7b3283dc4b2652b75dd0e4898db8277980eb0fe62f33e7722f4b48c7175b9f05c76b0be673a14b1949a8154c0bb2a7fadf77ad8a5887412d37819098f394eb4a98b055160a27f1b6cf711cf932f479cc61dd7aea92ec05e6d31e49815517740ad617ab996d1c7ee055a3f7a6e150b7a54bdae0d595cb6c8c5810ed88ab7185bc54d2359d870862789a61bfb43992f38b1e644949a47b0d570fe97a8d85502c6cd3a0470c5c3bbdfa5c12e558d15111e808d7f6d9f0eb44caf397bd9ae7f90b7f27778af3a7b05f3de992e81fb498b089be3fef64616daa7b56f78748660597d2447a0e2cefda55362eca5b163088cc91011f5f5d54874111d0abf916a2a6981775e3f1a0575e3429279525d5bb9f4f27406ec9a6dded207361f372c6f7e6718bf3cd4840a43d245943a932041d8373bcaec9eebf14951a4b9443dbff34d314d8c7a841ada56cc025edfb54f9622938905a0f30eba1565b7547545497001518d46f28ede2e1067dd8ba4936638ff7b5f7c9757b9ecf7e2a929b1c98be213d6ff0a45fb3a73b40f571bbef583265231df90f29f31facfb49dc43b701d84e9bf83706d99db83212a3ec6f04edb13133058c57d3cdad0358ec89ae3e701ff7a18b7122b558975bd8524e890b4e4a767150475c61dfbb56683846d0e73cc52138b1860daca9772d4a91cb3278427caca733614136ef106642de538846ad0436e52a282f05ecefc81715c1975fb7e30a9ba2583102f2944bc6f91257c6d4886a1b5fa88d8cde27809e475a18583478cbf563b2f3fb473ce4696a8e98440b653386f770433abda122b54156dc60d7815bed2d3a75dd004cc6cb93cff73501a37feb24b3d2ddeb8c02040db9462bedd25f379ea9bf6f1f0d26c8889d2403004dbf1f0d8d62d56bef300a97644aa0689460d9383f7851ea1c3e8c7e3cf35c784bc7407da6b964400d479eb2094d50b044ccc8586a0481b430a44809770ab88642d8b54ddba3f36d3ac97249422d95e55160bf56c75c139afe52c854ba5f7693e9bbfc3db529820f66b3c8d0c2a890ab666824b3cffa46f64df23a9191a4bd05d7dcd904070188333b4c244d3a666d9f7e5558dd32f015efddcb1cd2096954ea9fdc161ac9cfbbf6aa54ab04d2b54fd699112a950dd87ce14f853b09ae519f909a7e53d7a83cf218271749af9948f36a3bedf018089fa298122863c721f2c5777a27f404a32e678d579b0af4bb652d0acd42bf1265229c74b96922776fbcc8f2d5c8c0b3926707bfb34a4b21cc3656071dc132cbac57418470745a562ba816af9d7775a20fe7b9ff9f790eb25c285855da650fe0d7b5ea4fe1639314095d91f7c059e59cb792f27495371220b3c0311c163a8ebd07411f823cb8e414d45eb654169ec0a00b270fbac64f483a1099a7a8f91cd9f53cdf1ca1ac61fd952489ba68f9f2505bcaa9980f2850961700a6926e470ad2556beadf35468438adeb68d68d872fe0c9ffe858bd3ba62d5b6b14a7af61013c6d672baf775d128ce1d5c9e20507c1d2a0a2ba81f41e8a16f63c26941c4d31b1c518ef1c128e69e59d27dff5f791210818471e8c8250293e356e71aab87215ca4c35a6210bd92e842d5c8249a564d89267aff200b40547b08c8fc7e131bedb3c83a78dae44942cb4c9ca1031bb3aa4c8a31ed704e2b735c5a1328c7fa80b8aa4b017ece7f6c66b0ccea9812a0bc5b599c3b3b5916641e5615c6a353b7456f7f89f5c26a1ff9b6dcfbf44c6c08edb25381c1fecbcfec24740585f84c75ab4efc6f0285d112bf952bd753d6d01f370498a70bea12f29e94b23f6e28539ff35b25aca605c5dc8a3605a1d21b92ce5370c58adf96f4819fec8cd7acb815e37ee4686a8160383570ff40ae7bad1b8915b5d4ef186f92b062b15e35f9a7665486d2c85a2aaf9a0cff6592ba8aae92c6be91645b8d69112475ea2b72ff3956f645cf9fe4b186cfe6a5d6cfb479eb36c4a849820941be1accb50842366d29c58d2c68f7d90401cd3404940515ede2f588bb012a2d4b0a9a5d55bedcc4e12bd7a7d993abcd142b16f170b2b0ce793f803e9cfff8f57ee8f6a4f91c16fc833d68bf74e84d7fef6503a4adf746cd1093328114d27ab8b0653d65549e69f8be59addee400df0e46351613d631c9d7c00762454c23a81c6d7e25cb0950805199d85b2ec68802a623698e1008d8c5f2d54747cfa592b4f125d52c0f30fc5811ddd52d5331fc5b96fff18f184d2e2dda1d971d564d6bef681df25ce4996583e1b71528aa1ae35528bd0a39ad77828bb17d954ef5f4acd88504c32f8d9209c703c5f4d577376bb7bb193b5d668db9740a288da12f6943db3fe33611a3a007ab8666c4652cd5bc0f597cfcb68f9dded660920c4a160a49930105ac210f1da50469d85723ba5cd71e7cbb3ccbc344f417af41e08b51b9ea15303efcf33cf4049606b694ea085ff9a4bb50e0f8b436e25eebc4a7d7bf0cfd0ec77e0f7044f928ff0fca8fa74e6ec79ab5318b4a86a81feb059ac2756188318b11fbb7834286338bdcff8701e2fdf66faa9b3bfd9131ba1d6aeaac79178a1f243ee17c80f32f5fee8c9629ff8c3e251ba9b38ff526c60cf74d5d4add1b06857d1c94cac07b3cc134b2d2690cc9a449dbf1edef041c79c53cd6b787355fafb38b6012cffcd84129c2f9d9d13441501a597e8aca9fbac498ab991f57c228e7fcf696510ebcfd521a9121c23e712013d1ae5da01b6b81a3e1b52633814d7be2a9ab27c80fad1841fc13d008f960d1e8d3a4bdb0a0b92075b0608f186b1de24cc032abe6cd6141ad6f6617e997d7d02059cec6b60ee29812c4b910f2ec589351e203e57a6aacaebc7918cc158a35042803d713c84c4474d8ff3eedf2bf17635099f5e5bfcce8a04584e4cc31716a4ef434fe9f3d12a9f4f53701051c80c69de2f6ebed9391dff7ad47b6a0a8536bed00d79e13a3e4212dea762dff1fc9ab135eb9ddcb0ff0f54ac42f05b6a60a29c21ce693c452abde97ad0698f4b935af59ed4d66486f12ba0e6cfa16d6af13b5fbe7b159aecaa0df05b1071c974120a1dad4040b7e53b7d9cfb61caa896e4cabf4254293f588e1260a2b7ff5aeb9df94be8c0239cb4ffdff05e726c36d3c5c2b685e38d1683102bc249bccad916556ee557ec058a880df2d4b2a3cb32583ede2554d037c4ce74333effb22798fa58ac74013fb99b1fdc8b183a0be4a1fd458182d4f603b7fe130fa4a8c93daabd860a0404ebb05dcc0ea5c611add681644167a733a6f15b1218b8f2c945c3425adbdc224390a653d9b304e9df88b3eb7990788269786b13bcd8c4616d90b337a48801278eb0e9e1d2314291a56ea85f78ec71719daf96e0e5659779d69af359f791b6cb2f4a7f88f7cd6ee64ca39e3987bbb17ad4f5cf802846da3ebc88a640183282b3f1a0cef3b2a4b930f649f93b2c140ade0fff0aebe0e49dda0dcad6908d34c68b279a35f27c0485d63cb6032c818c6a9380867f427bb541a79ca23fd7bf471bbdb1be9", 0x1000, 0x6}, {&(0x7f0000001540)="5dc686629a973f6fd73fe3722099f1e3d5d6d27d4616ca52449ace5aa44085098c443ccd16abda12c2593acc694a546556e57ea022d3fbd7fb87038e8f493b46a063e2a439328813f279b57c790b", 0x4e, 0xfffffffffffffc01}, {&(0x7f00000015c0)="6c1bfb7e83cd3c9bfb741dbd858de27e08d11b4b7ec96161b19c30a4f29ad9099a6c2ca67a3a0390f2d748047d843b7cc222666a6789021a94d877b7a62a68b3cfde2eda3ff9bc224e7c6610e36a60e6f34735a225cae39ccc3eff184259faa33b498b93646451337f2a0d54ee162b16b92093204b787e85919eb37c6c540c99ddbcbdaf0393a1cfe1631013fc0f84990d68b1d29edf0a696454ecfdc71f96866fb0633a76628673e1faad8eaa6da38c7597638517338b056af407a704756c447a55939b4cf04f0e8e5e451f293a3c0de53922af81ae6c05ff3bfd1c61d438dd4c8ea937cc6e317b28c422dacc8b3233a963b9064ab3e408f431c938938eb0496c9afa95aac5350ec5a0f06f64b746c9b1b8023eb272c85f158a19a884c6a1de17bacee3fd016a1fabd07188bd1fea39441a4e5da0c4c7966b9eb0a8a5bdd2f7819fe251c7c8a3df82ab1c8e311a64d7c88000ba696b8e1956742a24d307a36a4b30e366f0c2c36fda84d806a169f08055771617da7b3e5d66fa728d6667013ab4d643a74966ce690b892d7a93862e0508ec121627a1fd500480dc2c7faf032c919de488c003aa444dfdd0a715756ff27e7135d1de622b11d8e27dd5b9ea87b07cb0c2ae1827982b991db54855e4755cf23963dc78ecccfd7896329187dbb4df6c0cf96a0ce57acc38c753c3c59add9fd17349fd5146395478a3b89495a7a61ccc8d9be8e0480141cf7b9464d0d2fe8888500d1b2f9ba90ae5971e36862e098a647f13a67f387c54a3515830545fd863385286382d5266c1042a71935cb8f7e5c148a8dda6dc0b67fa4e42e9db2dd1c470371c5b5c99da1e4c042d7e86f74fd1f2c4ff8387a6078a8e7432afb1b686ac3b677c612f5124750b0a28caa17a728bed821d9152dd0b3135aefff011a2e3c45c1b41ab304b8063418340d3a4fc39fee437c65110e4c44bcd6b91c096df95f673c63f0953a49f76834c1612000f18aa3c0a0599352f95aa3be5366cece40040d10fd00e2797ac2ac94c99229c627e5218afe9676f1abcae6088a92ea10c75c1471edf974a174fde2024c41be25b214c5035adbf5fd8ba1a4f2531630139341bb43012b31c6c4d6c36d62398d93d1779dd1beb5a0b7fa937692ab74771c23befc4862f9555eb3d7b8fa16dba058c3d24f1e18a53a75fcd8f8527043d1e8eeca0497a4ef3908be5ff99c487d5778b763e5f6bccc62191a7a0bf3d739235cdc1008af502b2f64f061c15a81cb67653949e660a4b7a639a71d0467c93e5ea8bb4b6a53bdfbe55197477cfe557a4ade49964633e6c0874d42b030f5e1171ee09d4027fe4f130bd9ffe1bbff79064c83a4ae127562d2fcc161379fa5b53b77bf1906e215321df15748cfba4ae729dd3ed1eb51715b71974f601b7b3f7c72da8cb68863e2bc510096d6bc12e3db528dda438075e2ca7a09bf55b9cdcf0cbd990514e9fbe85068b218ae992fdccfbeb4d88eab0cc76de2bdab497e689ec1f787d4e9909b341f76447d87c21cd9bbc3e2325a2a8fbbdf13b7acfb87542e3643355e22c0f983bdedb9ae0b346323ebb9ae5c5abb82de5632f3b92cdb47b2d2857a87613fe8e6d86fc62ca9c8d37dd73fac03f5725809d9c82ea72a4aa6e6dd870164fb7ccf0ed4379ccca5c76fab70fef9de27175ff4e18869b61806fc511ce32d17fa8099b809ac9a14ff377073cdc97693ddac7c67f6879d7c4298c8ff1a7411a4ee78649a4b75d81f18b1e832226f432ee7d7df03fe474bd21a5c2aaa39e843fb7b27ad158c0e765f559433af4cb6c29e2ca4cbe057dd6f5cdb8382dbffd4b07739babce9d35fa443a6bdee9f203cce9a8fc8aa9c31f3cbbb73425783439e7cf4ec9bbc09c8506c386df6133220ebbdbfba1b2b89ca9677f0386ddaa76ca5d4b98e7e9c7db553c53c9aed89a07fe478f762f7c4446fb3eb454fb036b64a1bcd319e15fe940987f9c89fe038b9ec60194bfeff11a7ac7917b0b0105b7ef25e5bcfc2e1babaf33f16d28ee344bdb28ddfd5474a9ae7a40ead89a59e29dfef52e7e8a82bbf04e41a91281611a334ce746be48bd08746847bb5b49efb2b47bce12642a3e64bcc9315fc9dee13e34aca81d95afec4d91941e1bf7f3c1d19a16081180e6a522b8d0fe3a8d329874a702474c68d81c15b93e6034bb90f868a14b66b975fee44931af353a75f3e97830bd23c5865255c302fbcd021058b3663a3ca97fbd79171edecba334b048b2d9d3ebd10dd5ee03e0d077b6f9fcc43e9258fb50b7864382dfdd7eadb2d4eac5b41a5f9ea802849f46156e7cf131af658ac966e18e99dd16ed014bd21cc89ee7f9d0674fef44becaadd6c86b7233337088f0aa16444f2ec9a23311df0e6af82dcea0732d480a5ea52ad99ceaadc0269e3117b00e7dc029630ce48c56dbcb8ce08c205898daf42a43b0a0537e7c3cdf35dc475ba490bcd2474c75fa64a985f8d6279028768f52bc4fbe02584b1cd16d884fab0c1cbf6c4c7cdd3ad40eebe55369bb89aa06a6f3f15ba471d156999b0ea15d86763519cb11e2b89654070283ae0800a57ee3cff750c5aac99a280dff9e7f786ad7ff3e146dd89e67ba584ff39c7637896131dc6d3af6075ec23f6155560a5d7d727011c48769d438915f1cee5507798724677a99509040e55b55a2808d23f27418aba61b9d306ee34b68c02b9d8d4e7ccc32ca379668bfb020888dd3fdc35f2d094f1f3d0d798a4a5cce2ef91295a4aafe66f13ff1e0813fdc785e12f0d5d8446ad179e1f1486d062fd93e766efe383915f89ef4efa5a853dfca0a2fc68f4cf0c2156cf3d5892cf038d21a063be3c17a0e5c3950abc361c63d8cdfb587fd8e16b50d328c81d8fb6d3649b944c0a2d42bd4ea1913e1f62a577bbee6853f3507b97ed9853075ad4bf3b27b681afc28d4aa6ebcf36289195720dd10624c7261bd7c739048fa35b58174faf9f1ebe0dcb42512f494ed00bb693386d54f42b56e114e9172b1c2125dafd75cfccd93edcab25fc4bed8eae09d221299c51bade7bea9c5eddddc787d9ac1f01a96ca956a0553b098dd32f871613269b14e7918de03c88b264bf0444eb4468b545439d686d7974bff17250d40ee4a020155caf237a5ed9ffbb6ed35c2d0be00ec8f4d49d7a5f038e212d3fd81385edb82200aeddcf9c89f1aa3917b0adda6f425fc93a816c05fb340b1592abe8360f45bab054e76c3d36c9152ac67194ef773a64cf6d8e3559e0144fd189132abb29858e30adfe3f2b9843a51ab4376eddbb6ad568a7365cb565f5259cdaf73264d9e712fb84850d9702f4eff78c6a9d58f528586965a2299f1e6f203e30449f4b8dabf16cb5f732f88c142d261e169ddf53e4171bba3ac70f7bb543765a31db6ce812ef698db344b512895de8aeacc9833771a9c49cab5e76327a8bcd52d3d28645b1928956815e26f2bafd6f1a0d010c9ecc10142158f158c29bc02b82b3b551209cab5aa8fe0e35409bb11dbad771527db611d4420fab12c1106754f3ec502b519558f10da6dca1908e3892e712def1baa44434ca77b2a7595d1e5db27e4ca8dc77cb2d0906c76ed690360ef67a448cdbcc28aa418e31a6ed1d283929d489b8dd3ec055ee7adbb9a09d2bddf0ada9fb1e271965a78de1c2bce7cd8469be81f40bb81b8865102b1bb1974bf4da2399f1686718c35f32b12537f8c874f24890b9ccdde653c1d58b0b0a6f3258f64dd4561ee23785b8b01475a5cab5be542d8933570fd28f6fad9b32a7694d968db5069aa81fd9711950409f6c0e58940130424b911877ce8bc2b7364d7b8f1b60be2bf9c5e540a137545c908821f44c3f25b3a434fc21043f783a0641e9c6ec5ca88eb2d6f069748985a934319c794fbbc4b9927c0a17ccb2cdea3761aefe3edcdd987f3d0af20247adfc17bb1e61581a0d25f58cdf9bd5c2aaa43b69ce0c12929dc2b55e21cb589566803c1ed80296d2f56ee4bcf128d7ddcbed1b96988bfb8556e079b7a63394e368c9df37c1ca5ba6142397b34027b833671a6bb46720e5450788f1365b714619c116265fccbcee90b259994723277daacb6fe7ee5d139ef6973807e4319d53d1f72f7b2f4a40cb7c1108fddbad12d583e7ebbcc95ae579f5c30b34ae3c7879b5bc530137dd06189db019e081bb0b5df616e743945bf5d4feae993763e981ed70b561d5956da9bf500ff9a995b75206a87a5ce8a4a5481262cd0507885c07db4ef687b5cb8560211e281576c5c659e737de4abbbd8f7527ec8557f11415dea47801442ca1fd7c4102bf53de20cf845893a5d4fec2a87d8b552b09b4c19ce3bd3eb40376d729f99ec657fef352097c644693abc0d7dfe5cd6e4457dc9aced57ad788deae3c0ded7fe7e582421f1097414bc01a6a6d7054b17e8505ee3bf774f23ff61e73c8c2b4e36391b06568f1888a5cd13ffcb695cba368d54f35656fcd68fbdc724d0516864d6380400546b4878bdeadb0c0185b184169161c1714f502ba6365aa98a496df4f2877b706ecc9b4dd89e0d8149873c1d04c27b182579a7e6a80a74c2f3c5cd0f82d9f6866155a4d43b30bc06c34d7b6affd3456188bdd4d1ab6ccf002b36a63ac3fec005c175aeb7778ea392f2f092bedd624c2bd869f376347786da6ca061386682ec0e9099be45a672f4781a82108ed0f3ea919c37170cbbce0465d10c6f4bca108cf4eb0e2a1233568ca45509e064647550ad5f3bb8df5e9ffc7ed5d511fa18217e6d3d6a29b8838c1b0305d3a3cca4d7054bf5d1112eeef37d7c578ced87ebe948a92bdd7dd379cd4317841c4e5577126470e87345a2df0ed1d5ec4c92caea8c7c9fc269e37ab24d8f808d581121b9453fa07bb8a496af4988cf891d2b6ce558cadcf574cad46218dd15effc57c1456a178fd626e1fdeae900727d145626292a5b0f8a57f082925e08f3a8c5febc78f65974c97a2be1f4ad286efa6859322c0f62231b5aea2d1029279b95d98d4597f4b20be888fd49123cbeb60fc2521b99df005447881ed2d8a3ecbf1f2bfeb1235016624d28b79651fd8f4dcff51e068ecf8d84ed11578193609d8eaf268d96789a61057aac8cdf029bd2e85dac0bf247e6ccbc09c4da2b5d424ab857cd278fc36ea090ae9b55703998cee622dc98b4f79914e857ee169b684b4369a7df64a3d99c8594c3fa1850bfba05b08a23b63bbaf70299907f3a8a0b19cade52eba868af2f09454cafc091f23f3872416c2f0f9f116a6192842cb853b1f02ea78f68425435b7ae9b6dc3edd4c30019a21b4a8dfa60716e1eefae87cbfde9ccdcd9cf8db37e1db266872d80405982d844102ad5f57cf7aedf12f3e8ccd0ba29f3abec6fc48dd1d4726c8591636ad3b1e403ce80cc136521d784d6d5e720bd083e4ce056dd15f725ceef6fc6dc4c65df85ec3b818a19d677b7f1fdf2c70d03539a4b5f1dd9d4301641c2e303ee6261c8c55561519538a0227b2863036da52dc4d8f06ae9549312a526fc3b0ea3e31db759b9068d11af7c30296de0fce32d11e969336a68a7e22bb01f6ffad1696cb11475172b2fb4669070a3ee0c4ba74b5f5bb96b881bb10aa461d5485f99290898a0b363e5c18a2d9c47b07668441d0e433d46e438d4e6a45d5f32a3b21aacd02e48ba9416542b9ddfe38b19403dbb17db8436f170c2a05fd159e164918d959cd2d5186ea4b91a2f1de01b4a02e0cecfda10315532e31b351d726684a9a232549f44461f18d1c88f69c7483d41e8a94180c2ae3bc414ebe3a23c47b881c0bfe8933b1c95720a803924827d", 0x1000, 0x20}]) syz_read_part_table(0xba0, 0x6, &(0x7f0000000480)=[{&(0x7f00000000c0)="37378f6194c15f8d5819ec61024da974e4f95293e6f9f3ae4c0f681bc4d40c2b65dd3b99e55ef975f6fe5c0da74c347373bc69a6aeb7a711b5c77e14af8b9b8a92da3851d9e970b08ab2b950619e2183c74f777c5a2adcf4fa30215c039118d6e85dcec3c3269f3adef9a04cd463812c97a2a361bd25ca0fdc326becdb601e4d79d88a7c3f30eda881de0770a5d298a45bf6f9f370ccb1d0843d082c028d60346ed0a78d97390442fefd7ee49bdb18afb3c7de04b99f0e8e4bd4f657b167d663b1e2975737491d927318e2572afc83cb9674a3aafa0fd344dc98fe58b7ba3afd77809a71023104b96dbdfd44", 0xec, 0x81}, {&(0x7f0000000380)="0584dad1d1287b7e9660fd7a8ae4951e5c5ea01667af2bdc8ba5d11a536a0bff04000000a62c260f9b39d4eab7a9884a0030b2783d00218ec6e2fa70d3670baa681a0c824e59000000b7000000000000007bb7489d0bab60176e29291d46f443b49ecabc57d3cc3ffcc7152b3ea513dff194cfc0b69c5442dc6938e7337f333bb5153e0cad71aeb2631322eda161bd17a0f92b1aa874680458355d03ce2b38b417a6ac5be7b9ba01caceeed65e9984464021f90363448800b5354b7652e5c952a8ade9cc816a3ddbea038d0ae763ca1e7549e72c872e91154ebb691e46b53325bd84d5af564f4fd4fea7c256a57e08d40cf35c87", 0xf4, 0x5}, {&(0x7f0000000240)="e5745a8bd067f017236cefeece503df8f1e58240bd58f95118a49ed69a96a59397dcd9d1b4d78bce745ebffe23ce5a125b1fbd79b13367d5dc9be9183152e4021c586d44570e096c161b14d98bb097d0e0a6d9de4a4c0713673296", 0x5b, 0xfffffffffffff801}, {&(0x7f0000000040)="45a526", 0x3, 0x7fffffffffffffff}, {&(0x7f00000002c0)="0a9a38db59044d8069017629e5ca687cbe6120d0617aa6d25da156d603d94a46f8cf8db3fdd538e9f56eaa366f74b599b309b1896834c1de4489a52ae4cf5b85a8f9486dc3511d178874a440b68567e5a4bffc572ab2b4925b79a8b083c33796aa033b3006da697d9ccf6d6e1a7c655969946a2c11c51ad10f8605365c79a9152a0b67ec519674b697527721f9212e08db973858dc7e332fd64407c88b96a207d2ab911b31fcb176b1c508", 0xab}, {&(0x7f0000002640)="7b922a539af84547438892f244c6f0ae3eb55a7aa0c242bceac7e955bd5a3176a646ce9379e257e21f7ded50b1964502709ea7eb477ca8e7f3dcc6a6c792db1235f2646d3556c6a631f05c2cc652867665bce25b4968c708ccc5faf2b2058c529555d8a23d59a8be2d444533cd15c02b87c93739aa4ca1aa947ade805e472d7d2d090c3ade916ea2e9ba79acb363710116ce21d95916ff6ec5204287240e80ab73345bc127727cf02ca6d3489b9767ec3d4855a293ae62fb3cc279670000040431f9737ae0de8739fd37356619c177f08e3207fb603b03ada3c9156b0a1c2fcd0fe77a33bc07c55dcf017dc7ad25af74bcdb74c1ef6edbf2a92f2abe4be205e7a1dcecf5651ade99306efa8cb44d493e1a66ef3ad5281f38f0f0b132a2dda46a00f8c1c766a8ed2c2ab9a2f9627dac0000a75f7b24c1c1d653e923756990dcdbf42006421b7c6165d2f585be4baee6afd38e420e422939512ffc96aff6933dfc53228246d3af616d077f3e05340c2b64aca95b23ddf9c9bf755c51", 0x17b, 0x57eb}]) 00:33:39 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xc84072d5}], 0x492492492492805, 0x0) 00:33:39 executing program 0: r0 = openat$sw_sync(0xffffffffffffff9c, &(0x7f000000a6c0), 0x0, 0x0) r1 = openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) read$FUSE(r1, &(0x7f0000000100)={0x2020}, 0x2020) ioctl$SW_SYNC_IOC_CREATE_FENCE(r0, 0xc0285700, &(0x7f0000000000)={0xffff, "bce574e5e92b24b514373c28b90555a61174ad33c35013a007000000807bed5e"}) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) unlinkat(r2, &(0x7f0000000280)='./file0\x00', 0x200) r3 = openat$procfs(0xffffffffffffff9c, &(0x7f00000000c0)='/proc/sysvipc/msg\x00', 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_ISMOUNTPOINT(r1, 0xc018937e, &(0x7f0000002280)={{0x1, 0x1, 0x18, 0xffffffffffffffff, {0x1}}, './file0\x00'}) linkat(r3, &(0x7f0000002240)='./file0\x00', r4, &(0x7f00000022c0)='./file0/file0\x00', 0x0) r5 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) unlinkat(r5, &(0x7f0000000280)='./file0\x00', 0x200) ioctl$vim2m_VIDIOC_QUERYBUF(r3, 0xc0585609, &(0x7f00000021c0)=@multiplanar_overlay={0x800, 0x1, 0x4, 0x63034, 0x9, {0x0, 0x2710}, {0x2, 0x2, 0xd4, 0x5, 0x6, 0x3f, "2c55e816"}, 0x1, 0x3, {&(0x7f0000002140)=[{0x10001, 0x9, {0x100}, 0x8}, {0x401, 0x5, {0x6}, 0x100000}]}, 0xffffffff, 0x0, r5}) 00:33:39 executing program 4: syz_read_part_table(0x0, 0x1, &(0x7f0000000000)=[{&(0x7f0000000080)="0201a9ffffff0a400000ff45ac0000000700bfffffff00080000fcff134000ff0300a5ffffff001f00000004000000f93fd505c1d71107000000008008da55aa", 0x40, 0x1be}]) (async) syz_read_part_table(0x0, 0x3, &(0x7f00000025c0)=[{&(0x7f0000000540)="9531a39cbbc206ce3a30daa93dec1c1b122aada7afad6da40443157b38262e09323199abdc533d6ad9f58397c6a812f9f447076b1854612a83286d0402eac37269868abd0b55d8adba79f0a66d196ce43cafb3036bd7f246e585a1e7e4f832bcaf6dbf0b5fccb57417cfd4041b74a42b814f18bed68f33c65df8190e4195b40f20f3967c2a84f816d3dee9d1b5125153714413f3c502a87786c618dd83f40d8e48b3b9b7c6a9536a31f6188a51bcc89e118ebad5d580eca22087077d750268251fff3cbf82d004cd2856e32bb50e6d371b2cc0fd5a2e1cfc2d6600e4ab9f6926040d553458737ba4966352f4b88aeef476b413ebdfab6cb0d6df7c6be9a909697d3a5ef13ca831a728d2d6060fb66300fee74fba252f664685bf97bf4dfce87346c4df3f0228551e28c87aab263c625e100c9b1648abc0ab84555add005a133e0bba62d97b9e5a9887fcd2822f0d52afc4fffa41555ecdf9a7dca8f9810452c5c1bae3e3daafdfbbd27b27a9b9908a4deeac1f36bc25d490a56a5a766ae4f0367bc0425c85c63d717cb872bad1844bc15ddddd5e658042534749852fa0488c33ab536490e116b33fbc8837b6846f3b8a3630a7957d6c70e645432b0aeebfe51f65b8c0ab3202463f2997ecc35fd14bd1ec27cb01ba75d488a49eeb3803574b4a753156d88da062fd12ee9187ade2d91373a5b8e9af37f3daec3f0e35df0c50759be457fda55957201347e192390b8362807ca824127f2f55b6a87e4a3a6b778a737bd87b60f97702deecacd508a29f7b21a9c0b164d0bbdf27d688350d67b4413911f6d7d9c1132c71568cfa35e17018db1eb28165f7e25d1307638e9dc249e7e1679cb5035b2c072a8185e6e59e2065ef6e6293904853e4fee8f75fcfe89abc7f8757fc8afa8fae852902201f7cdee57e832c5bb0e7f1c09ae9bd75a594f6b548e89be9b43e2dfccd38eff2490c2dc8e35e56cf68d35c98c45e701baeb72bebf8f63b076133e188b61a47477e93ea666f7d77963a65c8a43742a52e5913e16cc583a3f686b38ba7678e70a14b54abbc8e88251cdb3517e9c42acc157bbb7121c72c5c7f9303a124d004c960f1a7aa620355b92c7d92fc77a71bc55695a230a261bc3c2bf4164d58ab99d43358a8a293b7347832a97cf6a569dfd1577471c9a38977dd1924e075514379cb41c0fb5c2af64dfcd6824571ea0beec176a43e4bed523a0fef2a969f0a30e90d724501c348cf3021c1e46aa2b1c7c240d2e3cd116629cfae64bbe6667bac78931d9c3146aac91a9ea0a84aa51404e006037b32bbe9a0e05ca7fa0b7f78bd6d6cec83f744bab54229f1478137d4d9753171f69cd2ee83c641317e478e2f14ec0729ac39041997172cf82c36c387f31191b22b6fc96627b1dafd5d78d7455caafd76b2a5d53e4aa2e10976c906d2f1ecbd10ead7885610f21906328e75d472fbe15084b746a8516ec1daec03e9e768fc0eb820d7c7101bc401ec2ec3d1250f94de2428e1731dc92cbef6a0c99ff2f797d1d78ba4f317c40d0c05d30c7a0894fb667e3a4d843c4841608d5018bb619152afaa4d1171f70e4d4aa22fd9668532ed81fb8127a0cb69fb5e216e5aeb55b3ae3448ddbd8c36c3a7ac82ba5c6d819e739749758249330fea80133577c68d5235aea185507280bcc0f17762bb77176a91db3be4eb4b96075362c19fdc68927f20fb0aafccdf252251f82c4c748962555e5b160f1601c25de559d279d12b8d170b4cd61146f584a1ef13b6f2bce549b0f532b02f0a5548e9540c8be44e38712f191fa20aa95a1d27e68c9548a3c6d40be1de071d179f6bb466c281d98f273a32e2179007afa33e9e8d76230dcd8ca001b0438d4b0b3d368d925a3b51f7680868b4c33838094d38a06d2245a92b71068067381d2c366182a0ea2ae73beaf53e336010e23aac6f4c68a5c0f490f13d8c665ab3a052f874754dc87ac7342c510da0f743169db2c90288a6265338bcb297ee87e28df18050436a3bda55ffb002d6606fca0cba3e25d3aaed03a5f3abc809071d776f9ce17b69ceb99673bdd4a682052b077f7a30d99ed117428c583fe7997c8d92410b7215ae564412dd97ef26502496303fe4217d2a910b4a15b9df4cd806ab29e80858f1bf9f3f8fbb0198d0ea2ab7f9ade3eaf4f52946fb069663c7f5de9c06a2994e640f6050d7d3177f789f493c52d5a4ef062232f69740c968be3c273a0bc3c90cc83a56cb85a259d1557fb192626ffd147165e7678fb7b3283dc4b2652b75dd0e4898db8277980eb0fe62f33e7722f4b48c7175b9f05c76b0be673a14b1949a8154c0bb2a7fadf77ad8a5887412d37819098f394eb4a98b055160a27f1b6cf711cf932f479cc61dd7aea92ec05e6d31e49815517740ad617ab996d1c7ee055a3f7a6e150b7a54bdae0d595cb6c8c5810ed88ab7185bc54d2359d870862789a61bfb43992f38b1e644949a47b0d570fe97a8d85502c6cd3a0470c5c3bbdfa5c12e558d15111e808d7f6d9f0eb44caf397bd9ae7f90b7f27778af3a7b05f3de992e81fb498b089be3fef64616daa7b56f78748660597d2447a0e2cefda55362eca5b163088cc91011f5f5d54874111d0abf916a2a6981775e3f1a0575e3429279525d5bb9f4f27406ec9a6dded207361f372c6f7e6718bf3cd4840a43d245943a932041d8373bcaec9eebf14951a4b9443dbff34d314d8c7a841ada56cc025edfb54f9622938905a0f30eba1565b7547545497001518d46f28ede2e1067dd8ba4936638ff7b5f7c9757b9ecf7e2a929b1c98be213d6ff0a45fb3a73b40f571bbef583265231df90f29f31facfb49dc43b701d84e9bf83706d99db83212a3ec6f04edb13133058c57d3cdad0358ec89ae3e701ff7a18b7122b558975bd8524e890b4e4a767150475c61dfbb56683846d0e73cc52138b1860daca9772d4a91cb3278427caca733614136ef106642de538846ad0436e52a282f05ecefc81715c1975fb7e30a9ba2583102f2944bc6f91257c6d4886a1b5fa88d8cde27809e475a18583478cbf563b2f3fb473ce4696a8e98440b653386f770433abda122b54156dc60d7815bed2d3a75dd004cc6cb93cff73501a37feb24b3d2ddeb8c02040db9462bedd25f379ea9bf6f1f0d26c8889d2403004dbf1f0d8d62d56bef300a97644aa0689460d9383f7851ea1c3e8c7e3cf35c784bc7407da6b964400d479eb2094d50b044ccc8586a0481b430a44809770ab88642d8b54ddba3f36d3ac97249422d95e55160bf56c75c139afe52c854ba5f7693e9bbfc3db529820f66b3c8d0c2a890ab666824b3cffa46f64df23a9191a4bd05d7dcd904070188333b4c244d3a666d9f7e5558dd32f015efddcb1cd2096954ea9fdc161ac9cfbbf6aa54ab04d2b54fd699112a950dd87ce14f853b09ae519f909a7e53d7a83cf218271749af9948f36a3bedf018089fa298122863c721f2c5777a27f404a32e678d579b0af4bb652d0acd42bf1265229c74b96922776fbcc8f2d5c8c0b3926707bfb34a4b21cc3656071dc132cbac57418470745a562ba816af9d7775a20fe7b9ff9f790eb25c285855da650fe0d7b5ea4fe1639314095d91f7c059e59cb792f27495371220b3c0311c163a8ebd07411f823cb8e414d45eb654169ec0a00b270fbac64f483a1099a7a8f91cd9f53cdf1ca1ac61fd952489ba68f9f2505bcaa9980f2850961700a6926e470ad2556beadf35468438adeb68d68d872fe0c9ffe858bd3ba62d5b6b14a7af61013c6d672baf775d128ce1d5c9e20507c1d2a0a2ba81f41e8a16f63c26941c4d31b1c518ef1c128e69e59d27dff5f791210818471e8c8250293e356e71aab87215ca4c35a6210bd92e842d5c8249a564d89267aff200b40547b08c8fc7e131bedb3c83a78dae44942cb4c9ca1031bb3aa4c8a31ed704e2b735c5a1328c7fa80b8aa4b017ece7f6c66b0ccea9812a0bc5b599c3b3b5916641e5615c6a353b7456f7f89f5c26a1ff9b6dcfbf44c6c08edb25381c1fecbcfec24740585f84c75ab4efc6f0285d112bf952bd753d6d01f370498a70bea12f29e94b23f6e28539ff35b25aca605c5dc8a3605a1d21b92ce5370c58adf96f4819fec8cd7acb815e37ee4686a8160383570ff40ae7bad1b8915b5d4ef186f92b062b15e35f9a7665486d2c85a2aaf9a0cff6592ba8aae92c6be91645b8d69112475ea2b72ff3956f645cf9fe4b186cfe6a5d6cfb479eb36c4a849820941be1accb50842366d29c58d2c68f7d90401cd3404940515ede2f588bb012a2d4b0a9a5d55bedcc4e12bd7a7d993abcd142b16f170b2b0ce793f803e9cfff8f57ee8f6a4f91c16fc833d68bf74e84d7fef6503a4adf746cd1093328114d27ab8b0653d65549e69f8be59addee400df0e46351613d631c9d7c00762454c23a81c6d7e25cb0950805199d85b2ec68802a623698e1008d8c5f2d54747cfa592b4f125d52c0f30fc5811ddd52d5331fc5b96fff18f184d2e2dda1d971d564d6bef681df25ce4996583e1b71528aa1ae35528bd0a39ad77828bb17d954ef5f4acd88504c32f8d9209c703c5f4d577376bb7bb193b5d668db9740a288da12f6943db3fe33611a3a007ab8666c4652cd5bc0f597cfcb68f9dded660920c4a160a49930105ac210f1da50469d85723ba5cd71e7cbb3ccbc344f417af41e08b51b9ea15303efcf33cf4049606b694ea085ff9a4bb50e0f8b436e25eebc4a7d7bf0cfd0ec77e0f7044f928ff0fca8fa74e6ec79ab5318b4a86a81feb059ac2756188318b11fbb7834286338bdcff8701e2fdf66faa9b3bfd9131ba1d6aeaac79178a1f243ee17c80f32f5fee8c9629ff8c3e251ba9b38ff526c60cf74d5d4add1b06857d1c94cac07b3cc134b2d2690cc9a449dbf1edef041c79c53cd6b787355fafb38b6012cffcd84129c2f9d9d13441501a597e8aca9fbac498ab991f57c228e7fcf696510ebcfd521a9121c23e712013d1ae5da01b6b81a3e1b52633814d7be2a9ab27c80fad1841fc13d008f960d1e8d3a4bdb0a0b92075b0608f186b1de24cc032abe6cd6141ad6f6617e997d7d02059cec6b60ee29812c4b910f2ec589351e203e57a6aacaebc7918cc158a35042803d713c84c4474d8ff3eedf2bf17635099f5e5bfcce8a04584e4cc31716a4ef434fe9f3d12a9f4f53701051c80c69de2f6ebed9391dff7ad47b6a0a8536bed00d79e13a3e4212dea762dff1fc9ab135eb9ddcb0ff0f54ac42f05b6a60a29c21ce693c452abde97ad0698f4b935af59ed4d66486f12ba0e6cfa16d6af13b5fbe7b159aecaa0df05b1071c974120a1dad4040b7e53b7d9cfb61caa896e4cabf4254293f588e1260a2b7ff5aeb9df94be8c0239cb4ffdff05e726c36d3c5c2b685e38d1683102bc249bccad916556ee557ec058a880df2d4b2a3cb32583ede2554d037c4ce74333effb22798fa58ac74013fb99b1fdc8b183a0be4a1fd458182d4f603b7fe130fa4a8c93daabd860a0404ebb05dcc0ea5c611add681644167a733a6f15b1218b8f2c945c3425adbdc224390a653d9b304e9df88b3eb7990788269786b13bcd8c4616d90b337a48801278eb0e9e1d2314291a56ea85f78ec71719daf96e0e5659779d69af359f791b6cb2f4a7f88f7cd6ee64ca39e3987bbb17ad4f5cf802846da3ebc88a640183282b3f1a0cef3b2a4b930f649f93b2c140ade0fff0aebe0e49dda0dcad6908d34c68b279a35f27c0485d63cb6032c818c6a9380867f427bb541a79ca23fd7bf471bbdb1be9", 0x1000, 0x6}, {&(0x7f0000001540)="5dc686629a973f6fd73fe3722099f1e3d5d6d27d4616ca52449ace5aa44085098c443ccd16abda12c2593acc694a546556e57ea022d3fbd7fb87038e8f493b46a063e2a439328813f279b57c790b", 0x4e, 0xfffffffffffffc01}, {&(0x7f00000015c0)="6c1bfb7e83cd3c9bfb741dbd858de27e08d11b4b7ec96161b19c30a4f29ad9099a6c2ca67a3a0390f2d748047d843b7cc222666a6789021a94d877b7a62a68b3cfde2eda3ff9bc224e7c6610e36a60e6f34735a225cae39ccc3eff184259faa33b498b93646451337f2a0d54ee162b16b92093204b787e85919eb37c6c540c99ddbcbdaf0393a1cfe1631013fc0f84990d68b1d29edf0a696454ecfdc71f96866fb0633a76628673e1faad8eaa6da38c7597638517338b056af407a704756c447a55939b4cf04f0e8e5e451f293a3c0de53922af81ae6c05ff3bfd1c61d438dd4c8ea937cc6e317b28c422dacc8b3233a963b9064ab3e408f431c938938eb0496c9afa95aac5350ec5a0f06f64b746c9b1b8023eb272c85f158a19a884c6a1de17bacee3fd016a1fabd07188bd1fea39441a4e5da0c4c7966b9eb0a8a5bdd2f7819fe251c7c8a3df82ab1c8e311a64d7c88000ba696b8e1956742a24d307a36a4b30e366f0c2c36fda84d806a169f08055771617da7b3e5d66fa728d6667013ab4d643a74966ce690b892d7a93862e0508ec121627a1fd500480dc2c7faf032c919de488c003aa444dfdd0a715756ff27e7135d1de622b11d8e27dd5b9ea87b07cb0c2ae1827982b991db54855e4755cf23963dc78ecccfd7896329187dbb4df6c0cf96a0ce57acc38c753c3c59add9fd17349fd5146395478a3b89495a7a61ccc8d9be8e0480141cf7b9464d0d2fe8888500d1b2f9ba90ae5971e36862e098a647f13a67f387c54a3515830545fd863385286382d5266c1042a71935cb8f7e5c148a8dda6dc0b67fa4e42e9db2dd1c470371c5b5c99da1e4c042d7e86f74fd1f2c4ff8387a6078a8e7432afb1b686ac3b677c612f5124750b0a28caa17a728bed821d9152dd0b3135aefff011a2e3c45c1b41ab304b8063418340d3a4fc39fee437c65110e4c44bcd6b91c096df95f673c63f0953a49f76834c1612000f18aa3c0a0599352f95aa3be5366cece40040d10fd00e2797ac2ac94c99229c627e5218afe9676f1abcae6088a92ea10c75c1471edf974a174fde2024c41be25b214c5035adbf5fd8ba1a4f2531630139341bb43012b31c6c4d6c36d62398d93d1779dd1beb5a0b7fa937692ab74771c23befc4862f9555eb3d7b8fa16dba058c3d24f1e18a53a75fcd8f8527043d1e8eeca0497a4ef3908be5ff99c487d5778b763e5f6bccc62191a7a0bf3d739235cdc1008af502b2f64f061c15a81cb67653949e660a4b7a639a71d0467c93e5ea8bb4b6a53bdfbe55197477cfe557a4ade49964633e6c0874d42b030f5e1171ee09d4027fe4f130bd9ffe1bbff79064c83a4ae127562d2fcc161379fa5b53b77bf1906e215321df15748cfba4ae729dd3ed1eb51715b71974f601b7b3f7c72da8cb68863e2bc510096d6bc12e3db528dda438075e2ca7a09bf55b9cdcf0cbd990514e9fbe85068b218ae992fdccfbeb4d88eab0cc76de2bdab497e689ec1f787d4e9909b341f76447d87c21cd9bbc3e2325a2a8fbbdf13b7acfb87542e3643355e22c0f983bdedb9ae0b346323ebb9ae5c5abb82de5632f3b92cdb47b2d2857a87613fe8e6d86fc62ca9c8d37dd73fac03f5725809d9c82ea72a4aa6e6dd870164fb7ccf0ed4379ccca5c76fab70fef9de27175ff4e18869b61806fc511ce32d17fa8099b809ac9a14ff377073cdc97693ddac7c67f6879d7c4298c8ff1a7411a4ee78649a4b75d81f18b1e832226f432ee7d7df03fe474bd21a5c2aaa39e843fb7b27ad158c0e765f559433af4cb6c29e2ca4cbe057dd6f5cdb8382dbffd4b07739babce9d35fa443a6bdee9f203cce9a8fc8aa9c31f3cbbb73425783439e7cf4ec9bbc09c8506c386df6133220ebbdbfba1b2b89ca9677f0386ddaa76ca5d4b98e7e9c7db553c53c9aed89a07fe478f762f7c4446fb3eb454fb036b64a1bcd319e15fe940987f9c89fe038b9ec60194bfeff11a7ac7917b0b0105b7ef25e5bcfc2e1babaf33f16d28ee344bdb28ddfd5474a9ae7a40ead89a59e29dfef52e7e8a82bbf04e41a91281611a334ce746be48bd08746847bb5b49efb2b47bce12642a3e64bcc9315fc9dee13e34aca81d95afec4d91941e1bf7f3c1d19a16081180e6a522b8d0fe3a8d329874a702474c68d81c15b93e6034bb90f868a14b66b975fee44931af353a75f3e97830bd23c5865255c302fbcd021058b3663a3ca97fbd79171edecba334b048b2d9d3ebd10dd5ee03e0d077b6f9fcc43e9258fb50b7864382dfdd7eadb2d4eac5b41a5f9ea802849f46156e7cf131af658ac966e18e99dd16ed014bd21cc89ee7f9d0674fef44becaadd6c86b7233337088f0aa16444f2ec9a23311df0e6af82dcea0732d480a5ea52ad99ceaadc0269e3117b00e7dc029630ce48c56dbcb8ce08c205898daf42a43b0a0537e7c3cdf35dc475ba490bcd2474c75fa64a985f8d6279028768f52bc4fbe02584b1cd16d884fab0c1cbf6c4c7cdd3ad40eebe55369bb89aa06a6f3f15ba471d156999b0ea15d86763519cb11e2b89654070283ae0800a57ee3cff750c5aac99a280dff9e7f786ad7ff3e146dd89e67ba584ff39c7637896131dc6d3af6075ec23f6155560a5d7d727011c48769d438915f1cee5507798724677a99509040e55b55a2808d23f27418aba61b9d306ee34b68c02b9d8d4e7ccc32ca379668bfb020888dd3fdc35f2d094f1f3d0d798a4a5cce2ef91295a4aafe66f13ff1e0813fdc785e12f0d5d8446ad179e1f1486d062fd93e766efe383915f89ef4efa5a853dfca0a2fc68f4cf0c2156cf3d5892cf038d21a063be3c17a0e5c3950abc361c63d8cdfb587fd8e16b50d328c81d8fb6d3649b944c0a2d42bd4ea1913e1f62a577bbee6853f3507b97ed9853075ad4bf3b27b681afc28d4aa6ebcf36289195720dd10624c7261bd7c739048fa35b58174faf9f1ebe0dcb42512f494ed00bb693386d54f42b56e114e9172b1c2125dafd75cfccd93edcab25fc4bed8eae09d221299c51bade7bea9c5eddddc787d9ac1f01a96ca956a0553b098dd32f871613269b14e7918de03c88b264bf0444eb4468b545439d686d7974bff17250d40ee4a020155caf237a5ed9ffbb6ed35c2d0be00ec8f4d49d7a5f038e212d3fd81385edb82200aeddcf9c89f1aa3917b0adda6f425fc93a816c05fb340b1592abe8360f45bab054e76c3d36c9152ac67194ef773a64cf6d8e3559e0144fd189132abb29858e30adfe3f2b9843a51ab4376eddbb6ad568a7365cb565f5259cdaf73264d9e712fb84850d9702f4eff78c6a9d58f528586965a2299f1e6f203e30449f4b8dabf16cb5f732f88c142d261e169ddf53e4171bba3ac70f7bb543765a31db6ce812ef698db344b512895de8aeacc9833771a9c49cab5e76327a8bcd52d3d28645b1928956815e26f2bafd6f1a0d010c9ecc10142158f158c29bc02b82b3b551209cab5aa8fe0e35409bb11dbad771527db611d4420fab12c1106754f3ec502b519558f10da6dca1908e3892e712def1baa44434ca77b2a7595d1e5db27e4ca8dc77cb2d0906c76ed690360ef67a448cdbcc28aa418e31a6ed1d283929d489b8dd3ec055ee7adbb9a09d2bddf0ada9fb1e271965a78de1c2bce7cd8469be81f40bb81b8865102b1bb1974bf4da2399f1686718c35f32b12537f8c874f24890b9ccdde653c1d58b0b0a6f3258f64dd4561ee23785b8b01475a5cab5be542d8933570fd28f6fad9b32a7694d968db5069aa81fd9711950409f6c0e58940130424b911877ce8bc2b7364d7b8f1b60be2bf9c5e540a137545c908821f44c3f25b3a434fc21043f783a0641e9c6ec5ca88eb2d6f069748985a934319c794fbbc4b9927c0a17ccb2cdea3761aefe3edcdd987f3d0af20247adfc17bb1e61581a0d25f58cdf9bd5c2aaa43b69ce0c12929dc2b55e21cb589566803c1ed80296d2f56ee4bcf128d7ddcbed1b96988bfb8556e079b7a63394e368c9df37c1ca5ba6142397b34027b833671a6bb46720e5450788f1365b714619c116265fccbcee90b259994723277daacb6fe7ee5d139ef6973807e4319d53d1f72f7b2f4a40cb7c1108fddbad12d583e7ebbcc95ae579f5c30b34ae3c7879b5bc530137dd06189db019e081bb0b5df616e743945bf5d4feae993763e981ed70b561d5956da9bf500ff9a995b75206a87a5ce8a4a5481262cd0507885c07db4ef687b5cb8560211e281576c5c659e737de4abbbd8f7527ec8557f11415dea47801442ca1fd7c4102bf53de20cf845893a5d4fec2a87d8b552b09b4c19ce3bd3eb40376d729f99ec657fef352097c644693abc0d7dfe5cd6e4457dc9aced57ad788deae3c0ded7fe7e582421f1097414bc01a6a6d7054b17e8505ee3bf774f23ff61e73c8c2b4e36391b06568f1888a5cd13ffcb695cba368d54f35656fcd68fbdc724d0516864d6380400546b4878bdeadb0c0185b184169161c1714f502ba6365aa98a496df4f2877b706ecc9b4dd89e0d8149873c1d04c27b182579a7e6a80a74c2f3c5cd0f82d9f6866155a4d43b30bc06c34d7b6affd3456188bdd4d1ab6ccf002b36a63ac3fec005c175aeb7778ea392f2f092bedd624c2bd869f376347786da6ca061386682ec0e9099be45a672f4781a82108ed0f3ea919c37170cbbce0465d10c6f4bca108cf4eb0e2a1233568ca45509e064647550ad5f3bb8df5e9ffc7ed5d511fa18217e6d3d6a29b8838c1b0305d3a3cca4d7054bf5d1112eeef37d7c578ced87ebe948a92bdd7dd379cd4317841c4e5577126470e87345a2df0ed1d5ec4c92caea8c7c9fc269e37ab24d8f808d581121b9453fa07bb8a496af4988cf891d2b6ce558cadcf574cad46218dd15effc57c1456a178fd626e1fdeae900727d145626292a5b0f8a57f082925e08f3a8c5febc78f65974c97a2be1f4ad286efa6859322c0f62231b5aea2d1029279b95d98d4597f4b20be888fd49123cbeb60fc2521b99df005447881ed2d8a3ecbf1f2bfeb1235016624d28b79651fd8f4dcff51e068ecf8d84ed11578193609d8eaf268d96789a61057aac8cdf029bd2e85dac0bf247e6ccbc09c4da2b5d424ab857cd278fc36ea090ae9b55703998cee622dc98b4f79914e857ee169b684b4369a7df64a3d99c8594c3fa1850bfba05b08a23b63bbaf70299907f3a8a0b19cade52eba868af2f09454cafc091f23f3872416c2f0f9f116a6192842cb853b1f02ea78f68425435b7ae9b6dc3edd4c30019a21b4a8dfa60716e1eefae87cbfde9ccdcd9cf8db37e1db266872d80405982d844102ad5f57cf7aedf12f3e8ccd0ba29f3abec6fc48dd1d4726c8591636ad3b1e403ce80cc136521d784d6d5e720bd083e4ce056dd15f725ceef6fc6dc4c65df85ec3b818a19d677b7f1fdf2c70d03539a4b5f1dd9d4301641c2e303ee6261c8c55561519538a0227b2863036da52dc4d8f06ae9549312a526fc3b0ea3e31db759b9068d11af7c30296de0fce32d11e969336a68a7e22bb01f6ffad1696cb11475172b2fb4669070a3ee0c4ba74b5f5bb96b881bb10aa461d5485f99290898a0b363e5c18a2d9c47b07668441d0e433d46e438d4e6a45d5f32a3b21aacd02e48ba9416542b9ddfe38b19403dbb17db8436f170c2a05fd159e164918d959cd2d5186ea4b91a2f1de01b4a02e0cecfda10315532e31b351d726684a9a232549f44461f18d1c88f69c7483d41e8a94180c2ae3bc414ebe3a23c47b881c0bfe8933b1c95720a803924827d", 0x1000, 0x20}]) syz_read_part_table(0xba0, 0x6, &(0x7f0000000480)=[{&(0x7f00000000c0)="37378f6194c15f8d5819ec61024da974e4f95293e6f9f3ae4c0f681bc4d40c2b65dd3b99e55ef975f6fe5c0da74c347373bc69a6aeb7a711b5c77e14af8b9b8a92da3851d9e970b08ab2b950619e2183c74f777c5a2adcf4fa30215c039118d6e85dcec3c3269f3adef9a04cd463812c97a2a361bd25ca0fdc326becdb601e4d79d88a7c3f30eda881de0770a5d298a45bf6f9f370ccb1d0843d082c028d60346ed0a78d97390442fefd7ee49bdb18afb3c7de04b99f0e8e4bd4f657b167d663b1e2975737491d927318e2572afc83cb9674a3aafa0fd344dc98fe58b7ba3afd77809a71023104b96dbdfd44", 0xec, 0x81}, {&(0x7f0000000380)="0584dad1d1287b7e9660fd7a8ae4951e5c5ea01667af2bdc8ba5d11a536a0bff04000000a62c260f9b39d4eab7a9884a0030b2783d00218ec6e2fa70d3670baa681a0c824e59000000b7000000000000007bb7489d0bab60176e29291d46f443b49ecabc57d3cc3ffcc7152b3ea513dff194cfc0b69c5442dc6938e7337f333bb5153e0cad71aeb2631322eda161bd17a0f92b1aa874680458355d03ce2b38b417a6ac5be7b9ba01caceeed65e9984464021f90363448800b5354b7652e5c952a8ade9cc816a3ddbea038d0ae763ca1e7549e72c872e91154ebb691e46b53325bd84d5af564f4fd4fea7c256a57e08d40cf35c87", 0xf4, 0x5}, {&(0x7f0000000240)="e5745a8bd067f017236cefeece503df8f1e58240bd58f95118a49ed69a96a59397dcd9d1b4d78bce745ebffe23ce5a125b1fbd79b13367d5dc9be9183152e4021c586d44570e096c161b14d98bb097d0e0a6d9de4a4c0713673296", 0x5b, 0xfffffffffffff801}, {&(0x7f0000000040)="45a526", 0x3, 0x7fffffffffffffff}, {&(0x7f00000002c0)="0a9a38db59044d8069017629e5ca687cbe6120d0617aa6d25da156d603d94a46f8cf8db3fdd538e9f56eaa366f74b599b309b1896834c1de4489a52ae4cf5b85a8f9486dc3511d178874a440b68567e5a4bffc572ab2b4925b79a8b083c33796aa033b3006da697d9ccf6d6e1a7c655969946a2c11c51ad10f8605365c79a9152a0b67ec519674b697527721f9212e08db973858dc7e332fd64407c88b96a207d2ab911b31fcb176b1c508", 0xab}, {&(0x7f0000002640)="7b922a539af84547438892f244c6f0ae3eb55a7aa0c242bceac7e955bd5a3176a646ce9379e257e21f7ded50b1964502709ea7eb477ca8e7f3dcc6a6c792db1235f2646d3556c6a631f05c2cc652867665bce25b4968c708ccc5faf2b2058c529555d8a23d59a8be2d444533cd15c02b87c93739aa4ca1aa947ade805e472d7d2d090c3ade916ea2e9ba79acb363710116ce21d95916ff6ec5204287240e80ab73345bc127727cf02ca6d3489b9767ec3d4855a293ae62fb3cc279670000040431f9737ae0de8739fd37356619c177f08e3207fb603b03ada3c9156b0a1c2fcd0fe77a33bc07c55dcf017dc7ad25af74bcdb74c1ef6edbf2a92f2abe4be205e7a1dcecf5651ade99306efa8cb44d493e1a66ef3ad5281f38f0f0b132a2dda46a00f8c1c766a8ed2c2ab9a2f9627dac0000a75f7b24c1c1d653e923756990dcdbf42006421b7c6165d2f585be4baee6afd38e420e422939512ffc96aff6933dfc53228246d3af616d077f3e05340c2b64aca95b23ddf9c9bf755c51", 0x17b, 0x57eb}]) 00:33:39 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xd57240c8}], 0x492492492492805, 0x0) 00:33:39 executing program 1: r0 = socket$nl_netfilter(0x10, 0x3, 0xc) (async) r1 = socket(0xa, 0x3, 0x3a) setsockopt$MRT6_DEL_MIF(r1, 0x29, 0xc8, 0x0, 0xc000000) (async) setsockopt$MRT6_DONE(r1, 0x29, 0xd1, 0x0, 0x0) (async) fsetxattr$smack_xattr_label(r1, &(0x7f0000000000)='security.SMACK64MMAP\x00', &(0x7f0000000040)=ANY=[@ANYBLOB='\x00\x00\x00\x00\x00N\x00\x00'], 0x8, 0x3) (async) bind$netlink(r0, &(0x7f0000000100)={0x10, 0x0, 0x0, 0x1ffffff}, 0xc) (async) r2 = socket(0xa, 0x3, 0x3a) setsockopt$MRT6_DEL_MIF(r2, 0x29, 0xc8, 0x0, 0xc000000) setsockopt$MRT6_DONE(r2, 0x29, 0xd1, 0x0, 0x0) (async) sendmsg$IPSET_CMD_CREATE(r2, &(0x7f0000000140)={&(0x7f0000000080)={0x10, 0x0, 0x0, 0x2000}, 0xc, &(0x7f00000000c0)={&(0x7f00000001c0)={0x54, 0x2, 0x6, 0x801, 0x0, 0x0, {0x5, 0x0, 0x3}, [@IPSET_ATTR_DATA={0xc, 0x7, 0x0, 0x1, [@IPSET_ATTR_PROTO={0x5, 0x7, 0x1d}]}, @IPSET_ATTR_DATA={0x28, 0x7, 0x0, 0x1, [@IPSET_ATTR_IP={0xc, 0x1, 0x0, 0x1, @IPSET_ATTR_IPADDR_IPV4={0x8, 0x1, 0x1, 0x0, @broadcast}}, @IPSET_ATTR_PROTO={0x5, 0x7, 0x29}, @IPSET_ATTR_PORT={0x6, 0x4, 0x1, 0x0, 0x4e21}, @IPSET_ATTR_MARKMASK={0x8, 0xb, 0x1, 0x0, 0x6}]}, @IPSET_ATTR_SETNAME={0x9, 0x2, 'syz2\x00'}]}, 0x54}, 0x1, 0x0, 0x0, 0x10}, 0x4004000) (async, rerun: 32) r3 = socket$inet6_mptcp(0xa, 0x1, 0x106) (rerun: 32) connect$inet6(r3, &(0x7f0000000180)={0xa, 0x4001, 0x0, @dev={0xfe, 0x80, '\x00', 0x1c}, 0xd}, 0x1c) 00:33:40 executing program 2: r0 = socket$inet_tcp(0x2, 0x1, 0x0) bind$inet(r0, &(0x7f000099e000)={0x2, 0x4e20, @local}, 0x10) ioctl$int_in(r0, 0x5452, &(0x7f00000000c0)=0x20000007) sendto$inet(r0, &(0x7f0000000140), 0xffffffffffffff58, 0x20008005, &(0x7f0000000100)={0x2, 0x4e20}, 0x10) ioctl$sock_FIOSETOWN(r0, 0x8901, &(0x7f0000000080)=0xffffffffffffffff) fcntl$setsig(r0, 0xa, 0x18) recvfrom(r0, &(0x7f0000000480)=""/110, 0xfffffe32, 0x0, 0x0, 0xffffffffffffff39) socket(0x3, 0x80000, 0x910) socket$inet_tcp(0x2, 0x1, 0x0) (async) bind$inet(r0, &(0x7f000099e000)={0x2, 0x4e20, @local}, 0x10) (async) ioctl$int_in(r0, 0x5452, &(0x7f00000000c0)=0x20000007) (async) sendto$inet(r0, &(0x7f0000000140), 0xffffffffffffff58, 0x20008005, &(0x7f0000000100)={0x2, 0x4e20}, 0x10) (async) ioctl$sock_FIOSETOWN(r0, 0x8901, &(0x7f0000000080)=0xffffffffffffffff) (async) fcntl$setsig(r0, 0xa, 0x18) (async) recvfrom(r0, &(0x7f0000000480)=""/110, 0xfffffe32, 0x0, 0x0, 0xffffffffffffff39) (async) socket(0x3, 0x80000, 0x910) (async) 00:33:40 executing program 0: r0 = openat$sw_sync(0xffffffffffffff9c, &(0x7f000000a6c0), 0x0, 0x0) (async) r1 = openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) read$FUSE(r1, &(0x7f0000000100)={0x2020}, 0x2020) ioctl$SW_SYNC_IOC_CREATE_FENCE(r0, 0xc0285700, &(0x7f0000000000)={0xffff, "bce574e5e92b24b514373c28b90555a61174ad33c35013a007000000807bed5e"}) (async) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) unlinkat(r2, &(0x7f0000000280)='./file0\x00', 0x200) (async) r3 = openat$procfs(0xffffffffffffff9c, &(0x7f00000000c0)='/proc/sysvipc/msg\x00', 0x0, 0x0) (async) ioctl$AUTOFS_DEV_IOCTL_ISMOUNTPOINT(r1, 0xc018937e, &(0x7f0000002280)={{0x1, 0x1, 0x18, 0xffffffffffffffff, {0x1}}, './file0\x00'}) linkat(r3, &(0x7f0000002240)='./file0\x00', r4, &(0x7f00000022c0)='./file0/file0\x00', 0x0) r5 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) unlinkat(r5, &(0x7f0000000280)='./file0\x00', 0x200) (async) ioctl$vim2m_VIDIOC_QUERYBUF(r3, 0xc0585609, &(0x7f00000021c0)=@multiplanar_overlay={0x800, 0x1, 0x4, 0x63034, 0x9, {0x0, 0x2710}, {0x2, 0x2, 0xd4, 0x5, 0x6, 0x3f, "2c55e816"}, 0x1, 0x3, {&(0x7f0000002140)=[{0x10001, 0x9, {0x100}, 0x8}, {0x401, 0x5, {0x6}, 0x100000}]}, 0xffffffff, 0x0, r5}) 00:33:40 executing program 0: r0 = openat$sw_sync(0xffffffffffffff9c, &(0x7f000000a6c0), 0x0, 0x0) (async) r1 = openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) read$FUSE(r1, &(0x7f0000000100)={0x2020}, 0x2020) ioctl$SW_SYNC_IOC_CREATE_FENCE(r0, 0xc0285700, &(0x7f0000000000)={0xffff, "bce574e5e92b24b514373c28b90555a61174ad33c35013a007000000807bed5e"}) r2 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) unlinkat(r2, &(0x7f0000000280)='./file0\x00', 0x200) (async) r3 = openat$procfs(0xffffffffffffff9c, &(0x7f00000000c0)='/proc/sysvipc/msg\x00', 0x0, 0x0) (async) ioctl$AUTOFS_DEV_IOCTL_ISMOUNTPOINT(r1, 0xc018937e, &(0x7f0000002280)={{0x1, 0x1, 0x18, 0xffffffffffffffff, {0x1}}, './file0\x00'}) linkat(r3, &(0x7f0000002240)='./file0\x00', r4, &(0x7f00000022c0)='./file0/file0\x00', 0x0) (async) r5 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) unlinkat(r5, &(0x7f0000000280)='./file0\x00', 0x200) (async) ioctl$vim2m_VIDIOC_QUERYBUF(r3, 0xc0585609, &(0x7f00000021c0)=@multiplanar_overlay={0x800, 0x1, 0x4, 0x63034, 0x9, {0x0, 0x2710}, {0x2, 0x2, 0xd4, 0x5, 0x6, 0x3f, "2c55e816"}, 0x1, 0x3, {&(0x7f0000002140)=[{0x10001, 0x9, {0x100}, 0x8}, {0x401, 0x5, {0x6}, 0x100000}]}, 0xffffffff, 0x0, r5}) 00:33:40 executing program 4: syz_read_part_table(0x0, 0x1, &(0x7f0000000000)=[{&(0x7f0000000080)="0201a9ffffff0a400000ff45ac0000000700bfffffff00080000fcff134000ff0300a5ffffff001f00000004000000f93fd505c1d71107000000008008da55aa", 0x40, 0x1be}]) syz_read_part_table(0x0, 0x3, &(0x7f00000025c0)=[{&(0x7f0000000540)="9531a39cbbc206ce3a30daa93dec1c1b122aada7afad6da40443157b38262e09323199abdc533d6ad9f58397c6a812f9f447076b1854612a83286d0402eac37269868abd0b55d8adba79f0a66d196ce43cafb3036bd7f246e585a1e7e4f832bcaf6dbf0b5fccb57417cfd4041b74a42b814f18bed68f33c65df8190e4195b40f20f3967c2a84f816d3dee9d1b5125153714413f3c502a87786c618dd83f40d8e48b3b9b7c6a9536a31f6188a51bcc89e118ebad5d580eca22087077d750268251fff3cbf82d004cd2856e32bb50e6d371b2cc0fd5a2e1cfc2d6600e4ab9f6926040d553458737ba4966352f4b88aeef476b413ebdfab6cb0d6df7c6be9a909697d3a5ef13ca831a728d2d6060fb66300fee74fba252f664685bf97bf4dfce87346c4df3f0228551e28c87aab263c625e100c9b1648abc0ab84555add005a133e0bba62d97b9e5a9887fcd2822f0d52afc4fffa41555ecdf9a7dca8f9810452c5c1bae3e3daafdfbbd27b27a9b9908a4deeac1f36bc25d490a56a5a766ae4f0367bc0425c85c63d717cb872bad1844bc15ddddd5e658042534749852fa0488c33ab536490e116b33fbc8837b6846f3b8a3630a7957d6c70e645432b0aeebfe51f65b8c0ab3202463f2997ecc35fd14bd1ec27cb01ba75d488a49eeb3803574b4a753156d88da062fd12ee9187ade2d91373a5b8e9af37f3daec3f0e35df0c50759be457fda55957201347e192390b8362807ca824127f2f55b6a87e4a3a6b778a737bd87b60f97702deecacd508a29f7b21a9c0b164d0bbdf27d688350d67b4413911f6d7d9c1132c71568cfa35e17018db1eb28165f7e25d1307638e9dc249e7e1679cb5035b2c072a8185e6e59e2065ef6e6293904853e4fee8f75fcfe89abc7f8757fc8afa8fae852902201f7cdee57e832c5bb0e7f1c09ae9bd75a594f6b548e89be9b43e2dfccd38eff2490c2dc8e35e56cf68d35c98c45e701baeb72bebf8f63b076133e188b61a47477e93ea666f7d77963a65c8a43742a52e5913e16cc583a3f686b38ba7678e70a14b54abbc8e88251cdb3517e9c42acc157bbb7121c72c5c7f9303a124d004c960f1a7aa620355b92c7d92fc77a71bc55695a230a261bc3c2bf4164d58ab99d43358a8a293b7347832a97cf6a569dfd1577471c9a38977dd1924e075514379cb41c0fb5c2af64dfcd6824571ea0beec176a43e4bed523a0fef2a969f0a30e90d724501c348cf3021c1e46aa2b1c7c240d2e3cd116629cfae64bbe6667bac78931d9c3146aac91a9ea0a84aa51404e006037b32bbe9a0e05ca7fa0b7f78bd6d6cec83f744bab54229f1478137d4d9753171f69cd2ee83c641317e478e2f14ec0729ac39041997172cf82c36c387f31191b22b6fc96627b1dafd5d78d7455caafd76b2a5d53e4aa2e10976c906d2f1ecbd10ead7885610f21906328e75d472fbe15084b746a8516ec1daec03e9e768fc0eb820d7c7101bc401ec2ec3d1250f94de2428e1731dc92cbef6a0c99ff2f797d1d78ba4f317c40d0c05d30c7a0894fb667e3a4d843c4841608d5018bb619152afaa4d1171f70e4d4aa22fd9668532ed81fb8127a0cb69fb5e216e5aeb55b3ae3448ddbd8c36c3a7ac82ba5c6d819e739749758249330fea80133577c68d5235aea185507280bcc0f17762bb77176a91db3be4eb4b96075362c19fdc68927f20fb0aafccdf252251f82c4c748962555e5b160f1601c25de559d279d12b8d170b4cd61146f584a1ef13b6f2bce549b0f532b02f0a5548e9540c8be44e38712f191fa20aa95a1d27e68c9548a3c6d40be1de071d179f6bb466c281d98f273a32e2179007afa33e9e8d76230dcd8ca001b0438d4b0b3d368d925a3b51f7680868b4c33838094d38a06d2245a92b71068067381d2c366182a0ea2ae73beaf53e336010e23aac6f4c68a5c0f490f13d8c665ab3a052f874754dc87ac7342c510da0f743169db2c90288a6265338bcb297ee87e28df18050436a3bda55ffb002d6606fca0cba3e25d3aaed03a5f3abc809071d776f9ce17b69ceb99673bdd4a682052b077f7a30d99ed117428c583fe7997c8d92410b7215ae564412dd97ef26502496303fe4217d2a910b4a15b9df4cd806ab29e80858f1bf9f3f8fbb0198d0ea2ab7f9ade3eaf4f52946fb069663c7f5de9c06a2994e640f6050d7d3177f789f493c52d5a4ef062232f69740c968be3c273a0bc3c90cc83a56cb85a259d1557fb192626ffd147165e7678fb7b3283dc4b2652b75dd0e4898db8277980eb0fe62f33e7722f4b48c7175b9f05c76b0be673a14b1949a8154c0bb2a7fadf77ad8a5887412d37819098f394eb4a98b055160a27f1b6cf711cf932f479cc61dd7aea92ec05e6d31e49815517740ad617ab996d1c7ee055a3f7a6e150b7a54bdae0d595cb6c8c5810ed88ab7185bc54d2359d870862789a61bfb43992f38b1e644949a47b0d570fe97a8d85502c6cd3a0470c5c3bbdfa5c12e558d15111e808d7f6d9f0eb44caf397bd9ae7f90b7f27778af3a7b05f3de992e81fb498b089be3fef64616daa7b56f78748660597d2447a0e2cefda55362eca5b163088cc91011f5f5d54874111d0abf916a2a6981775e3f1a0575e3429279525d5bb9f4f27406ec9a6dded207361f372c6f7e6718bf3cd4840a43d245943a932041d8373bcaec9eebf14951a4b9443dbff34d314d8c7a841ada56cc025edfb54f9622938905a0f30eba1565b7547545497001518d46f28ede2e1067dd8ba4936638ff7b5f7c9757b9ecf7e2a929b1c98be213d6ff0a45fb3a73b40f571bbef583265231df90f29f31facfb49dc43b701d84e9bf83706d99db83212a3ec6f04edb13133058c57d3cdad0358ec89ae3e701ff7a18b7122b558975bd8524e890b4e4a767150475c61dfbb56683846d0e73cc52138b1860daca9772d4a91cb3278427caca733614136ef106642de538846ad0436e52a282f05ecefc81715c1975fb7e30a9ba2583102f2944bc6f91257c6d4886a1b5fa88d8cde27809e475a18583478cbf563b2f3fb473ce4696a8e98440b653386f770433abda122b54156dc60d7815bed2d3a75dd004cc6cb93cff73501a37feb24b3d2ddeb8c02040db9462bedd25f379ea9bf6f1f0d26c8889d2403004dbf1f0d8d62d56bef300a97644aa0689460d9383f7851ea1c3e8c7e3cf35c784bc7407da6b964400d479eb2094d50b044ccc8586a0481b430a44809770ab88642d8b54ddba3f36d3ac97249422d95e55160bf56c75c139afe52c854ba5f7693e9bbfc3db529820f66b3c8d0c2a890ab666824b3cffa46f64df23a9191a4bd05d7dcd904070188333b4c244d3a666d9f7e5558dd32f015efddcb1cd2096954ea9fdc161ac9cfbbf6aa54ab04d2b54fd699112a950dd87ce14f853b09ae519f909a7e53d7a83cf218271749af9948f36a3bedf018089fa298122863c721f2c5777a27f404a32e678d579b0af4bb652d0acd42bf1265229c74b96922776fbcc8f2d5c8c0b3926707bfb34a4b21cc3656071dc132cbac57418470745a562ba816af9d7775a20fe7b9ff9f790eb25c285855da650fe0d7b5ea4fe1639314095d91f7c059e59cb792f27495371220b3c0311c163a8ebd07411f823cb8e414d45eb654169ec0a00b270fbac64f483a1099a7a8f91cd9f53cdf1ca1ac61fd952489ba68f9f2505bcaa9980f2850961700a6926e470ad2556beadf35468438adeb68d68d872fe0c9ffe858bd3ba62d5b6b14a7af61013c6d672baf775d128ce1d5c9e20507c1d2a0a2ba81f41e8a16f63c26941c4d31b1c518ef1c128e69e59d27dff5f791210818471e8c8250293e356e71aab87215ca4c35a6210bd92e842d5c8249a564d89267aff200b40547b08c8fc7e131bedb3c83a78dae44942cb4c9ca1031bb3aa4c8a31ed704e2b735c5a1328c7fa80b8aa4b017ece7f6c66b0ccea9812a0bc5b599c3b3b5916641e5615c6a353b7456f7f89f5c26a1ff9b6dcfbf44c6c08edb25381c1fecbcfec24740585f84c75ab4efc6f0285d112bf952bd753d6d01f370498a70bea12f29e94b23f6e28539ff35b25aca605c5dc8a3605a1d21b92ce5370c58adf96f4819fec8cd7acb815e37ee4686a8160383570ff40ae7bad1b8915b5d4ef186f92b062b15e35f9a7665486d2c85a2aaf9a0cff6592ba8aae92c6be91645b8d69112475ea2b72ff3956f645cf9fe4b186cfe6a5d6cfb479eb36c4a849820941be1accb50842366d29c58d2c68f7d90401cd3404940515ede2f588bb012a2d4b0a9a5d55bedcc4e12bd7a7d993abcd142b16f170b2b0ce793f803e9cfff8f57ee8f6a4f91c16fc833d68bf74e84d7fef6503a4adf746cd1093328114d27ab8b0653d65549e69f8be59addee400df0e46351613d631c9d7c00762454c23a81c6d7e25cb0950805199d85b2ec68802a623698e1008d8c5f2d54747cfa592b4f125d52c0f30fc5811ddd52d5331fc5b96fff18f184d2e2dda1d971d564d6bef681df25ce4996583e1b71528aa1ae35528bd0a39ad77828bb17d954ef5f4acd88504c32f8d9209c703c5f4d577376bb7bb193b5d668db9740a288da12f6943db3fe33611a3a007ab8666c4652cd5bc0f597cfcb68f9dded660920c4a160a49930105ac210f1da50469d85723ba5cd71e7cbb3ccbc344f417af41e08b51b9ea15303efcf33cf4049606b694ea085ff9a4bb50e0f8b436e25eebc4a7d7bf0cfd0ec77e0f7044f928ff0fca8fa74e6ec79ab5318b4a86a81feb059ac2756188318b11fbb7834286338bdcff8701e2fdf66faa9b3bfd9131ba1d6aeaac79178a1f243ee17c80f32f5fee8c9629ff8c3e251ba9b38ff526c60cf74d5d4add1b06857d1c94cac07b3cc134b2d2690cc9a449dbf1edef041c79c53cd6b787355fafb38b6012cffcd84129c2f9d9d13441501a597e8aca9fbac498ab991f57c228e7fcf696510ebcfd521a9121c23e712013d1ae5da01b6b81a3e1b52633814d7be2a9ab27c80fad1841fc13d008f960d1e8d3a4bdb0a0b92075b0608f186b1de24cc032abe6cd6141ad6f6617e997d7d02059cec6b60ee29812c4b910f2ec589351e203e57a6aacaebc7918cc158a35042803d713c84c4474d8ff3eedf2bf17635099f5e5bfcce8a04584e4cc31716a4ef434fe9f3d12a9f4f53701051c80c69de2f6ebed9391dff7ad47b6a0a8536bed00d79e13a3e4212dea762dff1fc9ab135eb9ddcb0ff0f54ac42f05b6a60a29c21ce693c452abde97ad0698f4b935af59ed4d66486f12ba0e6cfa16d6af13b5fbe7b159aecaa0df05b1071c974120a1dad4040b7e53b7d9cfb61caa896e4cabf4254293f588e1260a2b7ff5aeb9df94be8c0239cb4ffdff05e726c36d3c5c2b685e38d1683102bc249bccad916556ee557ec058a880df2d4b2a3cb32583ede2554d037c4ce74333effb22798fa58ac74013fb99b1fdc8b183a0be4a1fd458182d4f603b7fe130fa4a8c93daabd860a0404ebb05dcc0ea5c611add681644167a733a6f15b1218b8f2c945c3425adbdc224390a653d9b304e9df88b3eb7990788269786b13bcd8c4616d90b337a48801278eb0e9e1d2314291a56ea85f78ec71719daf96e0e5659779d69af359f791b6cb2f4a7f88f7cd6ee64ca39e3987bbb17ad4f5cf802846da3ebc88a640183282b3f1a0cef3b2a4b930f649f93b2c140ade0fff0aebe0e49dda0dcad6908d34c68b279a35f27c0485d63cb6032c818c6a9380867f427bb541a79ca23fd7bf471bbdb1be9", 0x1000, 0x6}, {&(0x7f0000001540)="5dc686629a973f6fd73fe3722099f1e3d5d6d27d4616ca52449ace5aa44085098c443ccd16abda12c2593acc694a546556e57ea022d3fbd7fb87038e8f493b46a063e2a439328813f279b57c790b", 0x4e, 0xfffffffffffffc01}, {&(0x7f00000015c0)="6c1bfb7e83cd3c9bfb741dbd858de27e08d11b4b7ec96161b19c30a4f29ad9099a6c2ca67a3a0390f2d748047d843b7cc222666a6789021a94d877b7a62a68b3cfde2eda3ff9bc224e7c6610e36a60e6f34735a225cae39ccc3eff184259faa33b498b93646451337f2a0d54ee162b16b92093204b787e85919eb37c6c540c99ddbcbdaf0393a1cfe1631013fc0f84990d68b1d29edf0a696454ecfdc71f96866fb0633a76628673e1faad8eaa6da38c7597638517338b056af407a704756c447a55939b4cf04f0e8e5e451f293a3c0de53922af81ae6c05ff3bfd1c61d438dd4c8ea937cc6e317b28c422dacc8b3233a963b9064ab3e408f431c938938eb0496c9afa95aac5350ec5a0f06f64b746c9b1b8023eb272c85f158a19a884c6a1de17bacee3fd016a1fabd07188bd1fea39441a4e5da0c4c7966b9eb0a8a5bdd2f7819fe251c7c8a3df82ab1c8e311a64d7c88000ba696b8e1956742a24d307a36a4b30e366f0c2c36fda84d806a169f08055771617da7b3e5d66fa728d6667013ab4d643a74966ce690b892d7a93862e0508ec121627a1fd500480dc2c7faf032c919de488c003aa444dfdd0a715756ff27e7135d1de622b11d8e27dd5b9ea87b07cb0c2ae1827982b991db54855e4755cf23963dc78ecccfd7896329187dbb4df6c0cf96a0ce57acc38c753c3c59add9fd17349fd5146395478a3b89495a7a61ccc8d9be8e0480141cf7b9464d0d2fe8888500d1b2f9ba90ae5971e36862e098a647f13a67f387c54a3515830545fd863385286382d5266c1042a71935cb8f7e5c148a8dda6dc0b67fa4e42e9db2dd1c470371c5b5c99da1e4c042d7e86f74fd1f2c4ff8387a6078a8e7432afb1b686ac3b677c612f5124750b0a28caa17a728bed821d9152dd0b3135aefff011a2e3c45c1b41ab304b8063418340d3a4fc39fee437c65110e4c44bcd6b91c096df95f673c63f0953a49f76834c1612000f18aa3c0a0599352f95aa3be5366cece40040d10fd00e2797ac2ac94c99229c627e5218afe9676f1abcae6088a92ea10c75c1471edf974a174fde2024c41be25b214c5035adbf5fd8ba1a4f2531630139341bb43012b31c6c4d6c36d62398d93d1779dd1beb5a0b7fa937692ab74771c23befc4862f9555eb3d7b8fa16dba058c3d24f1e18a53a75fcd8f8527043d1e8eeca0497a4ef3908be5ff99c487d5778b763e5f6bccc62191a7a0bf3d739235cdc1008af502b2f64f061c15a81cb67653949e660a4b7a639a71d0467c93e5ea8bb4b6a53bdfbe55197477cfe557a4ade49964633e6c0874d42b030f5e1171ee09d4027fe4f130bd9ffe1bbff79064c83a4ae127562d2fcc161379fa5b53b77bf1906e215321df15748cfba4ae729dd3ed1eb51715b71974f601b7b3f7c72da8cb68863e2bc510096d6bc12e3db528dda438075e2ca7a09bf55b9cdcf0cbd990514e9fbe85068b218ae992fdccfbeb4d88eab0cc76de2bdab497e689ec1f787d4e9909b341f76447d87c21cd9bbc3e2325a2a8fbbdf13b7acfb87542e3643355e22c0f983bdedb9ae0b346323ebb9ae5c5abb82de5632f3b92cdb47b2d2857a87613fe8e6d86fc62ca9c8d37dd73fac03f5725809d9c82ea72a4aa6e6dd870164fb7ccf0ed4379ccca5c76fab70fef9de27175ff4e18869b61806fc511ce32d17fa8099b809ac9a14ff377073cdc97693ddac7c67f6879d7c4298c8ff1a7411a4ee78649a4b75d81f18b1e832226f432ee7d7df03fe474bd21a5c2aaa39e843fb7b27ad158c0e765f559433af4cb6c29e2ca4cbe057dd6f5cdb8382dbffd4b07739babce9d35fa443a6bdee9f203cce9a8fc8aa9c31f3cbbb73425783439e7cf4ec9bbc09c8506c386df6133220ebbdbfba1b2b89ca9677f0386ddaa76ca5d4b98e7e9c7db553c53c9aed89a07fe478f762f7c4446fb3eb454fb036b64a1bcd319e15fe940987f9c89fe038b9ec60194bfeff11a7ac7917b0b0105b7ef25e5bcfc2e1babaf33f16d28ee344bdb28ddfd5474a9ae7a40ead89a59e29dfef52e7e8a82bbf04e41a91281611a334ce746be48bd08746847bb5b49efb2b47bce12642a3e64bcc9315fc9dee13e34aca81d95afec4d91941e1bf7f3c1d19a16081180e6a522b8d0fe3a8d329874a702474c68d81c15b93e6034bb90f868a14b66b975fee44931af353a75f3e97830bd23c5865255c302fbcd021058b3663a3ca97fbd79171edecba334b048b2d9d3ebd10dd5ee03e0d077b6f9fcc43e9258fb50b7864382dfdd7eadb2d4eac5b41a5f9ea802849f46156e7cf131af658ac966e18e99dd16ed014bd21cc89ee7f9d0674fef44becaadd6c86b7233337088f0aa16444f2ec9a23311df0e6af82dcea0732d480a5ea52ad99ceaadc0269e3117b00e7dc029630ce48c56dbcb8ce08c205898daf42a43b0a0537e7c3cdf35dc475ba490bcd2474c75fa64a985f8d6279028768f52bc4fbe02584b1cd16d884fab0c1cbf6c4c7cdd3ad40eebe55369bb89aa06a6f3f15ba471d156999b0ea15d86763519cb11e2b89654070283ae0800a57ee3cff750c5aac99a280dff9e7f786ad7ff3e146dd89e67ba584ff39c7637896131dc6d3af6075ec23f6155560a5d7d727011c48769d438915f1cee5507798724677a99509040e55b55a2808d23f27418aba61b9d306ee34b68c02b9d8d4e7ccc32ca379668bfb020888dd3fdc35f2d094f1f3d0d798a4a5cce2ef91295a4aafe66f13ff1e0813fdc785e12f0d5d8446ad179e1f1486d062fd93e766efe383915f89ef4efa5a853dfca0a2fc68f4cf0c2156cf3d5892cf038d21a063be3c17a0e5c3950abc361c63d8cdfb587fd8e16b50d328c81d8fb6d3649b944c0a2d42bd4ea1913e1f62a577bbee6853f3507b97ed9853075ad4bf3b27b681afc28d4aa6ebcf36289195720dd10624c7261bd7c739048fa35b58174faf9f1ebe0dcb42512f494ed00bb693386d54f42b56e114e9172b1c2125dafd75cfccd93edcab25fc4bed8eae09d221299c51bade7bea9c5eddddc787d9ac1f01a96ca956a0553b098dd32f871613269b14e7918de03c88b264bf0444eb4468b545439d686d7974bff17250d40ee4a020155caf237a5ed9ffbb6ed35c2d0be00ec8f4d49d7a5f038e212d3fd81385edb82200aeddcf9c89f1aa3917b0adda6f425fc93a816c05fb340b1592abe8360f45bab054e76c3d36c9152ac67194ef773a64cf6d8e3559e0144fd189132abb29858e30adfe3f2b9843a51ab4376eddbb6ad568a7365cb565f5259cdaf73264d9e712fb84850d9702f4eff78c6a9d58f528586965a2299f1e6f203e30449f4b8dabf16cb5f732f88c142d261e169ddf53e4171bba3ac70f7bb543765a31db6ce812ef698db344b512895de8aeacc9833771a9c49cab5e76327a8bcd52d3d28645b1928956815e26f2bafd6f1a0d010c9ecc10142158f158c29bc02b82b3b551209cab5aa8fe0e35409bb11dbad771527db611d4420fab12c1106754f3ec502b519558f10da6dca1908e3892e712def1baa44434ca77b2a7595d1e5db27e4ca8dc77cb2d0906c76ed690360ef67a448cdbcc28aa418e31a6ed1d283929d489b8dd3ec055ee7adbb9a09d2bddf0ada9fb1e271965a78de1c2bce7cd8469be81f40bb81b8865102b1bb1974bf4da2399f1686718c35f32b12537f8c874f24890b9ccdde653c1d58b0b0a6f3258f64dd4561ee23785b8b01475a5cab5be542d8933570fd28f6fad9b32a7694d968db5069aa81fd9711950409f6c0e58940130424b911877ce8bc2b7364d7b8f1b60be2bf9c5e540a137545c908821f44c3f25b3a434fc21043f783a0641e9c6ec5ca88eb2d6f069748985a934319c794fbbc4b9927c0a17ccb2cdea3761aefe3edcdd987f3d0af20247adfc17bb1e61581a0d25f58cdf9bd5c2aaa43b69ce0c12929dc2b55e21cb589566803c1ed80296d2f56ee4bcf128d7ddcbed1b96988bfb8556e079b7a63394e368c9df37c1ca5ba6142397b34027b833671a6bb46720e5450788f1365b714619c116265fccbcee90b259994723277daacb6fe7ee5d139ef6973807e4319d53d1f72f7b2f4a40cb7c1108fddbad12d583e7ebbcc95ae579f5c30b34ae3c7879b5bc530137dd06189db019e081bb0b5df616e743945bf5d4feae993763e981ed70b561d5956da9bf500ff9a995b75206a87a5ce8a4a5481262cd0507885c07db4ef687b5cb8560211e281576c5c659e737de4abbbd8f7527ec8557f11415dea47801442ca1fd7c4102bf53de20cf845893a5d4fec2a87d8b552b09b4c19ce3bd3eb40376d729f99ec657fef352097c644693abc0d7dfe5cd6e4457dc9aced57ad788deae3c0ded7fe7e582421f1097414bc01a6a6d7054b17e8505ee3bf774f23ff61e73c8c2b4e36391b06568f1888a5cd13ffcb695cba368d54f35656fcd68fbdc724d0516864d6380400546b4878bdeadb0c0185b184169161c1714f502ba6365aa98a496df4f2877b706ecc9b4dd89e0d8149873c1d04c27b182579a7e6a80a74c2f3c5cd0f82d9f6866155a4d43b30bc06c34d7b6affd3456188bdd4d1ab6ccf002b36a63ac3fec005c175aeb7778ea392f2f092bedd624c2bd869f376347786da6ca061386682ec0e9099be45a672f4781a82108ed0f3ea919c37170cbbce0465d10c6f4bca108cf4eb0e2a1233568ca45509e064647550ad5f3bb8df5e9ffc7ed5d511fa18217e6d3d6a29b8838c1b0305d3a3cca4d7054bf5d1112eeef37d7c578ced87ebe948a92bdd7dd379cd4317841c4e5577126470e87345a2df0ed1d5ec4c92caea8c7c9fc269e37ab24d8f808d581121b9453fa07bb8a496af4988cf891d2b6ce558cadcf574cad46218dd15effc57c1456a178fd626e1fdeae900727d145626292a5b0f8a57f082925e08f3a8c5febc78f65974c97a2be1f4ad286efa6859322c0f62231b5aea2d1029279b95d98d4597f4b20be888fd49123cbeb60fc2521b99df005447881ed2d8a3ecbf1f2bfeb1235016624d28b79651fd8f4dcff51e068ecf8d84ed11578193609d8eaf268d96789a61057aac8cdf029bd2e85dac0bf247e6ccbc09c4da2b5d424ab857cd278fc36ea090ae9b55703998cee622dc98b4f79914e857ee169b684b4369a7df64a3d99c8594c3fa1850bfba05b08a23b63bbaf70299907f3a8a0b19cade52eba868af2f09454cafc091f23f3872416c2f0f9f116a6192842cb853b1f02ea78f68425435b7ae9b6dc3edd4c30019a21b4a8dfa60716e1eefae87cbfde9ccdcd9cf8db37e1db266872d80405982d844102ad5f57cf7aedf12f3e8ccd0ba29f3abec6fc48dd1d4726c8591636ad3b1e403ce80cc136521d784d6d5e720bd083e4ce056dd15f725ceef6fc6dc4c65df85ec3b818a19d677b7f1fdf2c70d03539a4b5f1dd9d4301641c2e303ee6261c8c55561519538a0227b2863036da52dc4d8f06ae9549312a526fc3b0ea3e31db759b9068d11af7c30296de0fce32d11e969336a68a7e22bb01f6ffad1696cb11475172b2fb4669070a3ee0c4ba74b5f5bb96b881bb10aa461d5485f99290898a0b363e5c18a2d9c47b07668441d0e433d46e438d4e6a45d5f32a3b21aacd02e48ba9416542b9ddfe38b19403dbb17db8436f170c2a05fd159e164918d959cd2d5186ea4b91a2f1de01b4a02e0cecfda10315532e31b351d726684a9a232549f44461f18d1c88f69c7483d41e8a94180c2ae3bc414ebe3a23c47b881c0bfe8933b1c95720a803924827d", 0x1000, 0x20}]) syz_read_part_table(0xba0, 0x6, &(0x7f0000000480)=[{&(0x7f00000000c0)="37378f6194c15f8d5819ec61024da974e4f95293e6f9f3ae4c0f681bc4d40c2b65dd3b99e55ef975f6fe5c0da74c347373bc69a6aeb7a711b5c77e14af8b9b8a92da3851d9e970b08ab2b950619e2183c74f777c5a2adcf4fa30215c039118d6e85dcec3c3269f3adef9a04cd463812c97a2a361bd25ca0fdc326becdb601e4d79d88a7c3f30eda881de0770a5d298a45bf6f9f370ccb1d0843d082c028d60346ed0a78d97390442fefd7ee49bdb18afb3c7de04b99f0e8e4bd4f657b167d663b1e2975737491d927318e2572afc83cb9674a3aafa0fd344dc98fe58b7ba3afd77809a71023104b96dbdfd44", 0xec, 0x81}, {&(0x7f0000000380)="0584dad1d1287b7e9660fd7a8ae4951e5c5ea01667af2bdc8ba5d11a536a0bff04000000a62c260f9b39d4eab7a9884a0030b2783d00218ec6e2fa70d3670baa681a0c824e59000000b7000000000000007bb7489d0bab60176e29291d46f443b49ecabc57d3cc3ffcc7152b3ea513dff194cfc0b69c5442dc6938e7337f333bb5153e0cad71aeb2631322eda161bd17a0f92b1aa874680458355d03ce2b38b417a6ac5be7b9ba01caceeed65e9984464021f90363448800b5354b7652e5c952a8ade9cc816a3ddbea038d0ae763ca1e7549e72c872e91154ebb691e46b53325bd84d5af564f4fd4fea7c256a57e08d40cf35c87", 0xf4, 0x5}, {&(0x7f0000000240)="e5745a8bd067f017236cefeece503df8f1e58240bd58f95118a49ed69a96a59397dcd9d1b4d78bce745ebffe23ce5a125b1fbd79b13367d5dc9be9183152e4021c586d44570e096c161b14d98bb097d0e0a6d9de4a4c0713673296", 0x5b, 0xfffffffffffff801}, {&(0x7f0000000040)="45a526", 0x3, 0x7fffffffffffffff}, {&(0x7f00000002c0)="0a9a38db59044d8069017629e5ca687cbe6120d0617aa6d25da156d603d94a46f8cf8db3fdd538e9f56eaa366f74b599b309b1896834c1de4489a52ae4cf5b85a8f9486dc3511d178874a440b68567e5a4bffc572ab2b4925b79a8b083c33796aa033b3006da697d9ccf6d6e1a7c655969946a2c11c51ad10f8605365c79a9152a0b67ec519674b697527721f9212e08db973858dc7e332fd64407c88b96a207d2ab911b31fcb176b1c508", 0xab}, {&(0x7f0000002640)="7b922a539af84547438892f244c6f0ae3eb55a7aa0c242bceac7e955bd5a3176a646ce9379e257e21f7ded50b1964502709ea7eb477ca8e7f3dcc6a6c792db1235f2646d3556c6a631f05c2cc652867665bce25b4968c708ccc5faf2b2058c529555d8a23d59a8be2d444533cd15c02b87c93739aa4ca1aa947ade805e472d7d2d090c3ade916ea2e9ba79acb363710116ce21d95916ff6ec5204287240e80ab73345bc127727cf02ca6d3489b9767ec3d4855a293ae62fb3cc279670000040431f9737ae0de8739fd37356619c177f08e3207fb603b03ada3c9156b0a1c2fcd0fe77a33bc07c55dcf017dc7ad25af74bcdb74c1ef6edbf2a92f2abe4be205e7a1dcecf5651ade99306efa8cb44d493e1a66ef3ad5281f38f0f0b132a2dda46a00f8c1c766a8ed2c2ab9a2f9627dac0000a75f7b24c1c1d653e923756990dcdbf42006421b7c6165d2f585be4baee6afd38e420e422939512ffc96aff6933dfc53228246d3af616d077f3e05340c2b64aca95b23ddf9c9bf755c51", 0x17b, 0x57eb}]) syz_read_part_table(0x0, 0x1, &(0x7f0000000000)=[{&(0x7f0000000080)="0201a9ffffff0a400000ff45ac0000000700bfffffff00080000fcff134000ff0300a5ffffff001f00000004000000f93fd505c1d71107000000008008da55aa", 0x40, 0x1be}]) (async) syz_read_part_table(0x0, 0x3, &(0x7f00000025c0)=[{&(0x7f0000000540)="9531a39cbbc206ce3a30daa93dec1c1b122aada7afad6da40443157b38262e09323199abdc533d6ad9f58397c6a812f9f447076b1854612a83286d0402eac37269868abd0b55d8adba79f0a66d196ce43cafb3036bd7f246e585a1e7e4f832bcaf6dbf0b5fccb57417cfd4041b74a42b814f18bed68f33c65df8190e4195b40f20f3967c2a84f816d3dee9d1b5125153714413f3c502a87786c618dd83f40d8e48b3b9b7c6a9536a31f6188a51bcc89e118ebad5d580eca22087077d750268251fff3cbf82d004cd2856e32bb50e6d371b2cc0fd5a2e1cfc2d6600e4ab9f6926040d553458737ba4966352f4b88aeef476b413ebdfab6cb0d6df7c6be9a909697d3a5ef13ca831a728d2d6060fb66300fee74fba252f664685bf97bf4dfce87346c4df3f0228551e28c87aab263c625e100c9b1648abc0ab84555add005a133e0bba62d97b9e5a9887fcd2822f0d52afc4fffa41555ecdf9a7dca8f9810452c5c1bae3e3daafdfbbd27b27a9b9908a4deeac1f36bc25d490a56a5a766ae4f0367bc0425c85c63d717cb872bad1844bc15ddddd5e658042534749852fa0488c33ab536490e116b33fbc8837b6846f3b8a3630a7957d6c70e645432b0aeebfe51f65b8c0ab3202463f2997ecc35fd14bd1ec27cb01ba75d488a49eeb3803574b4a753156d88da062fd12ee9187ade2d91373a5b8e9af37f3daec3f0e35df0c50759be457fda55957201347e192390b8362807ca824127f2f55b6a87e4a3a6b778a737bd87b60f97702deecacd508a29f7b21a9c0b164d0bbdf27d688350d67b4413911f6d7d9c1132c71568cfa35e17018db1eb28165f7e25d1307638e9dc249e7e1679cb5035b2c072a8185e6e59e2065ef6e6293904853e4fee8f75fcfe89abc7f8757fc8afa8fae852902201f7cdee57e832c5bb0e7f1c09ae9bd75a594f6b548e89be9b43e2dfccd38eff2490c2dc8e35e56cf68d35c98c45e701baeb72bebf8f63b076133e188b61a47477e93ea666f7d77963a65c8a43742a52e5913e16cc583a3f686b38ba7678e70a14b54abbc8e88251cdb3517e9c42acc157bbb7121c72c5c7f9303a124d004c960f1a7aa620355b92c7d92fc77a71bc55695a230a261bc3c2bf4164d58ab99d43358a8a293b7347832a97cf6a569dfd1577471c9a38977dd1924e075514379cb41c0fb5c2af64dfcd6824571ea0beec176a43e4bed523a0fef2a969f0a30e90d724501c348cf3021c1e46aa2b1c7c240d2e3cd116629cfae64bbe6667bac78931d9c3146aac91a9ea0a84aa51404e006037b32bbe9a0e05ca7fa0b7f78bd6d6cec83f744bab54229f1478137d4d9753171f69cd2ee83c641317e478e2f14ec0729ac39041997172cf82c36c387f31191b22b6fc96627b1dafd5d78d7455caafd76b2a5d53e4aa2e10976c906d2f1ecbd10ead7885610f21906328e75d472fbe15084b746a8516ec1daec03e9e768fc0eb820d7c7101bc401ec2ec3d1250f94de2428e1731dc92cbef6a0c99ff2f797d1d78ba4f317c40d0c05d30c7a0894fb667e3a4d843c4841608d5018bb619152afaa4d1171f70e4d4aa22fd9668532ed81fb8127a0cb69fb5e216e5aeb55b3ae3448ddbd8c36c3a7ac82ba5c6d819e739749758249330fea80133577c68d5235aea185507280bcc0f17762bb77176a91db3be4eb4b96075362c19fdc68927f20fb0aafccdf252251f82c4c748962555e5b160f1601c25de559d279d12b8d170b4cd61146f584a1ef13b6f2bce549b0f532b02f0a5548e9540c8be44e38712f191fa20aa95a1d27e68c9548a3c6d40be1de071d179f6bb466c281d98f273a32e2179007afa33e9e8d76230dcd8ca001b0438d4b0b3d368d925a3b51f7680868b4c33838094d38a06d2245a92b71068067381d2c366182a0ea2ae73beaf53e336010e23aac6f4c68a5c0f490f13d8c665ab3a052f874754dc87ac7342c510da0f743169db2c90288a6265338bcb297ee87e28df18050436a3bda55ffb002d6606fca0cba3e25d3aaed03a5f3abc809071d776f9ce17b69ceb99673bdd4a682052b077f7a30d99ed117428c583fe7997c8d92410b7215ae564412dd97ef26502496303fe4217d2a910b4a15b9df4cd806ab29e80858f1bf9f3f8fbb0198d0ea2ab7f9ade3eaf4f52946fb069663c7f5de9c06a2994e640f6050d7d3177f789f493c52d5a4ef062232f69740c968be3c273a0bc3c90cc83a56cb85a259d1557fb192626ffd147165e7678fb7b3283dc4b2652b75dd0e4898db8277980eb0fe62f33e7722f4b48c7175b9f05c76b0be673a14b1949a8154c0bb2a7fadf77ad8a5887412d37819098f394eb4a98b055160a27f1b6cf711cf932f479cc61dd7aea92ec05e6d31e49815517740ad617ab996d1c7ee055a3f7a6e150b7a54bdae0d595cb6c8c5810ed88ab7185bc54d2359d870862789a61bfb43992f38b1e644949a47b0d570fe97a8d85502c6cd3a0470c5c3bbdfa5c12e558d15111e808d7f6d9f0eb44caf397bd9ae7f90b7f27778af3a7b05f3de992e81fb498b089be3fef64616daa7b56f78748660597d2447a0e2cefda55362eca5b163088cc91011f5f5d54874111d0abf916a2a6981775e3f1a0575e3429279525d5bb9f4f27406ec9a6dded207361f372c6f7e6718bf3cd4840a43d245943a932041d8373bcaec9eebf14951a4b9443dbff34d314d8c7a841ada56cc025edfb54f9622938905a0f30eba1565b7547545497001518d46f28ede2e1067dd8ba4936638ff7b5f7c9757b9ecf7e2a929b1c98be213d6ff0a45fb3a73b40f571bbef583265231df90f29f31facfb49dc43b701d84e9bf83706d99db83212a3ec6f04edb13133058c57d3cdad0358ec89ae3e701ff7a18b7122b558975bd8524e890b4e4a767150475c61dfbb56683846d0e73cc52138b1860daca9772d4a91cb3278427caca733614136ef106642de538846ad0436e52a282f05ecefc81715c1975fb7e30a9ba2583102f2944bc6f91257c6d4886a1b5fa88d8cde27809e475a18583478cbf563b2f3fb473ce4696a8e98440b653386f770433abda122b54156dc60d7815bed2d3a75dd004cc6cb93cff73501a37feb24b3d2ddeb8c02040db9462bedd25f379ea9bf6f1f0d26c8889d2403004dbf1f0d8d62d56bef300a97644aa0689460d9383f7851ea1c3e8c7e3cf35c784bc7407da6b964400d479eb2094d50b044ccc8586a0481b430a44809770ab88642d8b54ddba3f36d3ac97249422d95e55160bf56c75c139afe52c854ba5f7693e9bbfc3db529820f66b3c8d0c2a890ab666824b3cffa46f64df23a9191a4bd05d7dcd904070188333b4c244d3a666d9f7e5558dd32f015efddcb1cd2096954ea9fdc161ac9cfbbf6aa54ab04d2b54fd699112a950dd87ce14f853b09ae519f909a7e53d7a83cf218271749af9948f36a3bedf018089fa298122863c721f2c5777a27f404a32e678d579b0af4bb652d0acd42bf1265229c74b96922776fbcc8f2d5c8c0b3926707bfb34a4b21cc3656071dc132cbac57418470745a562ba816af9d7775a20fe7b9ff9f790eb25c285855da650fe0d7b5ea4fe1639314095d91f7c059e59cb792f27495371220b3c0311c163a8ebd07411f823cb8e414d45eb654169ec0a00b270fbac64f483a1099a7a8f91cd9f53cdf1ca1ac61fd952489ba68f9f2505bcaa9980f2850961700a6926e470ad2556beadf35468438adeb68d68d872fe0c9ffe858bd3ba62d5b6b14a7af61013c6d672baf775d128ce1d5c9e20507c1d2a0a2ba81f41e8a16f63c26941c4d31b1c518ef1c128e69e59d27dff5f791210818471e8c8250293e356e71aab87215ca4c35a6210bd92e842d5c8249a564d89267aff200b40547b08c8fc7e131bedb3c83a78dae44942cb4c9ca1031bb3aa4c8a31ed704e2b735c5a1328c7fa80b8aa4b017ece7f6c66b0ccea9812a0bc5b599c3b3b5916641e5615c6a353b7456f7f89f5c26a1ff9b6dcfbf44c6c08edb25381c1fecbcfec24740585f84c75ab4efc6f0285d112bf952bd753d6d01f370498a70bea12f29e94b23f6e28539ff35b25aca605c5dc8a3605a1d21b92ce5370c58adf96f4819fec8cd7acb815e37ee4686a8160383570ff40ae7bad1b8915b5d4ef186f92b062b15e35f9a7665486d2c85a2aaf9a0cff6592ba8aae92c6be91645b8d69112475ea2b72ff3956f645cf9fe4b186cfe6a5d6cfb479eb36c4a849820941be1accb50842366d29c58d2c68f7d90401cd3404940515ede2f588bb012a2d4b0a9a5d55bedcc4e12bd7a7d993abcd142b16f170b2b0ce793f803e9cfff8f57ee8f6a4f91c16fc833d68bf74e84d7fef6503a4adf746cd1093328114d27ab8b0653d65549e69f8be59addee400df0e46351613d631c9d7c00762454c23a81c6d7e25cb0950805199d85b2ec68802a623698e1008d8c5f2d54747cfa592b4f125d52c0f30fc5811ddd52d5331fc5b96fff18f184d2e2dda1d971d564d6bef681df25ce4996583e1b71528aa1ae35528bd0a39ad77828bb17d954ef5f4acd88504c32f8d9209c703c5f4d577376bb7bb193b5d668db9740a288da12f6943db3fe33611a3a007ab8666c4652cd5bc0f597cfcb68f9dded660920c4a160a49930105ac210f1da50469d85723ba5cd71e7cbb3ccbc344f417af41e08b51b9ea15303efcf33cf4049606b694ea085ff9a4bb50e0f8b436e25eebc4a7d7bf0cfd0ec77e0f7044f928ff0fca8fa74e6ec79ab5318b4a86a81feb059ac2756188318b11fbb7834286338bdcff8701e2fdf66faa9b3bfd9131ba1d6aeaac79178a1f243ee17c80f32f5fee8c9629ff8c3e251ba9b38ff526c60cf74d5d4add1b06857d1c94cac07b3cc134b2d2690cc9a449dbf1edef041c79c53cd6b787355fafb38b6012cffcd84129c2f9d9d13441501a597e8aca9fbac498ab991f57c228e7fcf696510ebcfd521a9121c23e712013d1ae5da01b6b81a3e1b52633814d7be2a9ab27c80fad1841fc13d008f960d1e8d3a4bdb0a0b92075b0608f186b1de24cc032abe6cd6141ad6f6617e997d7d02059cec6b60ee29812c4b910f2ec589351e203e57a6aacaebc7918cc158a35042803d713c84c4474d8ff3eedf2bf17635099f5e5bfcce8a04584e4cc31716a4ef434fe9f3d12a9f4f53701051c80c69de2f6ebed9391dff7ad47b6a0a8536bed00d79e13a3e4212dea762dff1fc9ab135eb9ddcb0ff0f54ac42f05b6a60a29c21ce693c452abde97ad0698f4b935af59ed4d66486f12ba0e6cfa16d6af13b5fbe7b159aecaa0df05b1071c974120a1dad4040b7e53b7d9cfb61caa896e4cabf4254293f588e1260a2b7ff5aeb9df94be8c0239cb4ffdff05e726c36d3c5c2b685e38d1683102bc249bccad916556ee557ec058a880df2d4b2a3cb32583ede2554d037c4ce74333effb22798fa58ac74013fb99b1fdc8b183a0be4a1fd458182d4f603b7fe130fa4a8c93daabd860a0404ebb05dcc0ea5c611add681644167a733a6f15b1218b8f2c945c3425adbdc224390a653d9b304e9df88b3eb7990788269786b13bcd8c4616d90b337a48801278eb0e9e1d2314291a56ea85f78ec71719daf96e0e5659779d69af359f791b6cb2f4a7f88f7cd6ee64ca39e3987bbb17ad4f5cf802846da3ebc88a640183282b3f1a0cef3b2a4b930f649f93b2c140ade0fff0aebe0e49dda0dcad6908d34c68b279a35f27c0485d63cb6032c818c6a9380867f427bb541a79ca23fd7bf471bbdb1be9", 0x1000, 0x6}, {&(0x7f0000001540)="5dc686629a973f6fd73fe3722099f1e3d5d6d27d4616ca52449ace5aa44085098c443ccd16abda12c2593acc694a546556e57ea022d3fbd7fb87038e8f493b46a063e2a439328813f279b57c790b", 0x4e, 0xfffffffffffffc01}, {&(0x7f00000015c0)="6c1bfb7e83cd3c9bfb741dbd858de27e08d11b4b7ec96161b19c30a4f29ad9099a6c2ca67a3a0390f2d748047d843b7cc222666a6789021a94d877b7a62a68b3cfde2eda3ff9bc224e7c6610e36a60e6f34735a225cae39ccc3eff184259faa33b498b93646451337f2a0d54ee162b16b92093204b787e85919eb37c6c540c99ddbcbdaf0393a1cfe1631013fc0f84990d68b1d29edf0a696454ecfdc71f96866fb0633a76628673e1faad8eaa6da38c7597638517338b056af407a704756c447a55939b4cf04f0e8e5e451f293a3c0de53922af81ae6c05ff3bfd1c61d438dd4c8ea937cc6e317b28c422dacc8b3233a963b9064ab3e408f431c938938eb0496c9afa95aac5350ec5a0f06f64b746c9b1b8023eb272c85f158a19a884c6a1de17bacee3fd016a1fabd07188bd1fea39441a4e5da0c4c7966b9eb0a8a5bdd2f7819fe251c7c8a3df82ab1c8e311a64d7c88000ba696b8e1956742a24d307a36a4b30e366f0c2c36fda84d806a169f08055771617da7b3e5d66fa728d6667013ab4d643a74966ce690b892d7a93862e0508ec121627a1fd500480dc2c7faf032c919de488c003aa444dfdd0a715756ff27e7135d1de622b11d8e27dd5b9ea87b07cb0c2ae1827982b991db54855e4755cf23963dc78ecccfd7896329187dbb4df6c0cf96a0ce57acc38c753c3c59add9fd17349fd5146395478a3b89495a7a61ccc8d9be8e0480141cf7b9464d0d2fe8888500d1b2f9ba90ae5971e36862e098a647f13a67f387c54a3515830545fd863385286382d5266c1042a71935cb8f7e5c148a8dda6dc0b67fa4e42e9db2dd1c470371c5b5c99da1e4c042d7e86f74fd1f2c4ff8387a6078a8e7432afb1b686ac3b677c612f5124750b0a28caa17a728bed821d9152dd0b3135aefff011a2e3c45c1b41ab304b8063418340d3a4fc39fee437c65110e4c44bcd6b91c096df95f673c63f0953a49f76834c1612000f18aa3c0a0599352f95aa3be5366cece40040d10fd00e2797ac2ac94c99229c627e5218afe9676f1abcae6088a92ea10c75c1471edf974a174fde2024c41be25b214c5035adbf5fd8ba1a4f2531630139341bb43012b31c6c4d6c36d62398d93d1779dd1beb5a0b7fa937692ab74771c23befc4862f9555eb3d7b8fa16dba058c3d24f1e18a53a75fcd8f8527043d1e8eeca0497a4ef3908be5ff99c487d5778b763e5f6bccc62191a7a0bf3d739235cdc1008af502b2f64f061c15a81cb67653949e660a4b7a639a71d0467c93e5ea8bb4b6a53bdfbe55197477cfe557a4ade49964633e6c0874d42b030f5e1171ee09d4027fe4f130bd9ffe1bbff79064c83a4ae127562d2fcc161379fa5b53b77bf1906e215321df15748cfba4ae729dd3ed1eb51715b71974f601b7b3f7c72da8cb68863e2bc510096d6bc12e3db528dda438075e2ca7a09bf55b9cdcf0cbd990514e9fbe85068b218ae992fdccfbeb4d88eab0cc76de2bdab497e689ec1f787d4e9909b341f76447d87c21cd9bbc3e2325a2a8fbbdf13b7acfb87542e3643355e22c0f983bdedb9ae0b346323ebb9ae5c5abb82de5632f3b92cdb47b2d2857a87613fe8e6d86fc62ca9c8d37dd73fac03f5725809d9c82ea72a4aa6e6dd870164fb7ccf0ed4379ccca5c76fab70fef9de27175ff4e18869b61806fc511ce32d17fa8099b809ac9a14ff377073cdc97693ddac7c67f6879d7c4298c8ff1a7411a4ee78649a4b75d81f18b1e832226f432ee7d7df03fe474bd21a5c2aaa39e843fb7b27ad158c0e765f559433af4cb6c29e2ca4cbe057dd6f5cdb8382dbffd4b07739babce9d35fa443a6bdee9f203cce9a8fc8aa9c31f3cbbb73425783439e7cf4ec9bbc09c8506c386df6133220ebbdbfba1b2b89ca9677f0386ddaa76ca5d4b98e7e9c7db553c53c9aed89a07fe478f762f7c4446fb3eb454fb036b64a1bcd319e15fe940987f9c89fe038b9ec60194bfeff11a7ac7917b0b0105b7ef25e5bcfc2e1babaf33f16d28ee344bdb28ddfd5474a9ae7a40ead89a59e29dfef52e7e8a82bbf04e41a91281611a334ce746be48bd08746847bb5b49efb2b47bce12642a3e64bcc9315fc9dee13e34aca81d95afec4d91941e1bf7f3c1d19a16081180e6a522b8d0fe3a8d329874a702474c68d81c15b93e6034bb90f868a14b66b975fee44931af353a75f3e97830bd23c5865255c302fbcd021058b3663a3ca97fbd79171edecba334b048b2d9d3ebd10dd5ee03e0d077b6f9fcc43e9258fb50b7864382dfdd7eadb2d4eac5b41a5f9ea802849f46156e7cf131af658ac966e18e99dd16ed014bd21cc89ee7f9d0674fef44becaadd6c86b7233337088f0aa16444f2ec9a23311df0e6af82dcea0732d480a5ea52ad99ceaadc0269e3117b00e7dc029630ce48c56dbcb8ce08c205898daf42a43b0a0537e7c3cdf35dc475ba490bcd2474c75fa64a985f8d6279028768f52bc4fbe02584b1cd16d884fab0c1cbf6c4c7cdd3ad40eebe55369bb89aa06a6f3f15ba471d156999b0ea15d86763519cb11e2b89654070283ae0800a57ee3cff750c5aac99a280dff9e7f786ad7ff3e146dd89e67ba584ff39c7637896131dc6d3af6075ec23f6155560a5d7d727011c48769d438915f1cee5507798724677a99509040e55b55a2808d23f27418aba61b9d306ee34b68c02b9d8d4e7ccc32ca379668bfb020888dd3fdc35f2d094f1f3d0d798a4a5cce2ef91295a4aafe66f13ff1e0813fdc785e12f0d5d8446ad179e1f1486d062fd93e766efe383915f89ef4efa5a853dfca0a2fc68f4cf0c2156cf3d5892cf038d21a063be3c17a0e5c3950abc361c63d8cdfb587fd8e16b50d328c81d8fb6d3649b944c0a2d42bd4ea1913e1f62a577bbee6853f3507b97ed9853075ad4bf3b27b681afc28d4aa6ebcf36289195720dd10624c7261bd7c739048fa35b58174faf9f1ebe0dcb42512f494ed00bb693386d54f42b56e114e9172b1c2125dafd75cfccd93edcab25fc4bed8eae09d221299c51bade7bea9c5eddddc787d9ac1f01a96ca956a0553b098dd32f871613269b14e7918de03c88b264bf0444eb4468b545439d686d7974bff17250d40ee4a020155caf237a5ed9ffbb6ed35c2d0be00ec8f4d49d7a5f038e212d3fd81385edb82200aeddcf9c89f1aa3917b0adda6f425fc93a816c05fb340b1592abe8360f45bab054e76c3d36c9152ac67194ef773a64cf6d8e3559e0144fd189132abb29858e30adfe3f2b9843a51ab4376eddbb6ad568a7365cb565f5259cdaf73264d9e712fb84850d9702f4eff78c6a9d58f528586965a2299f1e6f203e30449f4b8dabf16cb5f732f88c142d261e169ddf53e4171bba3ac70f7bb543765a31db6ce812ef698db344b512895de8aeacc9833771a9c49cab5e76327a8bcd52d3d28645b1928956815e26f2bafd6f1a0d010c9ecc10142158f158c29bc02b82b3b551209cab5aa8fe0e35409bb11dbad771527db611d4420fab12c1106754f3ec502b519558f10da6dca1908e3892e712def1baa44434ca77b2a7595d1e5db27e4ca8dc77cb2d0906c76ed690360ef67a448cdbcc28aa418e31a6ed1d283929d489b8dd3ec055ee7adbb9a09d2bddf0ada9fb1e271965a78de1c2bce7cd8469be81f40bb81b8865102b1bb1974bf4da2399f1686718c35f32b12537f8c874f24890b9ccdde653c1d58b0b0a6f3258f64dd4561ee23785b8b01475a5cab5be542d8933570fd28f6fad9b32a7694d968db5069aa81fd9711950409f6c0e58940130424b911877ce8bc2b7364d7b8f1b60be2bf9c5e540a137545c908821f44c3f25b3a434fc21043f783a0641e9c6ec5ca88eb2d6f069748985a934319c794fbbc4b9927c0a17ccb2cdea3761aefe3edcdd987f3d0af20247adfc17bb1e61581a0d25f58cdf9bd5c2aaa43b69ce0c12929dc2b55e21cb589566803c1ed80296d2f56ee4bcf128d7ddcbed1b96988bfb8556e079b7a63394e368c9df37c1ca5ba6142397b34027b833671a6bb46720e5450788f1365b714619c116265fccbcee90b259994723277daacb6fe7ee5d139ef6973807e4319d53d1f72f7b2f4a40cb7c1108fddbad12d583e7ebbcc95ae579f5c30b34ae3c7879b5bc530137dd06189db019e081bb0b5df616e743945bf5d4feae993763e981ed70b561d5956da9bf500ff9a995b75206a87a5ce8a4a5481262cd0507885c07db4ef687b5cb8560211e281576c5c659e737de4abbbd8f7527ec8557f11415dea47801442ca1fd7c4102bf53de20cf845893a5d4fec2a87d8b552b09b4c19ce3bd3eb40376d729f99ec657fef352097c644693abc0d7dfe5cd6e4457dc9aced57ad788deae3c0ded7fe7e582421f1097414bc01a6a6d7054b17e8505ee3bf774f23ff61e73c8c2b4e36391b06568f1888a5cd13ffcb695cba368d54f35656fcd68fbdc724d0516864d6380400546b4878bdeadb0c0185b184169161c1714f502ba6365aa98a496df4f2877b706ecc9b4dd89e0d8149873c1d04c27b182579a7e6a80a74c2f3c5cd0f82d9f6866155a4d43b30bc06c34d7b6affd3456188bdd4d1ab6ccf002b36a63ac3fec005c175aeb7778ea392f2f092bedd624c2bd869f376347786da6ca061386682ec0e9099be45a672f4781a82108ed0f3ea919c37170cbbce0465d10c6f4bca108cf4eb0e2a1233568ca45509e064647550ad5f3bb8df5e9ffc7ed5d511fa18217e6d3d6a29b8838c1b0305d3a3cca4d7054bf5d1112eeef37d7c578ced87ebe948a92bdd7dd379cd4317841c4e5577126470e87345a2df0ed1d5ec4c92caea8c7c9fc269e37ab24d8f808d581121b9453fa07bb8a496af4988cf891d2b6ce558cadcf574cad46218dd15effc57c1456a178fd626e1fdeae900727d145626292a5b0f8a57f082925e08f3a8c5febc78f65974c97a2be1f4ad286efa6859322c0f62231b5aea2d1029279b95d98d4597f4b20be888fd49123cbeb60fc2521b99df005447881ed2d8a3ecbf1f2bfeb1235016624d28b79651fd8f4dcff51e068ecf8d84ed11578193609d8eaf268d96789a61057aac8cdf029bd2e85dac0bf247e6ccbc09c4da2b5d424ab857cd278fc36ea090ae9b55703998cee622dc98b4f79914e857ee169b684b4369a7df64a3d99c8594c3fa1850bfba05b08a23b63bbaf70299907f3a8a0b19cade52eba868af2f09454cafc091f23f3872416c2f0f9f116a6192842cb853b1f02ea78f68425435b7ae9b6dc3edd4c30019a21b4a8dfa60716e1eefae87cbfde9ccdcd9cf8db37e1db266872d80405982d844102ad5f57cf7aedf12f3e8ccd0ba29f3abec6fc48dd1d4726c8591636ad3b1e403ce80cc136521d784d6d5e720bd083e4ce056dd15f725ceef6fc6dc4c65df85ec3b818a19d677b7f1fdf2c70d03539a4b5f1dd9d4301641c2e303ee6261c8c55561519538a0227b2863036da52dc4d8f06ae9549312a526fc3b0ea3e31db759b9068d11af7c30296de0fce32d11e969336a68a7e22bb01f6ffad1696cb11475172b2fb4669070a3ee0c4ba74b5f5bb96b881bb10aa461d5485f99290898a0b363e5c18a2d9c47b07668441d0e433d46e438d4e6a45d5f32a3b21aacd02e48ba9416542b9ddfe38b19403dbb17db8436f170c2a05fd159e164918d959cd2d5186ea4b91a2f1de01b4a02e0cecfda10315532e31b351d726684a9a232549f44461f18d1c88f69c7483d41e8a94180c2ae3bc414ebe3a23c47b881c0bfe8933b1c95720a803924827d", 0x1000, 0x20}]) (async) syz_read_part_table(0xba0, 0x6, &(0x7f0000000480)=[{&(0x7f00000000c0)="37378f6194c15f8d5819ec61024da974e4f95293e6f9f3ae4c0f681bc4d40c2b65dd3b99e55ef975f6fe5c0da74c347373bc69a6aeb7a711b5c77e14af8b9b8a92da3851d9e970b08ab2b950619e2183c74f777c5a2adcf4fa30215c039118d6e85dcec3c3269f3adef9a04cd463812c97a2a361bd25ca0fdc326becdb601e4d79d88a7c3f30eda881de0770a5d298a45bf6f9f370ccb1d0843d082c028d60346ed0a78d97390442fefd7ee49bdb18afb3c7de04b99f0e8e4bd4f657b167d663b1e2975737491d927318e2572afc83cb9674a3aafa0fd344dc98fe58b7ba3afd77809a71023104b96dbdfd44", 0xec, 0x81}, {&(0x7f0000000380)="0584dad1d1287b7e9660fd7a8ae4951e5c5ea01667af2bdc8ba5d11a536a0bff04000000a62c260f9b39d4eab7a9884a0030b2783d00218ec6e2fa70d3670baa681a0c824e59000000b7000000000000007bb7489d0bab60176e29291d46f443b49ecabc57d3cc3ffcc7152b3ea513dff194cfc0b69c5442dc6938e7337f333bb5153e0cad71aeb2631322eda161bd17a0f92b1aa874680458355d03ce2b38b417a6ac5be7b9ba01caceeed65e9984464021f90363448800b5354b7652e5c952a8ade9cc816a3ddbea038d0ae763ca1e7549e72c872e91154ebb691e46b53325bd84d5af564f4fd4fea7c256a57e08d40cf35c87", 0xf4, 0x5}, {&(0x7f0000000240)="e5745a8bd067f017236cefeece503df8f1e58240bd58f95118a49ed69a96a59397dcd9d1b4d78bce745ebffe23ce5a125b1fbd79b13367d5dc9be9183152e4021c586d44570e096c161b14d98bb097d0e0a6d9de4a4c0713673296", 0x5b, 0xfffffffffffff801}, {&(0x7f0000000040)="45a526", 0x3, 0x7fffffffffffffff}, {&(0x7f00000002c0)="0a9a38db59044d8069017629e5ca687cbe6120d0617aa6d25da156d603d94a46f8cf8db3fdd538e9f56eaa366f74b599b309b1896834c1de4489a52ae4cf5b85a8f9486dc3511d178874a440b68567e5a4bffc572ab2b4925b79a8b083c33796aa033b3006da697d9ccf6d6e1a7c655969946a2c11c51ad10f8605365c79a9152a0b67ec519674b697527721f9212e08db973858dc7e332fd64407c88b96a207d2ab911b31fcb176b1c508", 0xab}, {&(0x7f0000002640)="7b922a539af84547438892f244c6f0ae3eb55a7aa0c242bceac7e955bd5a3176a646ce9379e257e21f7ded50b1964502709ea7eb477ca8e7f3dcc6a6c792db1235f2646d3556c6a631f05c2cc652867665bce25b4968c708ccc5faf2b2058c529555d8a23d59a8be2d444533cd15c02b87c93739aa4ca1aa947ade805e472d7d2d090c3ade916ea2e9ba79acb363710116ce21d95916ff6ec5204287240e80ab73345bc127727cf02ca6d3489b9767ec3d4855a293ae62fb3cc279670000040431f9737ae0de8739fd37356619c177f08e3207fb603b03ada3c9156b0a1c2fcd0fe77a33bc07c55dcf017dc7ad25af74bcdb74c1ef6edbf2a92f2abe4be205e7a1dcecf5651ade99306efa8cb44d493e1a66ef3ad5281f38f0f0b132a2dda46a00f8c1c766a8ed2c2ab9a2f9627dac0000a75f7b24c1c1d653e923756990dcdbf42006421b7c6165d2f585be4baee6afd38e420e422939512ffc96aff6933dfc53228246d3af616d077f3e05340c2b64aca95b23ddf9c9bf755c51", 0x17b, 0x57eb}]) (async) 00:33:40 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xd6020000}], 0x492492492492805, 0x0) 00:33:40 executing program 1: timer_create(0x0, &(0x7f00000000c0)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000080)) timer_settime(0x0, 0x0, &(0x7f0000000100)={{0x0, 0x989680}, {0x0, 0x989680}}, 0x0) timer_create(0x0, &(0x7f0000000000)={0x0, 0x14, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000200)=0x0) timer_settime(r0, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) pipe2(&(0x7f0000001440)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) r2 = socket$nl_netfilter(0x10, 0x3, 0xc) splice(r2, 0x0, r1, 0x0, 0x6, 0x0) sendmsg$NFQNL_MSG_VERDICT(r2, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="1400000078e04b4daf388e722d51367f795e49f4c1"], 0x14}}, 0x0) 00:33:40 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xde010000}], 0x492492492492805, 0x0) 00:33:40 executing program 4: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000440)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x3a, &(0x7f0000000240)=0x2) sched_setscheduler(0x0, 0x0, &(0x7f0000000400)=0x5) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@file={0x1, './file0\x00'}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) getgid() r3 = timerfd_create(0x4, 0x0) recvfrom(0xffffffffffffffff, &(0x7f0000000380)=""/96, 0x60, 0x40000000, &(0x7f0000000480)=@x25, 0x80) r4 = socket$nl_route(0x10, 0x3, 0x0) bind$inet(0xffffffffffffffff, &(0x7f0000000340)={0x2, 0x4e24, @local}, 0x10) openat$tun(0xffffffffffffff9c, &(0x7f00000032c0), 0x500, 0x0) sendmmsg$unix(r1, &(0x7f00000036c0)=[{{&(0x7f00000002c0)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000001680)=[{0x0}, {&(0x7f0000001440)="9a056d0e3c3ed8d7ac3e770f11aaa82eeae8491200f1f6f70f7133891992d51967097a31af76a19a7ea8c0bbd516ce0475bb95df9f809c0c3315ba1af469731204d95c6d210f99e71976a1ca6f4096433acded69102a7fa6792af82e4ee57f578632d3", 0x63}, {&(0x7f0000000040)="4323b275b5549e8f85ab0d8dd72227a06d149bba1b5816a1cbbf5458ac607554a07d01d5c41aefb71bca59d9ac1ff0267b7385d2a2e11221", 0x38}, {&(0x7f00000017c0)="2130e151c57ade3e", 0x8}, {&(0x7f0000001540)="35c588d39688a1fc68e0dcd777c9a28fe46cb11f323a3338dad7fbe9150a1a", 0x1f}, {&(0x7f0000001580)="41c134f9e4a66cab363a40748f0c385cb66e937174f1981f80bbbd07739db9f67d55dc585c1c3faae7431f128c7b5a0b9b0e28bdd8a15903b1eb26ef40ff537df33771a33c540885e61bfeb7247ce5a588552aab5d2a7c7e30637f54d5376a819195442b3c8825f67493ff5785f147cb669eea451fee3e3cd29ad48a04a349e677cabdd20f3b22cfcb8a8eeee2864ebd416d1742764b0835740618a4891173415d1db50447d3eb7e497ecd89e0d8b6100ca4e8834a2401f3ae1ee1db82b2170568e96527940b96f39eb16fc7b9625782a350f0a9c0", 0xd5}], 0x6, &(0x7f0000000800)=ANY=[@ANYBLOB="00000003004ea2fdb3fa9349568d93bd", @ANYRES32=r3, @ANYRES32=0xee01, @ANYBLOB="080000000000000000000800000002004000000098ca976ded2ec3c94b3eb6bef9cc20e9b37341d21d246b44dbcb518bd81d279802843e106b937c46783845ad6fc3cd1ce13dc5d97ee37b25ee5fb0067df30034fdc2aec00242cbb9b0107533e26d60375199a6e99e513d1e1c4000b500329a", @ANYRES32, @ANYRES16, @ANYRES32=r2, @ANYRES32=0x0, @ANYBLOB="000000003200f74e02e025a7b463225500e18700000a4a6c8c5fe77600008bd1a93bdcf47a30ffc2331c731468843d83f5ccb463d33055f000828c576633dadcd4c24dbae548cad6320c0b20086f4924bfe65fcb14d72afabae7121778154b2fedf6a31e8b007d88fead847e80fa45cf0a3398cb789a47a766395f355dce39fa19f3775b2e70d7a63983f4ec7cb1f80929646fa259e34869b0aef5e9640fa599a65d3fbe2a83a97fb2aef39bced41de5ca525e1d81c86756d18037ef7a702bc8000000", @ANYRES32=r0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="0000000014000000000000000100000001000000", @ANYRES32, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32=r0, @ANYRES32, @ANYRES32, @ANYBLOB='\x00\x00\x00\x00'], 0xb0, 0x8090}}, {{&(0x7f0000000780)=@abs={0x0, 0x0, 0x4e24}, 0x6e, &(0x7f0000001800)=[{&(0x7f0000001a40)="ed5667222b51d314fac30474b3bf7ba399042d23dcdbbbc62c15f04e3e", 0x1d}, {&(0x7f0000001a80)="2d678654476fd82bce2c28db800ae23f38ec727860c03f209501a1d0a9acb6ec51595f6feec0b6146ecfd5d148db9a6df57ca0881d12d9d6187ebbcbff039c8b4f1dcc4900186a8304cf634975c47ab272ea4b4cfc8e7df5c63e30a1c0e985115c39814d53ec07bdf8d86436c2fe1b9e633ebb5a2c68f50abd2db93ee2797a916186f450665416aa7cf32d1c281ba9afc5a0d4a8ecd9e898dc797da358318a1e87272489ad0c6850cc0b7618452b90ebb0e8738bcb7a3e3f79f568721770c08d96f22e79bfedaa87a7936c0a0393f59b6e", 0xd1}, {&(0x7f0000001b80)="a93eb7d296b44a480be88e8ebe950727cf94ee", 0x13}, {&(0x7f0000001bc0)="f71cccc725c04fa3703b9c89f6faa6674258ed6677509b66a691aa8cb58cb11159852289796edd99218a205f070d5c22b213f47c3276b1d4eab5d48180", 0x3d}, {&(0x7f0000001c00)="6b94e12b3b15870d126d628ed16ae93b4856dd75764ad3818b2e6ff7e409b3a5c871be074ed99b3e757f854a0f0fb568e43ad8d3a777e5fad90ca849666d4ce4c4d067879f90466bd06d5f0476fb7fa97adb77b29c3ede52c5d73c512d86a51f903fcb9345559f94f07b33899db0e7582e14129134f845ce55bb897c8e8d288331b7f0e3f0b71d796e451d2d24b22607dcc01445ea6cb82f44eb86db584551a6dbb0aa9780444bd1", 0xa8}, {&(0x7f0000001cc0)="b5eb207ccb5cec2456399826758199b49657d110e848bb3eab4e42aa5ed5f2685e01ed85daf44e86453cd8f7c2a3c65a3961ddfe11bdcf842cf359fa6a0054d716e343d1fe2accf4039f965c0b1da1d6eda77a1a0ed714a6a4336ba54e4f778c867ee44520d3d23bfe18927da93963417688956e5def07d1810f7b78f75d66e93523faf902e4033b8f34b660f085e558b0183b3791e9ee1d180b93ea5e5b994bc9de680e1d8d708653d8f9f0b55a9024737246d151f15675e4a719de6670d7b01269ac42711f93dc56e26321e99408e5b78e6d1331cdf38ec4041e4392cae4397e42cdbdc9431b3c014029396acc5a4dda26fd175ccadadbb2a82927125cade1909886ff9089542b3bf806389c382f4ae332de4e98f47796d31bd96dce615b814d72d04eb44179465d337567340be15bb92b0d639e201fdf71f6244b838d1e0499b3574671282d8f12c3e5887329edfe5fbd76afdb02bec19072d8b370b55c58a9835cc56319bfa23562c973cc1de3669e52b6223c3c9f9961be6736ede5d5ed38702ffcb1b6dd6e49d2aae21e8908f39fc1d50b5287068cb5fd114f817ba5455fbe755eeaa5dd6b4f8ebc68d514301bcc615a107ab26e9cc26960060223bc1ff6dd5c8219a7cfcbec2f7b9b6994dfcf941b1c520ae2dd9b2b307da197681a52f5c644d6f76ba6c6363ce9181c9f732d9feb8fb1829aaaa3dc92869509d82b5ec3d6a5a69237418c78f0867cede998fe0e173da58fd054e87190989b28186bb9e8931a377dac0609cacc61a7c38aebd810db9b54806b315d361451eed579290f7f6b5114405e3465caddae54906e13f95ddf04fe2221d2c40f560fb763a862a3e98039410bc72714fb28984e35096af2af7a93450d1e586bf0770c2848bf8642678bd790178bc2e4d639b629dab4400e4f166e40b9803b0961a3cd14e272611ed7e392d4361f7c0a2c4b5a1d6d235193ecdad88335fe4b819ebb340ab74da0b699b0a67ae34cee6db455e60a3f666433a78b4cba71217851db67a872f8d07e14f38e151e360d1e6ccfe1906e277dc0cb6b31fdd6bfe688bed2c9274873b6eb3c0b07faac3ff321fe7cd5823cef9afd9ed10aa8f698e8ac263492cfedecc59aab67ba59aec523adabcad5b2812f31fd234855a74b04703bca0ee810f372a7c46a1add9865989ca8339d5f4dbcba30c604357c83addf1a3ae60ef305c1b03d4fa491e4df9587764d0ebd168facef92f245d5c8ced236835efb2fd59667b0918bb86580c847868765b59f66de41342a1a3f6d75ef75b0366b33dbfa8439b7f8b9dac1a65cdf69e60f4dcd462b403dcf71c0db4d926ed6f4e00c7c05ffcad2c97cfa17499f3b9df5a081e4682e01289bb33e084fd3e3b683e64f2c1c8bd4f015539da3d787fd704e8fc2238549c6fb00c41ed6c89a68a63d9ad36ae13011e9cdc21f89e08fe77b9c51d84d8e32fc5ca3d1b79d6618755fae8fe367dcdc855fabb9f47c2d8cc19d67b49856af2d3981cc942ec7840c6491a2bed8db48774ae94a84f2e98d2b9eb6aa377107f8012d93e5d46356aa8f1bff423f84c524f45794e68f8adadb2315e420a6b3d79570f2ab493b5ebbcf8a6f65db5ebf9f55b1b8c45b4cdbd8f0ff4b7e3c8d28c7907d59f29b699b9300d549b2b8e49bcaf055b4ba5d3a9aabbe8a2fd4e59c35118a4e15a8cbf116b9c6a57e013cab1fa4dcfd8fe89f735b40158f9e36fd09dc35155334d43cbb2b74ab8eac5af56191f8f19077c0aedd1bcae0e0ea6f7868bc89e24665883023a2b31218417eab58f066f1992b395d1f9b01699cd1872248c61fc5fe9d353a60affa6264c5e6c71ef0938199ea4afc5a6a6844e0fcc24d1b44384ee71cecc4df617fc8e7fee216b98ffffe22260affe087bddca34372af0f8eba6cb69ec8aa15f024e763eb853f69093b2e4075e37f21e06b5157ce0e2041bc594860e4f29284609482d2bbfd9147da45a7825cb745f4a319157e4f931387299452d7e1eac27e95307f3b04bcba079b11d784ef00b60684792c656de55aeb82fb17ac0fe481616f172f6c694a0ecbab29174bff52f76f83fa995b2cf54f4b69363388ed22dbe548230ee8c52294f838b1cb7c03c660f420ac3df21534bfab00f7d732c4a2dbee4b91ba569021dbac43b70d1bfe5e410ae5490ff282288ef925379131d7fbab1dfbe993d773c6682fc4cc1e90d066b13578f89a9d01ba86480358c282c185fe3b62ba3c28977fa89c4760c422d7313f61823907c6584d72d9dd1448c51e27ce1db75058444a810d827a6feb7e9f6b8aca9ed0b3cfdf88d618b6986d2b9c18b437bf4683c6b67d9e04a99836cdc08fac86018e21446f22b22a9d8a73e004294c74bb28267a0ff251eb62720b9cc12b6eb568225c1ef2aff32b0e93120417d4d4195c2e084765b025dfb1a7ef6f41f5730c3c4b3a44518af1c1a3409909f7488e552b538508c108530eeabfe7ec4d486eb6be38235a6602afbcc0c92e246e9f2ffc88218187a5ce185b75f04c8bec22dc769a0a1bea2a75be11becd0623c3c95058c4acee8ef4bed3ad9d0234211a776e065d1078310d71cf4464d91f53640d22ddaa238646f7f61b1841f4e83a436f631a06439a269710e765262aa729aa0855e2149551484504a5623fceae74ff7b466a1e20ed29cb6dc9d4a23f6d89b3dacc3ac4003478b5a7a6c6ab3731577599721f9f04277f880399e23cf78052b9846f0e05c9761f2786db41299bac99ea0309d43198cc69ecbe01e0a6ce28aa656b415ed94f8647a43218fd663dd487e896f6b585ad85d75685f1e139f908d362d37ad4a1bf1df542e2d1cc074bc3f6c13c3d316f40d1d49bd48f7da33c96c9d60fc703e73e74271620094bce984d1d2525a5b475b486ef6c00ba9b568d9d5c706e834b8dc97684343841693ad5190575bb38d3535d071a83440a3de3d18b2243f65cb72a6cf93e53a16a08f62f562319c4024289e7159c7bb7a11b101926addc1e5daeabc0992a4873bc2b1d3446a588ec123a2c2488d371d3fdcb9ad100856faa984153b2f860ef349c8ea0c0cf3ef0641044325e9e36333cf0a91f6ebaf3dd73d4d5d9dc2cbfff31a0e043011a5783f9e5f2470d90cf6d995fb8567260cbc0b921c1248adc16ebfa417c4f924cc815ef36df2f8c1e66cf7a4ace95d46871a09ccdb5fb08733c55f4899b7a6fc7c8630e597b63c2038c18f40c6e567a2bc71f0db1f95995bae1c6edc0f1efaed958f544c42f26435c66d6094c18dfe09c65f2fa3f02e37efbeb9f91e06b4345fcde52e37ac097c70dc70e26fae5aad4de104e03116327d866c923d752f4fccbbdd86bb2ad1aef4dc65f40035e2ad12554c5c349c18a630b6ebb6a9312170c5da513cfb894f8b8c6abc3a006847bf923570a6ed844d7e71ab27c9245809bcdcff21bfcddb0f652cce405d2bf780168bf13344b1241ba67b9a5962d4f54329e07a8fd62408dda197302c4cfe796c60aeb2ac55fd9dcf9879856d5d312fc9f8604e75f46072340e112b3a883b5cee3bcbd1b00a3e22afae06405d30d7641f606c72bde0a13bc6db92388fc3feed7c693fac1814cd21c5f45dae22a13f435360a031416cb29e1e39126ffa7a0c8cd66c018583ec336a39e7eac8b0198ee06b255b36884fce8afc4af69565271917319644b195eb2cdb81b7fb4bd4faae0f201306dcba04d8b3580a4f9ac019db255f631939593e732b594586474dd804a4f2cc21e437aea69fd363feafbdbbc242f68a4aab91581530422c12f4be0fce270bf501228ccc5a7ac9835ef3536c09c82646c58f135115894da634b0b38a73cc76f31bee32df94e55cba27d55204dce6b644bc4b5841bc0ee389bb29e4b378c12b4fa5190b3b17214081e0f6cc7a8d0de967087895609df4877f2da73a3dc20436ea48cfb0b64b3275c597e9a3910fe206064c0ba0851dee99549e6e2882ddfce1bc7ad51457b32c5646cd5a94fc473ac8ba96aced4d0eceb066d6e3ceaa2e1441cf80de16e2ef916d32b9d125b7be3bd9c86be250921ca9dabcc23a5ab47fb2cee882c147d6d0b481bde8241d543b64e487c5c35ebadff858f155fda73ee5da344a50aeb8ad8ac61dcd8b5cb4ae6cd622e0d5f833574296be1b53bd69a6d9c8f72aea1890cf9fb139be9cef75a06f7c81a942f2377d0d60bd3709bb8580e13917e302a315ce7be7284272aab4c3c066798948583a676bad9b9d71139c0b460e678c1f1d7843cb0b8a7ff46763f52bb070cd7515bff8bf649fb23d08cfe0c296cac6562a28634bad59b44d7df45635521ac2db8c0471ea66d8e15ff15c7886430be680dbd1d48dfb90209", 0xc00}], 0x6, 0x0, 0x0, 0x800}}, {{&(0x7f0000002d40)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f00000031c0)=[{&(0x7f0000002dc0)="bc1cd459163397f29dea4059b82b90019db6404cf441260edb4b", 0x1a}, {&(0x7f0000002e00)="861003333a8e740866ec19598407f008f3892826eec8fe9df274aa08bb8c39983033ca962ac8fe82d030e1663a9c529c3d15682de9d4647d21dfd4d75a6243b0ad5339388e46aca5af1bfdb8e80b5167e95ddbfef26e52207c106124a8bdbbe023a24843c15027f1ed265431fb0c5bd9951204ad5da4300aa33d4f3acdf20555283394aa7f457ace0daad2d239b339bf04fa6d0868ddc677850dd125237f3a6a8867770334d7ac44c52d5211c1ed20da9fcfd4080509d75df2b3ea2f3d59e0597fd0523a3bdad15685fc034e3464", 0xce}, {&(0x7f0000002f00)="0bc20d5a191b91e03442", 0xa}, {&(0x7f0000002f40)="27a40f4cf4df01df19e175a2d03c8aa07b8d247e2ac7d2c8e46d28049a82d402603432dd2cb70b716ce478d7c6c1bd0e22a316ef25425f20ef2675e6177dc0f4e7166bd6ed977ea142f1ec554cc8c1b449b4031f524e587a0b1c49ed673ad1f9ce295c51919a05469a35e4a9b0f0e59673fd3cb4e140ad41c1", 0x79}, {&(0x7f0000003000)}, {0x0}], 0x6, &(0x7f0000000500)=ANY=[@ANYBLOB='\x00'/16, @ANYRES32=r0, @ANYRES32, @ANYRES32=0xee01, @ANYRES8, @ANYRES32, @ANYRES32=r3, @ANYRES32=r4], 0x48, 0x80}}], 0x3, 0x4000094) r5 = openat(0xffffffffffffffff, &(0x7f0000000080)='./file0\x00', 0x101140, 0x0) sched_setscheduler(0x0, 0x1, &(0x7f0000000000)=0x1) truncate(&(0x7f00000000c0)='./file0\x00', 0x1) ioctl$FS_IOC_ENABLE_VERITY(r5, 0x40806685, &(0x7f0000000240)={0x1, 0x1, 0x1000, 0x1, &(0x7f0000000200)='N', 0x0, 0x0, 0x0}) 00:33:40 executing program 0: r0 = openat$sw_sync(0xffffffffffffff9c, &(0x7f000000a6c0), 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_PROTOVER(0xffffffffffffffff, 0xc0189372, &(0x7f0000000000)={{0x1, 0x1, 0x18, r0, {0xffff8001}}, './file0\x00'}) ioctl$SW_SYNC_IOC_CREATE_FENCE(r1, 0xc0285700, &(0x7f0000000080)={0x9, "35f5194582dc0e163c215e5a6005887f880e82f53ed650219aca539901a3a6ea"}) r2 = openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000040), 0x100, 0x0) read$FUSE(r2, &(0x7f0000000100)={0x2020}, 0x2020) 00:33:40 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xe0030000}], 0x492492492492805, 0x0) 00:33:40 executing program 2: r0 = socket$inet_tcp(0x2, 0x1, 0x0) bind$inet(r0, &(0x7f000099e000)={0x2, 0x4e20, @local}, 0x10) ioctl$int_in(r0, 0x5452, &(0x7f00000000c0)=0x20000007) (async) sendto$inet(r0, &(0x7f0000000140), 0xffffffffffffff58, 0x20008005, &(0x7f0000000100)={0x2, 0x4e20}, 0x10) (async) ioctl$sock_FIOSETOWN(r0, 0x8901, &(0x7f0000000080)=0xffffffffffffffff) fcntl$setsig(r0, 0xa, 0x18) (async) recvfrom(r0, &(0x7f0000000480)=""/110, 0xfffffe32, 0x0, 0x0, 0xffffffffffffff39) (async) socket(0x3, 0x80000, 0x910) 00:33:40 executing program 0: r0 = openat$sw_sync(0xffffffffffffff9c, &(0x7f000000a6c0), 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_PROTOVER(0xffffffffffffffff, 0xc0189372, &(0x7f0000000000)={{0x1, 0x1, 0x18, r0, {0xffff8001}}, './file0\x00'}) ioctl$SW_SYNC_IOC_CREATE_FENCE(r1, 0xc0285700, &(0x7f0000000080)={0x9, "35f5194582dc0e163c215e5a6005887f880e82f53ed650219aca539901a3a6ea"}) r2 = openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000040), 0x100, 0x0) read$FUSE(r2, &(0x7f0000000100)={0x2020}, 0x2020) openat$sw_sync(0xffffffffffffff9c, &(0x7f000000a6c0), 0x0, 0x0) (async) ioctl$AUTOFS_DEV_IOCTL_PROTOVER(0xffffffffffffffff, 0xc0189372, &(0x7f0000000000)={{0x1, 0x1, 0x18, r0, {0xffff8001}}, './file0\x00'}) (async) ioctl$SW_SYNC_IOC_CREATE_FENCE(r1, 0xc0285700, &(0x7f0000000080)={0x9, "35f5194582dc0e163c215e5a6005887f880e82f53ed650219aca539901a3a6ea"}) (async) openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000040), 0x100, 0x0) (async) read$FUSE(r2, &(0x7f0000000100)={0x2020}, 0x2020) (async) 00:33:40 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xe0ffffff}], 0x492492492492805, 0x0) 00:33:40 executing program 0: r0 = openat$sw_sync(0xffffffffffffff9c, &(0x7f000000a6c0), 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_PROTOVER(0xffffffffffffffff, 0xc0189372, &(0x7f0000000000)={{0x1, 0x1, 0x18, r0, {0xffff8001}}, './file0\x00'}) ioctl$SW_SYNC_IOC_CREATE_FENCE(r1, 0xc0285700, &(0x7f0000000080)={0x9, "35f5194582dc0e163c215e5a6005887f880e82f53ed650219aca539901a3a6ea"}) (async) r2 = openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000040), 0x100, 0x0) read$FUSE(r2, &(0x7f0000000100)={0x2020}, 0x2020) 00:33:40 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xe8030000}], 0x492492492492805, 0x0) 00:33:40 executing program 1: timer_create(0x0, &(0x7f00000000c0)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000080)) timer_settime(0x0, 0x0, &(0x7f0000000100)={{0x0, 0x989680}, {0x0, 0x989680}}, 0x0) timer_create(0x0, &(0x7f0000000000)={0x0, 0x14, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000200)=0x0) timer_settime(r0, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) pipe2(&(0x7f0000001440)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) r2 = socket$nl_netfilter(0x10, 0x3, 0xc) splice(r2, 0x0, r1, 0x0, 0x6, 0x0) sendmsg$NFQNL_MSG_VERDICT(r2, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="1400000078e04b4daf388e722d51367f795e49f4c1"], 0x14}}, 0x0) timer_create(0x0, &(0x7f00000000c0)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000080)) (async) timer_settime(0x0, 0x0, &(0x7f0000000100)={{0x0, 0x989680}, {0x0, 0x989680}}, 0x0) (async) timer_create(0x0, &(0x7f0000000000)={0x0, 0x14, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000200)) (async) timer_settime(r0, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) (async) pipe2(&(0x7f0000001440), 0x0) (async) socket$nl_netfilter(0x10, 0x3, 0xc) (async) splice(r2, 0x0, r1, 0x0, 0x6, 0x0) (async) sendmsg$NFQNL_MSG_VERDICT(r2, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="1400000078e04b4daf388e722d51367f795e49f4c1"], 0x14}}, 0x0) (async) 00:33:40 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xefffffff}], 0x492492492492805, 0x0) 00:33:40 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xf0ffffff}], 0x492492492492805, 0x0) 00:33:40 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xf6030000}], 0x492492492492805, 0x0) 00:33:41 executing program 4: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) (async) sched_setscheduler(0x0, 0x2, &(0x7f0000000440)=0x7) r0 = getpid() (async) sched_setaffinity(0x0, 0x3a, &(0x7f0000000240)=0x2) (async) sched_setscheduler(0x0, 0x0, &(0x7f0000000400)=0x5) (async) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@file={0x1, './file0\x00'}, 0x6e) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) getgid() r3 = timerfd_create(0x4, 0x0) (async) recvfrom(0xffffffffffffffff, &(0x7f0000000380)=""/96, 0x60, 0x40000000, &(0x7f0000000480)=@x25, 0x80) (async) r4 = socket$nl_route(0x10, 0x3, 0x0) (async) bind$inet(0xffffffffffffffff, &(0x7f0000000340)={0x2, 0x4e24, @local}, 0x10) openat$tun(0xffffffffffffff9c, &(0x7f00000032c0), 0x500, 0x0) sendmmsg$unix(r1, &(0x7f00000036c0)=[{{&(0x7f00000002c0)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000001680)=[{0x0}, {&(0x7f0000001440)="9a056d0e3c3ed8d7ac3e770f11aaa82eeae8491200f1f6f70f7133891992d51967097a31af76a19a7ea8c0bbd516ce0475bb95df9f809c0c3315ba1af469731204d95c6d210f99e71976a1ca6f4096433acded69102a7fa6792af82e4ee57f578632d3", 0x63}, {&(0x7f0000000040)="4323b275b5549e8f85ab0d8dd72227a06d149bba1b5816a1cbbf5458ac607554a07d01d5c41aefb71bca59d9ac1ff0267b7385d2a2e11221", 0x38}, {&(0x7f00000017c0)="2130e151c57ade3e", 0x8}, {&(0x7f0000001540)="35c588d39688a1fc68e0dcd777c9a28fe46cb11f323a3338dad7fbe9150a1a", 0x1f}, {&(0x7f0000001580)="41c134f9e4a66cab363a40748f0c385cb66e937174f1981f80bbbd07739db9f67d55dc585c1c3faae7431f128c7b5a0b9b0e28bdd8a15903b1eb26ef40ff537df33771a33c540885e61bfeb7247ce5a588552aab5d2a7c7e30637f54d5376a819195442b3c8825f67493ff5785f147cb669eea451fee3e3cd29ad48a04a349e677cabdd20f3b22cfcb8a8eeee2864ebd416d1742764b0835740618a4891173415d1db50447d3eb7e497ecd89e0d8b6100ca4e8834a2401f3ae1ee1db82b2170568e96527940b96f39eb16fc7b9625782a350f0a9c0", 0xd5}], 0x6, &(0x7f0000000800)=ANY=[@ANYBLOB="00000003004ea2fdb3fa9349568d93bd", @ANYRES32=r3, @ANYRES32=0xee01, @ANYBLOB="080000000000000000000800000002004000000098ca976ded2ec3c94b3eb6bef9cc20e9b37341d21d246b44dbcb518bd81d279802843e106b937c46783845ad6fc3cd1ce13dc5d97ee37b25ee5fb0067df30034fdc2aec00242cbb9b0107533e26d60375199a6e99e513d1e1c4000b500329a", @ANYRES32, @ANYRES16, @ANYRES32=r2, @ANYRES32=0x0, @ANYBLOB="000000003200f74e02e025a7b463225500e18700000a4a6c8c5fe77600008bd1a93bdcf47a30ffc2331c731468843d83f5ccb463d33055f000828c576633dadcd4c24dbae548cad6320c0b20086f4924bfe65fcb14d72afabae7121778154b2fedf6a31e8b007d88fead847e80fa45cf0a3398cb789a47a766395f355dce39fa19f3775b2e70d7a63983f4ec7cb1f80929646fa259e34869b0aef5e9640fa599a65d3fbe2a83a97fb2aef39bced41de5ca525e1d81c86756d18037ef7a702bc8000000", @ANYRES32=r0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="0000000014000000000000000100000001000000", @ANYRES32, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32=r0, @ANYRES32, @ANYRES32, @ANYBLOB='\x00\x00\x00\x00'], 0xb0, 0x8090}}, {{&(0x7f0000000780)=@abs={0x0, 0x0, 0x4e24}, 0x6e, &(0x7f0000001800)=[{&(0x7f0000001a40)="ed5667222b51d314fac30474b3bf7ba399042d23dcdbbbc62c15f04e3e", 0x1d}, {&(0x7f0000001a80)="2d678654476fd82bce2c28db800ae23f38ec727860c03f209501a1d0a9acb6ec51595f6feec0b6146ecfd5d148db9a6df57ca0881d12d9d6187ebbcbff039c8b4f1dcc4900186a8304cf634975c47ab272ea4b4cfc8e7df5c63e30a1c0e985115c39814d53ec07bdf8d86436c2fe1b9e633ebb5a2c68f50abd2db93ee2797a916186f450665416aa7cf32d1c281ba9afc5a0d4a8ecd9e898dc797da358318a1e87272489ad0c6850cc0b7618452b90ebb0e8738bcb7a3e3f79f568721770c08d96f22e79bfedaa87a7936c0a0393f59b6e", 0xd1}, {&(0x7f0000001b80)="a93eb7d296b44a480be88e8ebe950727cf94ee", 0x13}, {&(0x7f0000001bc0)="f71cccc725c04fa3703b9c89f6faa6674258ed6677509b66a691aa8cb58cb11159852289796edd99218a205f070d5c22b213f47c3276b1d4eab5d48180", 0x3d}, {&(0x7f0000001c00)="6b94e12b3b15870d126d628ed16ae93b4856dd75764ad3818b2e6ff7e409b3a5c871be074ed99b3e757f854a0f0fb568e43ad8d3a777e5fad90ca849666d4ce4c4d067879f90466bd06d5f0476fb7fa97adb77b29c3ede52c5d73c512d86a51f903fcb9345559f94f07b33899db0e7582e14129134f845ce55bb897c8e8d288331b7f0e3f0b71d796e451d2d24b22607dcc01445ea6cb82f44eb86db584551a6dbb0aa9780444bd1", 0xa8}, {&(0x7f0000001cc0)="b5eb207ccb5cec2456399826758199b49657d110e848bb3eab4e42aa5ed5f2685e01ed85daf44e86453cd8f7c2a3c65a3961ddfe11bdcf842cf359fa6a0054d716e343d1fe2accf4039f965c0b1da1d6eda77a1a0ed714a6a4336ba54e4f778c867ee44520d3d23bfe18927da93963417688956e5def07d1810f7b78f75d66e93523faf902e4033b8f34b660f085e558b0183b3791e9ee1d180b93ea5e5b994bc9de680e1d8d708653d8f9f0b55a9024737246d151f15675e4a719de6670d7b01269ac42711f93dc56e26321e99408e5b78e6d1331cdf38ec4041e4392cae4397e42cdbdc9431b3c014029396acc5a4dda26fd175ccadadbb2a82927125cade1909886ff9089542b3bf806389c382f4ae332de4e98f47796d31bd96dce615b814d72d04eb44179465d337567340be15bb92b0d639e201fdf71f6244b838d1e0499b3574671282d8f12c3e5887329edfe5fbd76afdb02bec19072d8b370b55c58a9835cc56319bfa23562c973cc1de3669e52b6223c3c9f9961be6736ede5d5ed38702ffcb1b6dd6e49d2aae21e8908f39fc1d50b5287068cb5fd114f817ba5455fbe755eeaa5dd6b4f8ebc68d514301bcc615a107ab26e9cc26960060223bc1ff6dd5c8219a7cfcbec2f7b9b6994dfcf941b1c520ae2dd9b2b307da197681a52f5c644d6f76ba6c6363ce9181c9f732d9feb8fb1829aaaa3dc92869509d82b5ec3d6a5a69237418c78f0867cede998fe0e173da58fd054e87190989b28186bb9e8931a377dac0609cacc61a7c38aebd810db9b54806b315d361451eed579290f7f6b5114405e3465caddae54906e13f95ddf04fe2221d2c40f560fb763a862a3e98039410bc72714fb28984e35096af2af7a93450d1e586bf0770c2848bf8642678bd790178bc2e4d639b629dab4400e4f166e40b9803b0961a3cd14e272611ed7e392d4361f7c0a2c4b5a1d6d235193ecdad88335fe4b819ebb340ab74da0b699b0a67ae34cee6db455e60a3f666433a78b4cba71217851db67a872f8d07e14f38e151e360d1e6ccfe1906e277dc0cb6b31fdd6bfe688bed2c9274873b6eb3c0b07faac3ff321fe7cd5823cef9afd9ed10aa8f698e8ac263492cfedecc59aab67ba59aec523adabcad5b2812f31fd234855a74b04703bca0ee810f372a7c46a1add9865989ca8339d5f4dbcba30c604357c83addf1a3ae60ef305c1b03d4fa491e4df9587764d0ebd168facef92f245d5c8ced236835efb2fd59667b0918bb86580c847868765b59f66de41342a1a3f6d75ef75b0366b33dbfa8439b7f8b9dac1a65cdf69e60f4dcd462b403dcf71c0db4d926ed6f4e00c7c05ffcad2c97cfa17499f3b9df5a081e4682e01289bb33e084fd3e3b683e64f2c1c8bd4f015539da3d787fd704e8fc2238549c6fb00c41ed6c89a68a63d9ad36ae13011e9cdc21f89e08fe77b9c51d84d8e32fc5ca3d1b79d6618755fae8fe367dcdc855fabb9f47c2d8cc19d67b49856af2d3981cc942ec7840c6491a2bed8db48774ae94a84f2e98d2b9eb6aa377107f8012d93e5d46356aa8f1bff423f84c524f45794e68f8adadb2315e420a6b3d79570f2ab493b5ebbcf8a6f65db5ebf9f55b1b8c45b4cdbd8f0ff4b7e3c8d28c7907d59f29b699b9300d549b2b8e49bcaf055b4ba5d3a9aabbe8a2fd4e59c35118a4e15a8cbf116b9c6a57e013cab1fa4dcfd8fe89f735b40158f9e36fd09dc35155334d43cbb2b74ab8eac5af56191f8f19077c0aedd1bcae0e0ea6f7868bc89e24665883023a2b31218417eab58f066f1992b395d1f9b01699cd1872248c61fc5fe9d353a60affa6264c5e6c71ef0938199ea4afc5a6a6844e0fcc24d1b44384ee71cecc4df617fc8e7fee216b98ffffe22260affe087bddca34372af0f8eba6cb69ec8aa15f024e763eb853f69093b2e4075e37f21e06b5157ce0e2041bc594860e4f29284609482d2bbfd9147da45a7825cb745f4a319157e4f931387299452d7e1eac27e95307f3b04bcba079b11d784ef00b60684792c656de55aeb82fb17ac0fe481616f172f6c694a0ecbab29174bff52f76f83fa995b2cf54f4b69363388ed22dbe548230ee8c52294f838b1cb7c03c660f420ac3df21534bfab00f7d732c4a2dbee4b91ba569021dbac43b70d1bfe5e410ae5490ff282288ef925379131d7fbab1dfbe993d773c6682fc4cc1e90d066b13578f89a9d01ba86480358c282c185fe3b62ba3c28977fa89c4760c422d7313f61823907c6584d72d9dd1448c51e27ce1db75058444a810d827a6feb7e9f6b8aca9ed0b3cfdf88d618b6986d2b9c18b437bf4683c6b67d9e04a99836cdc08fac86018e21446f22b22a9d8a73e004294c74bb28267a0ff251eb62720b9cc12b6eb568225c1ef2aff32b0e93120417d4d4195c2e084765b025dfb1a7ef6f41f5730c3c4b3a44518af1c1a3409909f7488e552b538508c108530eeabfe7ec4d486eb6be38235a6602afbcc0c92e246e9f2ffc88218187a5ce185b75f04c8bec22dc769a0a1bea2a75be11becd0623c3c95058c4acee8ef4bed3ad9d0234211a776e065d1078310d71cf4464d91f53640d22ddaa238646f7f61b1841f4e83a436f631a06439a269710e765262aa729aa0855e2149551484504a5623fceae74ff7b466a1e20ed29cb6dc9d4a23f6d89b3dacc3ac4003478b5a7a6c6ab3731577599721f9f04277f880399e23cf78052b9846f0e05c9761f2786db41299bac99ea0309d43198cc69ecbe01e0a6ce28aa656b415ed94f8647a43218fd663dd487e896f6b585ad85d75685f1e139f908d362d37ad4a1bf1df542e2d1cc074bc3f6c13c3d316f40d1d49bd48f7da33c96c9d60fc703e73e74271620094bce984d1d2525a5b475b486ef6c00ba9b568d9d5c706e834b8dc97684343841693ad5190575bb38d3535d071a83440a3de3d18b2243f65cb72a6cf93e53a16a08f62f562319c4024289e7159c7bb7a11b101926addc1e5daeabc0992a4873bc2b1d3446a588ec123a2c2488d371d3fdcb9ad100856faa984153b2f860ef349c8ea0c0cf3ef0641044325e9e36333cf0a91f6ebaf3dd73d4d5d9dc2cbfff31a0e043011a5783f9e5f2470d90cf6d995fb8567260cbc0b921c1248adc16ebfa417c4f924cc815ef36df2f8c1e66cf7a4ace95d46871a09ccdb5fb08733c55f4899b7a6fc7c8630e597b63c2038c18f40c6e567a2bc71f0db1f95995bae1c6edc0f1efaed958f544c42f26435c66d6094c18dfe09c65f2fa3f02e37efbeb9f91e06b4345fcde52e37ac097c70dc70e26fae5aad4de104e03116327d866c923d752f4fccbbdd86bb2ad1aef4dc65f40035e2ad12554c5c349c18a630b6ebb6a9312170c5da513cfb894f8b8c6abc3a006847bf923570a6ed844d7e71ab27c9245809bcdcff21bfcddb0f652cce405d2bf780168bf13344b1241ba67b9a5962d4f54329e07a8fd62408dda197302c4cfe796c60aeb2ac55fd9dcf9879856d5d312fc9f8604e75f46072340e112b3a883b5cee3bcbd1b00a3e22afae06405d30d7641f606c72bde0a13bc6db92388fc3feed7c693fac1814cd21c5f45dae22a13f435360a031416cb29e1e39126ffa7a0c8cd66c018583ec336a39e7eac8b0198ee06b255b36884fce8afc4af69565271917319644b195eb2cdb81b7fb4bd4faae0f201306dcba04d8b3580a4f9ac019db255f631939593e732b594586474dd804a4f2cc21e437aea69fd363feafbdbbc242f68a4aab91581530422c12f4be0fce270bf501228ccc5a7ac9835ef3536c09c82646c58f135115894da634b0b38a73cc76f31bee32df94e55cba27d55204dce6b644bc4b5841bc0ee389bb29e4b378c12b4fa5190b3b17214081e0f6cc7a8d0de967087895609df4877f2da73a3dc20436ea48cfb0b64b3275c597e9a3910fe206064c0ba0851dee99549e6e2882ddfce1bc7ad51457b32c5646cd5a94fc473ac8ba96aced4d0eceb066d6e3ceaa2e1441cf80de16e2ef916d32b9d125b7be3bd9c86be250921ca9dabcc23a5ab47fb2cee882c147d6d0b481bde8241d543b64e487c5c35ebadff858f155fda73ee5da344a50aeb8ad8ac61dcd8b5cb4ae6cd622e0d5f833574296be1b53bd69a6d9c8f72aea1890cf9fb139be9cef75a06f7c81a942f2377d0d60bd3709bb8580e13917e302a315ce7be7284272aab4c3c066798948583a676bad9b9d71139c0b460e678c1f1d7843cb0b8a7ff46763f52bb070cd7515bff8bf649fb23d08cfe0c296cac6562a28634bad59b44d7df45635521ac2db8c0471ea66d8e15ff15c7886430be680dbd1d48dfb90209", 0xc00}], 0x6, 0x0, 0x0, 0x800}}, {{&(0x7f0000002d40)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f00000031c0)=[{&(0x7f0000002dc0)="bc1cd459163397f29dea4059b82b90019db6404cf441260edb4b", 0x1a}, {&(0x7f0000002e00)="861003333a8e740866ec19598407f008f3892826eec8fe9df274aa08bb8c39983033ca962ac8fe82d030e1663a9c529c3d15682de9d4647d21dfd4d75a6243b0ad5339388e46aca5af1bfdb8e80b5167e95ddbfef26e52207c106124a8bdbbe023a24843c15027f1ed265431fb0c5bd9951204ad5da4300aa33d4f3acdf20555283394aa7f457ace0daad2d239b339bf04fa6d0868ddc677850dd125237f3a6a8867770334d7ac44c52d5211c1ed20da9fcfd4080509d75df2b3ea2f3d59e0597fd0523a3bdad15685fc034e3464", 0xce}, {&(0x7f0000002f00)="0bc20d5a191b91e03442", 0xa}, {&(0x7f0000002f40)="27a40f4cf4df01df19e175a2d03c8aa07b8d247e2ac7d2c8e46d28049a82d402603432dd2cb70b716ce478d7c6c1bd0e22a316ef25425f20ef2675e6177dc0f4e7166bd6ed977ea142f1ec554cc8c1b449b4031f524e587a0b1c49ed673ad1f9ce295c51919a05469a35e4a9b0f0e59673fd3cb4e140ad41c1", 0x79}, {&(0x7f0000003000)}, {0x0}], 0x6, &(0x7f0000000500)=ANY=[@ANYBLOB='\x00'/16, @ANYRES32=r0, @ANYRES32, @ANYRES32=0xee01, @ANYRES8, @ANYRES32, @ANYRES32=r3, @ANYRES32=r4], 0x48, 0x80}}], 0x3, 0x4000094) (async) r5 = openat(0xffffffffffffffff, &(0x7f0000000080)='./file0\x00', 0x101140, 0x0) (async) sched_setscheduler(0x0, 0x1, &(0x7f0000000000)=0x1) truncate(&(0x7f00000000c0)='./file0\x00', 0x1) (async) ioctl$FS_IOC_ENABLE_VERITY(r5, 0x40806685, &(0x7f0000000240)={0x1, 0x1, 0x1000, 0x1, &(0x7f0000000200)='N', 0x0, 0x0, 0x0}) 00:33:41 executing program 2: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) unlinkat(r0, &(0x7f0000000280)='./file0\x00', 0x200) write$smackfs_cipso(r0, &(0x7f0000000c40)=ANY=[@ANYBLOB="2b3a2d252f405c2030303030303030303030303030303030303035362030303030303030303030303030303030303030332030303030303030303030303030303030303032392030303030303030303030303030303030303038352030303030303030303030303030303030303136372000640d9cb04221f2b3b66f4825c24f46"], 0x72) io_submit(0x0, 0x1, &(0x7f0000000280)=[&(0x7f0000000040)={0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0}]) r1 = dup3(0xffffffffffffffff, r0, 0x80000) r2 = openat$ocfs2_control(0xffffffffffffff9c, &(0x7f0000000440), 0x600002, 0x0) r3 = socket(0xa, 0x3, 0x3a) setsockopt$MRT6_DEL_MIF(r3, 0x29, 0xc8, 0x0, 0xc000000) setsockopt$MRT6_DONE(r3, 0x29, 0xd1, 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_PROTOSUBVER(r0, 0xc0189373, &(0x7f0000000700)={{0x1, 0x1, 0x18, r0, {0x3}}, './file0\x00'}) r5 = socket(0xa, 0x3, 0x3a) setsockopt$MRT6_DEL_MIF(r5, 0x29, 0xc8, 0x0, 0xc000000) setsockopt$MRT6_DONE(r5, 0x29, 0xd1, 0x0, 0x0) r6 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) unlinkat(r6, &(0x7f0000000280)='./file0\x00', 0x200) r7 = dup(r0) r8 = bpf$BPF_LINK_CREATE_XDP(0x1c, &(0x7f0000000980)={r0, 0x0, 0x25, 0x3}, 0x10) io_submit(0x0, 0xa, &(0x7f0000000bc0)=[&(0x7f00000001c0)={0x0, 0x0, 0x0, 0x8, 0x1f, 0xffffffffffffffff, &(0x7f0000000180)="f17ce5451727ee926120d4b68efeedd079c2b09b573f7afc4e92bfda5add7524ea9d7a94f1c3d7b24e5a2855bd735e", 0x2f, 0xe39, 0x0, 0x2}, &(0x7f0000000200)={0x0, 0x0, 0x0, 0x1, 0x7, r1, &(0x7f0000000300)="b56151d92880f9ae12b512bf575d7249c5df07f2482906599113bd2caf67261600b032f9409947e7ec889a957aa1e55ebc02f1b38196a079a8538dd47307f374b51b58dd6549a8bbc40ed9", 0x4b, 0x3ff, 0x0, 0x1}, &(0x7f00000003c0)={0x0, 0x0, 0x0, 0x5, 0x3, r0, &(0x7f0000000380)="9677ee54981980d1239fa2a8dfb2bcf4e791114b12ca5285bff9520fc31dc681c7c976996214c7e8135afd6a98f8ebffb52eaa339f7f1a6dd6a1d471433706", 0x3f, 0x89c0, 0x0, 0x0, r0}, &(0x7f0000000480)={0x0, 0x0, 0x0, 0x2, 0x4, r0, &(0x7f0000000400)="865be8fd423254fe9fa973b1c2198d45846ad1384a31f8f6bf411854cb956e16410cb63286813fbfce42b9", 0x2b, 0xddc2, 0x0, 0x2, r2}, &(0x7f0000000740)={0x0, 0x0, 0x0, 0x6, 0x1000, r3, &(0x7f0000000600)="75a873544aaba4ff39705702b7f496b6d0ef11f997367e030940b7b3f92197cf565b0048aaab75323c4b9ce80fbe56c144548a3d23b685b41da2bb64cd5690a96429f47eea68be6aedc22ef095c1f75f5b613704ef8d99284e3f1c6b4fa544f09c8c5e6399f15255e23ab3665983e9227c213e080b025fca36a8f0c682e47f0fdc7722d27e3bbcccede0542c8e446768adbbb477d1d8c5c3031b4c6123d31c7bd1a704750e0c3e09661c0c9326a9ca3ebaf6cae6a64465ceb829fbd2370f3375f0377764f21fa2e1acda6a7229", 0xcd, 0x5, 0x0, 0x2, r4}, &(0x7f0000000840)={0x0, 0x0, 0x0, 0x1, 0xff, r5, &(0x7f0000000780)="ccfc27695ad5d04437f4836ba1e3a13ca5715d3e91ca246f5d60da334a6cfb7afcb5d69168939d9c08af7886c338ae43cdd94074949c266a556b7d5ea2bce766e62bea08b25896e7dc56b7b4b269e510f657c57a62ade7bb5f49b7bce42c790230343286d0d5e7b32b823a3b21303f83c7902f9972d50291803a654e7cc1abeee4ab5e6732d1ecb8e7f9cb75a5f4", 0x8e, 0xff}, &(0x7f00000008c0)={0x0, 0x0, 0x0, 0x8, 0x5, r0, &(0x7f0000000880), 0x0, 0xaccb, 0x0, 0x3, r6}, &(0x7f0000000940)={0x0, 0x0, 0x0, 0xe, 0xfff, r0, &(0x7f0000000900)="43298f8d32dc9eb6f201a67ff4f1739ba90d384d71ea5b840a", 0x19, 0x8, 0x0, 0x0, r7}, &(0x7f0000000a80)={0x0, 0x0, 0x0, 0x8, 0x6, r8, &(0x7f00000009c0)="2ffb3bfcde7f50882834082e2e4d6fea29852605b40c5f20bfb3254c5be479aeb509ee3491765e165ea1d61895dbcc7a3486f76503899cf4782708d170d1fbecc81790dc9eaf86e2aa198a656519a739e55d71451524af2d8eaeb37d97f2f0e2daa0f020df6b33841ce1d2e21d9cb5d018df9b24d2cd236f5a334512147a06790691be99ca742e8c665230cc67ffe6a0e5f8defbbf821ae07c74", 0x9a, 0x5, 0x0, 0x3}, &(0x7f0000000b80)={0x0, 0x0, 0x0, 0x7, 0x3f, r0, &(0x7f0000000ac0)="e7e066a081bc2a0a3cb14226582544ef8416e2a96492a018fbf8bff5d990a9282d3ee64833bd9a7eb301fdc152a0080d9af76eaa0f12b2ae6f9a7d47648409abca20d515497f13ea46afa88971d6063c7e0df40eb1ab2cb8e602cf7831329951bac94fe540467fe04f5e3960fdd6befbcd0e1353b94d14d59b6f3e0d96afc3fb3ffbf054a5f210c615a9d4d1b1551bcb1409132b70533be0ca05a347f14c32670afc4fe8484703205debe6a3ba15", 0xae, 0x1}]) syz_mount_image$erofs(&(0x7f0000000140), &(0x7f0000000100)='./file0\x00', 0x1027, 0x3, &(0x7f0000000280)=[{&(0x7f00000004c0)="a8303fe7901ad20451c7d551ec7a373fcb1b067a572745623d8200d60292890bd969a6f0295783514e5efc8daa95bd91230fdfaad402481064625f1ff8108a0935aa4034125daad0f98572d598e2240463ad3402e35773dda3b1c3675c0d5f29be0066a2bc1f372651a59a9388eecf988dbb74d1e1a3fdd731044710a04ab485437e912969432775dcf080c2d22e6de15efd559bbabdd2afb1f757f1126f36febf6610a98cee160cdf489b1ca2ecb4f2237317df80f3591913a2784a3a358c2169e42332b17559d24e00fed404bd255479afddf692107d872f4b03b1c10a57e695c6081372cc0ef8cbbed9b9316465a51dc73c613feca782e891339f672fa236ef3f9679ad47de4f72169a70da817c4c7b558ae034dd98ba492160d9d7fef5", 0x11f, 0x2}, {&(0x7f00000000c0)="e2e1f5e09521e93c020000000c0024", 0xf, 0x400}, {&(0x7f0000000240)="0300453195449fb8542140121e5a355aa024a39e33462666831f435ce896e7c2251833b9c90b902f299fe9", 0x2b, 0x480}], 0x0, &(0x7f0000000180)=ANY=[], 0x0) listxattr(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) 00:33:41 executing program 1: timer_create(0x0, &(0x7f00000000c0)={0x0, 0x12, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000080)) (async) timer_settime(0x0, 0x0, &(0x7f0000000100)={{0x0, 0x989680}, {0x0, 0x989680}}, 0x0) timer_create(0x0, &(0x7f0000000000)={0x0, 0x14, 0x0, @thr={0x0, 0x0}}, &(0x7f0000000200)=0x0) timer_settime(r0, 0x0, &(0x7f0000000180)={{0x0, 0x989680}, {0x0, 0x1c9c380}}, 0x0) (async) pipe2(&(0x7f0000001440)={0xffffffffffffffff, 0xffffffffffffffff}, 0x0) r2 = socket$nl_netfilter(0x10, 0x3, 0xc) splice(r2, 0x0, r1, 0x0, 0x6, 0x0) (async) sendmsg$NFQNL_MSG_VERDICT(r2, &(0x7f0000000180)={0x0, 0x0, &(0x7f0000000140)={&(0x7f0000000040)=ANY=[@ANYBLOB="1400000078e04b4daf388e722d51367f795e49f4c1"], 0x14}}, 0x0) 00:33:41 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xfc000000}], 0x492492492492805, 0x0) 00:33:41 executing program 0: ioctl$AUTOFS_DEV_IOCTL_FAIL(0xffffffffffffffff, 0xc0189377, &(0x7f0000000000)={{0x1, 0x1, 0x18, 0xffffffffffffffff, {0x10001, 0x9}}, './file0\x00'}) fsconfig$FSCONFIG_SET_STRING(r0, 0x1, &(0x7f0000000040)=',\x00', &(0x7f00000000c0)='}\x00', 0x0) openat$sw_sync(0xffffffffffffff9c, &(0x7f000000a6c0), 0x0, 0x0) r1 = openat$dlm_control(0xffffffffffffff9c, &(0x7f0000000180), 0x200000, 0x0) r2 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r2, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r3) mount$9p_fd(0x0, &(0x7f0000000100)='./file0\x00', &(0x7f0000000140), 0x1000000, &(0x7f0000000500)=ANY=[@ANYBLOB='trans=fd,rfdno=', @ANYRESHEX=r1, @ANYBLOB="2c7b0621e15563f78703a4eff56271a62c030e022892c1cac2f5cd55658fe22b8d9bc0dedf2c7762687ff1967a8fb92ab8917e36d152735d128ebeccc491d18e1ca745b6438b75d36bb340fd9c048e421a52586b28107273146c1a9a7271b5284ec5297e6abc9a1bc125a677d323515f5f0e90b8ded4c56fcee3aa1ec56429c4135b7d1c7c4e7e094e3095e5c13a78d297eab2a2003375c76a4021cfe2334700a9d70c14b48f29c7add5edf011eed51dd3db6a41f910003f23e34edcc6a1cf2d09f23b53eea635cfdd10a186d39f8937c073282e08719ccbd96531da447c2a", @ANYRESOCT=r4, @ANYBLOB=',access=client,version=9p2000.u,access=user,version=9p2000.u,nodevmap,privport,afid=0x8000000000000000,smackfshat={^&%+[@&(,rootcontext=staff_u,subj_type=^,euid=', @ANYRESDEC=0xee00, @ANYRESDEC=r3, @ANYRESDEC=r3, @ANYBLOB=',fsname=}\x00,rootcontext=unconfined_u,\x00']) r5 = openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) r6 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) unlinkat(r6, &(0x7f0000000280)='./file0\x00', 0x200) read$FUSE(0xffffffffffffffff, &(0x7f0000002140)={0x2020}, 0x202d) close_range(r5, r5, 0x0) 00:33:41 executing program 0: ioctl$AUTOFS_DEV_IOCTL_FAIL(0xffffffffffffffff, 0xc0189377, &(0x7f0000000000)={{0x1, 0x1, 0x18, 0xffffffffffffffff, {0x10001, 0x9}}, './file0\x00'}) fsconfig$FSCONFIG_SET_STRING(r0, 0x1, &(0x7f0000000040)=',\x00', &(0x7f00000000c0)='}\x00', 0x0) openat$sw_sync(0xffffffffffffff9c, &(0x7f000000a6c0), 0x0, 0x0) r1 = openat$dlm_control(0xffffffffffffff9c, &(0x7f0000000180), 0x200000, 0x0) (async) r2 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r2, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r3) (async) mount$9p_fd(0x0, &(0x7f0000000100)='./file0\x00', &(0x7f0000000140), 0x1000000, &(0x7f0000000500)=ANY=[@ANYBLOB='trans=fd,rfdno=', @ANYRESHEX=r1, @ANYBLOB="2c7b0621e15563f78703a4eff56271a62c030e022892c1cac2f5cd55658fe22b8d9bc0dedf2c7762687ff1967a8fb92ab8917e36d152735d128ebeccc491d18e1ca745b6438b75d36bb340fd9c048e421a52586b28107273146c1a9a7271b5284ec5297e6abc9a1bc125a677d323515f5f0e90b8ded4c56fcee3aa1ec56429c4135b7d1c7c4e7e094e3095e5c13a78d297eab2a2003375c76a4021cfe2334700a9d70c14b48f29c7add5edf011eed51dd3db6a41f910003f23e34edcc6a1cf2d09f23b53eea635cfdd10a186d39f8937c073282e08719ccbd96531da447c2a", @ANYRESOCT=r4, @ANYBLOB=',access=client,version=9p2000.u,access=user,version=9p2000.u,nodevmap,privport,afid=0x8000000000000000,smackfshat={^&%+[@&(,rootcontext=staff_u,subj_type=^,euid=', @ANYRESDEC=0xee00, @ANYRESDEC=r3, @ANYRESDEC=r3, @ANYBLOB=',fsname=}\x00,rootcontext=unconfined_u,\x00']) (async) r5 = openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) r6 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) unlinkat(r6, &(0x7f0000000280)='./file0\x00', 0x200) (async) read$FUSE(0xffffffffffffffff, &(0x7f0000002140)={0x2020}, 0x202d) (async) close_range(r5, r5, 0x0) 00:33:41 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xfe030000}], 0x492492492492805, 0x0) [ 2021.465543][T13828] loop2: detected capacity change from 0 to 8 [ 2021.467779][T13828] erofs: Unknown parameter 'ñ|åE'î’a Ô¶ŽþíÐy°›W?züN’¿ÚZÝu$êz”ñÃײNZ(U½s^' 00:33:41 executing program 4: prlimit64(0x0, 0xe, &(0x7f0000000140)={0x8, 0x8b}, 0x0) (async) sched_setscheduler(0x0, 0x2, &(0x7f0000000440)=0x7) r0 = getpid() sched_setaffinity(0x0, 0x3a, &(0x7f0000000240)=0x2) sched_setscheduler(0x0, 0x0, &(0x7f0000000400)=0x5) (async) socketpair$unix(0x1, 0x2, 0x0, &(0x7f0000000100)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r1, &(0x7f0000000180)=@file={0x1, './file0\x00'}, 0x6e) (async) sendmmsg$unix(r2, &(0x7f00000bd000), 0x318, 0x0) (async, rerun: 64) recvmmsg(r1, &(0x7f00000000c0), 0x10106, 0x2, 0x0) (async, rerun: 64) getgid() (async) r3 = timerfd_create(0x4, 0x0) (async) recvfrom(0xffffffffffffffff, &(0x7f0000000380)=""/96, 0x60, 0x40000000, &(0x7f0000000480)=@x25, 0x80) r4 = socket$nl_route(0x10, 0x3, 0x0) bind$inet(0xffffffffffffffff, &(0x7f0000000340)={0x2, 0x4e24, @local}, 0x10) (async, rerun: 32) openat$tun(0xffffffffffffff9c, &(0x7f00000032c0), 0x500, 0x0) (async, rerun: 32) sendmmsg$unix(r1, &(0x7f00000036c0)=[{{&(0x7f00000002c0)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000001680)=[{0x0}, {&(0x7f0000001440)="9a056d0e3c3ed8d7ac3e770f11aaa82eeae8491200f1f6f70f7133891992d51967097a31af76a19a7ea8c0bbd516ce0475bb95df9f809c0c3315ba1af469731204d95c6d210f99e71976a1ca6f4096433acded69102a7fa6792af82e4ee57f578632d3", 0x63}, {&(0x7f0000000040)="4323b275b5549e8f85ab0d8dd72227a06d149bba1b5816a1cbbf5458ac607554a07d01d5c41aefb71bca59d9ac1ff0267b7385d2a2e11221", 0x38}, {&(0x7f00000017c0)="2130e151c57ade3e", 0x8}, {&(0x7f0000001540)="35c588d39688a1fc68e0dcd777c9a28fe46cb11f323a3338dad7fbe9150a1a", 0x1f}, {&(0x7f0000001580)="41c134f9e4a66cab363a40748f0c385cb66e937174f1981f80bbbd07739db9f67d55dc585c1c3faae7431f128c7b5a0b9b0e28bdd8a15903b1eb26ef40ff537df33771a33c540885e61bfeb7247ce5a588552aab5d2a7c7e30637f54d5376a819195442b3c8825f67493ff5785f147cb669eea451fee3e3cd29ad48a04a349e677cabdd20f3b22cfcb8a8eeee2864ebd416d1742764b0835740618a4891173415d1db50447d3eb7e497ecd89e0d8b6100ca4e8834a2401f3ae1ee1db82b2170568e96527940b96f39eb16fc7b9625782a350f0a9c0", 0xd5}], 0x6, &(0x7f0000000800)=ANY=[@ANYBLOB="00000003004ea2fdb3fa9349568d93bd", @ANYRES32=r3, @ANYRES32=0xee01, @ANYBLOB="080000000000000000000800000002004000000098ca976ded2ec3c94b3eb6bef9cc20e9b37341d21d246b44dbcb518bd81d279802843e106b937c46783845ad6fc3cd1ce13dc5d97ee37b25ee5fb0067df30034fdc2aec00242cbb9b0107533e26d60375199a6e99e513d1e1c4000b500329a", @ANYRES32, @ANYRES16, @ANYRES32=r2, @ANYRES32=0x0, @ANYBLOB="000000003200f74e02e025a7b463225500e18700000a4a6c8c5fe77600008bd1a93bdcf47a30ffc2331c731468843d83f5ccb463d33055f000828c576633dadcd4c24dbae548cad6320c0b20086f4924bfe65fcb14d72afabae7121778154b2fedf6a31e8b007d88fead847e80fa45cf0a3398cb789a47a766395f355dce39fa19f3775b2e70d7a63983f4ec7cb1f80929646fa259e34869b0aef5e9640fa599a65d3fbe2a83a97fb2aef39bced41de5ca525e1d81c86756d18037ef7a702bc8000000", @ANYRES32=r0, @ANYRES32=0x0, @ANYRES32=0x0, @ANYBLOB="0000000014000000000000000100000001000000", @ANYRES32, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32=r0, @ANYRES32, @ANYRES32, @ANYBLOB='\x00\x00\x00\x00'], 0xb0, 0x8090}}, {{&(0x7f0000000780)=@abs={0x0, 0x0, 0x4e24}, 0x6e, &(0x7f0000001800)=[{&(0x7f0000001a40)="ed5667222b51d314fac30474b3bf7ba399042d23dcdbbbc62c15f04e3e", 0x1d}, {&(0x7f0000001a80)="2d678654476fd82bce2c28db800ae23f38ec727860c03f209501a1d0a9acb6ec51595f6feec0b6146ecfd5d148db9a6df57ca0881d12d9d6187ebbcbff039c8b4f1dcc4900186a8304cf634975c47ab272ea4b4cfc8e7df5c63e30a1c0e985115c39814d53ec07bdf8d86436c2fe1b9e633ebb5a2c68f50abd2db93ee2797a916186f450665416aa7cf32d1c281ba9afc5a0d4a8ecd9e898dc797da358318a1e87272489ad0c6850cc0b7618452b90ebb0e8738bcb7a3e3f79f568721770c08d96f22e79bfedaa87a7936c0a0393f59b6e", 0xd1}, {&(0x7f0000001b80)="a93eb7d296b44a480be88e8ebe950727cf94ee", 0x13}, {&(0x7f0000001bc0)="f71cccc725c04fa3703b9c89f6faa6674258ed6677509b66a691aa8cb58cb11159852289796edd99218a205f070d5c22b213f47c3276b1d4eab5d48180", 0x3d}, {&(0x7f0000001c00)="6b94e12b3b15870d126d628ed16ae93b4856dd75764ad3818b2e6ff7e409b3a5c871be074ed99b3e757f854a0f0fb568e43ad8d3a777e5fad90ca849666d4ce4c4d067879f90466bd06d5f0476fb7fa97adb77b29c3ede52c5d73c512d86a51f903fcb9345559f94f07b33899db0e7582e14129134f845ce55bb897c8e8d288331b7f0e3f0b71d796e451d2d24b22607dcc01445ea6cb82f44eb86db584551a6dbb0aa9780444bd1", 0xa8}, {&(0x7f0000001cc0)="b5eb207ccb5cec2456399826758199b49657d110e848bb3eab4e42aa5ed5f2685e01ed85daf44e86453cd8f7c2a3c65a3961ddfe11bdcf842cf359fa6a0054d716e343d1fe2accf4039f965c0b1da1d6eda77a1a0ed714a6a4336ba54e4f778c867ee44520d3d23bfe18927da93963417688956e5def07d1810f7b78f75d66e93523faf902e4033b8f34b660f085e558b0183b3791e9ee1d180b93ea5e5b994bc9de680e1d8d708653d8f9f0b55a9024737246d151f15675e4a719de6670d7b01269ac42711f93dc56e26321e99408e5b78e6d1331cdf38ec4041e4392cae4397e42cdbdc9431b3c014029396acc5a4dda26fd175ccadadbb2a82927125cade1909886ff9089542b3bf806389c382f4ae332de4e98f47796d31bd96dce615b814d72d04eb44179465d337567340be15bb92b0d639e201fdf71f6244b838d1e0499b3574671282d8f12c3e5887329edfe5fbd76afdb02bec19072d8b370b55c58a9835cc56319bfa23562c973cc1de3669e52b6223c3c9f9961be6736ede5d5ed38702ffcb1b6dd6e49d2aae21e8908f39fc1d50b5287068cb5fd114f817ba5455fbe755eeaa5dd6b4f8ebc68d514301bcc615a107ab26e9cc26960060223bc1ff6dd5c8219a7cfcbec2f7b9b6994dfcf941b1c520ae2dd9b2b307da197681a52f5c644d6f76ba6c6363ce9181c9f732d9feb8fb1829aaaa3dc92869509d82b5ec3d6a5a69237418c78f0867cede998fe0e173da58fd054e87190989b28186bb9e8931a377dac0609cacc61a7c38aebd810db9b54806b315d361451eed579290f7f6b5114405e3465caddae54906e13f95ddf04fe2221d2c40f560fb763a862a3e98039410bc72714fb28984e35096af2af7a93450d1e586bf0770c2848bf8642678bd790178bc2e4d639b629dab4400e4f166e40b9803b0961a3cd14e272611ed7e392d4361f7c0a2c4b5a1d6d235193ecdad88335fe4b819ebb340ab74da0b699b0a67ae34cee6db455e60a3f666433a78b4cba71217851db67a872f8d07e14f38e151e360d1e6ccfe1906e277dc0cb6b31fdd6bfe688bed2c9274873b6eb3c0b07faac3ff321fe7cd5823cef9afd9ed10aa8f698e8ac263492cfedecc59aab67ba59aec523adabcad5b2812f31fd234855a74b04703bca0ee810f372a7c46a1add9865989ca8339d5f4dbcba30c604357c83addf1a3ae60ef305c1b03d4fa491e4df9587764d0ebd168facef92f245d5c8ced236835efb2fd59667b0918bb86580c847868765b59f66de41342a1a3f6d75ef75b0366b33dbfa8439b7f8b9dac1a65cdf69e60f4dcd462b403dcf71c0db4d926ed6f4e00c7c05ffcad2c97cfa17499f3b9df5a081e4682e01289bb33e084fd3e3b683e64f2c1c8bd4f015539da3d787fd704e8fc2238549c6fb00c41ed6c89a68a63d9ad36ae13011e9cdc21f89e08fe77b9c51d84d8e32fc5ca3d1b79d6618755fae8fe367dcdc855fabb9f47c2d8cc19d67b49856af2d3981cc942ec7840c6491a2bed8db48774ae94a84f2e98d2b9eb6aa377107f8012d93e5d46356aa8f1bff423f84c524f45794e68f8adadb2315e420a6b3d79570f2ab493b5ebbcf8a6f65db5ebf9f55b1b8c45b4cdbd8f0ff4b7e3c8d28c7907d59f29b699b9300d549b2b8e49bcaf055b4ba5d3a9aabbe8a2fd4e59c35118a4e15a8cbf116b9c6a57e013cab1fa4dcfd8fe89f735b40158f9e36fd09dc35155334d43cbb2b74ab8eac5af56191f8f19077c0aedd1bcae0e0ea6f7868bc89e24665883023a2b31218417eab58f066f1992b395d1f9b01699cd1872248c61fc5fe9d353a60affa6264c5e6c71ef0938199ea4afc5a6a6844e0fcc24d1b44384ee71cecc4df617fc8e7fee216b98ffffe22260affe087bddca34372af0f8eba6cb69ec8aa15f024e763eb853f69093b2e4075e37f21e06b5157ce0e2041bc594860e4f29284609482d2bbfd9147da45a7825cb745f4a319157e4f931387299452d7e1eac27e95307f3b04bcba079b11d784ef00b60684792c656de55aeb82fb17ac0fe481616f172f6c694a0ecbab29174bff52f76f83fa995b2cf54f4b69363388ed22dbe548230ee8c52294f838b1cb7c03c660f420ac3df21534bfab00f7d732c4a2dbee4b91ba569021dbac43b70d1bfe5e410ae5490ff282288ef925379131d7fbab1dfbe993d773c6682fc4cc1e90d066b13578f89a9d01ba86480358c282c185fe3b62ba3c28977fa89c4760c422d7313f61823907c6584d72d9dd1448c51e27ce1db75058444a810d827a6feb7e9f6b8aca9ed0b3cfdf88d618b6986d2b9c18b437bf4683c6b67d9e04a99836cdc08fac86018e21446f22b22a9d8a73e004294c74bb28267a0ff251eb62720b9cc12b6eb568225c1ef2aff32b0e93120417d4d4195c2e084765b025dfb1a7ef6f41f5730c3c4b3a44518af1c1a3409909f7488e552b538508c108530eeabfe7ec4d486eb6be38235a6602afbcc0c92e246e9f2ffc88218187a5ce185b75f04c8bec22dc769a0a1bea2a75be11becd0623c3c95058c4acee8ef4bed3ad9d0234211a776e065d1078310d71cf4464d91f53640d22ddaa238646f7f61b1841f4e83a436f631a06439a269710e765262aa729aa0855e2149551484504a5623fceae74ff7b466a1e20ed29cb6dc9d4a23f6d89b3dacc3ac4003478b5a7a6c6ab3731577599721f9f04277f880399e23cf78052b9846f0e05c9761f2786db41299bac99ea0309d43198cc69ecbe01e0a6ce28aa656b415ed94f8647a43218fd663dd487e896f6b585ad85d75685f1e139f908d362d37ad4a1bf1df542e2d1cc074bc3f6c13c3d316f40d1d49bd48f7da33c96c9d60fc703e73e74271620094bce984d1d2525a5b475b486ef6c00ba9b568d9d5c706e834b8dc97684343841693ad5190575bb38d3535d071a83440a3de3d18b2243f65cb72a6cf93e53a16a08f62f562319c4024289e7159c7bb7a11b101926addc1e5daeabc0992a4873bc2b1d3446a588ec123a2c2488d371d3fdcb9ad100856faa984153b2f860ef349c8ea0c0cf3ef0641044325e9e36333cf0a91f6ebaf3dd73d4d5d9dc2cbfff31a0e043011a5783f9e5f2470d90cf6d995fb8567260cbc0b921c1248adc16ebfa417c4f924cc815ef36df2f8c1e66cf7a4ace95d46871a09ccdb5fb08733c55f4899b7a6fc7c8630e597b63c2038c18f40c6e567a2bc71f0db1f95995bae1c6edc0f1efaed958f544c42f26435c66d6094c18dfe09c65f2fa3f02e37efbeb9f91e06b4345fcde52e37ac097c70dc70e26fae5aad4de104e03116327d866c923d752f4fccbbdd86bb2ad1aef4dc65f40035e2ad12554c5c349c18a630b6ebb6a9312170c5da513cfb894f8b8c6abc3a006847bf923570a6ed844d7e71ab27c9245809bcdcff21bfcddb0f652cce405d2bf780168bf13344b1241ba67b9a5962d4f54329e07a8fd62408dda197302c4cfe796c60aeb2ac55fd9dcf9879856d5d312fc9f8604e75f46072340e112b3a883b5cee3bcbd1b00a3e22afae06405d30d7641f606c72bde0a13bc6db92388fc3feed7c693fac1814cd21c5f45dae22a13f435360a031416cb29e1e39126ffa7a0c8cd66c018583ec336a39e7eac8b0198ee06b255b36884fce8afc4af69565271917319644b195eb2cdb81b7fb4bd4faae0f201306dcba04d8b3580a4f9ac019db255f631939593e732b594586474dd804a4f2cc21e437aea69fd363feafbdbbc242f68a4aab91581530422c12f4be0fce270bf501228ccc5a7ac9835ef3536c09c82646c58f135115894da634b0b38a73cc76f31bee32df94e55cba27d55204dce6b644bc4b5841bc0ee389bb29e4b378c12b4fa5190b3b17214081e0f6cc7a8d0de967087895609df4877f2da73a3dc20436ea48cfb0b64b3275c597e9a3910fe206064c0ba0851dee99549e6e2882ddfce1bc7ad51457b32c5646cd5a94fc473ac8ba96aced4d0eceb066d6e3ceaa2e1441cf80de16e2ef916d32b9d125b7be3bd9c86be250921ca9dabcc23a5ab47fb2cee882c147d6d0b481bde8241d543b64e487c5c35ebadff858f155fda73ee5da344a50aeb8ad8ac61dcd8b5cb4ae6cd622e0d5f833574296be1b53bd69a6d9c8f72aea1890cf9fb139be9cef75a06f7c81a942f2377d0d60bd3709bb8580e13917e302a315ce7be7284272aab4c3c066798948583a676bad9b9d71139c0b460e678c1f1d7843cb0b8a7ff46763f52bb070cd7515bff8bf649fb23d08cfe0c296cac6562a28634bad59b44d7df45635521ac2db8c0471ea66d8e15ff15c7886430be680dbd1d48dfb90209", 0xc00}], 0x6, 0x0, 0x0, 0x800}}, {{&(0x7f0000002d40)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f00000031c0)=[{&(0x7f0000002dc0)="bc1cd459163397f29dea4059b82b90019db6404cf441260edb4b", 0x1a}, {&(0x7f0000002e00)="861003333a8e740866ec19598407f008f3892826eec8fe9df274aa08bb8c39983033ca962ac8fe82d030e1663a9c529c3d15682de9d4647d21dfd4d75a6243b0ad5339388e46aca5af1bfdb8e80b5167e95ddbfef26e52207c106124a8bdbbe023a24843c15027f1ed265431fb0c5bd9951204ad5da4300aa33d4f3acdf20555283394aa7f457ace0daad2d239b339bf04fa6d0868ddc677850dd125237f3a6a8867770334d7ac44c52d5211c1ed20da9fcfd4080509d75df2b3ea2f3d59e0597fd0523a3bdad15685fc034e3464", 0xce}, {&(0x7f0000002f00)="0bc20d5a191b91e03442", 0xa}, {&(0x7f0000002f40)="27a40f4cf4df01df19e175a2d03c8aa07b8d247e2ac7d2c8e46d28049a82d402603432dd2cb70b716ce478d7c6c1bd0e22a316ef25425f20ef2675e6177dc0f4e7166bd6ed977ea142f1ec554cc8c1b449b4031f524e587a0b1c49ed673ad1f9ce295c51919a05469a35e4a9b0f0e59673fd3cb4e140ad41c1", 0x79}, {&(0x7f0000003000)}, {0x0}], 0x6, &(0x7f0000000500)=ANY=[@ANYBLOB='\x00'/16, @ANYRES32=r0, @ANYRES32, @ANYRES32=0xee01, @ANYRES8, @ANYRES32, @ANYRES32=r3, @ANYRES32=r4], 0x48, 0x80}}], 0x3, 0x4000094) r5 = openat(0xffffffffffffffff, &(0x7f0000000080)='./file0\x00', 0x101140, 0x0) (async) sched_setscheduler(0x0, 0x1, &(0x7f0000000000)=0x1) truncate(&(0x7f00000000c0)='./file0\x00', 0x1) (async) ioctl$FS_IOC_ENABLE_VERITY(r5, 0x40806685, &(0x7f0000000240)={0x1, 0x1, 0x1000, 0x1, &(0x7f0000000200)='N', 0x0, 0x0, 0x0}) 00:33:41 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xfe80ffff}], 0x492492492492805, 0x0) 00:33:41 executing program 2: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) unlinkat(r0, &(0x7f0000000280)='./file0\x00', 0x200) (async) write$smackfs_cipso(r0, &(0x7f0000000c40)=ANY=[@ANYBLOB="2b3a2d252f405c2030303030303030303030303030303030303035362030303030303030303030303030303030303030332030303030303030303030303030303030303032392030303030303030303030303030303030303038352030303030303030303030303030303030303136372000640d9cb04221f2b3b66f4825c24f46"], 0x72) io_submit(0x0, 0x1, &(0x7f0000000280)=[&(0x7f0000000040)={0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0}]) r1 = dup3(0xffffffffffffffff, r0, 0x80000) (async) r2 = openat$ocfs2_control(0xffffffffffffff9c, &(0x7f0000000440), 0x600002, 0x0) r3 = socket(0xa, 0x3, 0x3a) setsockopt$MRT6_DEL_MIF(r3, 0x29, 0xc8, 0x0, 0xc000000) setsockopt$MRT6_DONE(r3, 0x29, 0xd1, 0x0, 0x0) (async) ioctl$AUTOFS_DEV_IOCTL_PROTOSUBVER(r0, 0xc0189373, &(0x7f0000000700)={{0x1, 0x1, 0x18, r0, {0x3}}, './file0\x00'}) r5 = socket(0xa, 0x3, 0x3a) setsockopt$MRT6_DEL_MIF(r5, 0x29, 0xc8, 0x0, 0xc000000) setsockopt$MRT6_DONE(r5, 0x29, 0xd1, 0x0, 0x0) (async) r6 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) unlinkat(r6, &(0x7f0000000280)='./file0\x00', 0x200) (async) r7 = dup(r0) (async) r8 = bpf$BPF_LINK_CREATE_XDP(0x1c, &(0x7f0000000980)={r0, 0x0, 0x25, 0x3}, 0x10) io_submit(0x0, 0xa, &(0x7f0000000bc0)=[&(0x7f00000001c0)={0x0, 0x0, 0x0, 0x8, 0x1f, 0xffffffffffffffff, &(0x7f0000000180)="f17ce5451727ee926120d4b68efeedd079c2b09b573f7afc4e92bfda5add7524ea9d7a94f1c3d7b24e5a2855bd735e", 0x2f, 0xe39, 0x0, 0x2}, &(0x7f0000000200)={0x0, 0x0, 0x0, 0x1, 0x7, r1, &(0x7f0000000300)="b56151d92880f9ae12b512bf575d7249c5df07f2482906599113bd2caf67261600b032f9409947e7ec889a957aa1e55ebc02f1b38196a079a8538dd47307f374b51b58dd6549a8bbc40ed9", 0x4b, 0x3ff, 0x0, 0x1}, &(0x7f00000003c0)={0x0, 0x0, 0x0, 0x5, 0x3, r0, &(0x7f0000000380)="9677ee54981980d1239fa2a8dfb2bcf4e791114b12ca5285bff9520fc31dc681c7c976996214c7e8135afd6a98f8ebffb52eaa339f7f1a6dd6a1d471433706", 0x3f, 0x89c0, 0x0, 0x0, r0}, &(0x7f0000000480)={0x0, 0x0, 0x0, 0x2, 0x4, r0, &(0x7f0000000400)="865be8fd423254fe9fa973b1c2198d45846ad1384a31f8f6bf411854cb956e16410cb63286813fbfce42b9", 0x2b, 0xddc2, 0x0, 0x2, r2}, &(0x7f0000000740)={0x0, 0x0, 0x0, 0x6, 0x1000, r3, &(0x7f0000000600)="75a873544aaba4ff39705702b7f496b6d0ef11f997367e030940b7b3f92197cf565b0048aaab75323c4b9ce80fbe56c144548a3d23b685b41da2bb64cd5690a96429f47eea68be6aedc22ef095c1f75f5b613704ef8d99284e3f1c6b4fa544f09c8c5e6399f15255e23ab3665983e9227c213e080b025fca36a8f0c682e47f0fdc7722d27e3bbcccede0542c8e446768adbbb477d1d8c5c3031b4c6123d31c7bd1a704750e0c3e09661c0c9326a9ca3ebaf6cae6a64465ceb829fbd2370f3375f0377764f21fa2e1acda6a7229", 0xcd, 0x5, 0x0, 0x2, r4}, &(0x7f0000000840)={0x0, 0x0, 0x0, 0x1, 0xff, r5, &(0x7f0000000780)="ccfc27695ad5d04437f4836ba1e3a13ca5715d3e91ca246f5d60da334a6cfb7afcb5d69168939d9c08af7886c338ae43cdd94074949c266a556b7d5ea2bce766e62bea08b25896e7dc56b7b4b269e510f657c57a62ade7bb5f49b7bce42c790230343286d0d5e7b32b823a3b21303f83c7902f9972d50291803a654e7cc1abeee4ab5e6732d1ecb8e7f9cb75a5f4", 0x8e, 0xff}, &(0x7f00000008c0)={0x0, 0x0, 0x0, 0x8, 0x5, r0, &(0x7f0000000880), 0x0, 0xaccb, 0x0, 0x3, r6}, &(0x7f0000000940)={0x0, 0x0, 0x0, 0xe, 0xfff, r0, &(0x7f0000000900)="43298f8d32dc9eb6f201a67ff4f1739ba90d384d71ea5b840a", 0x19, 0x8, 0x0, 0x0, r7}, &(0x7f0000000a80)={0x0, 0x0, 0x0, 0x8, 0x6, r8, &(0x7f00000009c0)="2ffb3bfcde7f50882834082e2e4d6fea29852605b40c5f20bfb3254c5be479aeb509ee3491765e165ea1d61895dbcc7a3486f76503899cf4782708d170d1fbecc81790dc9eaf86e2aa198a656519a739e55d71451524af2d8eaeb37d97f2f0e2daa0f020df6b33841ce1d2e21d9cb5d018df9b24d2cd236f5a334512147a06790691be99ca742e8c665230cc67ffe6a0e5f8defbbf821ae07c74", 0x9a, 0x5, 0x0, 0x3}, &(0x7f0000000b80)={0x0, 0x0, 0x0, 0x7, 0x3f, r0, &(0x7f0000000ac0)="e7e066a081bc2a0a3cb14226582544ef8416e2a96492a018fbf8bff5d990a9282d3ee64833bd9a7eb301fdc152a0080d9af76eaa0f12b2ae6f9a7d47648409abca20d515497f13ea46afa88971d6063c7e0df40eb1ab2cb8e602cf7831329951bac94fe540467fe04f5e3960fdd6befbcd0e1353b94d14d59b6f3e0d96afc3fb3ffbf054a5f210c615a9d4d1b1551bcb1409132b70533be0ca05a347f14c32670afc4fe8484703205debe6a3ba15", 0xae, 0x1}]) syz_mount_image$erofs(&(0x7f0000000140), &(0x7f0000000100)='./file0\x00', 0x1027, 0x3, &(0x7f0000000280)=[{&(0x7f00000004c0)="a8303fe7901ad20451c7d551ec7a373fcb1b067a572745623d8200d60292890bd969a6f0295783514e5efc8daa95bd91230fdfaad402481064625f1ff8108a0935aa4034125daad0f98572d598e2240463ad3402e35773dda3b1c3675c0d5f29be0066a2bc1f372651a59a9388eecf988dbb74d1e1a3fdd731044710a04ab485437e912969432775dcf080c2d22e6de15efd559bbabdd2afb1f757f1126f36febf6610a98cee160cdf489b1ca2ecb4f2237317df80f3591913a2784a3a358c2169e42332b17559d24e00fed404bd255479afddf692107d872f4b03b1c10a57e695c6081372cc0ef8cbbed9b9316465a51dc73c613feca782e891339f672fa236ef3f9679ad47de4f72169a70da817c4c7b558ae034dd98ba492160d9d7fef5", 0x11f, 0x2}, {&(0x7f00000000c0)="e2e1f5e09521e93c020000000c0024", 0xf, 0x400}, {&(0x7f0000000240)="0300453195449fb8542140121e5a355aa024a39e33462666831f435ce896e7c2251833b9c90b902f299fe9", 0x2b, 0x480}], 0x0, &(0x7f0000000180)=ANY=[], 0x0) (async) listxattr(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) 00:33:41 executing program 0: ioctl$AUTOFS_DEV_IOCTL_FAIL(0xffffffffffffffff, 0xc0189377, &(0x7f0000000000)={{0x1, 0x1, 0x18, 0xffffffffffffffff, {0x10001, 0x9}}, './file0\x00'}) fsconfig$FSCONFIG_SET_STRING(r0, 0x1, &(0x7f0000000040)=',\x00', &(0x7f00000000c0)='}\x00', 0x0) (async) openat$sw_sync(0xffffffffffffff9c, &(0x7f000000a6c0), 0x0, 0x0) r1 = openat$dlm_control(0xffffffffffffff9c, &(0x7f0000000180), 0x200000, 0x0) r2 = socket$inet_udplite(0x2, 0x2, 0x88) getsockopt$sock_cred(r2, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r3) (async, rerun: 32) mount$9p_fd(0x0, &(0x7f0000000100)='./file0\x00', &(0x7f0000000140), 0x1000000, &(0x7f0000000500)=ANY=[@ANYBLOB='trans=fd,rfdno=', @ANYRESHEX=r1, @ANYBLOB="2c7b0621e15563f78703a4eff56271a62c030e022892c1cac2f5cd55658fe22b8d9bc0dedf2c7762687ff1967a8fb92ab8917e36d152735d128ebeccc491d18e1ca745b6438b75d36bb340fd9c048e421a52586b28107273146c1a9a7271b5284ec5297e6abc9a1bc125a677d323515f5f0e90b8ded4c56fcee3aa1ec56429c4135b7d1c7c4e7e094e3095e5c13a78d297eab2a2003375c76a4021cfe2334700a9d70c14b48f29c7add5edf011eed51dd3db6a41f910003f23e34edcc6a1cf2d09f23b53eea635cfdd10a186d39f8937c073282e08719ccbd96531da447c2a", @ANYRESOCT=r4, @ANYBLOB=',access=client,version=9p2000.u,access=user,version=9p2000.u,nodevmap,privport,afid=0x8000000000000000,smackfshat={^&%+[@&(,rootcontext=staff_u,subj_type=^,euid=', @ANYRESDEC=0xee00, @ANYRESDEC=r3, @ANYRESDEC=r3, @ANYBLOB=',fsname=}\x00,rootcontext=unconfined_u,\x00']) (rerun: 32) r5 = openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) (async) r6 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) unlinkat(r6, &(0x7f0000000280)='./file0\x00', 0x200) (async, rerun: 32) read$FUSE(0xffffffffffffffff, &(0x7f0000002140)={0x2020}, 0x202d) (async, rerun: 32) close_range(r5, r5, 0x0) 00:33:41 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f00000003c0)={'netdevsim0\x00', 0x0}) r3 = gettid() sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000080)={&(0x7f00000000c0)=@newlink={0x2c, 0x10, 0x801, 0x0, 0x0, {0x0, 0x0, 0x0, r2}, [@IFLA_VFINFO_LIST={0x4}, @IFLA_NET_NS_PID={0x8, 0x13, r3}]}, 0x2c}}, 0x0) 00:33:41 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xfec0ffff}], 0x492492492492805, 0x0) [ 2021.570843][T13862] loop2: detected capacity change from 0 to 8 [ 2021.573044][T13862] erofs: Unknown parameter 'ñ|åE'î’a Ô¶ŽþíÐy°›W?züN’¿ÚZÝu$êz”ñÃײNZ(U½s^' 00:33:41 executing program 0: r0 = openat$sw_sync(0xffffffffffffff9c, &(0x7f000000a6c0), 0x0, 0x0) open_tree(0xffffffffffffffff, &(0x7f0000000000)='./file0\x00', 0x0) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) unlinkat(r1, &(0x7f0000000280)='./file0\x00', 0x200) ioctl$SW_SYNC_IOC_CREATE_FENCE(r0, 0xc0285700, &(0x7f0000000040)={0x8, "03519a66fb431141c3a3706e831fe4c5f49184ccd7dc8978e2997322dbc1c97a"}) openat$sw_sync(0xffffffffffffff9c, &(0x7f00000000c0), 0xc0001, 0x0) r2 = openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) read$FUSE(r2, &(0x7f0000000100)={0x2020}, 0x2020) 00:33:41 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f00000003c0)={'netdevsim0\x00', 0x0}) r3 = gettid() sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000080)={&(0x7f00000000c0)=@newlink={0x2c, 0x10, 0x801, 0x0, 0x0, {0x0, 0x0, 0x0, r2}, [@IFLA_VFINFO_LIST={0x4}, @IFLA_NET_NS_PID={0x8, 0x13, r3}]}, 0x2c}}, 0x0) socket$nl_route(0x10, 0x3, 0x0) (async) socket$nl_generic(0x10, 0x3, 0x10) (async) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f00000003c0)={'netdevsim0\x00'}) (async) gettid() (async) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000080)={&(0x7f00000000c0)=@newlink={0x2c, 0x10, 0x801, 0x0, 0x0, {0x0, 0x0, 0x0, r2}, [@IFLA_VFINFO_LIST={0x4}, @IFLA_NET_NS_PID={0x8, 0x13, r3}]}, 0x2c}}, 0x0) (async) 00:33:41 executing program 0: r0 = openat$sw_sync(0xffffffffffffff9c, &(0x7f000000a6c0), 0x0, 0x0) (async) open_tree(0xffffffffffffffff, &(0x7f0000000000)='./file0\x00', 0x0) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) unlinkat(r1, &(0x7f0000000280)='./file0\x00', 0x200) (async) ioctl$SW_SYNC_IOC_CREATE_FENCE(r0, 0xc0285700, &(0x7f0000000040)={0x8, "03519a66fb431141c3a3706e831fe4c5f49184ccd7dc8978e2997322dbc1c97a"}) openat$sw_sync(0xffffffffffffff9c, &(0x7f00000000c0), 0xc0001, 0x0) r2 = openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) read$FUSE(r2, &(0x7f0000000100)={0x2020}, 0x2020) 00:33:41 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xfeff0000}], 0x492492492492805, 0x0) 00:33:41 executing program 2: r0 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) unlinkat(r0, &(0x7f0000000280)='./file0\x00', 0x200) write$smackfs_cipso(r0, &(0x7f0000000c40)=ANY=[@ANYBLOB="2b3a2d252f405c2030303030303030303030303030303030303035362030303030303030303030303030303030303030332030303030303030303030303030303030303032392030303030303030303030303030303030303038352030303030303030303030303030303030303136372000640d9cb04221f2b3b66f4825c24f46"], 0x72) io_submit(0x0, 0x1, &(0x7f0000000280)=[&(0x7f0000000040)={0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0}]) r1 = dup3(0xffffffffffffffff, r0, 0x80000) r2 = openat$ocfs2_control(0xffffffffffffff9c, &(0x7f0000000440), 0x600002, 0x0) r3 = socket(0xa, 0x3, 0x3a) setsockopt$MRT6_DEL_MIF(r3, 0x29, 0xc8, 0x0, 0xc000000) setsockopt$MRT6_DONE(r3, 0x29, 0xd1, 0x0, 0x0) ioctl$AUTOFS_DEV_IOCTL_PROTOSUBVER(r0, 0xc0189373, &(0x7f0000000700)={{0x1, 0x1, 0x18, r0, {0x3}}, './file0\x00'}) r5 = socket(0xa, 0x3, 0x3a) setsockopt$MRT6_DEL_MIF(r5, 0x29, 0xc8, 0x0, 0xc000000) setsockopt$MRT6_DONE(r5, 0x29, 0xd1, 0x0, 0x0) r6 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) unlinkat(r6, &(0x7f0000000280)='./file0\x00', 0x200) r7 = dup(r0) r8 = bpf$BPF_LINK_CREATE_XDP(0x1c, &(0x7f0000000980)={r0, 0x0, 0x25, 0x3}, 0x10) io_submit(0x0, 0xa, &(0x7f0000000bc0)=[&(0x7f00000001c0)={0x0, 0x0, 0x0, 0x8, 0x1f, 0xffffffffffffffff, &(0x7f0000000180)="f17ce5451727ee926120d4b68efeedd079c2b09b573f7afc4e92bfda5add7524ea9d7a94f1c3d7b24e5a2855bd735e", 0x2f, 0xe39, 0x0, 0x2}, &(0x7f0000000200)={0x0, 0x0, 0x0, 0x1, 0x7, r1, &(0x7f0000000300)="b56151d92880f9ae12b512bf575d7249c5df07f2482906599113bd2caf67261600b032f9409947e7ec889a957aa1e55ebc02f1b38196a079a8538dd47307f374b51b58dd6549a8bbc40ed9", 0x4b, 0x3ff, 0x0, 0x1}, &(0x7f00000003c0)={0x0, 0x0, 0x0, 0x5, 0x3, r0, &(0x7f0000000380)="9677ee54981980d1239fa2a8dfb2bcf4e791114b12ca5285bff9520fc31dc681c7c976996214c7e8135afd6a98f8ebffb52eaa339f7f1a6dd6a1d471433706", 0x3f, 0x89c0, 0x0, 0x0, r0}, &(0x7f0000000480)={0x0, 0x0, 0x0, 0x2, 0x4, r0, &(0x7f0000000400)="865be8fd423254fe9fa973b1c2198d45846ad1384a31f8f6bf411854cb956e16410cb63286813fbfce42b9", 0x2b, 0xddc2, 0x0, 0x2, r2}, &(0x7f0000000740)={0x0, 0x0, 0x0, 0x6, 0x1000, r3, &(0x7f0000000600)="75a873544aaba4ff39705702b7f496b6d0ef11f997367e030940b7b3f92197cf565b0048aaab75323c4b9ce80fbe56c144548a3d23b685b41da2bb64cd5690a96429f47eea68be6aedc22ef095c1f75f5b613704ef8d99284e3f1c6b4fa544f09c8c5e6399f15255e23ab3665983e9227c213e080b025fca36a8f0c682e47f0fdc7722d27e3bbcccede0542c8e446768adbbb477d1d8c5c3031b4c6123d31c7bd1a704750e0c3e09661c0c9326a9ca3ebaf6cae6a64465ceb829fbd2370f3375f0377764f21fa2e1acda6a7229", 0xcd, 0x5, 0x0, 0x2, r4}, &(0x7f0000000840)={0x0, 0x0, 0x0, 0x1, 0xff, r5, &(0x7f0000000780)="ccfc27695ad5d04437f4836ba1e3a13ca5715d3e91ca246f5d60da334a6cfb7afcb5d69168939d9c08af7886c338ae43cdd94074949c266a556b7d5ea2bce766e62bea08b25896e7dc56b7b4b269e510f657c57a62ade7bb5f49b7bce42c790230343286d0d5e7b32b823a3b21303f83c7902f9972d50291803a654e7cc1abeee4ab5e6732d1ecb8e7f9cb75a5f4", 0x8e, 0xff}, &(0x7f00000008c0)={0x0, 0x0, 0x0, 0x8, 0x5, r0, &(0x7f0000000880), 0x0, 0xaccb, 0x0, 0x3, r6}, &(0x7f0000000940)={0x0, 0x0, 0x0, 0xe, 0xfff, r0, &(0x7f0000000900)="43298f8d32dc9eb6f201a67ff4f1739ba90d384d71ea5b840a", 0x19, 0x8, 0x0, 0x0, r7}, &(0x7f0000000a80)={0x0, 0x0, 0x0, 0x8, 0x6, r8, &(0x7f00000009c0)="2ffb3bfcde7f50882834082e2e4d6fea29852605b40c5f20bfb3254c5be479aeb509ee3491765e165ea1d61895dbcc7a3486f76503899cf4782708d170d1fbecc81790dc9eaf86e2aa198a656519a739e55d71451524af2d8eaeb37d97f2f0e2daa0f020df6b33841ce1d2e21d9cb5d018df9b24d2cd236f5a334512147a06790691be99ca742e8c665230cc67ffe6a0e5f8defbbf821ae07c74", 0x9a, 0x5, 0x0, 0x3}, &(0x7f0000000b80)={0x0, 0x0, 0x0, 0x7, 0x3f, r0, &(0x7f0000000ac0)="e7e066a081bc2a0a3cb14226582544ef8416e2a96492a018fbf8bff5d990a9282d3ee64833bd9a7eb301fdc152a0080d9af76eaa0f12b2ae6f9a7d47648409abca20d515497f13ea46afa88971d6063c7e0df40eb1ab2cb8e602cf7831329951bac94fe540467fe04f5e3960fdd6befbcd0e1353b94d14d59b6f3e0d96afc3fb3ffbf054a5f210c615a9d4d1b1551bcb1409132b70533be0ca05a347f14c32670afc4fe8484703205debe6a3ba15", 0xae, 0x1}]) syz_mount_image$erofs(&(0x7f0000000140), &(0x7f0000000100)='./file0\x00', 0x1027, 0x3, &(0x7f0000000280)=[{&(0x7f00000004c0)="a8303fe7901ad20451c7d551ec7a373fcb1b067a572745623d8200d60292890bd969a6f0295783514e5efc8daa95bd91230fdfaad402481064625f1ff8108a0935aa4034125daad0f98572d598e2240463ad3402e35773dda3b1c3675c0d5f29be0066a2bc1f372651a59a9388eecf988dbb74d1e1a3fdd731044710a04ab485437e912969432775dcf080c2d22e6de15efd559bbabdd2afb1f757f1126f36febf6610a98cee160cdf489b1ca2ecb4f2237317df80f3591913a2784a3a358c2169e42332b17559d24e00fed404bd255479afddf692107d872f4b03b1c10a57e695c6081372cc0ef8cbbed9b9316465a51dc73c613feca782e891339f672fa236ef3f9679ad47de4f72169a70da817c4c7b558ae034dd98ba492160d9d7fef5", 0x11f, 0x2}, {&(0x7f00000000c0)="e2e1f5e09521e93c020000000c0024", 0xf, 0x400}, {&(0x7f0000000240)="0300453195449fb8542140121e5a355aa024a39e33462666831f435ce896e7c2251833b9c90b902f299fe9", 0x2b, 0x480}], 0x0, &(0x7f0000000180)=ANY=[], 0x0) listxattr(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) (async) unlinkat(r0, &(0x7f0000000280)='./file0\x00', 0x200) (async) write$smackfs_cipso(r0, &(0x7f0000000c40)=ANY=[@ANYBLOB="2b3a2d252f405c2030303030303030303030303030303030303035362030303030303030303030303030303030303030332030303030303030303030303030303030303032392030303030303030303030303030303030303038352030303030303030303030303030303030303136372000640d9cb04221f2b3b66f4825c24f46"], 0x72) (async) io_submit(0x0, 0x1, &(0x7f0000000280)=[&(0x7f0000000040)={0x0, 0x0, 0x0, 0x0, 0x0, 0xffffffffffffffff, 0x0}]) (async) dup3(0xffffffffffffffff, r0, 0x80000) (async) openat$ocfs2_control(0xffffffffffffff9c, &(0x7f0000000440), 0x600002, 0x0) (async) socket(0xa, 0x3, 0x3a) (async) setsockopt$MRT6_DEL_MIF(r3, 0x29, 0xc8, 0x0, 0xc000000) (async) setsockopt$MRT6_DONE(r3, 0x29, 0xd1, 0x0, 0x0) (async) ioctl$AUTOFS_DEV_IOCTL_PROTOSUBVER(r0, 0xc0189373, &(0x7f0000000700)={{0x1, 0x1, 0x18, r0, {0x3}}, './file0\x00'}) (async) socket(0xa, 0x3, 0x3a) (async) setsockopt$MRT6_DEL_MIF(r5, 0x29, 0xc8, 0x0, 0xc000000) (async) setsockopt$MRT6_DONE(r5, 0x29, 0xd1, 0x0, 0x0) (async) openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) (async) unlinkat(r6, &(0x7f0000000280)='./file0\x00', 0x200) (async) dup(r0) (async) bpf$BPF_LINK_CREATE_XDP(0x1c, &(0x7f0000000980)={r0, 0x0, 0x25, 0x3}, 0x10) (async) io_submit(0x0, 0xa, &(0x7f0000000bc0)=[&(0x7f00000001c0)={0x0, 0x0, 0x0, 0x8, 0x1f, 0xffffffffffffffff, &(0x7f0000000180)="f17ce5451727ee926120d4b68efeedd079c2b09b573f7afc4e92bfda5add7524ea9d7a94f1c3d7b24e5a2855bd735e", 0x2f, 0xe39, 0x0, 0x2}, &(0x7f0000000200)={0x0, 0x0, 0x0, 0x1, 0x7, r1, &(0x7f0000000300)="b56151d92880f9ae12b512bf575d7249c5df07f2482906599113bd2caf67261600b032f9409947e7ec889a957aa1e55ebc02f1b38196a079a8538dd47307f374b51b58dd6549a8bbc40ed9", 0x4b, 0x3ff, 0x0, 0x1}, &(0x7f00000003c0)={0x0, 0x0, 0x0, 0x5, 0x3, r0, &(0x7f0000000380)="9677ee54981980d1239fa2a8dfb2bcf4e791114b12ca5285bff9520fc31dc681c7c976996214c7e8135afd6a98f8ebffb52eaa339f7f1a6dd6a1d471433706", 0x3f, 0x89c0, 0x0, 0x0, r0}, &(0x7f0000000480)={0x0, 0x0, 0x0, 0x2, 0x4, r0, &(0x7f0000000400)="865be8fd423254fe9fa973b1c2198d45846ad1384a31f8f6bf411854cb956e16410cb63286813fbfce42b9", 0x2b, 0xddc2, 0x0, 0x2, r2}, &(0x7f0000000740)={0x0, 0x0, 0x0, 0x6, 0x1000, r3, &(0x7f0000000600)="75a873544aaba4ff39705702b7f496b6d0ef11f997367e030940b7b3f92197cf565b0048aaab75323c4b9ce80fbe56c144548a3d23b685b41da2bb64cd5690a96429f47eea68be6aedc22ef095c1f75f5b613704ef8d99284e3f1c6b4fa544f09c8c5e6399f15255e23ab3665983e9227c213e080b025fca36a8f0c682e47f0fdc7722d27e3bbcccede0542c8e446768adbbb477d1d8c5c3031b4c6123d31c7bd1a704750e0c3e09661c0c9326a9ca3ebaf6cae6a64465ceb829fbd2370f3375f0377764f21fa2e1acda6a7229", 0xcd, 0x5, 0x0, 0x2, r4}, &(0x7f0000000840)={0x0, 0x0, 0x0, 0x1, 0xff, r5, &(0x7f0000000780)="ccfc27695ad5d04437f4836ba1e3a13ca5715d3e91ca246f5d60da334a6cfb7afcb5d69168939d9c08af7886c338ae43cdd94074949c266a556b7d5ea2bce766e62bea08b25896e7dc56b7b4b269e510f657c57a62ade7bb5f49b7bce42c790230343286d0d5e7b32b823a3b21303f83c7902f9972d50291803a654e7cc1abeee4ab5e6732d1ecb8e7f9cb75a5f4", 0x8e, 0xff}, &(0x7f00000008c0)={0x0, 0x0, 0x0, 0x8, 0x5, r0, &(0x7f0000000880), 0x0, 0xaccb, 0x0, 0x3, r6}, &(0x7f0000000940)={0x0, 0x0, 0x0, 0xe, 0xfff, r0, &(0x7f0000000900)="43298f8d32dc9eb6f201a67ff4f1739ba90d384d71ea5b840a", 0x19, 0x8, 0x0, 0x0, r7}, &(0x7f0000000a80)={0x0, 0x0, 0x0, 0x8, 0x6, r8, &(0x7f00000009c0)="2ffb3bfcde7f50882834082e2e4d6fea29852605b40c5f20bfb3254c5be479aeb509ee3491765e165ea1d61895dbcc7a3486f76503899cf4782708d170d1fbecc81790dc9eaf86e2aa198a656519a739e55d71451524af2d8eaeb37d97f2f0e2daa0f020df6b33841ce1d2e21d9cb5d018df9b24d2cd236f5a334512147a06790691be99ca742e8c665230cc67ffe6a0e5f8defbbf821ae07c74", 0x9a, 0x5, 0x0, 0x3}, &(0x7f0000000b80)={0x0, 0x0, 0x0, 0x7, 0x3f, r0, &(0x7f0000000ac0)="e7e066a081bc2a0a3cb14226582544ef8416e2a96492a018fbf8bff5d990a9282d3ee64833bd9a7eb301fdc152a0080d9af76eaa0f12b2ae6f9a7d47648409abca20d515497f13ea46afa88971d6063c7e0df40eb1ab2cb8e602cf7831329951bac94fe540467fe04f5e3960fdd6befbcd0e1353b94d14d59b6f3e0d96afc3fb3ffbf054a5f210c615a9d4d1b1551bcb1409132b70533be0ca05a347f14c32670afc4fe8484703205debe6a3ba15", 0xae, 0x1}]) (async) syz_mount_image$erofs(&(0x7f0000000140), &(0x7f0000000100)='./file0\x00', 0x1027, 0x3, &(0x7f0000000280)=[{&(0x7f00000004c0)="a8303fe7901ad20451c7d551ec7a373fcb1b067a572745623d8200d60292890bd969a6f0295783514e5efc8daa95bd91230fdfaad402481064625f1ff8108a0935aa4034125daad0f98572d598e2240463ad3402e35773dda3b1c3675c0d5f29be0066a2bc1f372651a59a9388eecf988dbb74d1e1a3fdd731044710a04ab485437e912969432775dcf080c2d22e6de15efd559bbabdd2afb1f757f1126f36febf6610a98cee160cdf489b1ca2ecb4f2237317df80f3591913a2784a3a358c2169e42332b17559d24e00fed404bd255479afddf692107d872f4b03b1c10a57e695c6081372cc0ef8cbbed9b9316465a51dc73c613feca782e891339f672fa236ef3f9679ad47de4f72169a70da817c4c7b558ae034dd98ba492160d9d7fef5", 0x11f, 0x2}, {&(0x7f00000000c0)="e2e1f5e09521e93c020000000c0024", 0xf, 0x400}, {&(0x7f0000000240)="0300453195449fb8542140121e5a355aa024a39e33462666831f435ce896e7c2251833b9c90b902f299fe9", 0x2b, 0x480}], 0x0, &(0x7f0000000180)=ANY=[], 0x0) (async) listxattr(&(0x7f0000000080)='./file0\x00', 0x0, 0x0) (async) 00:33:41 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xfeffffff}], 0x492492492492805, 0x0) [ 2021.677877][T13884] loop2: detected capacity change from 0 to 8 [ 2021.683663][T13884] erofs: Unknown parameter 'ñ|åE'î’a Ô¶ŽþíÐy°›W?züN’¿ÚZÝu$êz”ñÃײNZ(U½s^' 00:33:42 executing program 2: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) sendmsg$IPSET_CMD_LIST(r2, &(0x7f00000005c0)={0x0, 0x0, &(0x7f0000000580)={0x0, 0x14}}, 0x0) getsockname$packet(r2, &(0x7f0000000380)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000003c0)=ANY=[@ANYBLOB="48000000100000000000000000000000000000003b65b9fdcafe21f8837556850a3fca82ff10df4137601f53e706de1d4774bf27ae57d7a2614f55a23e1eadcb1596c48d711cf8f679b22f1e51452d531fe313811c309a6630521aa337e3b87bdaa154fe97c21be112faa184b580781b97795d3f21a3c2cf00461572b5bd2c2d6f3e36bc4d74bd2f7fb37403a21fc861f43b1de91c8d1e5b1ffeaf5d0cd3d6162d26c6bac1be0cf56e01e4db8b06f46e6ce08186518feb695a043a3060a7da6cf6592aed2e516e6544054e274ed28c69f239ab761f9aa152348275eefc5362411c9f0bef15fa", @ANYRES32=r3, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000300)=@newqdisc={0x38, 0x24, 0xf15, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_pfifo={{0xa}, {0x4}}]}, 0x38}}, 0x0) 00:33:42 executing program 1: r0 = socket$nl_route(0x10, 0x3, 0x0) r1 = socket$nl_generic(0x10, 0x3, 0x10) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f00000003c0)={'netdevsim0\x00', 0x0}) r3 = gettid() sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000080)={&(0x7f00000000c0)=@newlink={0x2c, 0x10, 0x801, 0x0, 0x0, {0x0, 0x0, 0x0, r2}, [@IFLA_VFINFO_LIST={0x4}, @IFLA_NET_NS_PID={0x8, 0x13, r3}]}, 0x2c}}, 0x0) socket$nl_route(0x10, 0x3, 0x0) (async) socket$nl_generic(0x10, 0x3, 0x10) (async) ioctl$sock_SIOCGIFINDEX(r1, 0x8933, &(0x7f00000003c0)={'netdevsim0\x00'}) (async) gettid() (async) sendmsg$nl_route(r0, &(0x7f0000000140)={0x0, 0x0, &(0x7f0000000080)={&(0x7f00000000c0)=@newlink={0x2c, 0x10, 0x801, 0x0, 0x0, {0x0, 0x0, 0x0, r2}, [@IFLA_VFINFO_LIST={0x4}, @IFLA_NET_NS_PID={0x8, 0x13, r3}]}, 0x2c}}, 0x0) (async) 00:33:42 executing program 0: r0 = openat$sw_sync(0xffffffffffffff9c, &(0x7f000000a6c0), 0x0, 0x0) (async) open_tree(0xffffffffffffffff, &(0x7f0000000000)='./file0\x00', 0x0) (async) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) unlinkat(r1, &(0x7f0000000280)='./file0\x00', 0x200) ioctl$SW_SYNC_IOC_CREATE_FENCE(r0, 0xc0285700, &(0x7f0000000040)={0x8, "03519a66fb431141c3a3706e831fe4c5f49184ccd7dc8978e2997322dbc1c97a"}) openat$sw_sync(0xffffffffffffff9c, &(0x7f00000000c0), 0xc0001, 0x0) r2 = openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) read$FUSE(r2, &(0x7f0000000100)={0x2020}, 0x2020) 00:33:42 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xff000000}], 0x492492492492805, 0x0) [ 2022.143604][T13905] __nla_validate_parse: 16 callbacks suppressed [ 2022.143615][T13905] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.2'. 00:33:42 executing program 1: r0 = socket$netlink(0x10, 0x3, 0x0) sendmsg$netlink(r0, &(0x7f0000002f40)={0x0, 0x0, &(0x7f0000002ec0)=[{&(0x7f00000015c0)={0x24, 0x66, 0x5ad, 0x0, 0x0, "", [@typed={0x8, 0x0, 0x0, 0x0, @pid=0xffffffffffffffff}, @generic="2e3efdf17e2090fa7e"]}, 0x24}], 0x1}, 0x0) sendmsg$NL80211_CMD_ASSOCIATE(r0, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x2020000}, 0xc, &(0x7f0000000100)={&(0x7f0000000080)={0x38, 0x0, 0x10, 0x70bd2a, 0x25dfdbfe, {{}, {@val={0x8}, @val={0xc, 0x99, {0xffffffff, 0x66}}}}, [@NL80211_ATTR_VHT_CAPABILITY_MASK={0x10, 0xb0, {0x8, {0x1000, 0x9, 0x1f, 0x64e6}}}]}, 0x38}, 0x1, 0x0, 0x0, 0x40000}, 0x40000) r1 = socket$inet_udp(0x2, 0x2, 0x0) fgetxattr(r1, &(0x7f0000000040)=@known='trusted.overlay.nlink\x00', &(0x7f0000000180)=""/137, 0x89) ioctl$sock_ifreq(r1, 0x8914, &(0x7f00000000c0)={'ipvlan1\x00', @ifru_hwaddr=@multicast}) 00:33:42 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xff030000}], 0x492492492492805, 0x0) [ 2022.196955][T13919] device ipvlan1 entered promiscuous mode 00:33:42 executing program 0: r0 = openat$sw_sync(0xffffffffffffff9c, &(0x7f000000a6c0), 0x0, 0x0) r1 = openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) read$FUSE(r1, &(0x7f0000000100)={0x2020}, 0x2020) r2 = socket(0xa, 0x3, 0x3a) setsockopt$MRT6_DEL_MIF(r2, 0x29, 0xc8, 0x0, 0xc000000) setsockopt$MRT6_DONE(r2, 0x29, 0xd1, 0x0, 0x0) bind$bt_rfcomm(r2, &(0x7f0000000000)={0x1f, @none, 0x8}, 0xa) ioctl$BTRFS_IOC_SNAP_CREATE(r0, 0x50009401, &(0x7f0000002140)={{r0}, "e4a075530f54a396e76e5a58dcb297768dfe5c401fd249c8f3486ef157b42d664e2909c1101790f36b1265253da6be12d36276733f4dd15720775a73b7ebb10ef098fa0a6b138fd84bdcb5cdf12b91932b9f3be7d29693576426de054291edd283ed4e1cd1da5b6a4ccb52b8640aa0df26b85884a5554408f7cbd3531d6a157605c1cb0aeeb527f1e7647d6c8a90ffb64004801399683e63ff2f6f033ec9aa583e5d55e94b3a681ab9ad84ec4c0c6ef4a127f870adced277c9a5d3fc186463c36aaed9dd73f46468b639110c3c5660d7a90b1626f541e77b12068e01c5ef3468c9286018dfbebabdb888de4dad63d90f547cb2e105633d933b810f71a4f0d015d3b48d31ca0a980a2bbfac75db768b8740017a70f06e2e7e581a831d9d383edf49af1af1bf6973077ba3d5f181da7cbd059bb85efd31ceda68c2f5b91448d56067a64479db20a99d6cb49542fdd124a0af5f517e62319411521d2d0d63c7668b373af90b9dd47c2f78c34f69c14f85a935937ca252eac968be8bd4fd9c0f61305315b4290d68203d92621d5462a8fb0194865242fb91aae92d3acdfb3d803ccebf91688b2358ff0a026a31c09dc697793d2fdb9aaa2f6b9fe14ace7df2a3aef5c5b3c96f4e422846f1730df0672e373c4d308a8e12c37941ea10caa80e96599b2b9f1dc4ef3ef74f5624c22fb866cf91b26d4639728b8e7de3f4bdeda40118aba77a0ec4674eead805833996022ae6b3dd93f9e8122e8beef9d686a9c582edffc6a5dadda196ba034cc9f7c0f79e8a3db1e6137889b23b56a05cb93fb5984692aaf5d356b1ed266b3d96785574740d68bb4b49691fc400f388f7cb4f4a7348094025b261d306c77b80ac7609c0fa3df489937a19dee69d7077e7b5a61defb5d4d33f558dbae2de357b23b111a35a213593ca89f476debf41b5edd5d44014b6ec9a8e90be568b6af5c6e207bf26cf14686efb793b21b6af6331e07074518b981b678c4cad750599b76a330332879383d5ad1e386ec4934a1f12c4c62b5a7ca53dfe183a79433ab461a6677d55380e4c999facb2b62d2ea1f67fc62701f863be0eee08569173dba6482a67e00af912f6b9d3a0ebbb9239c6b47ed97f51fb65ed5162b7706ddc779741270ae3c2ff2659960bddccd01e8811cd09dbcabdaf2c06546511fff2364370f3df7eaa66a28fa89a0e5dd6d8b9ef8061ec4c081c454489e01c497d1374b8ce2bb2346ca6c5d6fb890aba96a3d001841f9603ca1342ffda86a3a3853a8251ed18144cd8368199adbb708c9e53be89bc46f771ddc65a79bb89dcd74364141f7c2cf54b2fd3a664b4664bec0df3f0ea9dbc13f3f06b868d5a4ba26807160f9ee52827804932c3d735ceafe32f9e973e6e58433e319f42e9c4d7eb624745d7e5d1dc822f1829d4567e39c3515b360aed23e29c7362bbd575dd0c2b0837d50f2c38a461b086c5c790ddfc3ecaa201c1de7a8792f8e4d3aea807bb6d9c0f39fdbb80b7288bc9e67f32a23b81ec45833156b88152f1b2f25958c1853528a1bb0e15d868f1cc0a83237fbeb8c1ab4a717ec5c153e89d6c4f67bb3a50151d213d27a4c786e526e30a462cf7677315319042ffa6c70138dd3229b2d6c22fe598373a8a04d1e98ec3c2b1cc3c8b6db71b0eecbda88d75cd8b8ecec72c58b043e24f41e5f4fadd70c6513a67e277d52541632815130423c09a7947ee6df58cfe4de0f9b7651d6989fdb165c381e4df1d81e5fdad0f5c10dc27672179ac090d0471ea807674e97cf550d5fa641f57a17457be24972686c95803583e8b4218c8530fb1c175e3eac5a432898aeadd4b08a443598cbf906984d125d8515fab44898a7718075b96e4bb962a6c66317eb5d9a50bd4cd48da927befb724622570a054bc6588bde5b85ee9d046eb00a6f16131e7dfcee9b00c572e18cd03e7e28dadc0183dbe4d250debbbc8a766615d740ef000d8b477ed58455f6478de6f347e591ee4820e07d940ced2e4fbdc588348e19ffbb5b6bf4b580dacb44b73efb721a29d6daa52525cb1870c1f342e1d77613bb5871c9b3ec147e147e58c0c95c348fec05239b51bf740c53890676050427778b022a11de27ed7fc20339c3fb0404a248764570437eac524a9e813a801ce341d95ab5830733dbc6b5a59bbab4eb6edfb2fe5d96cdda1c31bd1f92baabdf3f28e04d647ff9c5e31f6deb50fb917e53580b310bb53f871e7b7eace03e9b0862d5a27b8280f5675b3da23ec356d552a08691721ebe2b99e245dc294198b7be15e33f1b0f27076e1c854d24c8b1c60ddb31d6969bdeefb22546d08b5de9493c4dfcb77631afe9dc7aca0e39f9c550e6919e1abff39d66ff7a581d1294bf8111170ff456467b365bf5b93c084d754351a087e0a41b6c3cc97b449dab7376ff3ae6fe34ee8df281713b09924786f9be958c77658d7c5433f06482c072bf0d3388d2abb14f2e27bb4c2bf42fd15c390132604a65d4859dca8e650c08ae4f64d0cedcbb8dca37344c2e0783af23577e16f2d26e56077fa991567389adb20abf513302dc22070480181f1a5e7dc6b7273982ae87e8c52b740b7027c9a80db67757d98c9159e35f6b80007cef894113525625c8f3b5f99a3a985cb5f30cf74c130d17482aade6fdf1079e024eeb5c6ec5717bef927870161b3e559cb8df805d616073e29bcc2adc249ad8b8bd83e2d8e2ff43f086856ef7b215933ac67360e0c02878d1ff386b6d4071e4a8a2071884dae1d81b2c4bcabed24991d1e4563076fd7fb277b3a65e910a074d8efe262a7ba1f52805b30fc8ca62c4d25ff6b62cbded0f95e66b777308b3c30984ca7917f095f08b7e649a09701e955f5909127f8f21b135c07a4a113ff192800f4fc74d658e6052d90692586f5c5a17467855a26639459d168dc6c7c13395b5d49807f682d41b95b2fee155a2664f9c1b6de7843ccc3b510a399a12e709abe8ffe9dce1d1a17b5c7bd5179f6392da3c52c77e0a7ba36f4977925e6b8c916e74236b98a8a2010e6be70b18fb7dbbdb13dfcf5e7e170a94a094cfefece01fe121650aa4307beedfc3cbeddcc7d00bbba954275a742163eb6229a30217efed2970d0ed0546c7b612d90f6371471998ea543a74db58a14c98f7bb5a374ae1b63056172f191ee23d0b5ae44e5a423d80bc2c845f798403c4ee4314cd393168a43f3fac5e30bff21ed3a133f12b7b107fa34d51a1dd1dd771b7178b72cad074b66a9b1885116fe4d27351cda12e558d7cbb1dc49ceb4ac454b947510de5104af0dd9510e8cfec9c14dec2048c0b331c0533fa38a50ab6f3c66cee31743e1f7d5da26b804b3f33bd4dfe9bab701e1fa0a18800e4f8982c56b2605818099f4ec3afb0d1cff1eac57892a641b7cda9ce151df7e1fdc12da357f344114819122d8b95cae5724d8615a5409d43387d950b50fb8008fb1d185aa7d3b85c6525d13c23601c3898dd787dc68799b455dfac9c428849df63ddd45159d4cd6af3ad5a6f382136eca315c13a1e22b8789a33da4d66101bdd1ef6af667052b0edf6a0693666c85964ea184252670308eec9aa3c30f38e477a062fcf11702a97a5906c6c98bb82544bff68ba61f8b949d233d73d89a2be584c8f6eb5885d5484eb15640fbf5f84ba3a0bfac766fcc98ccefa50c6af731fc32d8bd7058dd9abbab53d7bff13e6ef0eb8b4b1cd0b5cf441db42db7dbe2e12bcfb74a2bace557e73bf15f5914e0143218750bc45fdaab705495eaa620eab2dc6f75a25a4410ece2fbccf7e857af1aad3cc79f5c7b07763990700396eb493cb21e64359c1c2d1d0a1978cd2908c04fce47fe2c80eea0c232034317cb534cf0dac6ef006e7e41135c10156a44b293db0fc6d4b0c8676626840b4761ca8c81b033506bc0183e834b2d34d387a10ca6d574180d7b3272b4540168cdbc37849421271bd8c448c63c652653291dbb21c1e2cff18570b6696d792f3971901a3862195d68eb0cab15bbe81b1053c7b221f4fe3147f6b987d97c568bf79297fa63d301bb13e99757edb2beb0c919c33923f53b24f7f8bbc87079cad4ceeb658e70f838a3c606a91cf948d041bdd4e1dabf26498adc58086029fa0d8d04150344b1ecacc50f6244c071a5253fe565733babcff78b2d7d01a023065ed802448dab1a17025a50c6184bccb76e441ca7b4e48ec123636b221829d7f10d06c5d079ae2413d9d0dc9787ae4559c7c7b383dc0cb88d48fdf7c60dadc6086b77788cf0072504725a2fa3e78bfde79a67988cd884a245dd5e8b74442172928d2060bcadd8561b5ed503c9df00dceff0dac7ba2ad0f9bb95e4b0a8b04b252fb5006cb023e78049467fc52f63b6cc07ba50df7446360eba7587279a481f4df7e76fa4b3906c8983f5bb023661afefdea7646b62992b61cf599709b46dbc7e5de34c9d63bc86495bdab3c45af5addf7222452ed5b12e19291e7d62bd91503b85dd6e65fb47b975ea0bce53d24360e6ff435b3e5a56fe3aaa375065ce0fba2f3d3df22f8a71de33dccc2a64ebee597ebdc20a2cda037fe98908eee69ce3e8009cfc8bf9495f8fc76fecf31bb54dc40f2ed948f724298e8f3846f246e85ce789f0c91b5c9d2afdf66a69b8739a2152beb2eb67446f7547b740b1af21ceff629373202ad79b23c3cddff7fbc3c011604f909da6982de6b599a6eaa6d33049cda19e21f31ddf857d1ce9965cd4b1172e8d388bc616d7f5d67a5c590d5475f7cb1cf28bc597403ed2b8beeec5f3e7b286a399251b422c559d125ef70dc97d68d36443e00f3228991dbf83f77470cdfd34f8e3843775ba1fde482b2acc3935105e1b59a15cb6bfefea91328687686e68a70b23a0edc12cae68ad731c52c40c5a1ddd3c8a3aeed655b9d23b664b39fd25fc6dedee060bf3c495d46f01c32220b35ed3489290f592687478222ccef58fb8dc30d1ddba5fdb241eb510fac94c241576be1cbcdd5efa69db7a3bfe55558aa8cd8daf30ae80d0d8d5cceef69736743a44581c8bedabd21b8f5fba9a0276391acb1a01b83dd28b80b185f143621edbe9e9525c96627712dc0ac87276c63e5bdf8f266966d577faeb3d0b65e78d23e15fdd37f9b0035206df1adaedb688b03c00f5b3b65923526fc5e118951d793a3709251930b986d8ef05abb97133fad7a87e45c2551ea7c95cf892d85468a71d20192263aee4f0e899a29f278eabf0fc9debdd65d5a981d0fdf6fda406baae21b08db69ff29245a1529937eba32e1e8925bc4afc84a1f69d8701b6892bd36fffa7baa45a513a8b6ac7790df0af22c61d18cd93d1f68ec066a7c1829d979f8e8c87e0f4620d3f43b6a6949909c1de4d9c8f85fc760278fa37b4f9a385b28c63236445d80bcaa16039f2af0cb298195a8325ceb8011a26b8c8af52051967a9809e59221a67178cb287321b472071e45f186ba0f9182ba58e86a1a16c420e64bdaf9a436880f084c272a2f7e2a8751e5a2744331d902260f573c74e965a8b9dd857b09e9369d4e131bf763392c01091e0394b9859b5b6d752b4bea49e52a318072b21751fe4e4493b864eda157c6fb13c59344fa65aef74fac8dd6f1dfc819cff65f46807d0f09b40c10ed0aebc92ccad96d437304fc40ed572f6efac96e3b0f89bf2f9218ddc93d31e36a4c03a80a0433dfddbb287de89af4689a5c2381b7b5cfc2e76e9ed73524580559152b5241e08fcf52eec1802fb0170640f420d2514a35af6ad6239013c66d18c6ecbdfebfdc5614960b3c6f9d1ac53fd88837bb35c3c7a3784a1"}) 00:33:42 executing program 2: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) sendmsg$IPSET_CMD_LIST(r2, &(0x7f00000005c0)={0x0, 0x0, &(0x7f0000000580)={0x0, 0x14}}, 0x0) getsockname$packet(r2, &(0x7f0000000380)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000003c0)=ANY=[@ANYBLOB="48000000100000000000000000000000000000003b65b9fdcafe21f8837556850a3fca82ff10df4137601f53e706de1d4774bf27ae57d7a2614f55a23e1eadcb1596c48d711cf8f679b22f1e51452d531fe313811c309a6630521aa337e3b87bdaa154fe97c21be112faa184b580781b97795d3f21a3c2cf00461572b5bd2c2d6f3e36bc4d74bd2f7fb37403a21fc861f43b1de91c8d1e5b1ffeaf5d0cd3d6162d26c6bac1be0cf56e01e4db8b06f46e6ce08186518feb695a043a3060a7da6cf6592aed2e516e6544054e274ed28c69f239ab761f9aa152348275eefc5362411c9f0bef15fa", @ANYRES32=r3, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) sendmsg$nl_route_sched(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000300)=@newqdisc={0x38, 0x24, 0xf15, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_pfifo={{0xa}, {0x4}}]}, 0x38}}, 0x0) socket$netlink(0x10, 0x3, 0x0) (async) socket$netlink(0x10, 0x3, 0x0) (async) socket(0x10, 0x803, 0x0) (async) sendmsg$IPSET_CMD_LIST(r2, &(0x7f00000005c0)={0x0, 0x0, &(0x7f0000000580)={0x0, 0x14}}, 0x0) (async) getsockname$packet(r2, &(0x7f0000000380)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) (async) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000003c0)=ANY=[@ANYBLOB="48000000100000000000000000000000000000003b65b9fdcafe21f8837556850a3fca82ff10df4137601f53e706de1d4774bf27ae57d7a2614f55a23e1eadcb1596c48d711cf8f679b22f1e51452d531fe313811c309a6630521aa337e3b87bdaa154fe97c21be112faa184b580781b97795d3f21a3c2cf00461572b5bd2c2d6f3e36bc4d74bd2f7fb37403a21fc861f43b1de91c8d1e5b1ffeaf5d0cd3d6162d26c6bac1be0cf56e01e4db8b06f46e6ce08186518feb695a043a3060a7da6cf6592aed2e516e6544054e274ed28c69f239ab761f9aa152348275eefc5362411c9f0bef15fa", @ANYRES32=r3, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) (async) sendmsg$nl_route_sched(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000300)=@newqdisc={0x38, 0x24, 0xf15, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_pfifo={{0xa}, {0x4}}]}, 0x38}}, 0x0) (async) 00:33:42 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xff0f0000}], 0x492492492492805, 0x0) [ 2022.239003][T13925] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.2'. 00:33:42 executing program 1: r0 = socket$netlink(0x10, 0x3, 0x0) sendmsg$netlink(r0, &(0x7f0000002f40)={0x0, 0x0, &(0x7f0000002ec0)=[{&(0x7f00000015c0)={0x24, 0x66, 0x5ad, 0x0, 0x0, "", [@typed={0x8, 0x0, 0x0, 0x0, @pid=0xffffffffffffffff}, @generic="2e3efdf17e2090fa7e"]}, 0x24}], 0x1}, 0x0) sendmsg$NL80211_CMD_ASSOCIATE(r0, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x2020000}, 0xc, &(0x7f0000000100)={&(0x7f0000000080)={0x38, 0x0, 0x10, 0x70bd2a, 0x25dfdbfe, {{}, {@val={0x8}, @val={0xc, 0x99, {0xffffffff, 0x66}}}}, [@NL80211_ATTR_VHT_CAPABILITY_MASK={0x10, 0xb0, {0x8, {0x1000, 0x9, 0x1f, 0x64e6}}}]}, 0x38}, 0x1, 0x0, 0x0, 0x40000}, 0x40000) (async, rerun: 64) r1 = socket$inet_udp(0x2, 0x2, 0x0) (rerun: 64) fgetxattr(r1, &(0x7f0000000040)=@known='trusted.overlay.nlink\x00', &(0x7f0000000180)=""/137, 0x89) (async) ioctl$sock_ifreq(r1, 0x8914, &(0x7f00000000c0)={'ipvlan1\x00', @ifru_hwaddr=@multicast}) 00:33:42 executing program 0: r0 = openat$sw_sync(0xffffffffffffff9c, &(0x7f000000a6c0), 0x0, 0x0) r1 = openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) read$FUSE(r1, &(0x7f0000000100)={0x2020}, 0x2020) r2 = socket(0xa, 0x3, 0x3a) setsockopt$MRT6_DEL_MIF(r2, 0x29, 0xc8, 0x0, 0xc000000) (async) setsockopt$MRT6_DONE(r2, 0x29, 0xd1, 0x0, 0x0) (async) bind$bt_rfcomm(r2, &(0x7f0000000000)={0x1f, @none, 0x8}, 0xa) (async) ioctl$BTRFS_IOC_SNAP_CREATE(r0, 0x50009401, &(0x7f0000002140)={{r0}, "e4a075530f54a396e76e5a58dcb297768dfe5c401fd249c8f3486ef157b42d664e2909c1101790f36b1265253da6be12d36276733f4dd15720775a73b7ebb10ef098fa0a6b138fd84bdcb5cdf12b91932b9f3be7d29693576426de054291edd283ed4e1cd1da5b6a4ccb52b8640aa0df26b85884a5554408f7cbd3531d6a157605c1cb0aeeb527f1e7647d6c8a90ffb64004801399683e63ff2f6f033ec9aa583e5d55e94b3a681ab9ad84ec4c0c6ef4a127f870adced277c9a5d3fc186463c36aaed9dd73f46468b639110c3c5660d7a90b1626f541e77b12068e01c5ef3468c9286018dfbebabdb888de4dad63d90f547cb2e105633d933b810f71a4f0d015d3b48d31ca0a980a2bbfac75db768b8740017a70f06e2e7e581a831d9d383edf49af1af1bf6973077ba3d5f181da7cbd059bb85efd31ceda68c2f5b91448d56067a64479db20a99d6cb49542fdd124a0af5f517e62319411521d2d0d63c7668b373af90b9dd47c2f78c34f69c14f85a935937ca252eac968be8bd4fd9c0f61305315b4290d68203d92621d5462a8fb0194865242fb91aae92d3acdfb3d803ccebf91688b2358ff0a026a31c09dc697793d2fdb9aaa2f6b9fe14ace7df2a3aef5c5b3c96f4e422846f1730df0672e373c4d308a8e12c37941ea10caa80e96599b2b9f1dc4ef3ef74f5624c22fb866cf91b26d4639728b8e7de3f4bdeda40118aba77a0ec4674eead805833996022ae6b3dd93f9e8122e8beef9d686a9c582edffc6a5dadda196ba034cc9f7c0f79e8a3db1e6137889b23b56a05cb93fb5984692aaf5d356b1ed266b3d96785574740d68bb4b49691fc400f388f7cb4f4a7348094025b261d306c77b80ac7609c0fa3df489937a19dee69d7077e7b5a61defb5d4d33f558dbae2de357b23b111a35a213593ca89f476debf41b5edd5d44014b6ec9a8e90be568b6af5c6e207bf26cf14686efb793b21b6af6331e07074518b981b678c4cad750599b76a330332879383d5ad1e386ec4934a1f12c4c62b5a7ca53dfe183a79433ab461a6677d55380e4c999facb2b62d2ea1f67fc62701f863be0eee08569173dba6482a67e00af912f6b9d3a0ebbb9239c6b47ed97f51fb65ed5162b7706ddc779741270ae3c2ff2659960bddccd01e8811cd09dbcabdaf2c06546511fff2364370f3df7eaa66a28fa89a0e5dd6d8b9ef8061ec4c081c454489e01c497d1374b8ce2bb2346ca6c5d6fb890aba96a3d001841f9603ca1342ffda86a3a3853a8251ed18144cd8368199adbb708c9e53be89bc46f771ddc65a79bb89dcd74364141f7c2cf54b2fd3a664b4664bec0df3f0ea9dbc13f3f06b868d5a4ba26807160f9ee52827804932c3d735ceafe32f9e973e6e58433e319f42e9c4d7eb624745d7e5d1dc822f1829d4567e39c3515b360aed23e29c7362bbd575dd0c2b0837d50f2c38a461b086c5c790ddfc3ecaa201c1de7a8792f8e4d3aea807bb6d9c0f39fdbb80b7288bc9e67f32a23b81ec45833156b88152f1b2f25958c1853528a1bb0e15d868f1cc0a83237fbeb8c1ab4a717ec5c153e89d6c4f67bb3a50151d213d27a4c786e526e30a462cf7677315319042ffa6c70138dd3229b2d6c22fe598373a8a04d1e98ec3c2b1cc3c8b6db71b0eecbda88d75cd8b8ecec72c58b043e24f41e5f4fadd70c6513a67e277d52541632815130423c09a7947ee6df58cfe4de0f9b7651d6989fdb165c381e4df1d81e5fdad0f5c10dc27672179ac090d0471ea807674e97cf550d5fa641f57a17457be24972686c95803583e8b4218c8530fb1c175e3eac5a432898aeadd4b08a443598cbf906984d125d8515fab44898a7718075b96e4bb962a6c66317eb5d9a50bd4cd48da927befb724622570a054bc6588bde5b85ee9d046eb00a6f16131e7dfcee9b00c572e18cd03e7e28dadc0183dbe4d250debbbc8a766615d740ef000d8b477ed58455f6478de6f347e591ee4820e07d940ced2e4fbdc588348e19ffbb5b6bf4b580dacb44b73efb721a29d6daa52525cb1870c1f342e1d77613bb5871c9b3ec147e147e58c0c95c348fec05239b51bf740c53890676050427778b022a11de27ed7fc20339c3fb0404a248764570437eac524a9e813a801ce341d95ab5830733dbc6b5a59bbab4eb6edfb2fe5d96cdda1c31bd1f92baabdf3f28e04d647ff9c5e31f6deb50fb917e53580b310bb53f871e7b7eace03e9b0862d5a27b8280f5675b3da23ec356d552a08691721ebe2b99e245dc294198b7be15e33f1b0f27076e1c854d24c8b1c60ddb31d6969bdeefb22546d08b5de9493c4dfcb77631afe9dc7aca0e39f9c550e6919e1abff39d66ff7a581d1294bf8111170ff456467b365bf5b93c084d754351a087e0a41b6c3cc97b449dab7376ff3ae6fe34ee8df281713b09924786f9be958c77658d7c5433f06482c072bf0d3388d2abb14f2e27bb4c2bf42fd15c390132604a65d4859dca8e650c08ae4f64d0cedcbb8dca37344c2e0783af23577e16f2d26e56077fa991567389adb20abf513302dc22070480181f1a5e7dc6b7273982ae87e8c52b740b7027c9a80db67757d98c9159e35f6b80007cef894113525625c8f3b5f99a3a985cb5f30cf74c130d17482aade6fdf1079e024eeb5c6ec5717bef927870161b3e559cb8df805d616073e29bcc2adc249ad8b8bd83e2d8e2ff43f086856ef7b215933ac67360e0c02878d1ff386b6d4071e4a8a2071884dae1d81b2c4bcabed24991d1e4563076fd7fb277b3a65e910a074d8efe262a7ba1f52805b30fc8ca62c4d25ff6b62cbded0f95e66b777308b3c30984ca7917f095f08b7e649a09701e955f5909127f8f21b135c07a4a113ff192800f4fc74d658e6052d90692586f5c5a17467855a26639459d168dc6c7c13395b5d49807f682d41b95b2fee155a2664f9c1b6de7843ccc3b510a399a12e709abe8ffe9dce1d1a17b5c7bd5179f6392da3c52c77e0a7ba36f4977925e6b8c916e74236b98a8a2010e6be70b18fb7dbbdb13dfcf5e7e170a94a094cfefece01fe121650aa4307beedfc3cbeddcc7d00bbba954275a742163eb6229a30217efed2970d0ed0546c7b612d90f6371471998ea543a74db58a14c98f7bb5a374ae1b63056172f191ee23d0b5ae44e5a423d80bc2c845f798403c4ee4314cd393168a43f3fac5e30bff21ed3a133f12b7b107fa34d51a1dd1dd771b7178b72cad074b66a9b1885116fe4d27351cda12e558d7cbb1dc49ceb4ac454b947510de5104af0dd9510e8cfec9c14dec2048c0b331c0533fa38a50ab6f3c66cee31743e1f7d5da26b804b3f33bd4dfe9bab701e1fa0a18800e4f8982c56b2605818099f4ec3afb0d1cff1eac57892a641b7cda9ce151df7e1fdc12da357f344114819122d8b95cae5724d8615a5409d43387d950b50fb8008fb1d185aa7d3b85c6525d13c23601c3898dd787dc68799b455dfac9c428849df63ddd45159d4cd6af3ad5a6f382136eca315c13a1e22b8789a33da4d66101bdd1ef6af667052b0edf6a0693666c85964ea184252670308eec9aa3c30f38e477a062fcf11702a97a5906c6c98bb82544bff68ba61f8b949d233d73d89a2be584c8f6eb5885d5484eb15640fbf5f84ba3a0bfac766fcc98ccefa50c6af731fc32d8bd7058dd9abbab53d7bff13e6ef0eb8b4b1cd0b5cf441db42db7dbe2e12bcfb74a2bace557e73bf15f5914e0143218750bc45fdaab705495eaa620eab2dc6f75a25a4410ece2fbccf7e857af1aad3cc79f5c7b07763990700396eb493cb21e64359c1c2d1d0a1978cd2908c04fce47fe2c80eea0c232034317cb534cf0dac6ef006e7e41135c10156a44b293db0fc6d4b0c8676626840b4761ca8c81b033506bc0183e834b2d34d387a10ca6d574180d7b3272b4540168cdbc37849421271bd8c448c63c652653291dbb21c1e2cff18570b6696d792f3971901a3862195d68eb0cab15bbe81b1053c7b221f4fe3147f6b987d97c568bf79297fa63d301bb13e99757edb2beb0c919c33923f53b24f7f8bbc87079cad4ceeb658e70f838a3c606a91cf948d041bdd4e1dabf26498adc58086029fa0d8d04150344b1ecacc50f6244c071a5253fe565733babcff78b2d7d01a023065ed802448dab1a17025a50c6184bccb76e441ca7b4e48ec123636b221829d7f10d06c5d079ae2413d9d0dc9787ae4559c7c7b383dc0cb88d48fdf7c60dadc6086b77788cf0072504725a2fa3e78bfde79a67988cd884a245dd5e8b74442172928d2060bcadd8561b5ed503c9df00dceff0dac7ba2ad0f9bb95e4b0a8b04b252fb5006cb023e78049467fc52f63b6cc07ba50df7446360eba7587279a481f4df7e76fa4b3906c8983f5bb023661afefdea7646b62992b61cf599709b46dbc7e5de34c9d63bc86495bdab3c45af5addf7222452ed5b12e19291e7d62bd91503b85dd6e65fb47b975ea0bce53d24360e6ff435b3e5a56fe3aaa375065ce0fba2f3d3df22f8a71de33dccc2a64ebee597ebdc20a2cda037fe98908eee69ce3e8009cfc8bf9495f8fc76fecf31bb54dc40f2ed948f724298e8f3846f246e85ce789f0c91b5c9d2afdf66a69b8739a2152beb2eb67446f7547b740b1af21ceff629373202ad79b23c3cddff7fbc3c011604f909da6982de6b599a6eaa6d33049cda19e21f31ddf857d1ce9965cd4b1172e8d388bc616d7f5d67a5c590d5475f7cb1cf28bc597403ed2b8beeec5f3e7b286a399251b422c559d125ef70dc97d68d36443e00f3228991dbf83f77470cdfd34f8e3843775ba1fde482b2acc3935105e1b59a15cb6bfefea91328687686e68a70b23a0edc12cae68ad731c52c40c5a1ddd3c8a3aeed655b9d23b664b39fd25fc6dedee060bf3c495d46f01c32220b35ed3489290f592687478222ccef58fb8dc30d1ddba5fdb241eb510fac94c241576be1cbcdd5efa69db7a3bfe55558aa8cd8daf30ae80d0d8d5cceef69736743a44581c8bedabd21b8f5fba9a0276391acb1a01b83dd28b80b185f143621edbe9e9525c96627712dc0ac87276c63e5bdf8f266966d577faeb3d0b65e78d23e15fdd37f9b0035206df1adaedb688b03c00f5b3b65923526fc5e118951d793a3709251930b986d8ef05abb97133fad7a87e45c2551ea7c95cf892d85468a71d20192263aee4f0e899a29f278eabf0fc9debdd65d5a981d0fdf6fda406baae21b08db69ff29245a1529937eba32e1e8925bc4afc84a1f69d8701b6892bd36fffa7baa45a513a8b6ac7790df0af22c61d18cd93d1f68ec066a7c1829d979f8e8c87e0f4620d3f43b6a6949909c1de4d9c8f85fc760278fa37b4f9a385b28c63236445d80bcaa16039f2af0cb298195a8325ceb8011a26b8c8af52051967a9809e59221a67178cb287321b472071e45f186ba0f9182ba58e86a1a16c420e64bdaf9a436880f084c272a2f7e2a8751e5a2744331d902260f573c74e965a8b9dd857b09e9369d4e131bf763392c01091e0394b9859b5b6d752b4bea49e52a318072b21751fe4e4493b864eda157c6fb13c59344fa65aef74fac8dd6f1dfc819cff65f46807d0f09b40c10ed0aebc92ccad96d437304fc40ed572f6efac96e3b0f89bf2f9218ddc93d31e36a4c03a80a0433dfddbb287de89af4689a5c2381b7b5cfc2e76e9ed73524580559152b5241e08fcf52eec1802fb0170640f420d2514a35af6ad6239013c66d18c6ecbdfebfdc5614960b3c6f9d1ac53fd88837bb35c3c7a3784a1"}) 00:33:42 executing program 2: r0 = socket$netlink(0x10, 0x3, 0x0) r1 = socket$netlink(0x10, 0x3, 0x0) r2 = socket(0x10, 0x803, 0x0) sendmsg$IPSET_CMD_LIST(r2, &(0x7f00000005c0)={0x0, 0x0, &(0x7f0000000580)={0x0, 0x14}}, 0x0) getsockname$packet(r2, &(0x7f0000000380)={0x11, 0x0, 0x0, 0x1, 0x0, 0x6, @broadcast}, &(0x7f0000000200)=0x14) sendmsg$nl_route(r1, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000000)={&(0x7f00000003c0)=ANY=[@ANYBLOB="48000000100000000000000000000000000000003b65b9fdcafe21f8837556850a3fca82ff10df4137601f53e706de1d4774bf27ae57d7a2614f55a23e1eadcb1596c48d711cf8f679b22f1e51452d531fe313811c309a6630521aa337e3b87bdaa154fe97c21be112faa184b580781b97795d3f21a3c2cf00461572b5bd2c2d6f3e36bc4d74bd2f7fb37403a21fc861f43b1de91c8d1e5b1ffeaf5d0cd3d6162d26c6bac1be0cf56e01e4db8b06f46e6ce08186518feb695a043a3060a7da6cf6592aed2e516e6544054e274ed28c69f239ab761f9aa152348275eefc5362411c9f0bef15fa", @ANYRES32=r3, @ANYBLOB="0000000000000000280012000c00010076657468"], 0x48}}, 0x0) (async) sendmsg$nl_route_sched(r0, &(0x7f0000000040)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000300)=@newqdisc={0x38, 0x24, 0xf15, 0x0, 0x0, {0x0, 0x0, 0x0, r3, {}, {0xfff1, 0xffff}}, [@qdisc_kind_options=@q_pfifo={{0xa}, {0x4}}]}, 0x38}}, 0x0) 00:33:42 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xff7f0000}], 0x492492492492805, 0x0) 00:33:42 executing program 4: ioctl$sock_SIOCGPGRP(0xffffffffffffffff, 0x8904, &(0x7f00000000c0)=0x0) r1 = getpgid(r0) prlimit64(r1, 0x2, &(0x7f00000001c0)={0x90000400000, 0x9}, 0x0) sched_setscheduler(0x0, 0x2, &(0x7f0000000080)=0x6) sched_setaffinity(0x0, 0x8, &(0x7f0000000000)=0x5) r2 = getpid() sched_setscheduler(r2, 0x1, &(0x7f0000000240)=0x1) socketpair$unix(0x1, 0x3, 0x0, &(0x7f0000000200)={0xffffffffffffffff, 0xffffffffffffffff}) connect$unix(r3, &(0x7f000057eff8)=@abs, 0x6e) sendmmsg$unix(r4, &(0x7f00000bd000), 0x318, 0x0) recvmmsg(r3, &(0x7f00000000c0), 0x10106, 0x2, 0x0) r5 = fsmount(0xffffffffffffffff, 0x1, 0x3) r6 = socket$netlink(0x10, 0x3, 0x0) getsockopt$sock_cred(0xffffffffffffffff, 0x1, 0x11, &(0x7f0000000240)={0x0, 0x0, 0x0}, &(0x7f0000000280)=0x5) setuid(r7) getsockopt$inet_IP_IPSEC_POLICY(r5, 0x0, 0x10, &(0x7f0000006740)={{{@in6=@initdev, @in6=@private1}}, {{@in6=@initdev}, 0x0, @in=@multicast2}}, &(0x7f0000006840)=0xe8) sendmmsg$unix(0xffffffffffffffff, &(0x7f00000068c0)=[{{&(0x7f0000000140)=@abs={0x1, 0x0, 0x4e20}, 0x6e, &(0x7f0000000880)=[{&(0x7f0000000380)="3e85658e404209b7497ec97309504a6b1658e022b021e89cdf477f1cee04a9e240c6a2", 0x23}, {&(0x7f00000003c0)="a95ed843d1e7a5a537694e9706dbefa5b0c296e1312678b9afd79296", 0x1c}, {&(0x7f0000000400)="b46accb2a3b20d4c88529e44d5bac0090b70cff194c384b8c32c867c52e46b4001eec91018a3c891246431d15c42e43d5e3eefd2aab944d5faa1a200ca6a6c7f6af5ca6283ddeb735a60aeb055f15bbf14", 0x51}, {&(0x7f0000000480)="5f6c3583330b0e190cbbac37531c13318197a907dee7cd06ee3e04146db353d3506013376c03cfa03712a6dbe46e66f9eefb28e253c9f8e771d0bdbd316374e10c5adbc1ff39ac2637f904f35bf04e6a6a07cd6091ee69fce23d0960e6024260fafdbd22de286a8c3d8edc37376b6e6e1e1d9e22c5d76c227b2468a380b5c3f7f90a7f92f44211d7c3d0dba6daa4a85e501237c07ced176652ebda7e03c32b74db317d347f744b09c3af7114ce2417eee99b1bd368dc187778644e0b15135516676f03761ee0", 0xc6}, {&(0x7f0000000580)="e7d9ac2dd3d6a709d0046ab7445a8331edbef0d798cc0ba996c7f12fe9adefde1fc9d4feaa2f1a60c5ca01c9edf5591be5bc665add5368bf64e453d595da1e57fce029ce360239283cdae8478636aa10138fb830f2f4d50553f90adf4f164eda24bfe2c001e6009d207bd407fb26d5138129d31e57592e31dc3f9bd67d96df9e612662cf551e7ea950abe5c529c699a33b41f498116ad503f84a7169db9d3519b2db5686e92f13b3fe196b3af256dcc2c0f456bbf4539c1751715a2f54fc048b4a014be691b0c2d503a2", 0xca}, {&(0x7f0000000680)="35c3c31feda519bb415122c19702828579f3980c96941027c13e829255365d36476255a5829c9cbec350fa27aac2368c1b9ddd07a49114cc5cd3dfdb7853c08af7a667ed98fa94c9b31d2625be09149a8420269b08da99367010dc913c6c28983844f5b90e6f85c041104c873e83b1a17f8b4d4d3771d02790f61acdb16ca674daafd81705eb999e2896fdadf49d14cd03898f7c5490a6fa020d79cde5", 0x9d}, {&(0x7f0000000740)="207391bf611d20afd490b9e1f67676aa", 0x10}, {&(0x7f0000000780)="800194c8e9badc0c1c4f9afc852decd1f9213b3a631c7deadfd4dff1d442d3544f739510ac42eb6dacff285836e28b741dc7490ad9bd7f73c735856e09928e", 0x3f}, {&(0x7f00000007c0)="d9c521ed41973f33c424273c6ed4490832ae5b73bc1db0c5a1c9cdc36dbdc81248956725ab58f02229f0eb825c30a26c7c975288bb3b40b4335fc8c384f131dcb9070b2de26e98496f99a3ae96c145ab2547d8c456dd5e6d6d96d162bb774293729f3c2703305de63bf72b00d70c001a0c9ec5ab4c415ac5bbe174a2fcf466cedd939cae2aab685aa760c919f8ef9c594c84263df8651d43cf4cf4fa", 0x9c}], 0x9, &(0x7f0000000b80)=[@cred={{0x1c, 0x1, 0x2, {0x0, 0x0, r8}}}], 0x20, 0x20008000}}, {{0x0, 0x0, &(0x7f0000003f00)=[{&(0x7f0000000bc0)="8a23275c014ca9f1faabb9a5dd9b905e3ddd9be82b5e89f01d17355f68496cd74af254288b19602ddea5b076d4bfe9dc095454e8f211e8989b1af946f6d9b2fbff0465d457b3d29587029231a39408ad6a1151b176e2de9fd5c8bf5aeb685cd45471377195840585ed83b6cf49355f79e49a966d2442adde57b319a6e1a4d624341bbe549c2fd9b8d31820b3bc49f07b21f66ee456676a51e5606f48b376bb9a0949e3a13b4e20e4e4da8efc289af1c98fea8dc4fe1e6ea033b25fb32e", 0xbd}, {&(0x7f0000000c80)="ae858b1378387b0487d7c9ee4b137ba2156cb70a50e0bb2ab8868dda60bd8846cf3648a726588fd7728ff4477c1fd208036c8e721cfa47a485ce61dc6e271bf62300ab23fc56d57b520bdec4fe7799a53248d93bc072e2e342640fefd8873cd5e3622f0cd1762d0a2a3df17bb463a4c6f591c1499704645b073ac81d29abf88d7e5bcedbdaa0c51bdee496c798b7c5ff0a259d9674e487216ba287b48c621a35f60b0c505f49e899e91950c0a553c56770a9bdd861e7da9cc9260c5331685fd0bf4a73fa9418f11ef2bd51de0c3bf288ea989969f28afa9b7dcdba11a5b1483d139824590db6a1ab232e1fe8c8369f6763a490a35e4c80a7fb1bd34c", 0xfc}, {&(0x7f0000000d80)="aa907c368e96a2563ca2dd2d540224818749d79b3d6bfa5fe579150252d9c6d9c1bddcf7acfa9adf22d2a01c3e8733eabcdd4bb836bdf74afdb39c0811a07bf75bbb58b41bd633a467a26f2464608d255a936604d4995a5dbdb5460d7d34dc38b020012761c7fa37a45ec1ebf237da40e786f5a6f0d13232acf35cdf5a2a1b3f74f0934636ec85e9619bcfdf0f71e0adce56163d2d8ad07f6c783e38d10bb975502232829ee31dd681cd244864501dc1581391f437afe83a05b11f78b909122a0f59c4d249f1c215b8427a9de0131b446825", 0xd2}, {&(0x7f0000000e80)="0c7cb08d38ec0348b8be37f18c4f6df11dc420829d10ff5ea6ad5eb34e64499b3ceb557773e2880a51240bf3d89a15262863d26d2bb1ea1d816493b74526ea5bd04380adf0bb840ef9d848b6a2072b386d44b332fd99c8bf9bca41fbb82cc04d1464ecc58241e9d0b543cdf405c1edf385dedb2fd8419930ac92448646491db33945d4d8190122528f2689d3df1f7a7c0d155fe5957f355891af7e4d1cd80c77428225ef2aec9b4cb0c0200f1dce9ccc49600aa53be7a45b79fc2342e17f06633134296f30fcac4e378dd6d1cf02393a845f4cd27756033649a45ea899fc6d4311c50018e6dd1320eb8df3a4ba439dc6aedcf26442a29a2d1caed820a11a0e6a4d551d1cf20a97c68b0ba9c2c3f3ef0d07d1988f72cfb49c007dbd42172ae6e2d6a4e68b2424c58cc0c0e354be5ab5a9e424853f90c4a22d5d168b7b9d9672770e02009c9437051c85e1355201b8217e73c261736b41999049eb61334f3b711ec267df3000b7aa6e70e4075493dc86ce03b5100ff3a22ab20754aa309896654b3f0586d74bab8e9e4a7e3cd4037cd7b356908176b64656257711aed3ab7a5ce5776cfad8fa98d10e1f6a713c2a1484061122a4f790472a237f9a7cfe5ad5055ac3935ebd4243f944d67058df9b969add96d69bcbde54610ddb5ce76a37d3d7d394e11d011885d4371381547fa9c05e343d48695fdad1cf4bfb2c74799a60346ff8e188e5c121fdc5485c23c9b4e751fbef37b7b9ebd21909a739d900d9012179de873d10ceaaa1bf5576cee07499c8c9ffac26b4b06d8915a98119f7e6b39264911e2a365e097dac408826e4406fdf643923bb421632171837ca495a66341f2dfb244f9a5f6f8a514f81dded83bc2d8ee3e3ea7d41ff15501cce9756b9dd77c2b9592c84f27bac7bd7124783caaebc8eaf1273b28936c81002dd3581fbedd8a8f7d63e71313a5550febfc750dbd6b2c92a2a9ff771c2586dd861662968eb61986bfde727397a17e0674c8e82bf47c98a399fc336ffdb74a6d71af79f28b84ad4226aaeb5cd01a6f0336530c689b150e4e8f3c7b3814dde65e792cf7157b638a0b66337944c761e800b1b3b9247362c7dcf0386c4cd657d76c26b9f0448ba4a832f19a6e7b6972050967d0aa802123ba5d92a59b567d1e1ea64b41e67dde2ddd98f00c50c91c38e75a29c26d33a8379414083836cd9f936995a19a8c7ff4fd92cba573fae4caef8a323e18c0d4e554227fe93b3c26a130b8acf0cc3f417699f0333c96f0fa2068bd611ff2356b06e865ce73f98bd4895a90991638ee5193d25cb91afae08e98e524ef13730373a1c6c4b6a594aaab3cbca9e3c5ff3168c4cf475310a5ba0af1c30c951e0b5f906efb9654d7b0ddac9632c1e34117c271825930890bf770ee28e79be2413effa1cff6ca064a4e064fc24261d01e138db41e597c751e2ccc14c525cfdd058cff985dbbc4ac35b5ac7db779a9d1a871996684c91f0112ec0c808c7a953e61b4a3a9be297e159cbe4853b17a5fcad7de7417cdae6d087f62c723a3c08f46bb833c8273c171b21f860a0de610e89a11615c0346ef37222c969448ed6bf7ef67de25caf514ac96471102b8066b79fdcfde1650f6fcf21af3ba4816c0bd361019ded388ee0329fb05a7d1f7c2c1b35572bf6090943d3187b1176f7c6c541e992b748cf54f8a15fee4cf1c53a01a78a183b92966c5a496770baf3a9193e1d1920194c76d3b9dbd7591b879c9fc56d4d97e8366fd77eb173be7affff5676de03317c9447d5d5b3431a04710044ab9e7c9c5a94ebe8f4a86477a315129e517424ddc93213b2f3afc1f2f1da3d83a4c0355e368237e5e7742747aa829341f25701eaa909d9de31d7ca90d565c0a47c6d816edeba72f3e5b7ba4b0781b286e207d861de4371f3ccbfcec44eaaadc018a2f0863b2a8b7e60dcce7e598dad16fce119a4dca95df660ebc275a88e37a90b4d81ea95822a17fad47ae20a59c6c3a1b74d1de6a6e4784b14a84b08f00b524df537161f05ca1a6bbac1a076660fe20aa1bdd17dfe308d8384139cfe7e50f1fc5f9b023a7e481e2e255bb62efa3e7333a5ca6ba548e0ecae8247fb247d5ebd25c9ed26e40e64df72bd0fa1c82b2aa22b9b7f4cbb3fe7de5edb98b257374794ff806f67bf61ad84fba044f2c90c5b8f97f98fb4cc92cf08554013bdc14dc9dd69f0b083d0e0bf60a769e1cb4d918959b46d1215143088279e4cc2a354854cf76e118b1267d021fe723a688908e3474e1e3b92945ed9d77260861b5e2c6b7ed7ad0009ba9aba84568b9410b1900ff6001c1672485535b0663baa9f29d8216824b09afba1be7311aa8751fdf1367196fe535f339d34d01d0dafdb2d46c78f95dd689d64ca052822be5e1b9b9f787b2a485b4261f049e72d073186dcba00164570f19342d4e73d329e80f5a6dd05420d26b07b5519e4972e9968f789cdc65a7ba42ad381c84c0b5850bbcf31839fa5e9699087ca8a141c9c4512116d691fe7a756be60f2aa43c5482ab17657aa294ffd0cd6e91227af8eb6a6255a8e91e48e475d362212cb4763fe2951bdb0ceb16b6707fb8310cad047b3793c7fc2fd53ea304ec60105fb4c840807d8110b3ca254dbc2d5724208a7aea6f7b2b5546cfb0928f3ec9ad7ed2949c2cb1bc4fdbf743f0acf4cd2ded3edae6c78064c86018bce939bc05274a9cb8d1a97db62f14aac6c635b7bb185a5aa9752428152e2d256f615126cd4cd1258a7c303c4692734c87a1678e541ff420e761cef7d2ddfea49263b43ea4bc89c1ad5658de3ff043547ae2c42510b381f7d4434938a436b4f6b3dec18733265eb9b0fae286ee3da94278d1d1c5b77f1686e3184a364641b3a73aaf8375fc89de990df3708ffd4b1e3d02ecab2f77b3170a87452ccafc51255297940fa6c71eb4da6f7ace5cb8110bd8c22017a02018db713284fadab99b8d44b0f288cd0e8aaf4d8352626364b208b287e8c5bea464ec13a336266e271c46274eae8db4345d901695533a197f7a81e795798bfec7c4fa37ff851170c2e81be0c3d1d73c0fc56afb3ac0e14e2e718d49215284809d26789da54b4b8e49d0646d0f863d16d07c4ec75cc96c47ce9dceab69e45334dfe682beb2f1a2489e0c754a04651c478eefc99fc92cda7848ddf70f9402658595d941ed1cb3ba0378329dd57b0d2dddd4dacf7928eeebce58834a2c0013b3f77a7d09abbb91c5d039c2aa124bc6a86bac042f69191efe2be000394b59ef35379c1b8e7d1bde6688fdc8fb2fa169ebc46395019aedb13d3c156a3189836a0f175c18bd0e4d49115dc554fd71707c72b4e84c9dac36b780b7ddc1d577a3479b9139a73be11757b3938a3b44073cfd44bbcddf09186825e14dd391cedb172f6bec4556c89901ffb58fb25888cacc0b5cfe2ff4797067d22a3d4bcfc3329734518f6d1c727f667264a93a4e46cbec363ef4a0ecdb40de25b8dcaefdaa89bacbb3944af0f6b9b1cc3487ad156d7f3de9132ce25eb9275adfb35e8869f3b93aa159d9656c1e947690bd3f30a8f6a3e8ddbe7abce065fabeb63170329ced54aba0c4d8f62f2578ee5d1700ec85b8b99d614a81345b928417fbce0c72bd1f21b3b344fc7b903506dad816d109eea4dbaf1e2dd9f425dd3bc374aca689411d6602658f0c77e58cd5de36f9e162da50f55844e1324daac27df93fc00f9b7e97665342423a33fed380b470fdd7098169002726bd981b084039d487d7b0dea87856e3e81cbc7ed4d9906d94e0edaef8f4567f26c6230b0a212803d04c6da0ce314afae3bb8d06fb75bbf562bce3d8c91474352001501a1c59f5d1d8e5c96b4300cea4b1f4e3599d007e770493efe8f524e928487fe7e1db178c0cebd5a3f22efcf2f8c9e7eaf1ec86a8bc6c407636a45ac79b11ed69aed057596567dedba0cde217f66d5e4b91257e0b460a447b4096f9eceae8c7954534f672425aa4d5aeab3112ade0962a67c71a5575ca345c18e7f71386cffad3ec35300e23b5405fbef0ee48de04a3c3a34602f9ef8d8814e927169873304353d7475eb5c4c9f55264bcf661191c4c6bbf47468e0fcf1009c23580d33cfbbdee3e5367ecafb2acedd732ccc2ff5c6e59a399756c084b10c579c9d819b0dfac7051707fb7519ad10647e07277b07e4e224bc8187e71253e11c2ae4fa1c77da893d994a7ac73762a8ab5ae40c7cbc0b13b0745fd714d856c6004bf4a3dcbe96db2b252b568a468526771a7d04c089424c54eba64298bc27b980c8af9c90e45b807df7b5cfe8ad6a99c4609d6e1fbec915a76114fcdcbca111929f789ce5e35520f387c765c30fed6e378eb20b4a8ae7d02963bfea83e76d241eb0c2a6efbb10d887920ee65253918bcc61ca131c4e09960400ad9b69ee0e48108a5a4d7169c7f50a41930c1b010fdbaa1c67bc23938093982fcb04d12dbdae1d81d7683c2539d70c751cb6e79cddb82c6d167348681f8298e636a32b4c683a6cc8c1e6bd12d36627f80c548d0b4e19a06973fea8f4fdc2465ee565dfe5b7c43e098d5dacc91b09bdd1e3611ae4124c9805a1492f409a7dc92ad256c1d714d240c2ebe77fe8968dc43577fd1f925364b187d063e15d8a5dc978be3130d9545f16075fe4f72cec73fdf7fd277f9d8201c664dc5f4acb9d2bf034537425147ca72556a8e0c020d4cab66d0171196a1938c6c2ab63e704318ab9c38faed50d4decfd89dc448fd28965eedadc80b84142ad470e7ff2338e3ac0f650fc99ad175bf5f5110d43c43b24a4830a7544f2e7dbc954eeacdab4474d81086221486cbf49c3e51abb366aaf0dd4e7e797ef297b7b1799d09201464688df547d1a74128ae29e46acdf4ee048165e46ebe719de8051632a7bad4fc7084e0d9a8727ab4c658c9cab12d2fb31ac293b36bc4a42b17e3add0f0d6f9eee7090d6fd3139c45d0be5af70f113d419ea1f7e63ffa89c52eba5f2466d8e1bdc45cd30c65c8b3881d09eab014f086b71dc259075d074334adde9b9dd1d2fdaebdb0f112f7e7ee53ad27f9f2baa5ef8d62555dac53baf1aac88bc27020a62249dcc33843e164416496f311983ba6687227edf5db0e41919f55a33c5067a8e9dced11edd50941c743cdffac376f7ab0fd78e0fb7b7ac1fe54718b01f56937f2d018e51cb059706520094f96d68cd8b91bd09674108cfc7e5575a2e8051982505c051803638a6d11bd797a09ac75c7782bd571e0f7162646dc8a416aeff11c0fc9deade1a5ff4875107edc861ee84c91fb88efd594e2e9343ad5b4137b913cef68fb13fc26a01c01b6f6e2d585fe776acc327489d4c1ae820613bc3111c86655b3d396db76599a3d4e8ba2611ba07544c2dafabf429d3b01943cfea3f15754db15f6e9e6cee5a35531801a127c26b7bdba406e4cce213e099c94c1f18a4ccf38e3971a31e04989170f1c05afde9edf1e10d3459f7bab61363a89dd4e3a0531e47e5addba8d56e154af34aba49cc665f85c9bb451cd54ebc9c12bfe1c1275356f5db74baffec0a2145f9c3bfd676fe74404dd559073807081fbd19ccbf2f14317395ef942004987e9df2a5462c0a2eddb4d849b76e1014278a5d1a45e7a8474eab11f71815606efc1284239a0cbf0d548437c28e6124d4387938e2b71d509a5e7d67061005bb70760002f61f2751754938a69c8626a902f1ea96eb86c629f2e8bdf24c079c1b668ffbab43da0abefbd545a35497b3a34cb382543a1e508d68561c547bbd457c507ffc7ed06c9651e7707f5d89aad428389ce7d253dfb1353209", 0x1000}, {&(0x7f0000001e80)="dde2fd1bd73da5affb8f09b7a10d7858ef061ead35e35c96b2a06b7808ce27da65205445ef94344748d532a9bf8f240b3d50784aa2", 0x35}, {&(0x7f0000001ec0)="039867fc414b61d8cc759a5434f66e915e0d6b864b2d1a314e803a9b25cdcdb6ebc1e1d823120c805a981e7d1d528fef334f7a959c53f1754d44041eb273f8266a4ca799cbab86f72608032d89636a58ddbbdf5357253a20afcfc17f54442a3543f19f3f3a5613888e94f92a27390d324f1feadc2c1c87ce4718d48356cd5a317771bf767a098a26d2bfcd7b1dc88236854d22a174a514105b79ff80d458a0c1f2da1b7ef87330826ef6a82a9dba6f1d9c0dd556870faa52d40b7410932c58c00726aa20dd00319d4c14d6e9530c55ffab3e98abdecd9095d22afde63c387969c118156e13df46e51055a0c1821e9e82a86da7bfc5357dd3cf8ef4045e32641f865d4a805b1ffec2772cabad9dbb61c805c603e3d8e55146a4ae897aedfd438da903da5f14859ebd505218cc0c178d27b3d4afd2ba30466678144e31e1c6f063d2d4a399dd8200cd1d22b31a68a5bdb37037b3061e9566cb13fb57c0c99b234c19050e36493299f51f9bdae3c54e07ea0cb9ef1480882b6c90c79c014ae453d9f17f341c4fc20c1bef4cb152214973a05d829f9c2b53534295e3d3f4067be2c71e2e95714c859d2d26bce8fc92597b3bcdb2e770032f35bee393cbe0a4d69c273aeda834d4ee15ba57907bea10962277e7589bf358839cb8c4f617c7d4eaf8dcc6d5308168d0199831ed918de1e87c53737f14ebb4b733de99b3a25344d758bdd336d6fedb19b03a184cde7301dd02d0b5d845bbffb8a9a8969f654894700e40793af90c4c241b2f28a2ca60b893ad3f1cb2ba7c6c8ddd8ec46e004db068ad40c81e4db7a0e10bab86cc5a3ec5150e3939047e6328018d3e1e966d55799082c14cd834f4517f6e3341ad4f8bb6382c8259848c5a636464e7755a37ffb09304f2aced9212268d088604ae44ba54d9d386296c15d06f41375960f46b63c61a6fdeed051b6b48b14a794a98115c5870d3c083fd81ec9686a64cfce83b3c40bd8ebe2c6df122c617b8c453ddbef319b208ec4725c9d4515bbd5dd32c14d1b86bc79ae8a7cf16fde3aa6f779272358f56207d29e976a5277de17511316e65e582a96e2d8ffe0c5ee439a2d541de3f0db4f4f5caa88c5d0d866c85468d5c729f5a9d0af75ff823bb3056f6bd6c89b954ea6fba7e12e5d8daddb9ee592689079932fc6e573221cd5bb373ede46530826b4fea56ae70de12ed1eb4da397ad1b8702a3595978484d98327c3046bc9440b11db5887874fbb0cdaa3c513e1ca283d89fac6d68533e4a0df0222b43a8e2643163ebbb8c75bbf4c436df3819a53df2680443da65acc05f252700f557c130ed30884cde015a10c3901ae7d5d75a158dbf77cbdecc59133cb1f307cc5e8d7cb018b48a89b781b8272aaf283488befde08d76c8cfa6b7b4119975e76adaa847f361a2b0b251c8843fb6950253f534a8678b0721e3eabbf5ac32ac4aa0731f92d00be60bd772015ff013b93a31d35a1228316aadb2fe372dd604c2341c316c2776d09c2d28563925351a758e81aecd4345da34cc63690af934ea9f375ebdcebb36bef158570ed6c1dd5858f910da186b97459c40cbd8c846eb92c9d59cd2718eed39673fbea6ddc3f84912cd05aa4d012d97b201bd2c2805c0830f5d3eeb6ac2be1d03639e2883faf502ebd91e7223bdcd6acc47e83d61413602e4e187a4ef491a53b8f7d76aad8302df4e0ae2dece96988638b4519b94a955eb96fe2bf0bc52c0f1324fe167152ec962f8318f1201fd67b958f3a55880a2ea8ffb37888f6d0aa33e1abf2b566814cb15bceb7d6a115e845508a09f92b37f48badb3ca70d865a7dfe98332a13c2dacf14ad110a7ef6d366ebe4d1fe9e51237c518f457f6faf4943b351f972255ac472ebb0a8115f02b932fd8d15cbb2c33a8503452c75fac5e09c3b3c4caf01f0654bacb8a69871c4a5099ed9984b3ffec787bb9be31664f80c6c7284ebad76619e27c4098239f5a838b8d2d347ef24a6600fbb4e8228dc72e8a66c4ebdb9ae4a75836e5eae42d153fb3c413cca49115aa0d0b04a1ab754c53bd4826961b2df3b427007ee22852f520ad02d0712414fa2fb1b355b8e519f730f47a63bc12cc69745670017f83c4893303b509d9fa834a55f2cb99523752804763edba504702b148577115f23513dcd6f62b771e514d826b739e216a2434eab0e9f0c91d6b1f9a3771f53a2a11401131409f5ba670f8336ff8cb21c696f87ebb6fc1b667e898056784e2b79c3ce3e6d9fc6ca8c119039d96c6de8c32b72b9a6f61ae5ae3f77844702e11a15a911baa33d6ba36d20375b07ac97f7e76929a814a4a0ffaaa10a4c9ffedb40f5cdb67077103dc71047d9d4a437a2fa0825c3a61d2f0944f00b9e1849eb7a7539d020f62fb8b2eb38b216b4a77f6012a5bd5c018c9aaa2d9993c92fd337f929a95af4cfc05c7170c3254a7b1626e549ed7b0506ae3f44476cb5c92f13ab443e025128aea090a709b7f8ed54dc57c8766d56e3970b415d4ec43bc83c2faa621892a395a8e5c1e0fb139d41e17c4a885bf2e6d83086e7c32baf595fc25b399687fcf98101e54394c7c0e3724692f952a651cea1c063e4154c359bde14a1f06284f39b7b71754360451f1bc71a233108395302533b3910cde189a778084e94822ad4409594082b4b13964dd22b038fbdbc56bca6a805113c03d68733fa35c6b13508e1d8207b8b8095c1a93f6b701c506a86753d65c9cad38fb0826d24a9272363921974c65f501c965acbbe6142ceeecf91bfdaf6d6cbf3ff27e7c41719e31c18c93e2f20a6962973c5d4d3c7e76ae3951ccfbfeccc2cdf066c70abbc193deafedc2760bd3f5702178f4bda6f8f136682b03b3dab87470ce5b761a737da5fc62714a038379247829a090d4d22dd005aac334a085ad4ba444a6cc66c8d23fc52768e88062a4b5714ca3de0a902cd666ef2064e9904113cf9d098fdba098bf9f97aae8e0735009f44a2ebddd07363deb9f7a878c38fe7b42f15599f46eb9f9a52576ca43010aa9bc84fc69e8faecf888698cd278f40929737ecfa4837759212e3606d6acdc9bc0f06f67ae61a6ae9b278dd9e7869b3d77796f7045b2985d3ce37ca3e54a3aaf580855fa150cc4691170fe69f14d31bbc6a45cad5c25ff56433e90468b36a7e34426f611f5f42cbb3b1eb0381e2e643d55785c424c02163b6c2bbe962c34036fcf9e3ef5e36454ff3cc27e3149fcd8ddc489c02132d64144af9989062e1216d643a224597ce164ea73a727bd470a1b4c23c752c2dd23d205ac63a03f72809c8b7563b176fb74172a419363fe1838ea4598f9e718ff70fbcae01a471533eed3994b836a1c986428661546066c1821502865dde08eea409f02dd5e74cab3e11b941c8bf32a2ab70b33627e6453e44e4b7086db767a92660dad8560073925e397484276ef8d06c8eca7ef4c9352f0f2b21adc15b4c9248fabc6b4c377c7919e9ef0747bcb612db754cc6ec079adc818feccbc3620f0729590aeb2331e43724a8eb37078ddc18a7fd537521f03fc11f5b7f9f705645e85349788274f6e3e55a1361cf55fd576d543ba180073d425ea02909f1d0899471bb6afe77172fca0c89561cddf8def6ddd18ea6e339b93a503de8082968395a2d5bd53031c3533bb9f391585afbb03b0101aa248b4e5b46d3b704d5e5866c97881b636ab09f0802675240ce0b6ba72dcd5a669ed0049454ac80da6480a19dee0370be1cd6377b850709b9a75a18e7e7162bd6e70088721a86b398f66396032c090f28a4af889e74dd446f201e1d37f55842292e41475806c22b524aa17df807e68a761ac4786f67b336442bc0e274371a62cc6e8b1543dfe54ca9d1a3365d064559b714e71933743f0ca22a78840338ad86d8188361bc0f0bc6753b827ef48824401d8f7658826daa8ed9078e9666c12bf2ce332b0b42956c5f1dead9565cf1b286ea1f6fb7d16b97025b2e9a77303ae53df20c05770dcededfa5128713c3b4b92dc6f2eadc4e21fdcaac1c4a98c948a9702798e21cc6d52e903766afd0bfd4fb326550f73727ce0a23fe01dfc975badddd6b5726d8822c9224d01d16977dca4b217eb18878a4f745ddfe3eaeb2f735bc29bf654758a34ff5a8ce8be3cf3515c9434c21ad3a9c7932907c505caead72d35a71dcbde5c880085be8c8bfbc9eb7ec680ed73fe5b8ab35bf64f6f2d81fc18e2900d77f34df30e9d848da899eeb52db2462ea347251ff1e06f5eb9a5268ffa1b60ced4cdd5e71b923c3ba983ffbbc5f0e61b07e83e54e5d353af962e167c4e4b31a9c843f9db17cc5b076d8d9d2f90a26bf298f6277cbbf564e2532861c6fdd37d3a0fb7752aded26ef16e1fc8637644e48dd2f376b34f377caec2a14ffdc5ca6714c24db0c0f31493a3b9c90eeb1abf2e8aa0dd900bc3f31f1f6cc9d382d3936d3f5682489866e333defd2696df77648cbd27e56a29ea5f841be15f58e4b9bd9d861fb41b2f5252dd61796d80d14919159e1389a946d4396f1197793fa46176377d76008716020477661e6b946358e46c5327bc5e82fd24929e42456da6c0242f6eeebc44a653c1013f5a890c623324c35e70eeab9d64aa38f92e37185f18eb20b6362a69ce8a2a6fd6971ad8e720eda5abc75db423bc61853d1c7c02543fe783ca2f7c69ab779bf8fdc675af94e4f6adddf04f3a740e7b0f171594d00fd5bd6854a3ed3426d085927e15b8f9c51b9944ccaca3eeb91ba9f41579af52523ce3c56cc4eeb3666fb68b34d5b1e9d242c7a35f7a4b748b69e0a50b8d1f3621aa46a3613b5506e7d0b5d2ccb5d299efab4134643ad49801088b951c867029453357854c1497c15717e5b1ad8d1e9aa476952dcc33e3973a0bfc14a20b06020b694b92a3c0e0f7fb2fd8afda0fa3778f5788cc46f1e87c68b941e49463b6c741412f99dec0afdf28a54b266308ba211158d80f48f6780bb80332a4ec2a89fd6724cf1b17d3fb23aaf8f093f635228874f44dad3b8adff2fdf792f075a082f2051dc70a718923e6b4a97aee1038e667801bc0d5f6c98b061c066eea682b4872c876740324d03d4349119208b8b1044afec21beb0b9cc90c26063fe34c243c48f4e17c671899818b0a4b57e49e99786a184322fecd550343983ac3652163eb2d381e73706ca373278b58c4e812992b4ec7c316393b5863d1c1dc359725f5169897c2287c431bb0ff77d3767c043c4ed49f8918e558408b4b118e9393734fdd1b5f6fdeaaef19e4a38a4e9fa0cd6c1af11dcb97d6338150ecbaef4ff81ca4e2264a22c4c723c83981e24ced20e2bafa953fa6cdecc1c42bd8ca882a6707c2619edacef65e2efd11a85e0be0931e59aa5b4680396d2ea17c42f8e368012b7075c6eaeb2cca243c11f6f5016ff90ee035e64be9891b322ee8a6e4d93b193055a68d28a54b2fc3b30e3159de07ad44f137aaa5ec3ad374137bdaa7f4498b37efc96462e9e2d222360597975176167b67fc2468e187282e764ea5476cd095011a9bcda900c6ed2e4abfaeba3332c12c96127f122ecb5160bbdde7350767dbfea7693a24842c6add288c89a2476fb3addeeedcb43006f428e60a691a20c88cf5b38fa111834f84aa46f3f1bbc719c7682439b05d26133d243b8e6f0c6bf4ab2deca23c9c646ef811888837bd6fc21caeee3dd1d18c562902f7613a896ee209a753e43fc9962b1a01588682f0af39d7f4265c061570fcc29212944bb45b1f829f255cb5c49112dd2e0f997872d1934210cee7041d72b872bb0db87ab037e6035cc4a876277a8368dc", 0x1000}, {&(0x7f0000002ec0)="4b30ff9e21ea76b7e601b594253bbec634", 0x11}, {&(0x7f0000002f00)="d7cdef9ece740852a6703726d3978740c159773e58af971e5c0228038f2941ebb7fe59014130ecf9b2525c024ec15ae0cee7821ce96ad5bdb7b951dcb4281e9aec7409daf68632f0219efe27f9c8101f8d02f268fc3f703707a735b290e22abbd7ea27e3bd30971f8eaa7114b4720466256e1da7e434811ddaad898c2c7e2c3a2a545271ced1977fe1976219c7d1540744593b6900b29daa51745a4a14f207e811c586d493fa099945b2f6d80e00eae645f52884c9e17c835b8ca497118343ac26d241bb76f31bebdc76b51f9953fbeceeba1679815b68465e7efb5368c1c9afe6f3f53227e23adb3bf48e9bc69d57c8be575ae71cf566442c07bad8997597076083895186dc60e49136e41cd11520a24e8228351e08e237f323b330093b98b2b0361f612a847abb5a6df91d04fe2250ccece4a5ebca4b1e279af840db89db8b367474abc134999870c5ebabbabcd5628c231eaec7305aa7039d79a61b4354470e56665451df11926e0c3ecc0406f8a623d40e90c44459c695dc4fb88085070581c13cc7a7ab22b067995b44c05e3f59d13cd464a09a22f73bbf7f98202fac52aeae935fee2c1d7bd3ddfefc9183a5b4c700a13b059aef32804f1c10f9d78de099d5973907196626ca4e7e5f5e2a4bacd160829fe289313f266ae6c28a8dff29d991f6b2ddf05479cfe6b6b8c32add789d24c5c6bf7d0b3dd29c2f1709a8a7fe1ca296247e480f679db389aa87d34d8c2dbd899ec2829ff2f625819878f198bfc7aa38ecc731e510468d9b25019d7ea981983b3dd4e2f735c813e7a954eb027f1574630b1f6f33270035ab4470db27fd75ad2c5bad77c8bed42f8c20373db0ad307bc2ed23cf8300183bc44c3da28315a08695bf04e8fd6e959710cef545f2afa47dd550c0b13d0b19f1df9e7ada66d6ed04dd25317d69d969b875106ddef92bcddb17cbebd38a44963ae67960304e3a54a016909f5e64242208908edebc3f7d9feee35f6c9db97ddcf164d083fd3eb34eb77c7c6d893641d353dbaadd8b65750023d150707a0912d78984ad93de94438215faf6657b9aa5ee2931caaaca12ef3d24f958c1c81751efc8753d18f48eedf444276006facb6af4424a9a2eca7f745e6e79ff92dd6e7b69ac441bec73dd877add24b9482f78448f42e003e6cb4c649c76cb62200ebd322a56afae46acb4c1d66f5c7f0086b35f2ebb0e45ba08e28880fffeb3370d5b5af4b84c5e3557dfff2f59b0e1f605067723cb6bcd87d655344cc0e7bf447ea458db8eb414cd1895be9c8922c11b0cd065a51132bb2755669c4a62b09f5aca15da9f55632fcd4341854fec89defc457b8ee20fe002bcb4785d90bbf56770b1f1d23161d59495d6626251ad7ea8a4c5634e5a2caae5568b03bf748a7e24288f399edb2f989b081de437b2d58772eb937144d15621a5dc403143f11675e82282f66e83ec25c24e507fd9f0df60fef3b0fb97a00bd96e14a5d428c28c7e2e796c2096b972a1a9c5797751d4e00e5c89c31d95e64f6ecfa9eb9db718709002a99da9472b45faa42dc443ea89613d8be02b4b8fcf596eb856edabd0646d94dac810ee5112b866951807940f450a9dc036d700517f7651c44fce17a6aa67467813db164c04bff06c6a057fd7cd87febba13bb46c6bc3370900d098aa33ff9442304e34d19b5156a3964f53db4976bd5d162389ea0a2b759b6d7ef0720012daadad7f4593c9a65b1da440ca19e3267afa506e1f8669412fcbda878607e027fd3f5ae2d07d4039cb24c0bc61f1c452b0afa19269a3575040057a0149b212c9a0734675d7077fb8d081d62b7a86e408a7144786a71877147b047e8dcd1fc8d33fcc9bac2ed88905dc5d6c525822df3e08ecb7b0aef4ea951c7f342aee7774a6317fd692d6f41e6bfd01ae3e2f20cc1367f57d444297705c10a56f40b4810f82bafe54f87d3b58449686ade5da9f158bce9ad5937be2935d529460987cf27ebf0a2f9ea4536afdc4913e382d559184ce218ea88b1fa58fe4c2d737b76a1c4d99ea1eca5f6ddec21a717eb6b4916f1a907f95c8e4ad638da99710ab78d8d4db4829f56a717d7ea3578aaaf24c7d20cbb1f3d0b2b3f6695e3473e3f4fa7516dacbe5bf78f4c6fb151e56fde47046229002e8184c2b48758f73f4f27a2659ac5374f10a7ab76c08f8ba800d48bc87989f9ca79cb8c103b9175fba8c364e890b41da7017c63859d87a4ca811dae1f01fcc477ce391fffb890533ea32e86f12cdad5d62317bf14e89248231259c1962a14cfc191c1248d7a84b4010da42df81213741fc897874b2c684961e5ef6ee1aa4616f81adaf4f901d4732b2ab2c810d9c2c93ba4807f52a35543507170ed7e950d38c1b93f3bb3a39ba6c943b2ad6e46e0114d0ca2b51d24beb8a89f09c7ba2f37e8b24ca4a15ee3d3731d3c86b6185f6ddaf6a47a6b636c01bf33faf183f871ede78095fcc6bc3fdf4f51cda7909f32787112a07acc800fa284ea1dee973d1439ed88787fa2d6131bf4c2856cd7c1b7a212544196680fce3c7e5168a42cd02a32211d1072e03a177346d56ed8b382e88ab7949541bfe54cd5f727d5fcd00676d31bcd4c185e6bfc21aaa17839961e8d046ca86d6c6617c3bc2d057aaef4a60d61f5d0d03c3e594a5d96487ab27e5cc756aed6f5f92ea5056601bc2e606bc656629de5643101f8d2ada009a9decc40de278a13b1c5ade271923238f1efe85a3eddb347f71f8b5ea14ca71b43c42fd4f5ef7050cf126c9af59a4b76e427959f6b082680a4e0e6ee942a7fb2ff83150fdb176398a78c2c7504781ceb880ad46019a81ab4940db2198ca1e6d88a048943205dde9a8a7041fd5c1c186335507cf9a77f5a8a0d292cb6e8fdfeb26d99653901fdc88f651e6680b234c30cbde0b5fec350aa0ba0dfd14e3898d5ef6c2031aa2ddeb4c063c79ac8144cebe18483a0958fa399f4afc081268b301d355715942174139177b4db54be2d4e170a7fbf3df8479d22fe3d2020ed70baeb7c2d2d049f6b44b106887ba30ed8d605a71d068ae7e6b111289282195a467b61ba8f83490c7a7409af51c7c6af807768311757fdce3da29f485cc1b55672c4d0d56788e1052514a3d65fb63473e0e96fb975155a59e9c5a10221f39fe72fb99b492b022fb7b2df17ef282c2c1356dd9c65a26e74bf45f20f7e63ac752e597793479e401bbe22d2e3bf450350557edff2585967831e50692f87d9b623e598f2d55c15d2bec3d9c8bc673cc236517591a68dbc25438470eaa01534066d5a543551ff936409155c9e575e760c334d5fe7dcd0e0e028a388156f5acd3a83ca97639eb9891512d30e00b63a6f6c5090c9002a2b23ee52b86b61ac09e757a177da12109c775780e5aa59e17484a53fef29ef0c54205a0d2ec19c51c18978b5ca722fbb748fd08973629e45b67a526766304d9337a75f99cfdf963145b7b033b2c13b18e06abd667ac2aa5b0cb4b2e98902afca5b846c2eee771af584129e0f8ed18721ea7be36211a0989ca70b4098955d3175b9a986d8861a50c48c203a24feb0f6e736446eaf52e6d005c144018ef6c08bb09537769a5a8bd62adaded051f19215eb461c893c78fdc0b9ee9a4651297fe479b983bb6229dc0059515813a0ca8be5549600d1252e9bd4735791507b71d27110da0a67d412bd7752eb5c2825cfef46c056e56a33490166afe9cb1f27dfd6bfd6d40a061eca52689ab3639c13399eb7c287c4892754b623e101184de863acad2ece7d3d5654464465824465f36887ffde788451f42b0d865cc5991430ca176e113ff8307619170c82e5770b78e2964d82fa5d4b811de3610df6210c7e50f0e83588af98b5ae07f5a8983cd5905a33fe2bf77898fb8a3328217dffb59ce854e72e4ee0f6db48d2b1b13f2914aaef00beebf54cf28342fa23f01643e6d9b57629280e8e323cdcf586185292f96801bb9161181e188bcf7f3fbc8a91134442eb01df505b76d3164eaed2dbd23a2d70e31b2d94cba36324f8f3ef718d743707a8185af70475807b10ab52e6f4168ec4e975c8bf1a2625f6f5913697feac8da49fe19f29be688893a220ee79afff04c0d2bc1beca6b8c9f8830edfc78599ed88cb35458ead081d983f5639251785a84c990eacb2328642b2f29d92eb9e87a3435064d0cf58ad058c306cd129f01cdec83da6179a551b037429cd46f241c79c31f2b078a6e8a003ec7f8f6ae55dc27448631174bce0308e5007f96a3d3d6cc4ba3940525c4175c7cd1684f9aaf6a5700f18105bbe2f7a6a4de728783b81907adb2ca3f69354d6c262e93b69a7d68799aae08f0992bbf4ad0f875082cd057c826ab175ece5843d06f2ea64b3cf18a09225ca0cec4b43cd9873aedb45de1c7acf7aa258d4d72b94398d75bd701fbba272f7fe8f4e9f65a3d8774b167c96f8730d5f50aa0af035b480a1dd107c157850ae1fba8b27bba2fae176546c0f88c0012884a55c759f9818d295f8ec6027eb3664697e2fdb565fd236b97cb2bdda8582f77abdb9d8a72a0698f02a4588ef13c447928a10bbb6299bf606f2d056ac4927fcb588048a11a073e565ecc480aa8e65012af9b5483d300ff4ba1060908333363620e591dff1ea3684d4947d7bbe9320c55cba17b8d6be35a0c543735a82bf277f876d294053ee9593814a7a1def36fa731128afae43dee5f4a5c3e7219ab444d89a831617b93b61a2b4f52fe8bfa2a5c6b668dd7d658e7fc74a1b0be2b384a598f71ce84bdd421f166b35600a7ef2b759d0399e4e11d9aee733a165d3b3f68557e911168ddcc1a280cdfd63790f905084c8f0b1b22918b173ffe199ab0d28bc93892199eb8322760120253737e1b2ed820b9fd2e131430b3ddb89e86dfdac223e0c71c916dfcbe05d4754dfa9a1e11457e0e07678e2dd400d8e9160ed779b9168d774293a7a2ea22fa827e159f69b4de8df7193f120da7a6c6874bc8c16446bfddc604f43f5454da834105985a808db72cf2f824402782ce9776237691a36467415b19ad71183b3c1d122249d5aaf9dffad3d84c3a56ef209bd5e917c5fb6c33c75c1915686e3e2d264253edc7f5d389d4bac07d2f7e9b9c1baae6f5d162c67500006bb29bedb463cddcf04a6d96904b4a10778966b47bc6cfd83ad9b8c0f6d9286743021a2f89c11c06f1b0daa3b903038782aa949c17ea2082e80307e8c12cb364eeda736662fb45e54a568b3adbae25d960dd52f40caf9b00b7b05545c8268246464ba0cd57c88a39909f819901f1a2c8bb0588c73a457a85dd166a214fe63a88aeb76ae975df1daaf1d7655d849b123529be4ed6500288404376a19f7c3c29e2be7238939bd105554d4d4774ca8c57bfc3b9593c77c0724f6ce240b3af046208908397e09112d13ccfb168cde7dd90e367d4100ad79cab4b188c0d6729c4377b1c7a664195457f671df4bfac4c7fe363b19de8696e89ce2d4b5b20fb5836982dd8c09cd3e6e8e56282a1df046e1b41a27bf91e7f48c0b8041299765f0d89c21ca57cc8500db3db777a19cc286828ebb2612740088ed31d5b790a5b1ff142ac35e8fd3d4bb74339728074fd32452d92403bc4325b62d69cf5a3758ed6946b20f45e1db274e57362f2005ea081ba652a1c2a27683bbbca02a197cbdeeaef7f82b43199d2a2f0462550bc6e106f299b7546a3d048f601b4de3744a2a9f126bd2d2bd4e1f075376305dbb3c192d0779df52611d2876847798aa3db2d270997aa54735130b617424c35bf49060151f92d126a6f1eb06be06afce74a", 0x1000}], 0x8, &(0x7f0000004100)=ANY=[@ANYBLOB="1c000000000000000100000002000000", @ANYRES32=r2, @ANYRES32, @ANYRES32=0x0, @ANYBLOB="0000000020000000000000000100000001000000", @ANYRES32=r5, @ANYRES32=r3, @ANYRES32, @ANYRES32, @ANYBLOB="1c000000000000000100000001000000", @ANYRES32, @ANYRES32, @ANYRES32, @ANYBLOB="00800000ffff00ecff0000000100000001000000", @ANYRES32, @ANYRES32=r4, @ANYRES32, @ANYBLOB="000000001c000000000000000100000002000000", @ANYRES32=0x0, @ANYRES32, @ANYRES32=0xee01, @ANYBLOB='\x00\x00\x00\x00'], 0xa0, 0x20000000}}, {{&(0x7f00000041c0)=@abs={0x1, 0x0, 0x4e22}, 0x6e, &(0x7f0000004300)=[{&(0x7f0000004240)="8a0e7f14b6379efc2aa20b36801791f525c250d097ae36b1cca9b63bfaec1b2bdb1f943bb345cfc9c12fad556e2a348cc8d363c4c8c32320588c101bbb054b250ac9a40fccc67f6494e72f3d1f15c72fca46946379c861b592c154835c0a284a1523ddcced975d375b162b06da628fbde490f517fdd6edd646ea4142dc279bcfc508fa808df7c761aa4c5bae96ed80d2eff22e3e2130f8099e613310eab2c40a533aca5c83da2dfcd984c6e67264bf7383a4eb9c80d344d89e", 0xb9}], 0x1, &(0x7f0000004380)=[@cred={{0x1c, 0x1, 0x2, {r2, 0xffffffffffffffff, 0xee00}}}, @cred={{0x1c, 0x1, 0x2, {0x0, 0x0, 0xee00}}}, @rights={{0x14, 0x1, 0x1, [r6]}}, @cred={{0x1c, 0x1, 0x2, {r2, 0xee00}}}], 0x78, 0x40094}}, {{&(0x7f0000004400)=@file={0x1, './file0\x00'}, 0x6e, &(0x7f0000004700)=[{&(0x7f0000004480)="782e56503498f2ecdb626e3d30ab957f2db703aabde1dfefcb358850280306282dc9f3c16b0eedd8335d30510551e30a3d9252c4e6c3756bf496bdac0316d37ca157aa676b7a5d8e746e9beecb949b9f7c741a00212772233c15f4e5062623331135a3dc154e25dd3a15f734e428858c3d6f53db701e5c7f4368c6c563a76fa5bc06f23ecf3cea011cf7a7ebe6ed29247c618a15987e64284992f0f46ab4ca54861cf4ec1a4f2521458ddac1ac2be4485c0bbcdda0e589ebae55fae1d1c89a8a365dd8849d0be1416378dc1e5d1a13c80f0b2112ae5cc0b9ebdc20e90b3c742b3e0c", 0xe2}, {&(0x7f0000004580)="3f4e7499abc30014e7fed4c1c7f20ae9ae9d5a4b2d6ea20b8680eb7d81e20f759068109aba071f045e125001c630157b39125c67474914a46d4057fa66c421e71ca64d7a1d0a78ef8e1bc0b33b490878a2acea02d6", 0x55}, {&(0x7f0000004600)="1ce3d92fffe2235b94f926379e4cf8a7ef31fe57c1ece61bb149264fa31bf15cf6c828674fd8dfc9e54b927bc92610a00c71493ddadab2a8dcce8a7221453554f9efb4578404b7553880111204bd49226ecfbabbdfe3be2c679a225d3222aec6487de6080c57a2136e6c3a6e33d332d1924f99198e16757a121786cc91e8885799abb7384e3afaffd1de928a10890bcb838ca5de702834087839dd1ae73fc390c1da864bb3f7bd9382a09957be2cb19be718daf59a6ce7ee9b0a7806316871037a710da02e712cc08954d4e30e138b995054", 0xd2}], 0x3, &(0x7f00000047c0)=[@rights={{0x30, 0x1, 0x1, [0xffffffffffffffff, r4, r5, 0xffffffffffffffff, 0xffffffffffffffff, r4, r3, 0xffffffffffffffff]}}, @cred={{0x1c, 0x1, 0x2, {r0, 0x0, 0xffffffffffffffff}}}, @rights={{0x30, 0x1, 0x1, [r4, r3, r3, r3, r5, 0xffffffffffffffff, r3, r5]}}, @rights={{0x20, 0x1, 0x1, [r5, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff]}}, @cred={{0x1c, 0x1, 0x2, {r0}}}], 0xc0, 0x20000000}}, {{&(0x7f0000004880)=@abs={0x1, 0x0, 0x4e21}, 0x6e, &(0x7f0000005e80)=[{&(0x7f0000004900)="5e8a7b844069ba26fb399dd8930210b27dfe94e0074a786b7de7cb51a274ecfbc2d6c8cab165af6273f53da157ddf305e02a90fcb199bb92fb048278da1a40b7820b5f3ed8ac8baa0894a4464a1a710ffa2fff01f11e49685b74c39236354d8b1b0f32f65c4ba128c0b739de62bd450cbccdd90441ce3f58cb72d22b88d2519a6c5629f9cb2fadcc141869a002097e26c8388364e583f5d87462c7c09e0b4d2808356f2ef4fb74fea01ce64bea4d206f98d8904859662cf0b5be830d9b9231e4e2f2e4afab47459a3c4d9c98d7b7d945e3de40fb5b9881641b0506488d2ec0cf52cac37865ecdae254271e54088943600c162b64bd14ea20149453e6edb1a6f4f5c178bb393126a1e5a48af5f9185b0ee25832a12882fae8f4ede4bcbbae15e25d7fe4e5047ae3cdcd9fa41ed5c215d133797be120bb1a8d24eabe2a78d34d196908334d7bd6ad87c7ef5acc421c86dee50da735239f4ce4e97b86fdc2d81d27dcd53feab63c6ec0c4722562491c44163b31dfb72ff6e2ab7177f7622187dab26fef884bd21954fd611b8210b654a91b619c0cffd931f98138c7d3d28110e418d5fcea6a77265e0785f03d3539c142e7d5fc0ce0c9e23ab8f2984faf2d823ef1fef075dc368125d19b79c48d1d9a4b8f4587c460be6142ddf8f7426c7c9a40295c5c9df1726a60a0bdd256dd523bcc9c89fe9ad8bf186ed612f35046e923b7d65579b782ac58609db18f109e665c5d6d9133c2e9f650c58bd43e428b27d2d704fbae08428a9d425a470a74076a646ad232c8630206a29ec4b70c72563c34a1879b566ca7845a8151abc715e721e729d02bf4587a4327c89db0c75f0ace71f7e5696091e79fdec6481e87531affd38a9a2670b646352fa8eba78fc4c8d6351706ed04fc901cdf5955a1ae194e3f148dbadcffeb39e58eac4f01e3935d2af60b2c27c0dae5ab64dc0115dd0d1eedf220de47d4fddb88c18eba7c4982736a864d5df607f3682c6b0bfa702b76b26c728ffabfd8f5b7ab76d9f1446da44d606e34b8e66e80908f6b2d57f662974476fac10861e0c083756743d4038492f4e99f64d4d2f92d8fd333160ff2f93e3a930a924fafe6c210e8d949155c349dab3198403f6075e36d303beb02d970d71a420118bbe33baa64da0c015d604e5302352b33bd9cf640c8eee184f3ecd6607be08095ae9dc7ba2abc6f7b95e6ffae0298c8db1e92a4b092ac69c9ae423abd5822297fd93d9b01b96a9ac6bb3503440fc814b6e81a0a56bbc118fc758b4bad998aec064a7f68e51d4c376c7e3f5fd991228c2ef6c3104d670f9215743f5cafd579b1d4f039cef6fd85f749c67d9cdad0f60a19fcb486bfb418f781522da2abcb8faf9d898ed5be225f0e177c72678e983a4725ffea4724c7d1ff733b0cc67d5aa1098a9654f26d5ac288ed661ec93518555b1296054c4a37a9d46fc8c440b9ccb62b8639d0dfdaf7720eec08a742a86cbdd2fb904024c3f8920eaae58f21c1bb467d2786c725d5a1cf7219e3f91bdd53b4832a7517802d1cce3badbe30b62ba53e01c7bdbc37cfffe15db797e63c1c499e9757eb28554967831c0c2c25f69d145ff6366d51548ea6e372f59ded85c5e52bfa2e7b8846de8c56acf40ec6aa0aaf7433e7e9b07d0c5d5d5fddb381fea2eace2b73a2a1ec106a77cd8817455547fb784b5d5aeb1c8a918fd82fc53b9f667e4771963d51cbb595dc4b40674dd0b6daa481a4406d6acdf4e3c0e328e1f26a8200a7b68a8d8b66db01b864b82b8bb6cdadc70102ffd68009557d4f751fa023a851ad36b1562ed719bf9e8a02432ce8220b75395a6b0327d3f8378fec1147b4245304887d41c44806627d085c341ef415df4dccba6835db6e6e6cffee52336e22297a350df447b5640cfdca0f469060534e758c8c55d803a384110fb042c2ab1545a3d699b7e9c7a232f76ca9902577af5431e706d1ea663240cd326961c2a2ceac9f3596e234c2bee2ce74ce0ec49f08e644b611b733aab9995809555c19ad3fdba7f183dff046fa3ee252ca8ae27a826b63da10695c17ccd9f3636f16f458dfc4546aefff9caf37fb58867100f9f889a8c74bd4d95384202fa207766a92e07fee5b6abe4ac4258e0de0366e748f8bf46e07f236f373a8b2126d37a418051dd85adcbec5124c3e909b6bf28ed1cf759d5a269e70804c2c5c110964079e1efddf2d2472eee12bb740ca7a8abc8ebd1244d4f08d1752ffe6a7157afa7ac3c2b62e5c054cb7028dfdac6de2a70cb5d08e102cb41089ff62a278edfa63e8d97ba9b5ae610c91d8a010ad77f3dad4f0fc8f6140ccdca77991e039b11e0014eb399235814fc2282b94e3f840eab2c18a237de84bd426fcbbb8d59131fbb26deaeb18538c11b9ce92e44f78f446163a0b88beec41a265adbbaef02857f5793906a62c191ac24e0366b3c39be9e5208965b408b7d5fac1bc448d4292a9f1f674f7c6de2384d742d41ab7dfdbcc24b1cd20754254b3d5441a3c562183edea94b86d167a5920e1a9932304dd20809b857cf95f019624b836aae19ddecd68ca312e2d374dbd0ff064ef3b36e108a85170b2d855f8a160d264df59ae1f9b01ada26caef83f13eb8a7b1aa2b9dae76079322606799064f65e074b8d8296522abc57c6acd979e0be626667b8d77c611778fca615c19eb42ae8bb7894007409e506dfec1ba521e366c9491e6bc19843b6b97b3432e04e72824e0a2b5d0602516440d805f5f945a76381e21b44711de28efb0bf8fe4a3f67c9189e0fa79688d38a04f659fcb69e048f173c1d968251231fc49f0a5f7e56804a01c91fedcce503681b4f814c0783b5570b90a4f1064c25611dc0053996cfc5683ae9fa07c4707833d6790ee6ceb51dfca459240b83515f6540b41e9ae899e5bdfbf213ef3ad0b613e40a9c70513ec5ea8fa8354690d4d926ef3c312725c1f6845ac43d42c05611abafc7db45b9d4e6fcca90afa37e3c2c7c371c16fb3aecad1addc16f8d4b6ced55971d4a2b2352eb40b5231998cb1331be1d4b29962276d3065cd2e6b3e4338d6a7c809bc412a0cbd99cd79da34c413f836fc36da92ee9f5d4f3e19c1d5169adbdb0343ef7e90fab78cf060cb85bb370340c4c8ed5840a715c740ae27de6e90bdcf1e4e474a7ffeec8d5a977b0b744ffc764d8e7568c18dfd06cbeb5ae77bb024120d88b43f2b3d8d00c29f4b4d1c526ed1bddd9a4caefcf8a7d084c5cc7987d20138baaf151e95bd622097bde563d65be4a108496a5baf6bf615114d2fcaba854df7abbc4c601b3a80bfe58c7b2d6ba9c336d6f50790814bfac4cecc389237eca1d6334f8054945cdc72edef5229b22365c7de851870d87bc41e5cd05c4012a1710ef8a2d75940d8fc471e4736b6cec88db1416a92db977a3775f05b776997cfcef4b7861e4df85c36a4b0d1d95ecdbdfdb2e59f0bcb4019d3d7c304bc3e842ed26dc7266e841d5804f0d8355f839ca27f0d63bb8884e06097f1a948f4eaede2d8bd3f9674e64c8d4c2dbc2b9fa480083d998faa6125b2ad7844d3e7725c12906a751f48c776f7ea8198a297747bb72bcbd540a6b92653626da3787fbb7222967c620d3d3ea7152506c984dbd79aa26792b0c89f430b9b3737531b012672ac769b5a40d3a34a9490efc7fe897241fcb6df4e9d93a1b464bb4712bec25acb63fd6ebb5b977d42f5f2050513df30fae849b8a229dcac7cab180b7c135a3659acff8af6a64b706a4092b1665f0515624676bcb2e8a72c65b510881d8601f44217fd092778567e8f2a4074cada5968b50c06b3921729d22da64e088a88ecd73a7978ba6b77412c4a3b1cc2eed20af88ef6479093dd8ad53965cb341be9bcfc1e58f62443b025f0b738ebb2d99b360a27f6cfb78b5691bde216b25a6a98fa7ec87b37c04745d0c47de34c6ae21f18bb8644499ca15fa22766c437189b6a77be0f47823f1fb4cf47b3ddd052de7efe2af275736b455f657de5bcec65b4e1634a78487185e108030f41f81881dece2685667f22c419cfa9952137ab5ccb22d5f532760eb457f2cccedf31758de65dfbdead3a45ab4c5598366a3b9dc299cae048b8dce98263413efb422a1d38933a08ce0cb591a0834010971fc646b7d2a38edfdff7846e587f3507379035d06da9f13f5febdb33d02c8ff70fdb2515338702fb9091addcf6d1977e768a82c0e679db06996ddf4088f08fb1f4c60f2b1fcf2e4b1b3077469946a4d41602521242532063bae6d6a765be52f198317061b33512af91e7c5c47f0164dfa64e5d670b4c72493c8668fab5d651ac1497c7243df6cb473fb516b753d7be3644bed937f0d0ca0b4aa1c69fa2cb4d54281475d1fc1763d908d54e309adbc44bca62f91a21e08107ca70860b158b7938b1ef605d65c6307297f6d997d36297208d1bc943ff629751ac5e31d4050ebbf31231af18f656096e0143a6b7b879843f5b9f32575765928afb106faa5af2944a8679616053a4508b7a8340ebe156f36b3bb0a60ea65c25c0cc86c6d2fbfc10e97bf2e7488f2004cc934d5a969f7799c2ed01e02a2902c80dd3ea5a5ff6d37e04298e85fee440b034b388f8d5e6c460ea029777658a24d4908181ed2a3f40631a99368a7f984447628bb7f00e1fcc3ce22bd8a64b4c1c9dc7ab98ab57db98e39285f446e7eff823acb2b530d46206f2abe7215ab5f638ef5a4d7755ba84deace7ac0fe2e521bdcce86430c60a4fd8bc049d13d75f7d32119bdfd89cc9872c89b6627cbd63b31c5f49830240cd50e65fe71c0e4a527c7e71c6b6e1938ae78589fde4c42464ae7710a6a93e8d4198d4466fd0e2847d97f4810be374aeec071de769fc3804f748baa00ac36ca650a25e01d6329f0b402e8a29b6fa9d576abb9afc24a2e70d71318c415846db4b2ec5c8bae01ae170cda68b0ea1f6d8f896ec27ae03fe8ad479e5195b70dacd7ccda125cec03e46c71928ed1ebcea55297c16076b80b0494f4a1908f4b49815f045a96447aaaacf06e8298973a75e66fbc02a9fc33cbd40fdd9c25f083e695965a22973175a1d08b53d51cafebd1a81f5b9d4f1c8f761e64c6a752483fa8ab4cdfef129b2c2ea0e123548421187cf4ad83bc892ca44361d758a848fd1a383959d1bdafc0c3ff4cfd3c8a025558bdfebfd0693a292647ed322885937b5b18bdd98f752a5cbcebccdfc253568826b486fce301ce6286e8456c48084fbdd99e121a539c7db69a1dcf54226d7c9c27a8b5977bbdc1b86c3b5a2fc61066efcb1bdc4353acd42bb89306c2b0ce3d8ddfdb678bf402d81cbdd21ba0a6723aff90fe5ad80b1007066f9a330e22bef879456914a67c7b0457045399fa72abd896899403b311ad31962a7316657e5a63ed9b13b5ef8fc41ba5dc39d920796182e4616f4a8fd8b37c462b03ead6b26ec8a5cdc18c3a96c75a77740e89307997e01ffb2460367ec8e45ebcb8ee94bd68f59b5058c77eefd3f64444bf9747dba798fb4ad3fbf48f807f574f62cdc58b19722578d4c3efd68a4ce8e82243ba7c3c0d3d2184100c06f1d965e7985c98928b13891f328d1881dd5ff8d67deafa31dd30240e6ac1e6a0e08d8eab5726ba631c29697bd627dfb2c665181cc2e9a6905332713457cdc26d8923c02a2c2000568ef8835b393415f2cb05740a04d64c0d984047f772c33ca482463f19ccfb637926ba4bbdc74949987cef7ea6331a8282ae68f8267b3379b1a25c21ba2d444dfd5a4d74063269795fca5cf3e058e4ee79971e787208c868dbeb50caa78a50e6fae2116d", 0x1000}, {&(0x7f0000005900)="d4fe9a2e5c8613b03175030480b279985815a923467b587bfbc30869cceea077f8f7de3e9d6ac04ce3354ef740e4d2b7cbd8861770eff1b006ca733fd2703042b8f7397cb3232471ab62b00af50c0d6b1e116ebcc18ab9ae979098ebf80ecaa36caa550d68db05fd2340e4d35331cb7f6c0894788b27765e0d4eb6ff49a1021845a3290d32d10c2f7f63ab1a44a1b42ff99d6286291768c0263192a98b2e33179e2ca8b34908175f4885ea0a539b1813c48a1c28c15fd6e498a0642066fc7d6ea73e73e4cd275e38446bc8e394e9d0e29de51633899b75883defff4a90a1db13af36725ac85d145d0b5e6349198fe276bc2633f51487e71b95bcb624fd53", 0xfe}, {&(0x7f0000005a00)="6ab3070d9dc32af75835e1a26c5fa709e405a19ef6ba22d3ef6d7c49e9c62014d41900289a1453eda79c9ff260f15488a5297468108026cb3d983c93549ac14690f42cf4aac8122a674d58a142bbc01a6c737fa7b70dfb23192b56d7b7984801e66ce530d014ea272e70b8e71c6e0022358eb3c921c99abb8b357f24abf8496e3fffd8bd4bbfbe3ab5e7b1491c9cf7a7c522805c949fd2bb98d6d1921965a30683e94b6f4c5b233d623ecfcb0f3f3f1d8f050d9ae265b0f1d4997329", 0xbc}, {&(0x7f0000005ac0)="95a1ea15ff3e49d01675d1882ed1bd640f87cb0190254e189b6094325e6a11af94634b2e4f4c851b189122717ee86e9d80", 0x31}, {&(0x7f0000005b00)="85f57e14b39956e7a553c4f868882ba8ff195d34282dfcfd1c701716383fb0f221d99826a31d13809f69b5a84086d48347d111", 0x33}, {&(0x7f0000005b40)="5866a2c41d40d1b6303bba55df625048f510a525c96bb352021d55c1f56f9f635b11ae9b1c029d32e0bed47efaae0c0c79bb5d70408fbeb59ad005bb683e70271dab08514ff15daa09b361884b0fae30983da6879466f800732b1d8a6daccf09837664f663c421f5576fc7affcc589aef4ba217a5f55eee142d5a380064a346ca2", 0x81}, {&(0x7f0000005c00)="8483b5743fabd529faf2b3d54e36de95b3ace9729c6ee8a0e088f0d6a7eca4f5059439291a753d759d561fcc741a2a31e903083894fed39d54cd7c477ad9d4139a0a4cf7ea7446b80cab4dab3aada0b1ff0dc928eca33b9c54c79a9da3a982bd67888285b0ed07d5fdf5d58c4d63fa9adfbe55ab237e1a7f11dc926c00a7696f4c528e56b95e1fbd594e2ca4cbe9077dd7cc774411f998cfb3eac0b4910e9f88", 0xa0}, {&(0x7f0000005cc0)="e74816a43cdc8a2c55875965882fd96c513aed5b97a8f10742ee1b27bc174a74c35738c6bfdd3b2edda36695cf7164c577ab324e76dc39b64acf8a9d97db1c0c2175dc3c9eb039e9684517cbffb8aa5415214b1990c1262cd60796fcdd3a7ac16160e98cb07b2a645fc27a8275e88669225a707bea132221248e35534d95d5e17826658fb13a9b142655cc989d3e73d438", 0x91}, {&(0x7f0000005d80)="fc34d70b067ebd37c72891c82ab9f193726f106552180cf239b7a18d354259c0a1db490d8b7b05bcdff11c9ccf358686a14d469b3311cd2fabeefc296c9aaf2b50a6146ba6157c35b8ffee4621adb4a36898ad3d279e5f127a1fe1b6d98509aaa4d972df4f154ad1761b5705d17796ee17e46683179c37626480040ebd8f4730027104b82853a4ca7d9f67181d445cc7f4be4c0f1ac38d85dd6558d148479f0ad8fc82bd8643452bb20f421bf6b266872dd82d81ac5a74af67028f6f0e3fca9d31", 0xc1}], 0x9, &(0x7f0000005f80)=[@cred={{0x1c, 0x1, 0x2, {0x0, r7, 0xee01}}}], 0x20, 0x4000080}}, {{&(0x7f0000005fc0)=@abs={0x1, 0x0, 0x4e21}, 0x6e, &(0x7f0000006480)=[{&(0x7f0000006040)}, {&(0x7f0000006080)="314ededd6e81b6ab279f7745cb4b5eb0", 0x10}, {&(0x7f00000060c0)="7b50b24e39401faaa761e9c6a708c2b3a75e29dd9fe1cb793664db9cbdbe06923ad1bd1c8ee1c436131249b3604cc93f2ead1cfc1e675d911139ba05c2ab0b01cf5be999b3d042f2a3472d52208e219524f4215811cd13fefc793ab0c9f094163ecea62e2fc7360c7d0a68c12fa041d3782713a5d36fcfefd058647a9f622cf58e3448e986d902d9a31824811ce713a26ff4e20b6a5b38be22a4162e1e11d1cd", 0xa0}, {&(0x7f0000006180)="cd09c1251b9581f8749acf18336ec24b1286e59e71d9983f7710fbcd5f435db73ee487375209439d0dbaf68c57cdfa", 0x2f}, {&(0x7f00000061c0)="861cc2d73c65f568d82593a0e6b3f971f4636baa903c5201538c78b9fcb292184d34ca61776a375997333e3ea222c66d01efbe22fb6451b88dfba95cad0be15381f77b35ada15afe8f27e3d150de1bcf8fcf5ee98f28fa480cded280de1f1d85d3c862cbce4b363b71ce3c80f3759e97066900d09df511bac957af0b2f20fbd5abda26c7321620aaa47f0517b59b14e94f4ca65ca37fc83f4519af28c96ea2fd611fc9d808bf3470741d28d2242d0a405e04d9e4ca86f05558c7fcff64c28fe7b7548a36c364b4b8f660cf48a2f081cd", 0xd0}, {&(0x7f00000062c0)="ce7ba16ee332d8d8b2d87b4a3a417412675b823f5700761acae9b456159eb236929a3788bf5c0a059460756c58e4a9522a7008006dc1073a405d684a0f92ee9b6f9ee995f17d2b72a95375037a3e18f65f32669ccbd86b97a884b0984fdf33a40eea4fc4353cd624aba96037054cccef46b4ad88fe719bd453518b2b5b4f7c434f", 0x81}, {&(0x7f0000006380)="b1b71389b8e1351044d59fb0361c9d86d7f340ce469656b780d765f09ad9cd5c678a50abaa02a921c5377daecc1bfba5cac269d200be7e593bf5568188b1f8bd296d57266440923af6b5c9820a37403c8645d85380e6e5fd84c19732db22bc1f803ab34bd6ee214c719def16139ecf489b61599757e9fd755f2aaaf8d263168543da8c84c46afa014fe17ef4fb082c6b5f784817a75907aa12714ef11ccf1db1df98d3ee42de8f87c6e48d828ff715d7eaec52993adc4afb465bbd4c6b4ff124e78064762e2368d3a64751104085cd08a6c34bd6c8d8207fc4a05aae7757a7016ce30cd959f49736", 0xe8}], 0x7, 0x0, 0x0, 0x40}}, {{&(0x7f0000006500)=@abs={0x0, 0x0, 0x4e23}, 0x6e, &(0x7f0000006700)=[{&(0x7f0000006580)="69cf52365bb27812537fb5d6e3c0d64ab46f6bdaa705a7414940726f9fd9636cfacbf8296f05b4a1c768041026f39ac98e4ecdc91622b5f5a0a9316db333c66bc5800ca0d1da32708b2f2a0bf64d50502977425c61cac614b3123231884965175931a0036bd04c2363002758f7914f76343f4c8db952da9ec0b309b08a12f31165c777e4d3203a51722ae884c029c2e0a3395f7fe4519b87da987ad06bb1782771e015fc040b323a27fadc048d25fdc1a6126fe8d0e5cabe724c15e76b2fb2e851fdfc6c32b39be5f3", 0xc9}, {&(0x7f0000006680)="aa1b4850", 0x4}, {&(0x7f00000066c0)="a436539ec91f8be2f4b03a7f9cfeae43235ac139b2c109fa96fe01e2fed6", 0x1e}], 0x3, &(0x7f0000000940)=[@rights={{0x28, 0x1, 0x1, [0xffffffffffffffff, r6, 0xffffffffffffffff, 0xffffffffffffffff, 0xffffffffffffffff, r6]}}], 0x28, 0x24001840}}], 0x7, 0x20008040) ftruncate(r4, 0x0) socket$nl_route(0x10, 0x3, 0x0) sendmsg$nl_route(r6, &(0x7f0000000240)={0x0, 0x0, &(0x7f0000000040)={&(0x7f0000000280)=ANY=[@ANYBLOB="6c00000010001fff00"/20, @ANYRES32=0x0, @ANYBLOB="81ffffff14000300180012800e0001007769726567756172640000000400028008000a00", @ANYRES32=0x0, @ANYBLOB="19002200d56a7790556440e67f7fe491e4b62f08fe3c9e0315000000080025000400000008000400030000000f222aa562dc6db2c3532a9cf707d30bf99ed8c2d4d26161d7712f81d33680ddab9432accad01bc1d08f23067349162c4272ebc837ed4473f429cce7b6ef56a41124bb09c744510a03298dec7d0447efa526032cd152041bad17132d713683657a83bce72da93253e34210fbfedd0997108ea8f2b2eb5b1cca73e19c"], 0x6c}}, 0x0) [ 2022.327877][T13944] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.2'. 00:33:42 executing program 0: r0 = openat$sw_sync(0xffffffffffffff9c, &(0x7f000000a6c0), 0x0, 0x0) (async) r1 = openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000080), 0x0, 0x0) read$FUSE(r1, &(0x7f0000000100)={0x2020}, 0x2020) r2 = socket(0xa, 0x3, 0x3a) setsockopt$MRT6_DEL_MIF(r2, 0x29, 0xc8, 0x0, 0xc000000) (async) setsockopt$MRT6_DONE(r2, 0x29, 0xd1, 0x0, 0x0) (async) bind$bt_rfcomm(r2, &(0x7f0000000000)={0x1f, @none, 0x8}, 0xa) (async) ioctl$BTRFS_IOC_SNAP_CREATE(r0, 0x50009401, &(0x7f0000002140)={{r0}, "e4a075530f54a396e76e5a58dcb297768dfe5c401fd249c8f3486ef157b42d664e2909c1101790f36b1265253da6be12d36276733f4dd15720775a73b7ebb10ef098fa0a6b138fd84bdcb5cdf12b91932b9f3be7d29693576426de054291edd283ed4e1cd1da5b6a4ccb52b8640aa0df26b85884a5554408f7cbd3531d6a157605c1cb0aeeb527f1e7647d6c8a90ffb64004801399683e63ff2f6f033ec9aa583e5d55e94b3a681ab9ad84ec4c0c6ef4a127f870adced277c9a5d3fc186463c36aaed9dd73f46468b639110c3c5660d7a90b1626f541e77b12068e01c5ef3468c9286018dfbebabdb888de4dad63d90f547cb2e105633d933b810f71a4f0d015d3b48d31ca0a980a2bbfac75db768b8740017a70f06e2e7e581a831d9d383edf49af1af1bf6973077ba3d5f181da7cbd059bb85efd31ceda68c2f5b91448d56067a64479db20a99d6cb49542fdd124a0af5f517e62319411521d2d0d63c7668b373af90b9dd47c2f78c34f69c14f85a935937ca252eac968be8bd4fd9c0f61305315b4290d68203d92621d5462a8fb0194865242fb91aae92d3acdfb3d803ccebf91688b2358ff0a026a31c09dc697793d2fdb9aaa2f6b9fe14ace7df2a3aef5c5b3c96f4e422846f1730df0672e373c4d308a8e12c37941ea10caa80e96599b2b9f1dc4ef3ef74f5624c22fb866cf91b26d4639728b8e7de3f4bdeda40118aba77a0ec4674eead805833996022ae6b3dd93f9e8122e8beef9d686a9c582edffc6a5dadda196ba034cc9f7c0f79e8a3db1e6137889b23b56a05cb93fb5984692aaf5d356b1ed266b3d96785574740d68bb4b49691fc400f388f7cb4f4a7348094025b261d306c77b80ac7609c0fa3df489937a19dee69d7077e7b5a61defb5d4d33f558dbae2de357b23b111a35a213593ca89f476debf41b5edd5d44014b6ec9a8e90be568b6af5c6e207bf26cf14686efb793b21b6af6331e07074518b981b678c4cad750599b76a330332879383d5ad1e386ec4934a1f12c4c62b5a7ca53dfe183a79433ab461a6677d55380e4c999facb2b62d2ea1f67fc62701f863be0eee08569173dba6482a67e00af912f6b9d3a0ebbb9239c6b47ed97f51fb65ed5162b7706ddc779741270ae3c2ff2659960bddccd01e8811cd09dbcabdaf2c06546511fff2364370f3df7eaa66a28fa89a0e5dd6d8b9ef8061ec4c081c454489e01c497d1374b8ce2bb2346ca6c5d6fb890aba96a3d001841f9603ca1342ffda86a3a3853a8251ed18144cd8368199adbb708c9e53be89bc46f771ddc65a79bb89dcd74364141f7c2cf54b2fd3a664b4664bec0df3f0ea9dbc13f3f06b868d5a4ba26807160f9ee52827804932c3d735ceafe32f9e973e6e58433e319f42e9c4d7eb624745d7e5d1dc822f1829d4567e39c3515b360aed23e29c7362bbd575dd0c2b0837d50f2c38a461b086c5c790ddfc3ecaa201c1de7a8792f8e4d3aea807bb6d9c0f39fdbb80b7288bc9e67f32a23b81ec45833156b88152f1b2f25958c1853528a1bb0e15d868f1cc0a83237fbeb8c1ab4a717ec5c153e89d6c4f67bb3a50151d213d27a4c786e526e30a462cf7677315319042ffa6c70138dd3229b2d6c22fe598373a8a04d1e98ec3c2b1cc3c8b6db71b0eecbda88d75cd8b8ecec72c58b043e24f41e5f4fadd70c6513a67e277d52541632815130423c09a7947ee6df58cfe4de0f9b7651d6989fdb165c381e4df1d81e5fdad0f5c10dc27672179ac090d0471ea807674e97cf550d5fa641f57a17457be24972686c95803583e8b4218c8530fb1c175e3eac5a432898aeadd4b08a443598cbf906984d125d8515fab44898a7718075b96e4bb962a6c66317eb5d9a50bd4cd48da927befb724622570a054bc6588bde5b85ee9d046eb00a6f16131e7dfcee9b00c572e18cd03e7e28dadc0183dbe4d250debbbc8a766615d740ef000d8b477ed58455f6478de6f347e591ee4820e07d940ced2e4fbdc588348e19ffbb5b6bf4b580dacb44b73efb721a29d6daa52525cb1870c1f342e1d77613bb5871c9b3ec147e147e58c0c95c348fec05239b51bf740c53890676050427778b022a11de27ed7fc20339c3fb0404a248764570437eac524a9e813a801ce341d95ab5830733dbc6b5a59bbab4eb6edfb2fe5d96cdda1c31bd1f92baabdf3f28e04d647ff9c5e31f6deb50fb917e53580b310bb53f871e7b7eace03e9b0862d5a27b8280f5675b3da23ec356d552a08691721ebe2b99e245dc294198b7be15e33f1b0f27076e1c854d24c8b1c60ddb31d6969bdeefb22546d08b5de9493c4dfcb77631afe9dc7aca0e39f9c550e6919e1abff39d66ff7a581d1294bf8111170ff456467b365bf5b93c084d754351a087e0a41b6c3cc97b449dab7376ff3ae6fe34ee8df281713b09924786f9be958c77658d7c5433f06482c072bf0d3388d2abb14f2e27bb4c2bf42fd15c390132604a65d4859dca8e650c08ae4f64d0cedcbb8dca37344c2e0783af23577e16f2d26e56077fa991567389adb20abf513302dc22070480181f1a5e7dc6b7273982ae87e8c52b740b7027c9a80db67757d98c9159e35f6b80007cef894113525625c8f3b5f99a3a985cb5f30cf74c130d17482aade6fdf1079e024eeb5c6ec5717bef927870161b3e559cb8df805d616073e29bcc2adc249ad8b8bd83e2d8e2ff43f086856ef7b215933ac67360e0c02878d1ff386b6d4071e4a8a2071884dae1d81b2c4bcabed24991d1e4563076fd7fb277b3a65e910a074d8efe262a7ba1f52805b30fc8ca62c4d25ff6b62cbded0f95e66b777308b3c30984ca7917f095f08b7e649a09701e955f5909127f8f21b135c07a4a113ff192800f4fc74d658e6052d90692586f5c5a17467855a26639459d168dc6c7c13395b5d49807f682d41b95b2fee155a2664f9c1b6de7843ccc3b510a399a12e709abe8ffe9dce1d1a17b5c7bd5179f6392da3c52c77e0a7ba36f4977925e6b8c916e74236b98a8a2010e6be70b18fb7dbbdb13dfcf5e7e170a94a094cfefece01fe121650aa4307beedfc3cbeddcc7d00bbba954275a742163eb6229a30217efed2970d0ed0546c7b612d90f6371471998ea543a74db58a14c98f7bb5a374ae1b63056172f191ee23d0b5ae44e5a423d80bc2c845f798403c4ee4314cd393168a43f3fac5e30bff21ed3a133f12b7b107fa34d51a1dd1dd771b7178b72cad074b66a9b1885116fe4d27351cda12e558d7cbb1dc49ceb4ac454b947510de5104af0dd9510e8cfec9c14dec2048c0b331c0533fa38a50ab6f3c66cee31743e1f7d5da26b804b3f33bd4dfe9bab701e1fa0a18800e4f8982c56b2605818099f4ec3afb0d1cff1eac57892a641b7cda9ce151df7e1fdc12da357f344114819122d8b95cae5724d8615a5409d43387d950b50fb8008fb1d185aa7d3b85c6525d13c23601c3898dd787dc68799b455dfac9c428849df63ddd45159d4cd6af3ad5a6f382136eca315c13a1e22b8789a33da4d66101bdd1ef6af667052b0edf6a0693666c85964ea184252670308eec9aa3c30f38e477a062fcf11702a97a5906c6c98bb82544bff68ba61f8b949d233d73d89a2be584c8f6eb5885d5484eb15640fbf5f84ba3a0bfac766fcc98ccefa50c6af731fc32d8bd7058dd9abbab53d7bff13e6ef0eb8b4b1cd0b5cf441db42db7dbe2e12bcfb74a2bace557e73bf15f5914e0143218750bc45fdaab705495eaa620eab2dc6f75a25a4410ece2fbccf7e857af1aad3cc79f5c7b07763990700396eb493cb21e64359c1c2d1d0a1978cd2908c04fce47fe2c80eea0c232034317cb534cf0dac6ef006e7e41135c10156a44b293db0fc6d4b0c8676626840b4761ca8c81b033506bc0183e834b2d34d387a10ca6d574180d7b3272b4540168cdbc37849421271bd8c448c63c652653291dbb21c1e2cff18570b6696d792f3971901a3862195d68eb0cab15bbe81b1053c7b221f4fe3147f6b987d97c568bf79297fa63d301bb13e99757edb2beb0c919c33923f53b24f7f8bbc87079cad4ceeb658e70f838a3c606a91cf948d041bdd4e1dabf26498adc58086029fa0d8d04150344b1ecacc50f6244c071a5253fe565733babcff78b2d7d01a023065ed802448dab1a17025a50c6184bccb76e441ca7b4e48ec123636b221829d7f10d06c5d079ae2413d9d0dc9787ae4559c7c7b383dc0cb88d48fdf7c60dadc6086b77788cf0072504725a2fa3e78bfde79a67988cd884a245dd5e8b74442172928d2060bcadd8561b5ed503c9df00dceff0dac7ba2ad0f9bb95e4b0a8b04b252fb5006cb023e78049467fc52f63b6cc07ba50df7446360eba7587279a481f4df7e76fa4b3906c8983f5bb023661afefdea7646b62992b61cf599709b46dbc7e5de34c9d63bc86495bdab3c45af5addf7222452ed5b12e19291e7d62bd91503b85dd6e65fb47b975ea0bce53d24360e6ff435b3e5a56fe3aaa375065ce0fba2f3d3df22f8a71de33dccc2a64ebee597ebdc20a2cda037fe98908eee69ce3e8009cfc8bf9495f8fc76fecf31bb54dc40f2ed948f724298e8f3846f246e85ce789f0c91b5c9d2afdf66a69b8739a2152beb2eb67446f7547b740b1af21ceff629373202ad79b23c3cddff7fbc3c011604f909da6982de6b599a6eaa6d33049cda19e21f31ddf857d1ce9965cd4b1172e8d388bc616d7f5d67a5c590d5475f7cb1cf28bc597403ed2b8beeec5f3e7b286a399251b422c559d125ef70dc97d68d36443e00f3228991dbf83f77470cdfd34f8e3843775ba1fde482b2acc3935105e1b59a15cb6bfefea91328687686e68a70b23a0edc12cae68ad731c52c40c5a1ddd3c8a3aeed655b9d23b664b39fd25fc6dedee060bf3c495d46f01c32220b35ed3489290f592687478222ccef58fb8dc30d1ddba5fdb241eb510fac94c241576be1cbcdd5efa69db7a3bfe55558aa8cd8daf30ae80d0d8d5cceef69736743a44581c8bedabd21b8f5fba9a0276391acb1a01b83dd28b80b185f143621edbe9e9525c96627712dc0ac87276c63e5bdf8f266966d577faeb3d0b65e78d23e15fdd37f9b0035206df1adaedb688b03c00f5b3b65923526fc5e118951d793a3709251930b986d8ef05abb97133fad7a87e45c2551ea7c95cf892d85468a71d20192263aee4f0e899a29f278eabf0fc9debdd65d5a981d0fdf6fda406baae21b08db69ff29245a1529937eba32e1e8925bc4afc84a1f69d8701b6892bd36fffa7baa45a513a8b6ac7790df0af22c61d18cd93d1f68ec066a7c1829d979f8e8c87e0f4620d3f43b6a6949909c1de4d9c8f85fc760278fa37b4f9a385b28c63236445d80bcaa16039f2af0cb298195a8325ceb8011a26b8c8af52051967a9809e59221a67178cb287321b472071e45f186ba0f9182ba58e86a1a16c420e64bdaf9a436880f084c272a2f7e2a8751e5a2744331d902260f573c74e965a8b9dd857b09e9369d4e131bf763392c01091e0394b9859b5b6d752b4bea49e52a318072b21751fe4e4493b864eda157c6fb13c59344fa65aef74fac8dd6f1dfc819cff65f46807d0f09b40c10ed0aebc92ccad96d437304fc40ed572f6efac96e3b0f89bf2f9218ddc93d31e36a4c03a80a0433dfddbb287de89af4689a5c2381b7b5cfc2e76e9ed73524580559152b5241e08fcf52eec1802fb0170640f420d2514a35af6ad6239013c66d18c6ecbdfebfdc5614960b3c6f9d1ac53fd88837bb35c3c7a3784a1"}) [ 2022.335286][T13945] netlink: 4 bytes leftover after parsing attributes in process `syz-executor.2'. 00:33:42 executing program 1: r0 = socket$netlink(0x10, 0x3, 0x0) sendmsg$netlink(r0, &(0x7f0000002f40)={0x0, 0x0, &(0x7f0000002ec0)=[{&(0x7f00000015c0)={0x24, 0x66, 0x5ad, 0x0, 0x0, "", [@typed={0x8, 0x0, 0x0, 0x0, @pid=0xffffffffffffffff}, @generic="2e3efdf17e2090fa7e"]}, 0x24}], 0x1}, 0x0) sendmsg$NL80211_CMD_ASSOCIATE(r0, &(0x7f0000000140)={&(0x7f0000000000)={0x10, 0x0, 0x0, 0x2020000}, 0xc, &(0x7f0000000100)={&(0x7f0000000080)={0x38, 0x0, 0x10, 0x70bd2a, 0x25dfdbfe, {{}, {@val={0x8}, @val={0xc, 0x99, {0xffffffff, 0x66}}}}, [@NL80211_ATTR_VHT_CAPABILITY_MASK={0x10, 0xb0, {0x8, {0x1000, 0x9, 0x1f, 0x64e6}}}]}, 0x38}, 0x1, 0x0, 0x0, 0x40000}, 0x40000) (async) r1 = socket$inet_udp(0x2, 0x2, 0x0) fgetxattr(r1, &(0x7f0000000040)=@known='trusted.overlay.nlink\x00', &(0x7f0000000180)=""/137, 0x89) (async) ioctl$sock_ifreq(r1, 0x8914, &(0x7f00000000c0)={'ipvlan1\x00', @ifru_hwaddr=@multicast}) 00:33:42 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xffff0000}], 0x492492492492805, 0x0) 00:33:42 executing program 1: syz_mount_image$ext4(&(0x7f0000000000)='ext4\x00', &(0x7f0000000100)='./file0\x00', 0x40000, 0x4, &(0x7f0000000200)=[{&(0x7f0000010000)="200000004000000003000000300000000f000000000000000200000002000000008000000080000020000000dcf4655fdcf4655f0100ffff53ef010001000000dbf4655f000000000000000001000000000000000b00000000020000280200000284", 0x62, 0x400}, {&(0x7f0000010400)="02000000030000000400000030000f", 0xf, 0x1000}, {&(0x7f0000010500)="ffff000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 0x1002, 0x2000}, {&(0x7f0000012600)="ed41000000100000dbf4655fdcf4655fdcf4655f000000000000040008", 0x1d, 0x4200}], 0x0, &(0x7f0000000140)={[{@noload}, {@orlov}, {@journal_dev={'journal_dev', 0x3d, 0xe2}}, {@nodelalloc}, {@auto_da_alloc_val={'auto_da_alloc', 0x3d, 0x3}}]}, 0x0) setxattr$trusted_overlay_upper(&(0x7f0000000080)='./file0\x00', &(0x7f00000000c0), &(0x7f0000000380)=ANY=[], 0xc010, 0x0) ioctl$sock_ipv6_tunnel_SIOCCHGTUNNEL(0xffffffffffffffff, 0x89f3, &(0x7f0000000440)={'syztnl1\x00', &(0x7f00000005c0)={'syztnl2\x00', 0x0, 0x2f, 0x80, 0x8, 0x4c02, 0x22, @private1={0xfc, 0x1, '\x00', 0x1}, @loopback, 0x8047, 0x8, 0x4}}) sendmsg$nl_route(0xffffffffffffffff, &(0x7f00000006c0)={&(0x7f0000000400)={0x10, 0x0, 0x0, 0x200}, 0xc, &(0x7f0000000680)={&(0x7f0000000640)=@ipv6_newaddr={0x40, 0x14, 0x1, 0x70bd28, 0x25dfdbff, {0xa, 0xb7, 0x0, 0xff, r0}, [@IFA_CACHEINFO={0x14, 0x6, {0x7fffffff, 0x5, 0x3b4a, 0x1}}, @IFA_CACHEINFO={0x14, 0x6, {0xfffffff9, 0x7, 0xffffffc0, 0x80000001}}]}, 0x40}, 0x1, 0x0, 0x0, 0x7b86850f4cd032b2}, 0x4) setxattr$incfs_size(&(0x7f00000007c0)='./file0\x00', &(0x7f0000000800), &(0x7f0000000840)=0xfffffffffffffffd, 0x8, 0x2) setxattr$trusted_overlay_upper(&(0x7f0000000280)='./file0\x00', &(0x7f00000002c0), &(0x7f0000000300)={0x0, 0xfb, 0xfd, 0x1, 0x1f, "e88813e096d08504d21fff9e6461b373", "9a567f22f56fee6dab75e12364184ab35c08f6b09c4a17fd5cec7a1ef86e076050a17f65d71c63f05fd88d72399e5df1613f421d01b4843cb682b2dd8e2fc9907281f1be8b6521a8e400ffd18edd4dbdd3607f59c7196e09a1b982512a21f5196cd06c9d646be77eb2add63b9ef0d875035f6fa510e0e62982d8a9dda3a62af0d22267f04e8f09d540f32a05d7f1b2dda8dafc20120b15989d8c5229bef8b1f6165891daf17f71d723cc5e1f043f9750676f75efdd2152ff827f50afef96523d61b3bc625d31637b54bff8334a5ef579c6a22a0313c06e8528d7ecad1080dea980f40b0c029a5707"}, 0xfd, 0x2) llistxattr(&(0x7f0000000700)='./file0\x00', &(0x7f0000000740)=""/79, 0x4f) setxattr$trusted_overlay_upper(&(0x7f0000000040)='./file0\x00', &(0x7f00000001c0), &(0x7f0000000480)={0x0, 0xfb, 0x139, 0x0, 0x0, "00000000eff814c200", "3b8929709907410f27988f8bcb7869feaf91992abe561b3b81b8ccf6ad6343a0f31760104fafdbac0c32984f232001d19f4267487381662a82a884fbea7dafe4ac21ccebf5fcdbc0d208c8c6319169cd997b48b765552943b92a5aa05d059d621f574427d98d0037b95ac374caadac0010000000000000f94ee907b7d2c9c2320a93857a6eb6b307bcaee1349847b996cd1a7eb5c9e21733ceb6bc21cd1d4c8c20c9c200e419066e9589ecefc5bd00b022560a13fd4f00cf7bef763c97c87b5a5b5472b5702cade48982ac5dcd1d010af1801609c4021c6ba7c6142cbbdf0d188cf96110fe25fd6f6042ac8891361f74ebd82bc27dc3733d5aef0f84575e05484bd048680930dcc3285056cfb5ee88897f502b5680ff2111661e6dab902e140bf281104c"}, 0x139, 0x0) 00:33:42 executing program 2: r0 = socket(0xa, 0x3, 0x3a) setsockopt$MRT6_DEL_MIF(r0, 0x29, 0xc8, 0x0, 0xc000000) setsockopt$MRT6_DONE(r0, 0x29, 0xd1, 0x0, 0x0) ioctl$FS_IOC_RESVSP(r0, 0x40305828, &(0x7f0000000040)={0x0, 0x2, 0x2, 0x7}) capset(&(0x7f0000000000)={0x20080522}, &(0x7f0000000280)={0x0, 0x0, 0x0, 0x81, 0xffffffff}) bpf$PROG_LOAD(0x5, &(0x7f0000000200)={0x8, 0xe, &(0x7f0000000540)=ANY=[@ANYBLOB="b702000000000400bfa30000000000000703000000feffff7a0af0fff8ffffff79a4f0ff00000000b7060000020000004d6405000000000065040400010000000404000005000000b7050000000000006a0a00fe00000000850000001a000000b70000000000000095000000000000004e6206cdbc8db4c7b4dc1a7d3f7912d60100010000000d98bb13c860621e34217879cfa921c59c7cc25e4a0da652625d9e58490d3fc684748b423e2a290490d9539b5c38ec9773d90567f875ceb68e2fbed5cdb3567c6386d5bd795cf9808186640af54759efb604d2c03f9378e47cff7f094b2adbbd5f962ec90ea36d44c3d56c5b5dc55358fa06c99efad4c5f628e94db3e40e48b1ddc84fb0e094c2de1751c3ed760e6e17302cca3b6c659fa1d6a4ca0b5e6447b09b20eea91ed083d4296a84876160f7c3f9a6f9c716624046e8a026115b33b88abf0303e4700477580a25293021551fc8f7c6ea0e6408071b3db32d452effca04f62bee0f4b98b7ac4ebca643b43c29191627b373af4963d3151df4633250112d83353dbda82a78069babb7b937682277bb4f7051a8b3a0c6749893941646aa8ea82f9651f6332041dcccbf5d4ce72100402e9f26262007ac4fc86ed02d4dbc4258bc4e8357c72d559bd76bee41d8efa8daa2ec11aca09bc6af5a17fb4426b52a4e787ab9d23c285e50a8f20def6db34d393167c691f4710399dc72912aded0933da1be3905d12d1a3247be39c53f6c732930d018e3a2a83a45ad2bc75411d2571283fbd08ba335a0c7d29dbff9de6f95965b003cf9d411291806a3bb1ac121e914ad9344bb5d4268316cf88a87d813ef7867c2cf5903"], &(0x7f0000000340)='syzkaller\x00'}, 0x48) 00:33:42 executing program 0: openat$sw_sync(0xffffffffffffff9c, &(0x7f000000a6c0), 0x0, 0x0) r0 = openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$BTRFS_IOC_SUBVOL_CREATE(0xffffffffffffffff, 0x5000940e, &(0x7f00000002c0)={{r0}, "6a24be306b415dbea441cbde8966599abce33ab1da7eddc956f5baa99223527f6b97c386e274ae23469b8ebd2401d27ba69f0ffce206c334c663d2f5e6458206781b6c0c74a160b1e9261ac909ced97403b3deddeccd067eaab6b6285a66c19006289365e566617f723fa7407228a51d94fc99c5f59cefc142986700ba18d4b1ba70d045b45de8a012fae756feea4786266544f1595f23ef5ff88234a77051a781440189ac0fb0baee62ff8b09b51d9d8f6df92e977d959732725ccbc504d1a6e52b88c97ad67f3a3abea4794027cd1988052c91832e4dea9b0bf420c498efb1c81556a7ace85c67f18be1408d57ccb47ab7e71f75244bfbacb6cc8bdbe208e44c9f4275a2516db50c63c7115b31ccab8b16cae0ba778035f503addcba2fa16fb5a65213bfcb12abb7c77e16f80184ad713e1bc8ec772614319ad1d6d873a32822e23873c7e766e31166c3e7757eb54638d4032fb5446f464b0e5c9e962137ea080b1ccfcd4adfc8b4d8cdc758cf4c815c9724ea152f339dfbc545e2f50846655d87ba776f2030ad0ce97dbf53cbca814a78767c4b7ec4105632678a7899825202f761422d3f4c3d89c6632b5368a50a5e820f49fe12298908ac3623f568bbfd70c961b18b02f8e0bfcce446e591a3e400d99663f1570aebe6cf3202c759dcac6e6377a3bbd79f4dc4649101c7358b85a43cdd76d5ded6bdbd19b17c01c179fa35ce59bab34354856c71d8df335cd4bc5f5ac0b4c0c4ecba22cfa60530c4dabb184997f2efaf79553d89ebe5a7cb8a71208202937ee6c0d9dd694dbacc708a28c7a99a8cb7d9440a5e06e4d2a7b2eb6d34329b098215a9be5a2ff8c9baf03c206af6046e701203148817ede604f0bcf4ce42bcf64dab1336bd6f815febaa4eb8191f1e065ec4527938898369e4c783ec046c839d7e3254f710dfde6305d6d1429cb684eb1eab30ad3770fb7159520d8605e1d44e0f34bdf6f33feebd9215f9ab33f2e7f5af60929cc9b0eca94c9b8550f9098e564e7bc43b7826cd9f5eba425e55d01f4ac0daf81ce6ce2530ec0ee00312b255d103dec7ff464699387219dc0cc9a5c58a868599c420bda4bb311e5e09672efcf03748da86f8c93d9ee40403b9e7e8243a8a40ff2778c749e72dfddd63c044da1b213c99146131aaaf7e967c52877629ae7bdb4eb265bfa9db12982405e0afc80fb103d5f1c02b92c0b4b097380d76a83d5aefcbb522214153fa869bc83735d7bfe6f148f91735f3a716a65f719a20567cc16056cafe3c857a607058c0f635e80b7e85d984140a5f5cdd88efa6cf3ce04b85e516655ed3c654e1bb1c09179fe63a308ef27cbc940e9293903c169121b1a298eefc72cec107478cde97554357dcfd24e2fd8d620e93e2b29200e2d7b481fd767f28d024f5e6216a283b8dd6cc4d6bc984eb4e4e4d599eca6e60e3fb73f483104f1b51c5a972eda017233b8ed9efc49db00fa17156e19a23ed1bced2c9e088f330289a53dd0f222f88e903937e4c1692952ce6f6abc910410aa94bc738e895f2c1895e79f23372e4091c208e65edff8d52980bcb163baa9c8c9259d3396a7c5305884162990bc51c886cf793cd2b690147a9ed85c9277117d542b311ce27c66e60478682031b9b72a01880f39cb3d462813934334bf752ebea99206991c19fe4c28f378bf8dc070ec9f524d96a4663612fa37095569d80441edb86001b0e574d33a27a93a97b13824f840a584e17fe4dab25bae25020f3f2db97b175615e3bc2775b3517e67877a9367f054f5b520030cb7739af0359ebf73b6bd8445bb76b17f93222be4abeb2f0d7f565c4d0c204b7ce450f91b46704039ac3562d76ce9f242f4cd8525e002d35a83d15d8601f2f03b76ba1c0217c6edc72e63ed4b2c80cf08ab112b41cdbb61f210dbcfe1d09ec73bac0cfa4122ba58bc115e6c654f074842616b9c970d26dc9fb96fa88d029a1c52e8c810a9f38efca1f4154dfb708b6a9016e22b4cfb0556ef53903f8ebe949030874a9b72cb29932eff3a0f71d4b2fb0b1349ff4dc260aea0ff079cf32a173a2b9b350621db991b8a602039a82a8a1522ce4c592d6aa9807e0e612bcd8daf549952cbab0875191bae2c01f2bafcbd95ea47523f667cb81644b9c8de65d6ddcc09bfb6f40774256ff99dc4f4230a7d8e54631d50d76573ba6144582782a95e7f90976eeb7cddc52422ded878775725af2b44114d199fbf3e39bef06ae0a74f38121bcafe6e540b2c0358b14ca5a5e96ae2c879097a742e6971700bd0a211e9191dcd9ff600dbaa5257f04082ff3a01a3b8f0b85791700ccbdaefca4bfb6188d2494c8880fab0af55ae5ca68c368591cd2eec8df5e1ac16777b323d5d22bcd9b4bd6e765cd7edff15f1841003be080dc0a8c66ee9ceb9e97a34e0f8206e51cd88149bdffb63087c3967d69c3b239aef4782bfb15e96de2d519259d95d1c6eba9e9fc1a6a8eba47c26d4a94f7e1e39f4955911bafbdcb23c332d362b4bcdf842d5b98d8a96eeebab66cfd6b051fa8fc519e50d287681d7f511ff5bdb5ba8893080788b7c62caaf79c5a829b469e8682e21b9b84099832e15ea1c73846d69e74bf06186f2365f18cedcf7a4c64670c46366bdd57d4955e5deae8403adb701c5a8e6226663794f1933a2103ef4419c28c358bc4ff97491fc0aa7d1ae5c9d9f1f758e9819f9d39e01b036680052a1a8e553cbc716c1be60fd93f9d97faa2c9e3985dd43e8f8900da899eda5df1f7879b38be26fce89c81a834fe136dd4401d45ccf496ca5c0b00c7902958b934d6d7f659a1ff9802866f889d51be2c78f194dcdb732304ac06b4225cacf55b7a7c4cda7c95aa581ece393f0fb5b8a74d8ce2ca2ca251ca3ad3db706556b226745ad2070f34de8f38cd8695f8a4c55c773a38c01b9f0b51a035a422ae37f722f85837622ae535ec4e4a9dd743fe7d4095571e797ccb7847563491e9c49b4161e763f6a178d3647b3b668b3072f1396b0833c2d5e807d1674d974bd8b55c84c58f7c0b18f43fd594fc73adec2c3a4e6785686fafa9863f01b3b665267103d76ba16c3f4b4cea0d2b96703635d4ff9e5586b3358e81d75e7920520027c2997529acc5fd287a47895bce263043c020b5da1bfc18a62cca9afffc48aa3b4e597e18760333bd600884a250d52201934dd8555df48cf0847d35c72011317a7df73688953c5aedf9ad62ebe40a207689d35f18304da81975c76b92bdec4c19306fcef9a7886d63a7372fb8b8d6be7a0709a5c2a97a3fefe0907d9b8eeefe0e588e222e202974e6b594ca06678aa386f7c75c94b7ca1e230c13e24f56dc04e499b1481137763abdc2d15c93f713ffb5adf66ea315a3437acfd36c3d25aa5445e6dfeea47127dbbe268757a4eeb6b4ca29d552417a4a059e21fcc88d5b281ea48887bde9ad23eff191c422c30b4be8468412ca0fb2770ab30b52027c4ffb62c323a379eabaeebf7bc5edb4b54eb6b15d11aad9b0041ce157b6dd6df0926317c47de223a51e34bea5dbb78e999746676ae6cc7363e14ff52b16498a243f8ab63e04f9cedd7f7882e22c41eea2e207210aba1b8f312b5e20f24acdebf174e5e4aa1464315110b8e8e0d79bc4542e3e95801744dca23ac4cd3a573e028cc3b99d4fa45fc2da9980719890df287f22fe779b5f16bb9a20b4064f5ad899760c1bacff33ed23d71103a49ab9b76c011e901b149a5158959e19416760149c9667d283650b601de2fee8ab52afad62a40aab3f4ceaac3b66dfa9e8f75e32d9f7d992d8620221f74b9ab2ac308456e816d7f80061a306c75241cb9c6bbc0a0c78f79c34ade1c574b273a81982876fce3ee2da2bd5b45c0f811d7cc3a8829654024c998f66ba956f692d1034d6978c716963404f44ffcb49a90e8ee3682b1ab94150fc6cd96dbd3715cf219b41162375209476c08a3da24f5490b40704b98bbb0ff4e32ee3a430453bf628869b39d429ba17a528a5cbc93e4d4e285e15ab729bc09cd879e3da965c52a66e822d43dbe05362e6ba319d7cb520ce2670f516c6a649915479f593969e50d77aa200fdbcc47e812d9136d392065424b91d1962254929ed6aa94c83684bff1e0c7de89f8fcc546d254d8a6eb023c65d3dd78be32d49f19208ba98db0dda5b9053909e8c283940817c19d02a5fb5ae15b8d6b84367a63ff3dcdc9913ec18fec87c895f3d199d038bf751e2a350698a55b723e856f3acf3e8372011b4a30080a9f93aea2fda3b42b90163b93b0dd7eab332ae55d2601acc9282e5d8cbbcb5f6cdfd7f752c4edec48d3842f1eb38cde98ddad5a69419a0c41bf739e32eb68d09435030ccf16e4009c6a6413f8e7ee04a58d8803d78a7c4bc1d2f69a687ef6f5d810ccd3acd390b3207044260af4ef93da29c9a9877cdff20dd1824be2b6b59349851089d3705688950b35f331022c7c9aff76dedcde9ae386365d7a69a05e4160c0c9af5b52679776782ebc1915f0a86c4ec46d426a11c900e0a75f1ea318abc47ced6676a0cad6cef0aa419ae96a8fb0f96a3eb77269e465c2d7c4cbd4d36c7b2b9538f6faf68c4cf0ff077eb6b82b6180ae4e973d9af04d60f5d5d42c1336872000ad396b897b79f28830bbeef09df2a92f1991c09d114d5916365da3258719d606333acbb77f2c592e488de920ef6c26a683c7f39c6d561c2e524b75fea4192a65d5c166257829f46cdee3f3d38ab8506f9b36345708da2550dfcd5fde70d5a8daf17caea1128fc6d746871d1987deb6574f955867b5b2f74ddb01de764c95f3dddb0bceded94979da361617abfeae9a056c128f2145d6c7e960363565ebef23692a7c2f6a4c6dd8c0ba370d852323e6b22456751e6154fe165c657edb2b1f4471a89b007f57e76c93b126e9f5259e2b8c4ec2e10553ec069ff38af4de77f75b296a0a73ba42073ee6350dfc3a25a80cfd3b5b4b8d9552f795c73df376aa0c295f28379402e1c2a239acc0d668890a5498bed00dfa92ac059c15f19994b9933ba307dc156495391ee618ec590e16e2a7318a79a53fa6acea12cf774f691d7724bc9a6551d3d52cdb3a4897521ea40f8b58eb34fc35640bac058829140bee1a4c0f1288d9e88298e060e4909ade89b4009e38178e4b7a3abe1453f2527c7667b6adaa148334a08947265c9e8ebd1f1a334e472c95cb1088cd081d118ef83033b196d472f69fbda04adbe248244a0b79772730a4e86b2c1f547329392df35d43f0ca6ef7e7384ee1a92411514512b544d8ee09157b028d2979a88667dc7d4eaaaea55fbf1979aa6f1209c105b77179676e29f648a567408854b94fd56c4d9af671ac489db2e3041d71b3bedd3eabd2f8c096a192596d03d279f1585fd9822cf5f7bb1f5f9ad4c993465736ff5c1945b30d6a5a8a3609ca6800e3a1fdcfb5793287d0388570217ca7abf191763f7ada9e156353d7f052213612a10e74ba8895c410289246ce77bf5693ecb16729a20e87495590e325eb35dbbf26ce87c621e85fba33c8f3defd77c36906a23d2331e89d0e3a75ada0e09accb7a961d29d32c63980190fbd421df504f5abec10e519a090934ccd08da0f69d3012a994226952fa44468a3ef55fafaf2e69afa4642a5d203ab306fb75facfb362f8425ffd781a8a922b3e9c7e4445bf703afce9e13db2bd8b00ac7eee06f5072588240066ba3609cc088a625b2e1c519491ee04d6a9f6181a895f2cdac2447f233de193db869cb176a7931a211a14460663b283244ff105872468df064fec0d0233"}) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) openat(r0, &(0x7f0000000080)='./file0\x00', 0x0, 0x28) unlinkat(r1, &(0x7f0000000280)='./file0\x00', 0x200) ioctl$SW_SYNC_IOC_CREATE_FENCE(r1, 0xc0285700, &(0x7f0000000040)={0xfffffffb, "d294ce2f3970c42213a880f1b37b0e20724a229b4c6cc3423e1e68a9ef6dbd80"}) read$FUSE(r0, &(0x7f0000004180)={0x2020}, 0x2020) 00:33:42 executing program 2: r0 = socket(0xa, 0x3, 0x3a) setsockopt$MRT6_DEL_MIF(r0, 0x29, 0xc8, 0x0, 0xc000000) setsockopt$MRT6_DONE(r0, 0x29, 0xd1, 0x0, 0x0) ioctl$FS_IOC_RESVSP(r0, 0x40305828, &(0x7f0000000040)={0x0, 0x2, 0x2, 0x7}) capset(&(0x7f0000000000)={0x20080522}, &(0x7f0000000280)={0x0, 0x0, 0x0, 0x81, 0xffffffff}) bpf$PROG_LOAD(0x5, &(0x7f0000000200)={0x8, 0xe, &(0x7f0000000540)=ANY=[@ANYBLOB="b702000000000400bfa30000000000000703000000feffff7a0af0fff8ffffff79a4f0ff00000000b7060000020000004d6405000000000065040400010000000404000005000000b7050000000000006a0a00fe00000000850000001a000000b70000000000000095000000000000004e6206cdbc8db4c7b4dc1a7d3f7912d60100010000000d98bb13c860621e34217879cfa921c59c7cc25e4a0da652625d9e58490d3fc684748b423e2a290490d9539b5c38ec9773d90567f875ceb68e2fbed5cdb3567c6386d5bd795cf9808186640af54759efb604d2c03f9378e47cff7f094b2adbbd5f962ec90ea36d44c3d56c5b5dc55358fa06c99efad4c5f628e94db3e40e48b1ddc84fb0e094c2de1751c3ed760e6e17302cca3b6c659fa1d6a4ca0b5e6447b09b20eea91ed083d4296a84876160f7c3f9a6f9c716624046e8a026115b33b88abf0303e4700477580a25293021551fc8f7c6ea0e6408071b3db32d452effca04f62bee0f4b98b7ac4ebca643b43c29191627b373af4963d3151df4633250112d83353dbda82a78069babb7b937682277bb4f7051a8b3a0c6749893941646aa8ea82f9651f6332041dcccbf5d4ce72100402e9f26262007ac4fc86ed02d4dbc4258bc4e8357c72d559bd76bee41d8efa8daa2ec11aca09bc6af5a17fb4426b52a4e787ab9d23c285e50a8f20def6db34d393167c691f4710399dc72912aded0933da1be3905d12d1a3247be39c53f6c732930d018e3a2a83a45ad2bc75411d2571283fbd08ba335a0c7d29dbff9de6f95965b003cf9d411291806a3bb1ac121e914ad9344bb5d4268316cf88a87d813ef7867c2cf5903"], &(0x7f0000000340)='syzkaller\x00'}, 0x48) socket(0xa, 0x3, 0x3a) (async) setsockopt$MRT6_DEL_MIF(r0, 0x29, 0xc8, 0x0, 0xc000000) (async) setsockopt$MRT6_DONE(r0, 0x29, 0xd1, 0x0, 0x0) (async) ioctl$FS_IOC_RESVSP(r0, 0x40305828, &(0x7f0000000040)={0x0, 0x2, 0x2, 0x7}) (async) capset(&(0x7f0000000000)={0x20080522}, &(0x7f0000000280)={0x0, 0x0, 0x0, 0x81, 0xffffffff}) (async) bpf$PROG_LOAD(0x5, &(0x7f0000000200)={0x8, 0xe, &(0x7f0000000540)=ANY=[@ANYBLOB="b702000000000400bfa30000000000000703000000feffff7a0af0fff8ffffff79a4f0ff00000000b7060000020000004d6405000000000065040400010000000404000005000000b7050000000000006a0a00fe00000000850000001a000000b70000000000000095000000000000004e6206cdbc8db4c7b4dc1a7d3f7912d60100010000000d98bb13c860621e34217879cfa921c59c7cc25e4a0da652625d9e58490d3fc684748b423e2a290490d9539b5c38ec9773d90567f875ceb68e2fbed5cdb3567c6386d5bd795cf9808186640af54759efb604d2c03f9378e47cff7f094b2adbbd5f962ec90ea36d44c3d56c5b5dc55358fa06c99efad4c5f628e94db3e40e48b1ddc84fb0e094c2de1751c3ed760e6e17302cca3b6c659fa1d6a4ca0b5e6447b09b20eea91ed083d4296a84876160f7c3f9a6f9c716624046e8a026115b33b88abf0303e4700477580a25293021551fc8f7c6ea0e6408071b3db32d452effca04f62bee0f4b98b7ac4ebca643b43c29191627b373af4963d3151df4633250112d83353dbda82a78069babb7b937682277bb4f7051a8b3a0c6749893941646aa8ea82f9651f6332041dcccbf5d4ce72100402e9f26262007ac4fc86ed02d4dbc4258bc4e8357c72d559bd76bee41d8efa8daa2ec11aca09bc6af5a17fb4426b52a4e787ab9d23c285e50a8f20def6db34d393167c691f4710399dc72912aded0933da1be3905d12d1a3247be39c53f6c732930d018e3a2a83a45ad2bc75411d2571283fbd08ba335a0c7d29dbff9de6f95965b003cf9d411291806a3bb1ac121e914ad9344bb5d4268316cf88a87d813ef7867c2cf5903"], &(0x7f0000000340)='syzkaller\x00'}, 0x48) (async) 00:33:42 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xffff0300}], 0x492492492492805, 0x0) [ 2022.428531][T13965] loop1: detected capacity change from 0 to 512 [ 2022.449281][T13965] EXT4-fs: Ignoring removed orlov option 00:33:42 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xffff80fe}], 0x492492492492805, 0x0) 00:33:42 executing program 0: openat$sw_sync(0xffffffffffffff9c, &(0x7f000000a6c0), 0x0, 0x0) r0 = openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) ioctl$BTRFS_IOC_SUBVOL_CREATE(0xffffffffffffffff, 0x5000940e, &(0x7f00000002c0)={{r0}, "6a24be306b415dbea441cbde8966599abce33ab1da7eddc956f5baa99223527f6b97c386e274ae23469b8ebd2401d27ba69f0ffce206c334c663d2f5e6458206781b6c0c74a160b1e9261ac909ced97403b3deddeccd067eaab6b6285a66c19006289365e566617f723fa7407228a51d94fc99c5f59cefc142986700ba18d4b1ba70d045b45de8a012fae756feea4786266544f1595f23ef5ff88234a77051a781440189ac0fb0baee62ff8b09b51d9d8f6df92e977d959732725ccbc504d1a6e52b88c97ad67f3a3abea4794027cd1988052c91832e4dea9b0bf420c498efb1c81556a7ace85c67f18be1408d57ccb47ab7e71f75244bfbacb6cc8bdbe208e44c9f4275a2516db50c63c7115b31ccab8b16cae0ba778035f503addcba2fa16fb5a65213bfcb12abb7c77e16f80184ad713e1bc8ec772614319ad1d6d873a32822e23873c7e766e31166c3e7757eb54638d4032fb5446f464b0e5c9e962137ea080b1ccfcd4adfc8b4d8cdc758cf4c815c9724ea152f339dfbc545e2f50846655d87ba776f2030ad0ce97dbf53cbca814a78767c4b7ec4105632678a7899825202f761422d3f4c3d89c6632b5368a50a5e820f49fe12298908ac3623f568bbfd70c961b18b02f8e0bfcce446e591a3e400d99663f1570aebe6cf3202c759dcac6e6377a3bbd79f4dc4649101c7358b85a43cdd76d5ded6bdbd19b17c01c179fa35ce59bab34354856c71d8df335cd4bc5f5ac0b4c0c4ecba22cfa60530c4dabb184997f2efaf79553d89ebe5a7cb8a71208202937ee6c0d9dd694dbacc708a28c7a99a8cb7d9440a5e06e4d2a7b2eb6d34329b098215a9be5a2ff8c9baf03c206af6046e701203148817ede604f0bcf4ce42bcf64dab1336bd6f815febaa4eb8191f1e065ec4527938898369e4c783ec046c839d7e3254f710dfde6305d6d1429cb684eb1eab30ad3770fb7159520d8605e1d44e0f34bdf6f33feebd9215f9ab33f2e7f5af60929cc9b0eca94c9b8550f9098e564e7bc43b7826cd9f5eba425e55d01f4ac0daf81ce6ce2530ec0ee00312b255d103dec7ff464699387219dc0cc9a5c58a868599c420bda4bb311e5e09672efcf03748da86f8c93d9ee40403b9e7e8243a8a40ff2778c749e72dfddd63c044da1b213c99146131aaaf7e967c52877629ae7bdb4eb265bfa9db12982405e0afc80fb103d5f1c02b92c0b4b097380d76a83d5aefcbb522214153fa869bc83735d7bfe6f148f91735f3a716a65f719a20567cc16056cafe3c857a607058c0f635e80b7e85d984140a5f5cdd88efa6cf3ce04b85e516655ed3c654e1bb1c09179fe63a308ef27cbc940e9293903c169121b1a298eefc72cec107478cde97554357dcfd24e2fd8d620e93e2b29200e2d7b481fd767f28d024f5e6216a283b8dd6cc4d6bc984eb4e4e4d599eca6e60e3fb73f483104f1b51c5a972eda017233b8ed9efc49db00fa17156e19a23ed1bced2c9e088f330289a53dd0f222f88e903937e4c1692952ce6f6abc910410aa94bc738e895f2c1895e79f23372e4091c208e65edff8d52980bcb163baa9c8c9259d3396a7c5305884162990bc51c886cf793cd2b690147a9ed85c9277117d542b311ce27c66e60478682031b9b72a01880f39cb3d462813934334bf752ebea99206991c19fe4c28f378bf8dc070ec9f524d96a4663612fa37095569d80441edb86001b0e574d33a27a93a97b13824f840a584e17fe4dab25bae25020f3f2db97b175615e3bc2775b3517e67877a9367f054f5b520030cb7739af0359ebf73b6bd8445bb76b17f93222be4abeb2f0d7f565c4d0c204b7ce450f91b46704039ac3562d76ce9f242f4cd8525e002d35a83d15d8601f2f03b76ba1c0217c6edc72e63ed4b2c80cf08ab112b41cdbb61f210dbcfe1d09ec73bac0cfa4122ba58bc115e6c654f074842616b9c970d26dc9fb96fa88d029a1c52e8c810a9f38efca1f4154dfb708b6a9016e22b4cfb0556ef53903f8ebe949030874a9b72cb29932eff3a0f71d4b2fb0b1349ff4dc260aea0ff079cf32a173a2b9b350621db991b8a602039a82a8a1522ce4c592d6aa9807e0e612bcd8daf549952cbab0875191bae2c01f2bafcbd95ea47523f667cb81644b9c8de65d6ddcc09bfb6f40774256ff99dc4f4230a7d8e54631d50d76573ba6144582782a95e7f90976eeb7cddc52422ded878775725af2b44114d199fbf3e39bef06ae0a74f38121bcafe6e540b2c0358b14ca5a5e96ae2c879097a742e6971700bd0a211e9191dcd9ff600dbaa5257f04082ff3a01a3b8f0b85791700ccbdaefca4bfb6188d2494c8880fab0af55ae5ca68c368591cd2eec8df5e1ac16777b323d5d22bcd9b4bd6e765cd7edff15f1841003be080dc0a8c66ee9ceb9e97a34e0f8206e51cd88149bdffb63087c3967d69c3b239aef4782bfb15e96de2d519259d95d1c6eba9e9fc1a6a8eba47c26d4a94f7e1e39f4955911bafbdcb23c332d362b4bcdf842d5b98d8a96eeebab66cfd6b051fa8fc519e50d287681d7f511ff5bdb5ba8893080788b7c62caaf79c5a829b469e8682e21b9b84099832e15ea1c73846d69e74bf06186f2365f18cedcf7a4c64670c46366bdd57d4955e5deae8403adb701c5a8e6226663794f1933a2103ef4419c28c358bc4ff97491fc0aa7d1ae5c9d9f1f758e9819f9d39e01b036680052a1a8e553cbc716c1be60fd93f9d97faa2c9e3985dd43e8f8900da899eda5df1f7879b38be26fce89c81a834fe136dd4401d45ccf496ca5c0b00c7902958b934d6d7f659a1ff9802866f889d51be2c78f194dcdb732304ac06b4225cacf55b7a7c4cda7c95aa581ece393f0fb5b8a74d8ce2ca2ca251ca3ad3db706556b226745ad2070f34de8f38cd8695f8a4c55c773a38c01b9f0b51a035a422ae37f722f85837622ae535ec4e4a9dd743fe7d4095571e797ccb7847563491e9c49b4161e763f6a178d3647b3b668b3072f1396b0833c2d5e807d1674d974bd8b55c84c58f7c0b18f43fd594fc73adec2c3a4e6785686fafa9863f01b3b665267103d76ba16c3f4b4cea0d2b96703635d4ff9e5586b3358e81d75e7920520027c2997529acc5fd287a47895bce263043c020b5da1bfc18a62cca9afffc48aa3b4e597e18760333bd600884a250d52201934dd8555df48cf0847d35c72011317a7df73688953c5aedf9ad62ebe40a207689d35f18304da81975c76b92bdec4c19306fcef9a7886d63a7372fb8b8d6be7a0709a5c2a97a3fefe0907d9b8eeefe0e588e222e202974e6b594ca06678aa386f7c75c94b7ca1e230c13e24f56dc04e499b1481137763abdc2d15c93f713ffb5adf66ea315a3437acfd36c3d25aa5445e6dfeea47127dbbe268757a4eeb6b4ca29d552417a4a059e21fcc88d5b281ea48887bde9ad23eff191c422c30b4be8468412ca0fb2770ab30b52027c4ffb62c323a379eabaeebf7bc5edb4b54eb6b15d11aad9b0041ce157b6dd6df0926317c47de223a51e34bea5dbb78e999746676ae6cc7363e14ff52b16498a243f8ab63e04f9cedd7f7882e22c41eea2e207210aba1b8f312b5e20f24acdebf174e5e4aa1464315110b8e8e0d79bc4542e3e95801744dca23ac4cd3a573e028cc3b99d4fa45fc2da9980719890df287f22fe779b5f16bb9a20b4064f5ad899760c1bacff33ed23d71103a49ab9b76c011e901b149a5158959e19416760149c9667d283650b601de2fee8ab52afad62a40aab3f4ceaac3b66dfa9e8f75e32d9f7d992d8620221f74b9ab2ac308456e816d7f80061a306c75241cb9c6bbc0a0c78f79c34ade1c574b273a81982876fce3ee2da2bd5b45c0f811d7cc3a8829654024c998f66ba956f692d1034d6978c716963404f44ffcb49a90e8ee3682b1ab94150fc6cd96dbd3715cf219b41162375209476c08a3da24f5490b40704b98bbb0ff4e32ee3a430453bf628869b39d429ba17a528a5cbc93e4d4e285e15ab729bc09cd879e3da965c52a66e822d43dbe05362e6ba319d7cb520ce2670f516c6a649915479f593969e50d77aa200fdbcc47e812d9136d392065424b91d1962254929ed6aa94c83684bff1e0c7de89f8fcc546d254d8a6eb023c65d3dd78be32d49f19208ba98db0dda5b9053909e8c283940817c19d02a5fb5ae15b8d6b84367a63ff3dcdc9913ec18fec87c895f3d199d038bf751e2a350698a55b723e856f3acf3e8372011b4a30080a9f93aea2fda3b42b90163b93b0dd7eab332ae55d2601acc9282e5d8cbbcb5f6cdfd7f752c4edec48d3842f1eb38cde98ddad5a69419a0c41bf739e32eb68d09435030ccf16e4009c6a6413f8e7ee04a58d8803d78a7c4bc1d2f69a687ef6f5d810ccd3acd390b3207044260af4ef93da29c9a9877cdff20dd1824be2b6b59349851089d3705688950b35f331022c7c9aff76dedcde9ae386365d7a69a05e4160c0c9af5b52679776782ebc1915f0a86c4ec46d426a11c900e0a75f1ea318abc47ced6676a0cad6cef0aa419ae96a8fb0f96a3eb77269e465c2d7c4cbd4d36c7b2b9538f6faf68c4cf0ff077eb6b82b6180ae4e973d9af04d60f5d5d42c1336872000ad396b897b79f28830bbeef09df2a92f1991c09d114d5916365da3258719d606333acbb77f2c592e488de920ef6c26a683c7f39c6d561c2e524b75fea4192a65d5c166257829f46cdee3f3d38ab8506f9b36345708da2550dfcd5fde70d5a8daf17caea1128fc6d746871d1987deb6574f955867b5b2f74ddb01de764c95f3dddb0bceded94979da361617abfeae9a056c128f2145d6c7e960363565ebef23692a7c2f6a4c6dd8c0ba370d852323e6b22456751e6154fe165c657edb2b1f4471a89b007f57e76c93b126e9f5259e2b8c4ec2e10553ec069ff38af4de77f75b296a0a73ba42073ee6350dfc3a25a80cfd3b5b4b8d9552f795c73df376aa0c295f28379402e1c2a239acc0d668890a5498bed00dfa92ac059c15f19994b9933ba307dc156495391ee618ec590e16e2a7318a79a53fa6acea12cf774f691d7724bc9a6551d3d52cdb3a4897521ea40f8b58eb34fc35640bac058829140bee1a4c0f1288d9e88298e060e4909ade89b4009e38178e4b7a3abe1453f2527c7667b6adaa148334a08947265c9e8ebd1f1a334e472c95cb1088cd081d118ef83033b196d472f69fbda04adbe248244a0b79772730a4e86b2c1f547329392df35d43f0ca6ef7e7384ee1a92411514512b544d8ee09157b028d2979a88667dc7d4eaaaea55fbf1979aa6f1209c105b77179676e29f648a567408854b94fd56c4d9af671ac489db2e3041d71b3bedd3eabd2f8c096a192596d03d279f1585fd9822cf5f7bb1f5f9ad4c993465736ff5c1945b30d6a5a8a3609ca6800e3a1fdcfb5793287d0388570217ca7abf191763f7ada9e156353d7f052213612a10e74ba8895c410289246ce77bf5693ecb16729a20e87495590e325eb35dbbf26ce87c621e85fba33c8f3defd77c36906a23d2331e89d0e3a75ada0e09accb7a961d29d32c63980190fbd421df504f5abec10e519a090934ccd08da0f69d3012a994226952fa44468a3ef55fafaf2e69afa4642a5d203ab306fb75facfb362f8425ffd781a8a922b3e9c7e4445bf703afce9e13db2bd8b00ac7eee06f5072588240066ba3609cc088a625b2e1c519491ee04d6a9f6181a895f2cdac2447f233de193db869cb176a7931a211a14460663b283244ff105872468df064fec0d0233"}) r1 = openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) openat(r0, &(0x7f0000000080)='./file0\x00', 0x0, 0x28) unlinkat(r1, &(0x7f0000000280)='./file0\x00', 0x200) ioctl$SW_SYNC_IOC_CREATE_FENCE(r1, 0xc0285700, &(0x7f0000000040)={0xfffffffb, "d294ce2f3970c42213a880f1b37b0e20724a229b4c6cc3423e1e68a9ef6dbd80"}) read$FUSE(r0, &(0x7f0000004180)={0x2020}, 0x2020) openat$sw_sync(0xffffffffffffff9c, &(0x7f000000a6c0), 0x0, 0x0) (async) openat$sw_sync_info(0xffffffffffffff9c, &(0x7f0000000000), 0x0, 0x0) (async) ioctl$BTRFS_IOC_SUBVOL_CREATE(0xffffffffffffffff, 0x5000940e, &(0x7f00000002c0)={{r0}, "6a24be306b415dbea441cbde8966599abce33ab1da7eddc956f5baa99223527f6b97c386e274ae23469b8ebd2401d27ba69f0ffce206c334c663d2f5e6458206781b6c0c74a160b1e9261ac909ced97403b3deddeccd067eaab6b6285a66c19006289365e566617f723fa7407228a51d94fc99c5f59cefc142986700ba18d4b1ba70d045b45de8a012fae756feea4786266544f1595f23ef5ff88234a77051a781440189ac0fb0baee62ff8b09b51d9d8f6df92e977d959732725ccbc504d1a6e52b88c97ad67f3a3abea4794027cd1988052c91832e4dea9b0bf420c498efb1c81556a7ace85c67f18be1408d57ccb47ab7e71f75244bfbacb6cc8bdbe208e44c9f4275a2516db50c63c7115b31ccab8b16cae0ba778035f503addcba2fa16fb5a65213bfcb12abb7c77e16f80184ad713e1bc8ec772614319ad1d6d873a32822e23873c7e766e31166c3e7757eb54638d4032fb5446f464b0e5c9e962137ea080b1ccfcd4adfc8b4d8cdc758cf4c815c9724ea152f339dfbc545e2f50846655d87ba776f2030ad0ce97dbf53cbca814a78767c4b7ec4105632678a7899825202f761422d3f4c3d89c6632b5368a50a5e820f49fe12298908ac3623f568bbfd70c961b18b02f8e0bfcce446e591a3e400d99663f1570aebe6cf3202c759dcac6e6377a3bbd79f4dc4649101c7358b85a43cdd76d5ded6bdbd19b17c01c179fa35ce59bab34354856c71d8df335cd4bc5f5ac0b4c0c4ecba22cfa60530c4dabb184997f2efaf79553d89ebe5a7cb8a71208202937ee6c0d9dd694dbacc708a28c7a99a8cb7d9440a5e06e4d2a7b2eb6d34329b098215a9be5a2ff8c9baf03c206af6046e701203148817ede604f0bcf4ce42bcf64dab1336bd6f815febaa4eb8191f1e065ec4527938898369e4c783ec046c839d7e3254f710dfde6305d6d1429cb684eb1eab30ad3770fb7159520d8605e1d44e0f34bdf6f33feebd9215f9ab33f2e7f5af60929cc9b0eca94c9b8550f9098e564e7bc43b7826cd9f5eba425e55d01f4ac0daf81ce6ce2530ec0ee00312b255d103dec7ff464699387219dc0cc9a5c58a868599c420bda4bb311e5e09672efcf03748da86f8c93d9ee40403b9e7e8243a8a40ff2778c749e72dfddd63c044da1b213c99146131aaaf7e967c52877629ae7bdb4eb265bfa9db12982405e0afc80fb103d5f1c02b92c0b4b097380d76a83d5aefcbb522214153fa869bc83735d7bfe6f148f91735f3a716a65f719a20567cc16056cafe3c857a607058c0f635e80b7e85d984140a5f5cdd88efa6cf3ce04b85e516655ed3c654e1bb1c09179fe63a308ef27cbc940e9293903c169121b1a298eefc72cec107478cde97554357dcfd24e2fd8d620e93e2b29200e2d7b481fd767f28d024f5e6216a283b8dd6cc4d6bc984eb4e4e4d599eca6e60e3fb73f483104f1b51c5a972eda017233b8ed9efc49db00fa17156e19a23ed1bced2c9e088f330289a53dd0f222f88e903937e4c1692952ce6f6abc910410aa94bc738e895f2c1895e79f23372e4091c208e65edff8d52980bcb163baa9c8c9259d3396a7c5305884162990bc51c886cf793cd2b690147a9ed85c9277117d542b311ce27c66e60478682031b9b72a01880f39cb3d462813934334bf752ebea99206991c19fe4c28f378bf8dc070ec9f524d96a4663612fa37095569d80441edb86001b0e574d33a27a93a97b13824f840a584e17fe4dab25bae25020f3f2db97b175615e3bc2775b3517e67877a9367f054f5b520030cb7739af0359ebf73b6bd8445bb76b17f93222be4abeb2f0d7f565c4d0c204b7ce450f91b46704039ac3562d76ce9f242f4cd8525e002d35a83d15d8601f2f03b76ba1c0217c6edc72e63ed4b2c80cf08ab112b41cdbb61f210dbcfe1d09ec73bac0cfa4122ba58bc115e6c654f074842616b9c970d26dc9fb96fa88d029a1c52e8c810a9f38efca1f4154dfb708b6a9016e22b4cfb0556ef53903f8ebe949030874a9b72cb29932eff3a0f71d4b2fb0b1349ff4dc260aea0ff079cf32a173a2b9b350621db991b8a602039a82a8a1522ce4c592d6aa9807e0e612bcd8daf549952cbab0875191bae2c01f2bafcbd95ea47523f667cb81644b9c8de65d6ddcc09bfb6f40774256ff99dc4f4230a7d8e54631d50d76573ba6144582782a95e7f90976eeb7cddc52422ded878775725af2b44114d199fbf3e39bef06ae0a74f38121bcafe6e540b2c0358b14ca5a5e96ae2c879097a742e6971700bd0a211e9191dcd9ff600dbaa5257f04082ff3a01a3b8f0b85791700ccbdaefca4bfb6188d2494c8880fab0af55ae5ca68c368591cd2eec8df5e1ac16777b323d5d22bcd9b4bd6e765cd7edff15f1841003be080dc0a8c66ee9ceb9e97a34e0f8206e51cd88149bdffb63087c3967d69c3b239aef4782bfb15e96de2d519259d95d1c6eba9e9fc1a6a8eba47c26d4a94f7e1e39f4955911bafbdcb23c332d362b4bcdf842d5b98d8a96eeebab66cfd6b051fa8fc519e50d287681d7f511ff5bdb5ba8893080788b7c62caaf79c5a829b469e8682e21b9b84099832e15ea1c73846d69e74bf06186f2365f18cedcf7a4c64670c46366bdd57d4955e5deae8403adb701c5a8e6226663794f1933a2103ef4419c28c358bc4ff97491fc0aa7d1ae5c9d9f1f758e9819f9d39e01b036680052a1a8e553cbc716c1be60fd93f9d97faa2c9e3985dd43e8f8900da899eda5df1f7879b38be26fce89c81a834fe136dd4401d45ccf496ca5c0b00c7902958b934d6d7f659a1ff9802866f889d51be2c78f194dcdb732304ac06b4225cacf55b7a7c4cda7c95aa581ece393f0fb5b8a74d8ce2ca2ca251ca3ad3db706556b226745ad2070f34de8f38cd8695f8a4c55c773a38c01b9f0b51a035a422ae37f722f85837622ae535ec4e4a9dd743fe7d4095571e797ccb7847563491e9c49b4161e763f6a178d3647b3b668b3072f1396b0833c2d5e807d1674d974bd8b55c84c58f7c0b18f43fd594fc73adec2c3a4e6785686fafa9863f01b3b665267103d76ba16c3f4b4cea0d2b96703635d4ff9e5586b3358e81d75e7920520027c2997529acc5fd287a47895bce263043c020b5da1bfc18a62cca9afffc48aa3b4e597e18760333bd600884a250d52201934dd8555df48cf0847d35c72011317a7df73688953c5aedf9ad62ebe40a207689d35f18304da81975c76b92bdec4c19306fcef9a7886d63a7372fb8b8d6be7a0709a5c2a97a3fefe0907d9b8eeefe0e588e222e202974e6b594ca06678aa386f7c75c94b7ca1e230c13e24f56dc04e499b1481137763abdc2d15c93f713ffb5adf66ea315a3437acfd36c3d25aa5445e6dfeea47127dbbe268757a4eeb6b4ca29d552417a4a059e21fcc88d5b281ea48887bde9ad23eff191c422c30b4be8468412ca0fb2770ab30b52027c4ffb62c323a379eabaeebf7bc5edb4b54eb6b15d11aad9b0041ce157b6dd6df0926317c47de223a51e34bea5dbb78e999746676ae6cc7363e14ff52b16498a243f8ab63e04f9cedd7f7882e22c41eea2e207210aba1b8f312b5e20f24acdebf174e5e4aa1464315110b8e8e0d79bc4542e3e95801744dca23ac4cd3a573e028cc3b99d4fa45fc2da9980719890df287f22fe779b5f16bb9a20b4064f5ad899760c1bacff33ed23d71103a49ab9b76c011e901b149a5158959e19416760149c9667d283650b601de2fee8ab52afad62a40aab3f4ceaac3b66dfa9e8f75e32d9f7d992d8620221f74b9ab2ac308456e816d7f80061a306c75241cb9c6bbc0a0c78f79c34ade1c574b273a81982876fce3ee2da2bd5b45c0f811d7cc3a8829654024c998f66ba956f692d1034d6978c716963404f44ffcb49a90e8ee3682b1ab94150fc6cd96dbd3715cf219b41162375209476c08a3da24f5490b40704b98bbb0ff4e32ee3a430453bf628869b39d429ba17a528a5cbc93e4d4e285e15ab729bc09cd879e3da965c52a66e822d43dbe05362e6ba319d7cb520ce2670f516c6a649915479f593969e50d77aa200fdbcc47e812d9136d392065424b91d1962254929ed6aa94c83684bff1e0c7de89f8fcc546d254d8a6eb023c65d3dd78be32d49f19208ba98db0dda5b9053909e8c283940817c19d02a5fb5ae15b8d6b84367a63ff3dcdc9913ec18fec87c895f3d199d038bf751e2a350698a55b723e856f3acf3e8372011b4a30080a9f93aea2fda3b42b90163b93b0dd7eab332ae55d2601acc9282e5d8cbbcb5f6cdfd7f752c4edec48d3842f1eb38cde98ddad5a69419a0c41bf739e32eb68d09435030ccf16e4009c6a6413f8e7ee04a58d8803d78a7c4bc1d2f69a687ef6f5d810ccd3acd390b3207044260af4ef93da29c9a9877cdff20dd1824be2b6b59349851089d3705688950b35f331022c7c9aff76dedcde9ae386365d7a69a05e4160c0c9af5b52679776782ebc1915f0a86c4ec46d426a11c900e0a75f1ea318abc47ced6676a0cad6cef0aa419ae96a8fb0f96a3eb77269e465c2d7c4cbd4d36c7b2b9538f6faf68c4cf0ff077eb6b82b6180ae4e973d9af04d60f5d5d42c1336872000ad396b897b79f28830bbeef09df2a92f1991c09d114d5916365da3258719d606333acbb77f2c592e488de920ef6c26a683c7f39c6d561c2e524b75fea4192a65d5c166257829f46cdee3f3d38ab8506f9b36345708da2550dfcd5fde70d5a8daf17caea1128fc6d746871d1987deb6574f955867b5b2f74ddb01de764c95f3dddb0bceded94979da361617abfeae9a056c128f2145d6c7e960363565ebef23692a7c2f6a4c6dd8c0ba370d852323e6b22456751e6154fe165c657edb2b1f4471a89b007f57e76c93b126e9f5259e2b8c4ec2e10553ec069ff38af4de77f75b296a0a73ba42073ee6350dfc3a25a80cfd3b5b4b8d9552f795c73df376aa0c295f28379402e1c2a239acc0d668890a5498bed00dfa92ac059c15f19994b9933ba307dc156495391ee618ec590e16e2a7318a79a53fa6acea12cf774f691d7724bc9a6551d3d52cdb3a4897521ea40f8b58eb34fc35640bac058829140bee1a4c0f1288d9e88298e060e4909ade89b4009e38178e4b7a3abe1453f2527c7667b6adaa148334a08947265c9e8ebd1f1a334e472c95cb1088cd081d118ef83033b196d472f69fbda04adbe248244a0b79772730a4e86b2c1f547329392df35d43f0ca6ef7e7384ee1a92411514512b544d8ee09157b028d2979a88667dc7d4eaaaea55fbf1979aa6f1209c105b77179676e29f648a567408854b94fd56c4d9af671ac489db2e3041d71b3bedd3eabd2f8c096a192596d03d279f1585fd9822cf5f7bb1f5f9ad4c993465736ff5c1945b30d6a5a8a3609ca6800e3a1fdcfb5793287d0388570217ca7abf191763f7ada9e156353d7f052213612a10e74ba8895c410289246ce77bf5693ecb16729a20e87495590e325eb35dbbf26ce87c621e85fba33c8f3defd77c36906a23d2331e89d0e3a75ada0e09accb7a961d29d32c63980190fbd421df504f5abec10e519a090934ccd08da0f69d3012a994226952fa44468a3ef55fafaf2e69afa4642a5d203ab306fb75facfb362f8425ffd781a8a922b3e9c7e4445bf703afce9e13db2bd8b00ac7eee06f5072588240066ba3609cc088a625b2e1c519491ee04d6a9f6181a895f2cdac2447f233de193db869cb176a7931a211a14460663b283244ff105872468df064fec0d0233"}) (async) openat(0xffffffffffffff9c, &(0x7f0000000000)='./file0\x00', 0x0, 0x0) (async) openat(r0, &(0x7f0000000080)='./file0\x00', 0x0, 0x28) (async) unlinkat(r1, &(0x7f0000000280)='./file0\x00', 0x200) (async) ioctl$SW_SYNC_IOC_CREATE_FENCE(r1, 0xc0285700, &(0x7f0000000040)={0xfffffffb, "d294ce2f3970c42213a880f1b37b0e20724a229b4c6cc3423e1e68a9ef6dbd80"}) (async) read$FUSE(r0, &(0x7f0000004180)={0x2020}, 0x2020) (async) [ 2022.470856][T13965] EXT4-fs (loop1): mounted filesystem without journal. Quota mode: none. [ 2022.492193][T13965] INFO: trying to register non-static key. [ 2022.493620][T13965] The code is fine but needs lockdep annotation, or maybe [ 2022.495398][T13965] you didn't initialize this object before use? [ 2022.496975][T13965] turning off the locking correctness validator. [ 2022.498545][T13965] CPU: 0 PID: 13965 Comm: syz-executor.1 Not tainted 6.0.0-rc7-syzkaller-18095-gbbed346d5a96 #0 00:33:42 executing program 5: r0 = socket(0x10, 0x80002, 0x0) sendmsg$nl_route(0xffffffffffffffff, &(0x7f0000000080)={0x0, 0x0, &(0x7f0000000100)={&(0x7f0000000240)=ANY=[@ANYBLOB="7000000010000104000000000000fea7322778f2", @ANYRES32=0x0, @ANYBLOB="e6ff000000000000400012800b000100697036746e6c000030000280050009000400000005000600f0000000060012004e200000040013000500040003000010080008001a00000008000a00", @ANYRES32], 0x70}}, 0x0) sendmmsg$alg(r0, &(0x7f0000000140)=[{0x6, 0x0, &(0x7f0000000100), 0x6, &(0x7f0000000100), 0xffffa888}], 0x492492492492805, 0x0) [ 2022.501150][T13965] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/30/2022 [ 2022.503610][T13965] Call trace: [ 2022.504422][T13965] dump_backtrace+0x1c4/0x1f0 [ 2022.505632][T13965] show_stack+0x2c/0x54 [ 2022.506672][T13965] dump_stack_lvl+0x104/0x16c [ 2022.507946][T13965] dump_stack+0x1c/0x58 [ 2022.509015][T13965] assign_lock_key+0x134/0x140 [ 2022.510206][T13965] register_lock_class+0xc4/0x2f8 [ 2022.511464][T13965] __lock_acquire+0xa8/0x30a4 [ 2022.512664][T13965] lock_acquire+0x100/0x1f8 [ 2022.513849][T13965] _raw_spin_lock+0x54/0x6c [ 2022.515056][T13965] ext4_do_update_inode+0x50/0x8f8 [ 2022.516386][T13965] ext4_mark_iloc_dirty+0x118/0x1f0 [ 2022.517806][T13965] __ext4_mark_inode_dirty+0x138/0x194 [ 2022.519207][T13965] ext4_dirty_inode+0x74/0x98 [ 2022.520429][T13965] __mark_inode_dirty+0x74/0x348 [ 2022.521717][T13965] ext4_mb_new_blocks+0x814/0x9e4 [ 2022.523096][T13965] ext4_new_meta_blocks+0x84/0x140 [ 2022.524443][T13965] ext4_xattr_block_set+0xce0/0x142c [ 2022.525798][T13965] ext4_xattr_set_handle+0x724/0x994 [ 2022.527172][T13965] ext4_xattr_set+0x100/0x1d0 [ 2022.528366][T13965] ext4_xattr_trusted_set+0x4c/0x64 [ 2022.529673][T13965] __vfs_setxattr+0x250/0x260 [ 2022.530843][T13965] __vfs_setxattr_noperm+0xcc/0x320 [ 2022.532277][T13965] __vfs_setxattr_locked+0x16c/0x194 [ 2022.533589][T13965] vfs_setxattr+0x174/0x280 [ 2022.534656][T13965] path_setxattr+0x354/0x414 [ 2022.535729][T13965] __arm64_sys_setxattr+0x2c/0x40 [ 2022.537083][T13965] el0_svc_common+0x138/0x220 [ 2022.538283][T13965] do_el0_svc+0x48/0x164 [ 2022.539379][T13965] el0_svc+0x58/0x150 [ 2022.540398][T13965] el0t_64_sync_handler+0x84/0xf0 [ 2022.541676][T13965] el0t_64_sync+0x18c/0x190 [ 2022.791762][T13994] Unable to handle kernel NULL pointer dereference at virtual address 0000000000000068 [ 2022.794239][T13994] Mem abort info: [ 2022.795146][T13994] ESR = 0x0000000096000006 [ 2022.812489][T13994] EC = 0x25: DABT (current EL), IL = 32 bits [ 2022.814108][T13994] SET = 0, FnV = 0 [ 2022.815050][T13994] EA = 0, S1PTW = 0 [ 2022.816073][T13994] FSC = 0x06: level 2 translation fault [ 2022.841675][T13994] Data abort info: [ 2022.843267][T13994] ISV = 0, ISS = 0x00000006 [ 2022.848260][T13994] CM = 0, WnR = 0 [ 2022.849206][T13994] user pgtable: 4k pages, 48-bit VAs, pgdp=000000013e1b5000 [ 2022.857428][T13994] [0000000000000068] pgd=0800000175008003, p4d=0800000175008003, pud=080000014f3d7003, pmd=0000000000000000 [ 2022.881672][T13994] Internal error: Oops: 0000000096000006 [#1] PREEMPT SMP [ 2022.883426][T13994] Modules linked in: [ 2022.884412][T13994] CPU: 1 PID: 13994 Comm: syz-executor.1 Not tainted 6.0.0-rc7-syzkaller-18095-gbbed346d5a96 #0 [ 2022.886939][T13994] Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 09/30/2022 [ 2022.889459][T13994] pstate: 80400005 (Nzcv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 2022.891287][T13994] pc : open_xa_dir+0x48/0x2a8 [ 2022.892616][T13994] lr : open_xa_dir+0x34/0x2a8 [ 2022.893803][T13994] sp : ffff80001b543c80 [ 2022.894861][T13994] x29: ffff80001b543ca0 x28: ffff00011408b500 x27: 0000000000000000 [ 2022.896837][T13994] x26: 0000000000000000 x25: 000000000000000a x24: 0000000000000000 [ 2022.898966][T13994] x23: ffff0000c71587b8 x22: ffff0000c9af9618 x21: ffff0000c71587b8 [ 2022.900928][T13994] x20: 0000000000000002 x19: ffff00010d797000 x18: 0000000000000000 [ 2022.902928][T13994] x17: 0000000000000000 x16: 0000000000000000 x15: 0000000000000000 [ 2022.904884][T13994] x14: 0000000000000002 x13: 000000000000002f x12: 0000000000040000 [ 2022.906839][T13994] x11: 00000000000002ff x10: ffff800023dad000 x9 : ffff800008789b58 [ 2022.908968][T13994] x8 : ffff00010d790000 x7 : 0000000000000000 x6 : 00000000ffffffff [ 2022.910931][T13994] x5 : 0000000000000cc0 x4 : 0000000000000080 x3 : 000000000000004f [ 2022.912874][T13994] x2 : 000000000000004f x1 : 0000000000000002 x0 : ffff0000c71587b8 [ 2022.914876][T13994] Call trace: [ 2022.915680][T13994] open_xa_dir+0x48/0x2a8 [ 2022.916747][T13994] reiserfs_listxattr+0x94/0x140 [ 2022.917957][T13994] listxattr+0x244/0x2cc [ 2022.919044][T13994] __arm64_sys_llistxattr+0x84/0x11c [ 2022.920402][T13994] el0_svc_common+0x138/0x220 [ 2022.921565][T13994] do_el0_svc+0x48/0x164 [ 2022.922659][T13994] el0_svc+0x58/0x150 [ 2022.923667][T13994] el0t_64_sync_handler+0x84/0xf0 [ 2022.924847][T13994] el0t_64_sync+0x18c/0x190 [ 2022.925988][T13994] Code: 390043ff a9007fff f9433e68 f942cd18 (f9403708) [ 2022.927815][T13994] ---[ end trace 0000000000000000 ]--- [ 2023.151843][T13994] Kernel panic - not syncing: Oops: Fatal exception [ 2023.153408][T13994] SMP: stopping secondary CPUs [ 2023.154607][T13994] Kernel Offset: disabled [ 2023.155641][T13994] CPU features: 0x00000,02070084,26017203 [ 2023.157099][T13994] Memory Limit: none [ 2023.382776][T13994] Rebooting in 86400 seconds..